/*
Theme Name: MandirTiming Divine Theme
Theme URI: https://mandirtiming.com
Author: MandirTiming Team
Author URI: https://mandirtiming.com
Description: India's #1 Temple Information Theme — Spiritual, Divine, Mobile-First. Built for maximum AdSense revenue with beautiful saffron & gold design, bilingual support, temple directory, and devotion-inspiring UI.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mandirtiming
Tags: temple, spiritual, hindu, mandir, responsive, mobile-first, bilingual
*/

/* ===== CSS RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --saffron:#FF6B00;
  --saffron-dark:#E55A00;
  --saffron-light:#FF8C33;
  --maroon:#8B0000;
  --maroon-light:#A52A2A;
  --gold:#D4AF37;
  --gold-light:#E8C547;
  --bg-cream:#FFFBF0;
  --bg-white:#FFFFFF;
  --text-primary:#1A1A1A;
  --text-secondary:#555555;
  --text-light:#777777;
  --temple-green:#2E7D32;
  --border-light:#F0E6D3;
  --shadow-soft:0 2px 12px rgba(139,0,0,0.08);
  --shadow-card:0 4px 20px rgba(139,0,0,0.1);
  --shadow-hover:0 8px 30px rgba(139,0,0,0.15);
  --radius:12px;
  --radius-sm:8px;
  --transition:all 0.3s ease;
}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:'Lato','Noto Sans Devanagari',sans-serif;
  background:var(--bg-cream);
  color:var(--text-primary);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--saffron);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--maroon)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6{
  font-family:'Playfair Display','Noto Sans Devanagari',serif;
  color:var(--maroon);
  line-height:1.3;
  font-weight:700;
}
h1{font-size:2.2rem}
h2{font-size:1.8rem}
h3{font-size:1.4rem}
h4{font-size:1.2rem}
p{margin-bottom:1rem}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ===== HEADER ===== */
.site-header{
  background:linear-gradient(135deg,var(--saffron) 0%,var(--saffron-dark) 100%);
  position:sticky;top:0;z-index:1000;
  box-shadow:0 2px 15px rgba(139,0,0,0.2);
}
.header-top{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 20px;
  background:rgba(139,0,0,0.15);
  font-size:0.85rem;color:#fff;
}
.header-top a{color:#fff;opacity:0.9}
.header-top a:hover{opacity:1;color:#fff}
.lang-toggle{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,0.2);
  padding:4px 12px;border-radius:20px;
  font-size:0.8rem;font-weight:600;color:#fff;
  cursor:pointer;transition:var(--transition);
}
.lang-toggle:hover{background:rgba(255,255,255,0.35)}
.lang-toggle .active{font-weight:700;text-decoration:underline}

.header-main{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 20px;max-width:1200px;margin:0 auto;
}
.site-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.site-logo .om-symbol{font-size:2rem;line-height:1}
.site-logo .site-name{
  font-family:'Playfair Display',serif;
  font-size:1.5rem;font-weight:700;color:#fff;
  text-shadow:1px 1px 3px rgba(0,0,0,0.2);
}
.site-logo .site-tagline{font-size:0.7rem;color:rgba(255,255,255,0.85);display:block}

.header-search{
  flex:0 1 400px;position:relative;
}
.header-search input{
  width:100%;padding:10px 42px 10px 16px;
  border:2px solid rgba(255,255,255,0.3);
  border-radius:25px;background:rgba(255,255,255,0.15);
  color:#fff;font-size:0.95rem;
  transition:var(--transition);
}
.header-search input::placeholder{color:rgba(255,255,255,0.7)}
.header-search input:focus{
  outline:none;background:rgba(255,255,255,0.25);
  border-color:rgba(255,255,255,0.6);
}
.header-search button{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:#fff;
  cursor:pointer;font-size:1.1rem;padding:6px;
}

.header-actions{display:flex;align-items:center;gap:12px}
.mobile-search-btn,.mobile-menu-btn{
  display:none;background:none;border:none;
  color:#fff;font-size:1.4rem;cursor:pointer;padding:6px;
}

/* ===== MAIN NAV ===== */
.main-nav{
  background:var(--maroon);
  border-top:1px solid rgba(255,255,255,0.1);
}
.main-nav .container{display:flex;align-items:center;justify-content:center}
.nav-menu{display:flex;list-style:none;gap:0;flex-wrap:wrap;justify-content:center}
.nav-menu li{position:relative}
.nav-menu li a{
  display:flex;align-items:center;gap:6px;
  padding:12px 18px;color:#fff;
  font-size:0.9rem;font-weight:500;
  transition:var(--transition);
  white-space:nowrap;
}
.nav-menu li a:hover,.nav-menu li.current-menu-item a{
  background:rgba(255,255,255,0.1);color:var(--gold);
}
.nav-menu li a .nav-icon{font-size:1rem}

/* Dropdown */
.nav-menu li .sub-menu{
  display:none;position:absolute;top:100%;left:0;
  background:var(--bg-white);min-width:220px;
  border-radius:0 0 var(--radius-sm) var(--radius-sm);
  box-shadow:var(--shadow-card);z-index:100;
}
.nav-menu li:hover .sub-menu{display:block}
.nav-menu li .sub-menu a{
  color:var(--text-primary);padding:10px 18px;
  font-size:0.85rem;border-bottom:1px solid var(--border-light);
}
.nav-menu li .sub-menu a:hover{background:var(--bg-cream);color:var(--saffron)}

/* ===== HERO BANNER ===== */
.hero-banner{
  position:relative;min-height:450px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(139,0,0,0.6) 0%,rgba(139,0,0,0.8) 100%),
    url('assets/images/hero-temple.jpg') center/cover no-repeat;
  text-align:center;padding:60px 20px;
  overflow:hidden;
}
.hero-banner::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at center,transparent 30%,rgba(139,0,0,0.3) 100%);
}
.hero-content{position:relative;z-index:2;max-width:700px}
.hero-content h1{
  color:#fff;font-size:2.5rem;margin-bottom:8px;
  text-shadow:2px 2px 8px rgba(0,0,0,0.4);
}
.hero-content p{color:rgba(255,255,255,0.9);font-size:1.1rem;margin-bottom:25px}
.hero-search{
  position:relative;max-width:550px;margin:0 auto 20px;
}
.hero-search input{
  width:100%;padding:16px 55px 16px 22px;
  border:3px solid var(--gold);border-radius:50px;
  font-size:1.05rem;background:rgba(255,255,255,0.95);
  box-shadow:0 4px 25px rgba(0,0,0,0.2);
}
.hero-search input:focus{
  outline:none;border-color:var(--saffron);
  box-shadow:0 4px 30px rgba(255,107,0,0.3);
}
.hero-search button{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  background:var(--saffron);color:#fff;border:none;
  width:42px;height:42px;border-radius:50%;
  cursor:pointer;font-size:1.1rem;
  transition:var(--transition);
}
.hero-search button:hover{background:var(--saffron-dark)}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.hero-tags a{
  background:rgba(255,255,255,0.15);color:#fff;
  padding:6px 16px;border-radius:20px;font-size:0.85rem;
  border:1px solid rgba(255,255,255,0.3);
  transition:var(--transition);
}
.hero-tags a:hover{background:var(--gold);color:var(--maroon);border-color:var(--gold)}

/* Mandala decoration */
.hero-banner .mandala-left,
.hero-banner .mandala-right{
  position:absolute;top:50%;transform:translateY(-50%);
  width:200px;height:200px;opacity:0.08;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="45" fill="none" stroke="white" stroke-width="0.5"/><circle cx="50" cy="50" r="35" fill="none" stroke="white" stroke-width="0.5"/><circle cx="50" cy="50" r="25" fill="none" stroke="white" stroke-width="0.5"/><circle cx="50" cy="50" r="15" fill="none" stroke="white" stroke-width="0.5"/></svg>') center/contain no-repeat;
}
.hero-banner .mandala-left{left:-40px}
.hero-banner .mandala-right{right:-40px}

/* ===== SECTION COMMON ===== */
.home-section{padding:50px 0}
.home-section:nth-child(even){background:var(--bg-white)}
.section-header{text-align:center;margin-bottom:35px}
.section-header h2{
  position:relative;display:inline-block;
  padding-bottom:12px;margin-bottom:8px;
}
.section-header h2::after{
  content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:60px;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--saffron),var(--gold));
  border-radius:3px;
}
.section-header p{color:var(--text-secondary);font-size:1rem}
.section-header .diya-icon{
  display:block;font-size:1.5rem;margin-bottom:5px;
}

/* ===== CATEGORY CARDS (Section 3) ===== */
.category-cards{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.category-card{
  background:var(--bg-white);
  border-radius:var(--radius);
  padding:25px 15px;text-align:center;
  border:1px solid var(--border-light);
  box-shadow:var(--shadow-soft);
  transition:var(--transition);
  cursor:pointer;position:relative;
  overflow:hidden;
}
.category-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--saffron),var(--gold));
  transform:scaleX(0);transition:var(--transition);
}
.category-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-hover);
}
.category-card:hover::before{transform:scaleX(1)}
.category-card .card-icon{
  font-size:2.2rem;margin-bottom:10px;display:block;
}
.category-card h3{
  font-size:1rem;margin-bottom:4px;
  font-family:'Lato',sans-serif;font-weight:700;
  color:var(--text-primary);
}
.category-card .card-count{
  font-size:0.8rem;color:var(--text-light);
}

/* ===== FEATURED TEMPLES CAROUSEL (Section 4) ===== */
.temple-carousel{
  display:flex;gap:20px;overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:10px 0 20px;
  scrollbar-width:none;
}
.temple-carousel::-webkit-scrollbar{display:none}
.temple-card{
  flex:0 0 280px;scroll-snap-align:start;
  background:var(--bg-white);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-card);
  transition:var(--transition);
  border:1px solid var(--border-light);
}
.temple-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.temple-card-img{
  height:180px;background:linear-gradient(135deg,var(--saffron),var(--maroon));
  position:relative;overflow:hidden;
}
.temple-card-img img{width:100%;height:100%;object-fit:cover}
.temple-card-img .aarti-badge{
  position:absolute;bottom:10px;right:10px;
  background:var(--saffron);color:#fff;
  padding:4px 12px;border-radius:20px;
  font-size:0.75rem;font-weight:600;
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
.temple-card-body{padding:15px}
.temple-card-body h3{font-size:1.05rem;margin-bottom:4px;font-family:'Lato',sans-serif;font-weight:700}
.temple-card-body .temple-location{
  color:var(--text-light);font-size:0.85rem;
  display:flex;align-items:center;gap:4px;margin-bottom:8px;
}
.temple-card-body .temple-timing{
  display:flex;justify-content:space-between;
  padding-top:8px;border-top:1px solid var(--border-light);
  font-size:0.8rem;color:var(--text-secondary);
}
.temple-card-body .temple-timing .time{color:var(--saffron);font-weight:700}

/* ===== TODAY'S PUJA TIMINGS (Section 5) ===== */
.puja-timings-box{
  background:linear-gradient(135deg,#FFF7ED 0%,#FFFBF0 100%);
  border:2px solid var(--gold);
  border-radius:var(--radius);
  padding:30px;max-width:800px;margin:0 auto;
  position:relative;overflow:hidden;
}
.puja-timings-box::before{
  content:'🕉';position:absolute;right:20px;top:15px;
  font-size:3rem;opacity:0.08;
}
.puja-date{
  text-align:center;margin-bottom:20px;
  font-size:1.1rem;color:var(--maroon);font-weight:600;
}
.puja-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:15px;
}
.puja-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;background:var(--bg-white);
  border-radius:var(--radius-sm);
  border-left:3px solid var(--saffron);
}
.puja-item .puja-icon{font-size:1.5rem}
.puja-item .puja-label{font-size:0.85rem;color:var(--text-secondary)}
.puja-item .puja-time{font-size:1rem;font-weight:700;color:var(--maroon)}

/* ===== STATE DIRECTORY (Section 6) ===== */
.state-grid{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
}
.state-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 20px;
  background:var(--bg-white);color:var(--text-primary);
  border:2px solid var(--border-light);
  border-radius:25px;font-size:0.9rem;font-weight:500;
  cursor:pointer;transition:var(--transition);
}
.state-btn:hover,.state-btn.active{
  background:var(--saffron);color:#fff;
  border-color:var(--saffron);
  box-shadow:0 3px 12px rgba(255,107,0,0.3);
}

/* ===== BLOG GRID (Section 7) ===== */
.blog-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:25px;
}
.blog-card{
  background:var(--bg-white);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-soft);
  transition:var(--transition);
  border:1px solid var(--border-light);
}
.blog-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}
.blog-card-img{
  height:200px;overflow:hidden;position:relative;
}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.blog-card:hover .blog-card-img img{transform:scale(1.05)}
.blog-card-img .category-badge{
  position:absolute;top:12px;left:12px;
  background:var(--saffron);color:#fff;
  padding:4px 12px;border-radius:15px;
  font-size:0.75rem;font-weight:600;
}
.blog-card-body{padding:18px}
.blog-card-body h3{
  font-size:1.05rem;margin-bottom:8px;
  font-family:'Lato',sans-serif;font-weight:700;
  line-height:1.4;
}
.blog-card-body h3 a{color:var(--text-primary)}
.blog-card-body h3 a:hover{color:var(--saffron)}
.blog-card-meta{
  display:flex;align-items:center;gap:12px;
  font-size:0.8rem;color:var(--text-light);
}
.blog-card-meta span{display:flex;align-items:center;gap:4px}

/* ===== FESTIVAL WIDGET (Section 8) ===== */
.festival-list{max-width:700px;margin:0 auto}
.festival-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:15px 20px;
  background:var(--bg-white);
  border-radius:var(--radius-sm);
  margin-bottom:10px;
  border-left:4px solid var(--gold);
  box-shadow:var(--shadow-soft);
  transition:var(--transition);
}
.festival-item:hover{border-left-color:var(--saffron);box-shadow:var(--shadow-card)}
.festival-info{display:flex;align-items:center;gap:12px}
.festival-info .fest-icon{font-size:1.5rem}
.festival-info .fest-name{font-weight:700;color:var(--text-primary)}
.festival-info .fest-date{font-size:0.85rem;color:var(--text-secondary)}
.festival-countdown{
  background:var(--saffron);color:#fff;
  padding:6px 14px;border-radius:20px;
  font-size:0.8rem;font-weight:600;
  white-space:nowrap;
}

/* ===== FOOTER ===== */
.site-footer{
  background:var(--maroon);color:rgba(255,255,255,0.85);
  position:relative;overflow:hidden;
}
.site-footer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--saffron),var(--gold),var(--saffron));
}
.footer-rangoli{
  position:absolute;bottom:-50px;right:-50px;
  width:300px;height:300px;opacity:0.03;
  border:2px solid #fff;border-radius:50%;
}
.footer-main{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;
  padding:50px 20px 30px;max-width:1200px;margin:0 auto;
}
.footer-brand .footer-logo{
  display:flex;align-items:center;gap:10px;
  margin-bottom:12px;font-size:1.3rem;color:#fff;
  font-family:'Playfair Display',serif;font-weight:700;
}
.footer-brand .footer-tagline{
  font-size:0.9rem;color:rgba(255,255,255,0.7);
  margin-bottom:15px;line-height:1.6;
}
.footer-social{display:flex;gap:10px}
.footer-social a{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,0.1);color:#fff;
  transition:var(--transition);
}
.footer-social a:hover{background:var(--saffron);color:#fff}
.footer-col h4{
  color:var(--gold);font-size:1rem;margin-bottom:15px;
  font-family:'Lato',sans-serif;font-weight:700;
}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:8px}
.footer-col ul li a{
  color:rgba(255,255,255,0.7);font-size:0.9rem;
  transition:var(--transition);
}
.footer-col ul li a:hover{color:var(--gold);padding-left:4px}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1);
  padding:18px 20px;text-align:center;
  font-size:0.8rem;color:rgba(255,255,255,0.5);
}
.footer-bottom a{color:rgba(255,255,255,0.6)}
.footer-bottom a:hover{color:var(--gold)}

/* ===== SINGLE ARTICLE ===== */
.article-header{padding:25px 0 15px}
.breadcrumb{
  font-size:0.85rem;color:var(--text-light);
  margin-bottom:12px;display:flex;flex-wrap:wrap;gap:6px;
}
.breadcrumb a{color:var(--saffron)}
.breadcrumb .sep{color:var(--text-light)}
.article-title{font-size:2rem;margin-bottom:10px;line-height:1.3}
.article-meta{
  display:flex;flex-wrap:wrap;gap:15px;
  font-size:0.85rem;color:var(--text-secondary);
  padding-bottom:15px;border-bottom:1px solid var(--border-light);
}
.article-meta span{display:flex;align-items:center;gap:5px}

/* Quick Info Box */
.quick-info-box{
  background:linear-gradient(135deg,#FFF7ED,#FFFBF0);
  border:2px solid var(--gold);
  border-radius:var(--radius);
  overflow:hidden;margin:25px 0;
}
.quick-info-box .qib-header{
  background:linear-gradient(135deg,var(--saffron),var(--saffron-dark));
  color:#fff;padding:12px 20px;
  font-size:1.1rem;font-weight:700;
  font-family:'Playfair Display',serif;
  display:flex;align-items:center;gap:8px;
}
.quick-info-table{width:100%;border-collapse:collapse}
.quick-info-table tr{border-bottom:1px solid var(--border-light)}
.quick-info-table tr:last-child{border-bottom:none}
.quick-info-table td{padding:10px 18px;font-size:0.95rem;word-wrap:break-word;overflow-wrap:break-word}
.quick-info-table td:first-child{
  width:35%;min-width:120px;font-weight:600;color:var(--maroon);
}
.quick-info-table td:first-child .qi-icon{margin-right:8px}

/* Article Content */
.article-content{padding:20px 0}
.article-content h2{
  margin:30px 0 15px;padding-bottom:8px;
  border-bottom:2px solid var(--border-light);
}
.article-content h3{margin:25px 0 12px}
.article-content p{margin-bottom:1rem}
.article-content ul,.article-content ol{
  margin:0 0 1rem 1.5rem;
}
.article-content li{margin-bottom:6px}
.article-content table{
  width:100%;border-collapse:collapse;
  margin:20px 0;border-radius:var(--radius-sm);
  box-shadow:var(--shadow-soft);
}
.article-content table thead,
.article-content table tbody,
.article-content table tr{
  width:100%;
}
.article-content table thead{
  background:var(--saffron);color:#fff;
}
.article-content table th{
  padding:12px 16px;text-align:left;font-weight:600;font-size:0.9rem;
}
.article-content table td{
  padding:10px 16px;border-bottom:1px solid var(--border-light);font-size:0.9rem;
}
.article-content table tr:nth-child(even){background:#FFF8F0}
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* FAQ Section */
.faq-section{margin:30px 0}
.faq-item{
  border:1px solid var(--border-light);
  border-radius:var(--radius-sm);
  margin-bottom:10px;overflow:hidden;
}
.faq-question{
  padding:15px 20px;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
  font-weight:600;background:var(--bg-white);
  transition:var(--transition);
}
.faq-question:hover{background:#FFF8F0}
.faq-question .faq-toggle{
  font-size:1.2rem;color:var(--saffron);
  transition:var(--transition);
}
.faq-item.active .faq-question{background:#FFF8F0}
.faq-item.active .faq-toggle{transform:rotate(45deg)}
.faq-answer{
  padding:0 20px;max-height:0;overflow:hidden;
  transition:max-height 0.3s ease,padding 0.3s ease;
}
.faq-item.active .faq-answer{
  max-height:500px;padding:0 20px 15px;
}

/* How to Reach */
.how-to-reach{
  display:grid;grid-template-columns:repeat(3,1fr);gap:15px;
  margin:20px 0;
}
.reach-card{
  background:var(--bg-white);border-radius:var(--radius-sm);
  padding:20px;text-align:center;
  border:1px solid var(--border-light);
  box-shadow:var(--shadow-soft);
}
.reach-card .reach-icon{font-size:2rem;margin-bottom:8px}
.reach-card h4{font-size:0.95rem;margin-bottom:6px;font-family:'Lato',sans-serif}
.reach-card p{font-size:0.85rem;color:var(--text-secondary);margin:0}

/* Related Articles */
.related-articles{
  padding:30px 0;border-top:2px solid var(--border-light);margin-top:30px;
}
.related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}

/* Sidebar */
.content-with-sidebar{
  display:grid;grid-template-columns:1fr 320px;gap:35px;
  max-width:1200px;margin:0 auto;padding:0 20px;
}
.site-sidebar{position:relative}
.sidebar-widget{
  background:var(--bg-white);border-radius:var(--radius);
  padding:20px;margin-bottom:25px;
  box-shadow:var(--shadow-soft);
  border:1px solid var(--border-light);
}
.sidebar-widget h3{
  font-size:1.05rem;margin-bottom:15px;
  padding-bottom:10px;border-bottom:2px solid var(--gold);
  font-family:'Lato',sans-serif;color:var(--maroon);
}
.popular-temple-item{
  display:flex;gap:12px;padding:10px 0;
  border-bottom:1px solid var(--border-light);
}
.popular-temple-item:last-child{border-bottom:none}
.popular-temple-item .pt-img{
  width:70px;height:55px;border-radius:6px;
  overflow:hidden;flex-shrink:0;
  background:var(--bg-cream);
}
.popular-temple-item .pt-img img{width:100%;height:100%;object-fit:cover}
.popular-temple-item .pt-info h4{font-size:0.9rem;margin-bottom:2px;font-family:'Lato',sans-serif}
.popular-temple-item .pt-info h4 a{color:var(--text-primary)}
.popular-temple-item .pt-info h4 a:hover{color:var(--saffron)}
.popular-temple-item .pt-info span{font-size:0.8rem;color:var(--text-light)}

/* WhatsApp Share */
.whatsapp-share{
  display:inline-flex;align-items:center;gap:8px;
  background:#25D366;color:#fff;
  padding:10px 20px;border-radius:25px;
  font-size:0.9rem;font-weight:600;
  margin:15px 0;cursor:pointer;
  transition:var(--transition);
}
.whatsapp-share:hover{background:#1DA851;color:#fff;transform:scale(1.03)}

/* Ad Placeholders */
.ad-placeholder{
  background:#f9f3e8;border:2px dashed var(--border-light);
  border-radius:var(--radius-sm);
  padding:20px;text-align:center;margin:25px 0;
  color:var(--text-light);font-size:0.85rem;
}

/* ===== ARCHIVE / SEARCH ===== */
.archive-header{
  background:linear-gradient(135deg,var(--saffron),var(--saffron-dark));
  color:#fff;padding:30px 20px;text-align:center;
}
.archive-header h1{color:#fff;font-size:1.8rem}
.archive-header p{color:rgba(255,255,255,0.85);margin:0}

/* ===== 404 PAGE ===== */
.page-404{text-align:center;padding:80px 20px}
.page-404 .om-big{font-size:5rem;margin-bottom:15px;display:block}
.page-404 h1{font-size:2.5rem;margin-bottom:10px}
.page-404 p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:25px}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 28px;border-radius:25px;
  font-size:0.95rem;font-weight:600;
  cursor:pointer;transition:var(--transition);
  border:none;text-decoration:none;
}
.btn-primary{
  background:linear-gradient(135deg,var(--saffron),var(--saffron-dark));
  color:#fff;box-shadow:0 4px 15px rgba(255,107,0,0.3);
}
.btn-primary:hover{
  background:linear-gradient(135deg,var(--saffron-dark),var(--maroon));
  color:#fff;transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(255,107,0,0.4);
}
.btn-outline{
  background:transparent;color:var(--saffron);
  border:2px solid var(--saffron);
}
.btn-outline:hover{background:var(--saffron);color:#fff}
.btn-gold{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--maroon);
}

/* ===== PAGINATION ===== */
.pagination{
  display:flex;justify-content:center;gap:8px;
  padding:30px 0;
}
.pagination a,.pagination span{
  display:flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;
  border-radius:var(--radius-sm);font-size:0.9rem;
  transition:var(--transition);
}
.pagination a{
  background:var(--bg-white);color:var(--text-primary);
  border:1px solid var(--border-light);
}
.pagination a:hover{background:var(--saffron);color:#fff;border-color:var(--saffron)}
.pagination .current{
  background:var(--saffron);color:#fff;
  border:1px solid var(--saffron);font-weight:700;
}

/* ===== WIDGETS ===== */
.widget_search .search-form{position:relative}
.widget_search input[type="search"]{
  width:100%;padding:10px 42px 10px 14px;
  border:2px solid var(--border-light);
  border-radius:var(--radius-sm);font-size:0.9rem;
}
.widget_search input[type="search"]:focus{
  border-color:var(--saffron);outline:none;
}
.widget_search button{
  position:absolute;right:4px;top:50%;transform:translateY(-50%);
  background:var(--saffron);color:#fff;border:none;
  width:32px;height:32px;border-radius:6px;cursor:pointer;
}

/* ===== RESPONSIVE — COMPREHENSIVE MULTI-DEVICE ===== */

/* === LARGE DESKTOP CAP === */
@media(min-width:1400px){
  .container{max-width:1320px}
  .blog-grid{grid-template-columns:repeat(3,1fr);gap:30px}
  .category-cards{gap:24px}
}

/* === SMALL DESKTOP / LARGE TABLET LANDSCAPE === */
@media(max-width:1200px){
  .container{padding:0 16px}
  .blog-grid{gap:20px}
  .category-cards{gap:16px}
  .nav-menu li a{padding:12px 14px;font-size:0.85rem}
  .content-with-sidebar{gap:25px}
}

/* === TABLET LANDSCAPE / SMALL LAPTOP === */
@media(max-width:1024px){
  .footer-main{grid-template-columns:1fr 1fr;gap:30px}
  .content-with-sidebar{grid-template-columns:1fr;gap:25px}
  .site-sidebar{
    display:grid;grid-template-columns:1fr 1fr;gap:20px;
    margin-top:30px;
  }
  .how-to-reach{grid-template-columns:1fr 1fr}
  .header-search{flex:0 1 300px}
  .nav-menu li a{padding:11px 12px;font-size:0.84rem}
  .category-cards{grid-template-columns:repeat(4,1fr)}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}

/* === TABLET PORTRAIT === */
@media(max-width:768px){
  html{font-size:15px}
  
  /* Header */
  .header-top{font-size:0.78rem;padding:6px 12px}
  .header-top-left span{font-size:0.75rem}
  .header-main{padding:8px 12px}
  .site-logo .om-symbol{font-size:1.6rem}
  .site-logo .site-name{font-size:1.15rem}
  .site-logo .site-tagline{display:none}
  .header-search{display:none}
  .mobile-search-btn,.mobile-menu-btn{display:block}
  
  /* Mobile search overlay */
  .header-search.mobile-active{
    display:block;position:absolute;
    top:100%;left:0;right:0;
    padding:12px;background:var(--saffron-dark);
    box-shadow:0 5px 15px rgba(0,0,0,0.2);
    z-index:999;
  }
  .header-search.mobile-active input{
    background:rgba(255,255,255,0.95);color:var(--text-primary);
    border-color:var(--gold);
  }
  .header-search.mobile-active input::placeholder{color:var(--text-light)}
  .header-search.mobile-active button{color:var(--saffron)}
  
  /* Mobile nav */
  .main-nav{display:none}
  .main-nav.mobile-active{
    display:block;position:absolute;
    top:100%;left:0;right:0;
    background:var(--maroon);z-index:999;
    box-shadow:0 5px 20px rgba(0,0,0,0.3);
    max-height:70vh;overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .main-nav.mobile-active .nav-menu{
    flex-direction:column;
  }
  .main-nav.mobile-active .nav-menu li a{
    padding:14px 20px;
    border-bottom:1px solid rgba(255,255,255,0.08);
    font-size:0.95rem;
    min-height:48px;/* Touch-friendly tap target */
  }
  .main-nav.mobile-active .nav-menu li .sub-menu{
    position:static;box-shadow:none;
    background:rgba(0,0,0,0.15);
  }
  .main-nav.mobile-active .nav-menu li .sub-menu a{
    color:rgba(255,255,255,0.8);padding-left:40px;
  }
  
  /* Hero */
  .hero-banner{min-height:320px;padding:35px 15px}
  .hero-banner .mandala-left,.hero-banner .mandala-right{display:none}
  .hero-content h1{font-size:1.6rem;margin-bottom:6px}
  .hero-content p{font-size:0.95rem;margin-bottom:18px}
  .hero-search{max-width:100%;margin-bottom:15px}
  .hero-search input{padding:14px 45px 14px 16px;font-size:0.95rem;border-width:2px}
  .hero-search button{width:36px;height:36px;font-size:1rem}
  .hero-tags{gap:8px}
  .hero-tags a{font-size:0.8rem;padding:5px 14px}
  
  /* Category cards */
  .category-cards{grid-template-columns:repeat(2,1fr);gap:12px}
  .category-card{padding:18px 10px}
  .category-card:hover{transform:none}/* Disable hover lift on touch */
  .category-card .card-icon{font-size:1.8rem;margin-bottom:6px}
  .category-card h3{font-size:0.9rem}
  
  /* Temple carousel */
  .temple-card{flex:0 0 240px}
  .temple-card-img{height:150px}
  .temple-card-body{padding:12px}
  .temple-card-body h3{font-size:0.95rem}
  
  /* Puja timings */
  .puja-timings-box{padding:20px 15px}
  .puja-grid{grid-template-columns:1fr}
  .puja-item{padding:10px 14px}
  .puja-date{font-size:1rem}
  
  /* State directory */
  .state-grid{gap:8px}
  .state-btn{padding:8px 16px;font-size:0.85rem}
  
  /* Blog grid */
  .blog-grid{grid-template-columns:1fr;gap:18px}
  .blog-card-img{height:200px}
  
  /* Festival list */
  .festival-item{padding:14px}
  .fest-name{font-size:0.95rem}
  
  /* Related articles */
  .related-grid{grid-template-columns:1fr}
  
  /* How to reach */
  .how-to-reach{grid-template-columns:1fr}
  
  /* Footer */
  .footer-main{grid-template-columns:1fr;gap:25px;padding:35px 15px 20px}
  .footer-col ul{columns:2;column-gap:20px}
  .footer-col ul li{break-inside:avoid}
  .footer-bottom{font-size:0.82rem;padding:15px}
  
  /* Single article */
  .article-title{font-size:1.5rem;line-height:1.3}
  .article-meta{flex-wrap:wrap;gap:8px;font-size:0.8rem}
  .article-meta span{white-space:nowrap}
  .quick-info-box{margin:15px 0}
  .quick-info-table{font-size:0.88rem}
  .quick-info-table td{padding:8px 10px}
  .quick-info-table td:first-child{width:120px;font-size:0.82rem}
  
  /* FAQ */
  .faq-question{font-size:0.95rem;padding:14px 40px 14px 16px}
  .faq-answer{padding:0 16px 14px}
  .faq-answer p{font-size:0.9rem}
  
  /* Sidebar */
  .site-sidebar{
    display:grid;grid-template-columns:1fr;gap:20px;
    margin-top:25px;
  }
  
  /* Sections */
  .home-section{padding:35px 0}
  .section-header h2{font-size:1.4rem}
  .section-header p{font-size:0.9rem}
  
  /* Tables — scroll wrapper handles overflow */
  .article-content table{font-size:0.85rem}
  .article-content table th,.article-content table td{padding:8px 10px}
  .article-content table th{font-size:0.8rem}
  .table-responsive{margin:15px -12px;padding:0 12px}
  .table-scroll-wrap{margin:15px -12px;padding:0 12px}
  
  /* Quick info table — stack cells vertically */
  .quick-info-box{margin:15px 0;overflow:hidden}
  .quick-info-table{table-layout:auto}
  .quick-info-table tr{display:block;border-bottom:1px solid var(--border-light);padding:6px 0}
  .quick-info-table td{display:block;width:100%!important;padding:3px 12px;font-size:0.88rem}
  .quick-info-table td:first-child{
    min-width:0!important;width:100%!important;font-size:0.78rem;
    padding-bottom:0;color:var(--text-light);font-weight:600;
  }
  .quick-info-table td:last-child{padding-top:0;padding-bottom:8px;font-weight:500}
  .quick-info-box .qib-header{padding:10px 14px;font-size:1rem}
  
  /* Author box */
  .article-content + div[style*="display:flex"]{flex-direction:column;text-align:center}
  
  /* Images */
  .article-hero-img{max-height:300px;margin:15px 0}
  .article-hero-img img{max-height:300px}
  .article-content .alignleft,
  .article-content .alignright{
    float:none;max-width:100%;
    margin:15px 0;
  }
  .article-content .wp-block-image img,
  .article-content figure img{max-height:350px}
  .blog-card-img{aspect-ratio:16/9}
  
  /* Ad placements */
  .ad-placeholder{margin:15px -12px;padding:0 12px}
  
  /* Back to top */
  .back-to-top{bottom:15px;right:15px;width:40px;height:40px;font-size:1rem}
  
  /* Breadcrumb */
  .breadcrumb{font-size:0.82rem;padding:10px 0;overflow-x:auto;white-space:nowrap}
  
  /* WhatsApp share */
  .whatsapp-share{
    display:block;text-align:center;
    padding:12px;font-size:0.95rem;
    border-radius:var(--radius-sm);
    min-height:44px;
  }
  
  /* Comments */
  .comment-form input,.comment-form textarea{font-size:16px!important}/* Prevent zoom on iOS */
  
  /* Gallery */
  .article-content .gallery{grid-template-columns:repeat(2,1fr);gap:8px}
}

/* === LARGE PHONE / PHABLET === */
@media(max-width:600px){
  .blog-grid{grid-template-columns:1fr}
  .blog-card{display:flex;flex-direction:row;min-height:auto}
  .blog-card .blog-card-img{
    width:120px;min-width:120px;height:auto;
    aspect-ratio:auto;flex-shrink:0;
  }
  .blog-card .blog-card-img img{height:100%;border-radius:var(--radius) 0 0 var(--radius)}
  .blog-card .blog-card-body{padding:12px;flex:1;display:flex;flex-direction:column;justify-content:center}
  .blog-card .blog-card-body h3{font-size:0.92rem;line-height:1.35;margin-bottom:4px}
  .blog-card .blog-card-img .category-badge{
    top:6px;left:6px;font-size:0.65rem;padding:2px 8px;
  }
  .blog-card-meta{font-size:0.75rem;gap:8px}
  
  /* Related articles also horizontal */
  .related-grid{gap:12px}
  .related-grid .blog-card{display:flex;flex-direction:row}
  .related-grid .blog-card .blog-card-img{
    width:100px;min-width:100px;
    aspect-ratio:auto;
  }
  
  /* Quick info — already stacked from 768px */
  
  /* Puja box */
  .puja-timings-box{padding:15px 12px}
  .puja-timings-box::before{display:none}
  
  /* Template cards in carousel */
  .temple-card{flex:0 0 220px}
  .temple-card-img{height:130px}
  
  /* Post navigation */
  .article-content + div[style*="justify-content:space-between"]{flex-direction:column;gap:10px}
  .article-content + div[style*="justify-content:space-between"] a{text-align:center}
}

/* === STANDARD PHONE === */
@media(max-width:480px){
  html{font-size:14.5px}
  .container{padding:0 12px}
  
  /* Header */
  .header-top-left span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
  .site-logo .om-symbol{font-size:1.4rem}
  .site-logo .site-name{font-size:1.05rem}
  .mobile-search-btn,.mobile-menu-btn{font-size:1.5rem;padding:8px;min-width:44px;min-height:44px}
  
  /* Hero */
  .hero-banner{min-height:280px;padding:30px 12px}
  .hero-content h1{font-size:1.35rem}
  .hero-content p{font-size:0.88rem;margin-bottom:15px}
  .hero-search input{padding:12px 42px 12px 14px;font-size:0.9rem}
  .hero-search button{width:34px;height:34px}
  .hero-tags a{font-size:0.75rem;padding:5px 11px}
  
  /* Category cards */
  .category-cards{gap:8px}
  .category-card{padding:14px 8px;border-radius:var(--radius-sm)}
  .category-card .card-icon{font-size:1.5rem;margin-bottom:4px}
  .category-card h3{font-size:0.82rem}
  .category-card .card-count{font-size:0.7rem}
  
  /* Temple carousel */
  .temple-card{flex:0 0 200px}
  .temple-card-img{height:120px}
  .temple-card-body{padding:10px}
  .temple-card-body h3{font-size:0.88rem}
  .temple-card-body .temple-location{font-size:0.78rem}
  .temple-card-body .temple-timing{font-size:0.75rem}
  .aarti-badge{font-size:0.7rem!important;padding:3px 8px!important}
  
  /* State buttons */
  .state-grid{gap:6px}
  .state-btn{padding:7px 12px;font-size:0.78rem;border-radius:20px}
  
  /* Festival */
  .festival-item{flex-direction:column;gap:8px;text-align:center;padding:12px}
  .festival-info{justify-content:center}
  .festival-countdown{align-self:stretch;text-align:center}
  .fest-name{font-size:0.88rem}
  .fest-date{font-size:0.78rem}
  
  /* Blog cards */
  .blog-card .blog-card-img{width:100px;min-width:100px}
  .blog-card .blog-card-body h3{font-size:0.88rem}
  
  /* Single article */
  .article-title{font-size:1.3rem}
  .article-meta{gap:6px;font-size:0.75rem}
  
  /* Section spacing */
  .home-section{padding:28px 0}
  .section-header{margin-bottom:25px}
  .section-header h2{font-size:1.25rem}
  
  /* Footer */
  .footer-main{padding:25px 12px 15px}
  .footer-brand .footer-logo span{font-size:1.8rem}
  .footer-col ul{columns:1}
  .footer-col h4{font-size:1rem;margin-bottom:10px}
  .footer-social{gap:8px}
  .footer-social a{width:38px;height:38px;font-size:0.9rem}
  
  /* FAQ */
  .faq-question{font-size:0.88rem;padding:12px 36px 12px 12px}
  .faq-toggle{right:12px}
  
  /* Tables */
  .article-content table{font-size:0.78rem}
  .article-content table th,.article-content table td{padding:6px 8px}
  .article-content table th{font-size:0.75rem}
  
  /* Gallery */
  .article-content .gallery{grid-template-columns:1fr 1fr;gap:6px}
  
  /* Search results */
  .search-form input{font-size:16px}/* Prevent iOS zoom */
}

/* === SMALL PHONE (Galaxy S, iPhone SE) === */
@media(max-width:360px){
  html{font-size:14px}
  .container{padding:0 10px}
  
  .header-top{padding:5px 10px;font-size:0.72rem}
  .lang-toggle{padding:3px 8px;font-size:0.72rem}
  .header-main{padding:6px 10px}
  .site-logo .site-name{font-size:0.95rem}
  
  .hero-banner{min-height:260px;padding:25px 10px}
  .hero-content h1{font-size:1.2rem}
  .hero-content p{font-size:0.82rem}
  .hero-search input{padding:11px 40px 11px 12px}
  .hero-tags{gap:6px}
  .hero-tags a{font-size:0.72rem;padding:4px 10px}
  
  .category-cards{grid-template-columns:repeat(2,1fr);gap:6px}
  .category-card{padding:12px 6px}
  .category-card .card-icon{font-size:1.3rem;margin-bottom:3px}
  .category-card h3{font-size:0.75rem}
  .category-card .card-count{font-size:0.65rem}
  
  .temple-card{flex:0 0 180px}
  .temple-card-img{height:100px}
  
  .blog-card .blog-card-img{width:85px;min-width:85px}
  .blog-card .blog-card-body h3{font-size:0.82rem}
  
  .article-title{font-size:1.15rem}
  .section-header h2{font-size:1.1rem}
  
  .state-btn{padding:6px 10px;font-size:0.72rem}
  
  .footer-main{padding:20px 10px 12px}
}

/* === VERY SMALL PHONE === */
@media(max-width:320px){
  html{font-size:13.5px}
  .hero-content h1{font-size:1.1rem}
  .category-card h3{font-size:0.7rem}
  .temple-card{flex:0 0 160px}
  .blog-card .blog-card-img{width:75px;min-width:75px}
}

/* === LANDSCAPE PHONE FIXES === */
@media(max-height:500px) and (orientation:landscape){
  .hero-banner{min-height:auto;padding:25px 15px}
  .hero-content h1{font-size:1.3rem}
  .main-nav.mobile-active{max-height:60vh}
  .site-header{position:relative}/* Unfix header in landscape */
}

/* === TOUCH DEVICE OPTIMIZATIONS === */
@media(hover:none) and (pointer:coarse){
  /* Remove hover effects on touch devices */
  .category-card:hover,.blog-card:hover,.temple-card:hover{
    transform:none;box-shadow:var(--shadow-soft);
  }
  .state-btn:hover{transform:none}
  
  /* Ensure tap targets are min 44px */
  .nav-menu li a{min-height:44px;display:flex;align-items:center}
  .footer-col ul li a{min-height:44px;display:inline-flex;align-items:center}
  .hero-tags a{min-height:36px;display:inline-flex;align-items:center}
  .state-btn{min-height:40px}
  
  /* Smooth scrolling for carousel */
  .temple-carousel{scroll-padding:10px;gap:12px;padding:10px 0 15px}
  
  /* Tap highlight color */
  a,button{-webkit-tap-highlight-color:rgba(255,107,0,0.15)}
}

/* === SAFE AREA (iPhone notch) === */
@supports(padding:max(0px)){
  .site-header{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
  .footer-bottom{padding-bottom:max(15px,env(safe-area-inset-bottom))}
  .back-to-top{bottom:max(15px,env(safe-area-inset-bottom));right:max(15px,env(safe-area-inset-right))}
}

/* === HIGH DPI RETINA FIXES === */
@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){
  .category-card,.blog-card,.temple-card{border-width:0.5px}
  .quick-info-table{border-width:0.5px}
}

/* ============================================
   OVERFLOW CONTAINMENT — TARGETED FIXES
   ============================================ */

/* Body lock — nothing escapes */
html{overflow-x:hidden!important;width:100%!important}
body{overflow-x:hidden!important;width:100%!important}

/* Container is the hard boundary */
.container{overflow:hidden!important;max-width:100vw!important}

/* Header containment */
.site-header{width:100%!important}
.header-top{overflow:hidden!important}
.header-main{overflow:hidden!important}

/* Hero containment */
.hero-banner{overflow:hidden!important;width:100%!important}
.hero-content{overflow:hidden!important}
.hero-search{max-width:100%!important}
.hero-search form{max-width:100%!important}
.hero-search input{max-width:100%!important;box-sizing:border-box!important}

/* State grid — MUST flex-wrap and clip */
.state-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  overflow:hidden!important;
  max-width:100%!important;
}
.state-btn{
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Home sections */
.home-section{overflow:hidden!important;width:100%!important}

/* Category cards */
.category-cards{overflow:hidden!important;max-width:100%!important}
.category-card{overflow:hidden!important;box-sizing:border-box!important}

/* Temple carousel — allowed to scroll horizontally */
.temple-carousel{overflow-x:auto!important;overflow-y:hidden!important;max-width:100%!important}

/* Blog grid */
.blog-grid{overflow:hidden!important;max-width:100%!important}
.blog-card{overflow:hidden!important;box-sizing:border-box!important;max-width:100%!important}

/* Quick info box */
.quick-info-box{overflow:hidden!important;max-width:100%!important}
.quick-info-table{max-width:100%!important;table-layout:fixed!important}
.quick-info-table td{overflow-wrap:break-word!important;word-wrap:break-word!important;box-sizing:border-box!important}

/* Article content */
.article-content{overflow:hidden!important;max-width:100%!important}
.article-content p,
.article-content li,
.article-content h2,
.article-content h3,
.article-content h4{overflow-wrap:break-word!important;word-wrap:break-word!important}
.article-content a{overflow-wrap:break-word!important;word-break:break-word!important}
.article-content pre{overflow-x:auto!important;white-space:pre-wrap!important;max-width:100%!important}
.article-content img{max-width:100%!important;height:auto!important}
.article-content iframe{max-width:100%!important;height:auto!important}

/* Table scroll wrapper */
.table-scroll-wrap{
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
  max-width:100%!important;
  width:100%!important;
  margin:15px 0;
}
.table-scroll-wrap table{
  min-width:400px;width:100%;
}

/* FAQ */
.faq-section{overflow:hidden!important;max-width:100%!important}
.faq-item{overflow:hidden!important}
.faq-question{overflow-wrap:break-word!important;word-wrap:break-word!important}
.faq-answer{overflow:hidden!important}
.faq-answer p{overflow-wrap:break-word!important;word-wrap:break-word!important}

/* Puja box */
.puja-timings-box{overflow:hidden!important;max-width:100%!important}

/* Footer */
.site-footer{overflow:hidden!important;width:100%!important}
.footer-main{overflow:hidden!important;max-width:100%!important}
.footer-col{overflow:hidden!important}

/* Breadcrumb */
.breadcrumb{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

/* Card text clamps */
.blog-card-body h3{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.temple-card-body h3{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* Sidebar */
.site-sidebar{overflow:hidden!important;max-width:100%!important}

/* Any remaining elements — safety net */
.article-title{overflow-wrap:break-word!important;word-wrap:break-word!important}
.section-header{overflow:hidden!important}
.how-to-reach{overflow:hidden!important;max-width:100%!important}

/* Mandala decorations — hide if they cause overflow */
@media(max-width:768px){
  .mandala-left,.mandala-right{display:none!important}
}

/* ===== BACK TO TOP ===== */
.back-to-top{
  position:fixed;bottom:25px;right:25px;
  width:45px;height:45px;border-radius:50%;
  background:var(--saffron);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;cursor:pointer;
  box-shadow:0 3px 15px rgba(255,107,0,0.4);
  opacity:0;transform:translateY(20px);
  transition:var(--transition);z-index:999;
}
.back-to-top.visible{opacity:1;transform:translateY(0)}
.back-to-top:hover{background:var(--maroon);transform:translateY(-3px)}

/* ===== IMAGE NORMALIZATION — CONSISTENT LAYOUT ===== */
/* Force all featured images in cards to same aspect ratio */
.blog-card-img,
.temple-card-img{
  position:relative;overflow:hidden;
  aspect-ratio:16/10;
}
.blog-card-img img,
.temple-card-img img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
}
/* Article hero image */
.article-hero-img{
  width:100%;max-height:500px;
  overflow:hidden;border-radius:var(--radius);
  margin:20px 0;
}
.article-hero-img img{
  width:100%;height:100%;
  max-height:500px;
  object-fit:cover;object-position:center;
}
/* Sidebar thumbnails */
.popular-temple-item .pt-img{
  width:70px;height:55px;
  border-radius:6px;overflow:hidden;
  flex-shrink:0;
}
.popular-temple-item .pt-img img{
  width:100%;height:100%;
  object-fit:cover;
}
/* Related articles */
.related-grid .blog-card-img{
  aspect-ratio:16/10;
  min-height:0;
}
/* Prevent large images from breaking article content */
.article-content img{
  max-width:100%;height:auto;
  border-radius:var(--radius-sm);
  margin:15px 0;
}
.article-content .wp-block-image,
.article-content figure{
  max-width:100%;margin:20px 0;
}
.article-content .wp-block-image img,
.article-content figure img{
  width:100%;height:auto;
  max-height:500px;
  object-fit:cover;
  border-radius:var(--radius-sm);
}
/* WP alignment classes */
.article-content .aligncenter{
  display:block;margin:20px auto;text-align:center;
}
.article-content .alignleft{
  float:left;margin:5px 20px 15px 0;max-width:50%;
}
.article-content .alignright{
  float:right;margin:5px 0 15px 20px;max-width:50%;
}
.article-content .alignfull{
  width:100vw;max-width:100vw;
  margin-left:calc(-50vw + 50%);
}
.article-content .alignwide{
  max-width:100%;width:100%;
}
/* Gallery images */
.article-content .gallery{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:10px;margin:20px 0;
}
.article-content .gallery img{
  aspect-ratio:1;object-fit:cover;
  border-radius:var(--radius-sm);
}
/* Caption text */
.article-content figcaption,
.article-content .wp-caption-text{
  font-size:0.82rem;color:var(--text-light);
  text-align:center;margin-top:6px;
  font-style:italic;
}
/* Placeholder card images (when no featured image) */
.card-placeholder-img{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;
  background:linear-gradient(135deg,var(--saffron),var(--maroon));
  color:#fff;
}
/* Fix WP default thumbnail sizes */
.wp-post-image{
  width:100%!important;height:100%!important;
  object-fit:cover!important;
}
/* Mobile image fixes handled in main responsive section above */

/* ===== ACCESSIBILITY ===== */
:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}
.screen-reader-text{
  clip:rect(1px,1px,1px,1px);position:absolute;
  height:1px;width:1px;overflow:hidden;
}

/* ===== PRINT ===== */
@media print{
  .site-header,.site-footer,.ad-placeholder,.back-to-top,
  .whatsapp-share,.sidebar-widget{display:none!important}
  body{background:#fff;color:#000}
  .content-with-sidebar{display:block}
}
