/*
Theme Name: Deeni Baatein News
Theme URI: https://deenibaatein.com/
Author: Deeni Baatein
Description: Custom news-portal theme for deenibaatein.com, built from the "deenibaatein-newdesign" HTML/CSS design — dense Hindi/Urdu Islamic news layout with a 3-column homepage, category sections, article pages, and a mobile app-style drawer nav.
Version: 1.0.0
Tested up to: 6.6
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: deeni-baatein
*/

/* =========================================================
   दीनी बातें — Islamic News & Media Portal
   ========================================================= */

/* Google Fonts are loaded via wp_enqueue_style() in functions.php as a
   proper <link>, discoverable by the browser's preload scanner straight
   from the HTML — an @import here would force a slow, fully serial
   fetch chain (style.css must download+parse before the browser even
   starts the font CSS request) on top of that, so don't duplicate it. */

:root{
  --red:#0f9e96;
  --red-dark:#0a6e68;
  --ink:#1a1a1a;
  --text:#222222;
  --muted:#6b6b6b;
  --line:#e6e6e6;
  --bg:#f2f2f2;
  --white:#ffffff;
  --gold:#c9a227;
  --dark:#0d1414;
  --dark-2:#131c1c;
  --sidebar-bg:#f5faf9;
  --radius:4px;
  --font-urdu:'Noto Nastaliq Urdu',serif;
  --maxw:1320px;
  --font:'Noto Sans Devanagari','Poppins','Noto Naskh Arabic',Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 12px;}
.site-main{display:block;padding-top:22px;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link{position:fixed;top:-100px;left:8px;z-index:9999;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--radius);transition:top .2s;}
.skip-link:focus{top:8px;}

/* ---------- placeholder image blocks (used only when a post has no featured image) ---------- */
.ph{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.92);
  font-size:12px;
  font-weight:600;
  text-align:center;
  padding:6px;
  overflow:hidden;
  background:linear-gradient(135deg,var(--c1,#0f9e96),var(--c2,#0a3d3a));
  border-radius:var(--radius);
}
.ph::before{
  content:"";
  position:absolute;inset:0;
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 10px,transparent 10px 20px);
}
.ph span{position:relative;z-index:1;line-height:1.3;}
.ph.r16-9{aspect-ratio:16/9;}
.ph.r4-3{aspect-ratio:4/3;}
.ph.r1-1{aspect-ratio:1/1;}
.ph.r3-4{aspect-ratio:3/4;}
.ph.r21-9{aspect-ratio:21/9;}

/* Real featured images reuse the same boxes/ratios as .ph but via <img> */
.thumb img,.hero-img img,.article-hero img,.gallery-3 img,.portrait-row img,.video-card img,.popular-grid .thumb img,
.category-hero img,.trend-strip img,.video-row .thumb img,.video-hero-main img,.video-hero-list .thumb img,
.feature > img,.side-list .thumb img{
  width:100%;height:100%;object-fit:cover;border-radius:var(--radius);display:block;
}

/* ---------- top utility bar ---------- */
.topbar{
  background:var(--dark);
  color:#ccc;
  font-size:12px;
}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:30px;flex-wrap:wrap;gap:4px;}
.topbar .date{color:#999;}
.topbar .links{display:flex;gap:14px;}
.topbar .links a:hover{color:var(--gold);}

/* ---------- header ---------- */
header.site-header{background:var(--white);border-bottom:3px solid var(--red);}
.header-top{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;
}
.logo{display:flex;align-items:center;gap:10px;}
.logo .mark{width:52px;height:52px;flex:0 0 52px;}
.logo .mark svg{width:100%;height:100%;display:block;}
.logo .mark img{width:100%;height:100%;object-fit:contain;border-radius:50%;}

.header-actions{display:flex;align-items:center;gap:18px;}
.search-box-wrap{position:relative;}
.header-actions .search-box{
  display:flex;align-items:center;border:1px solid var(--line);border-radius:20px;padding:6px 14px;background:#fafafa;
}
.header-actions .search-box input{border:none;background:transparent;outline:none;font-size:13px;width:140px;}
.header-actions .search-box button{border:none;background:none;padding:0;display:flex;}

.search-suggestions{
  position:absolute;top:calc(100% + 8px);right:0;z-index:70;
  width:320px;max-height:380px;overflow-y:auto;
  background:#fff;border:1px solid var(--line);border-radius:10px;
  box-shadow:0 14px 32px rgba(0,0,0,.14);padding:6px;
}
.search-suggestions__item{
  display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text);
}
.search-suggestions__item:hover{background:var(--sidebar-bg);}
.search-suggestions__item img,.search-suggestions__ph{
  width:40px;height:40px;flex:0 0 40px;border-radius:6px;object-fit:cover;background:var(--sidebar-bg);
  display:flex;align-items:center;justify-content:center;font-size:16px;
}
.search-suggestions__empty{padding:14px;text-align:center;font-size:13px;color:var(--muted);}
.icon-btn{
  width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;border:none;
}
.header-social{display:flex;align-items:center;gap:8px;}
.lang-switch{
  border:1px solid var(--line);border-radius:16px;padding:6px 10px;font-size:12.5px;font-weight:700;
  color:var(--text);background:#fafafa;cursor:pointer;
}
@media (max-width:900px){.lang-switch{font-size:11.5px;padding:5px 8px;}}

/* Shared circular badge for every social icon (header/footer/drawer) —
   background color is set per platform, icon itself stays white via
   currentColor so the same inline SVG works everywhere. */
.social-icon{
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;color:#fff;flex:0 0 auto;
}
.social-icon svg{width:56%;height:56%;}
.social-icon--whatsapp,.social-icon--whatsapp-channel{background:#25D366;}
.social-icon--instagram{background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
.social-icon--facebook,.social-icon--facebook-group{background:#1877F2;}
.social-icon--youtube{background:#FF0000;}
.social-icon:hover{filter:brightness(1.08);}

.header-social .social-icon{width:34px;height:34px;}
.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;background:none;border:none;padding:0;}
.hamburger span{width:24px;height:3px;background:var(--ink);border-radius:2px;}

nav.main-nav{background:var(--red);}
nav.main-nav > .wrap{max-width:var(--maxw);margin:0 auto;padding:0 12px;}
nav.main-nav > .wrap > ul{
  display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
nav.main-nav > .wrap > ul::-webkit-scrollbar{display:none;}
nav.main-nav li{position:relative;flex:0 0 auto;}
nav.main-nav a{
  display:flex;align-items:center;gap:4px;padding:11px 15px;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;
}
nav.main-nav li.active>a,nav.main-nav a:hover,nav.main-nav .current-menu-item>a,nav.main-nav .current-menu-ancestor>a{background:var(--red-dark);}

/* dropdown: desktop-only, hover/focus to open */
.menu-item-has-children > a::after{content:"▾";font-size:11px;opacity:.85;}
@media (min-width:901px){
  nav.main-nav .sub-menu{
    display:none;position:absolute;left:0;top:100%;z-index:60;
    min-width:230px;background:var(--dark-2);border-radius:8px;padding:8px;
    box-shadow:0 12px 28px rgba(0,0,0,.28);
  }
  nav.main-nav .menu-item-has-children:hover > .sub-menu,
  nav.main-nav .menu-item-has-children:focus-within > .sub-menu{display:block;}
  nav.main-nav .sub-menu li{width:100%;}
  nav.main-nav .sub-menu a{padding:9px 12px;border-radius:6px;white-space:normal;}
  nav.main-nav .sub-menu a:hover{background:rgba(255,255,255,.1);}
}

/* ---------- prayer times hero (homepage, dynamic current/upcoming) ---------- */
.prayer-hero{background:#f7f8fb;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin-bottom:24px;}
.prayer-hero__clock{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.prayer-hero__clock-icon{width:38px;height:38px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 38px;}
.prayer-hero__label{font-size:14px;font-weight:700;color:var(--text);margin:0;}
.prayer-hero__time{font-size:27px;font-weight:800;margin:2px 0;font-variant-numeric:tabular-nums;}
.prayer-hero__date{font-size:12.5px;color:var(--muted);margin:0;}
#prayerHeroCitySelect{margin-left:auto;padding:7px 12px;border-radius:20px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:var(--text);}

.prayer-hero__cards{display:flex;flex-wrap:wrap;gap:14px;}
.prayer-card{
  flex:1 1 calc(20% - 11.2px);min-width:130px;position:relative;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 14px 18px;text-align:center;
  transition:transform .15s ease;
}
.prayer-card:hover{transform:translateY(-3px);}
.prayer-card__icon{font-size:30px;display:block;margin-bottom:12px;}
.prayer-card__time{font-size:22px;font-weight:800;display:block;color:var(--ink);}
.prayer-card__name{font-size:13px;color:var(--muted);font-weight:700;display:block;margin-top:4px;}
.prayer-card__badge{
  display:none;position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  font-size:9.5px;font-weight:800;padding:4px 12px;border-radius:12px;text-transform:uppercase;letter-spacing:.4px;
  background:#fff;border:1px solid var(--line);white-space:nowrap;
}
.prayer-card__badge:not(:empty){display:inline-block;}

.prayer-card.is-current{background:var(--dark-2);border-color:var(--dark-2);}
.prayer-card.is-current .prayer-card__time,.prayer-card.is-current .prayer-card__name{color:#fff;}
.prayer-card.is-current .prayer-card__badge{background:var(--gold);color:#1a1a1a;border-color:var(--gold);}

.prayer-card.is-upcoming{border-color:var(--red);box-shadow:0 0 0 1px var(--red);}
.prayer-card.is-upcoming .prayer-card__time{color:var(--red);}
.prayer-card.is-upcoming .prayer-card__badge{background:var(--red);color:#fff;border-color:var(--red);}

@media (max-width:700px){
  .prayer-hero__clock{flex-wrap:wrap;}
  #prayerHeroCitySelect{margin-left:0;flex:1 1 100%;}
  .prayer-card{flex-basis:calc(50% - 7px);}
}

/* ---------- ad banner ---------- */
.ad-banner{
  max-width:970px;margin:16px auto;padding:0 12px;
}
.ad-banner .ph{--c1:#cfd8dc;--c2:#90a4ae;height:90px;font-size:11px;letter-spacing:1px;text-transform:uppercase;}

/* ---------- generic section header ---------- */
.section{max-width:var(--maxw);margin:0 auto 22px;padding:0 12px;}
.section-title{
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:2px solid var(--ink);
  margin-bottom:14px;
}
.section-title h2{
  font-size:20px;font-weight:800;color:#fff;background:var(--red);
  padding:8px 20px;position:relative;top:2px;
  clip-path:polygon(0 0,100% 0,92% 100%,0% 100%);
}
.section-title .more{font-size:13px;font-weight:600;color:var(--red);padding-bottom:8px;}
.section-title .more:hover{text-decoration:underline;}

.section.dark .section-title{border-bottom-color:#444;}
.section.dark .section-title h2{background:var(--gold);color:#1a1a1a;}

/* ---------- main layout grid ---------- */
/* flexbox, not CSS grid, on purpose: Chromium mis-sizes an auto grid row
   when the item is an <img aspect-ratio> immediately followed by more
   siblings (h1/p/etc.) — it undersizes the row to just the image's
   height and lets the rest of the content visually overlap whatever
   comes next (confirmed on this exact layout on both desktop and
   mobile). Flexbox has no such bug, so every "N fixed columns + 1
   flexible column" layout in this stylesheet uses flex, not grid. */
.homepage-grid{
  display:flex;
  align-items:flex-start;
  gap:16px;
  max-width:var(--maxw);
  margin:0 auto 24px;
  padding:0 12px;
}
.homepage-grid > *{min-width:0;}
.homepage-grid > aside:first-child{flex:0 0 270px;}
.homepage-grid > .hero-main,.homepage-grid > article{flex:1 1 0;}
.homepage-grid > aside:last-child{flex:0 0 300px;}
/* On an article page, the two side columns are much shorter than a long
   article body and end up as blank space once you scroll past them —
   pin them in view on desktop only (mobile keeps normal stacked flow). */
@media (min-width:981px){
  .homepage-grid.article-grid > aside{
    align-self:flex-start;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;
  }
}
@media (max-width:980px){
  /* align-items was flex-start (needed on desktop so the three columns
     don't stretch to match each other's height) — but combined with
     flex-direction:column that lets each item size to its own content
     width instead of the container's width, so any oversized child
     (a captioned image with an inline pixel width, a wide table) pushes
     its box past the viewport and forces the whole page to scroll
     sideways. Stretch on mobile so every item is clamped to full width
     and max-width:100% on images/captions can actually do its job. */
  .homepage-grid{flex-direction:column;align-items:stretch;}
  .homepage-grid > *{flex:none;}
  .homepage-grid > * + *{margin-top:16px;}
  /* On an article page, show the article itself first on mobile, with
     the "related in category" and sidebar widget columns after it. */
  .homepage-grid.article-grid > article{order:-1;}
  /* On the homepage, show the lead story (with its image) before the
     "trending"/headline-list sidebar column, which is first in the DOM
     for desktop's 3-column layout. */
  .homepage-grid:not(.article-grid) > .hero-main{order:-1;}
}
/* A bit more breathing room off the screen edges on phones — 12px reads
   as edge-to-edge once type is at body-copy size on a narrow viewport. */
@media (max-width:600px){
  .wrap,.homepage-grid,.page-head,.page-content,.contact-grid{padding-left:16px;padding-right:16px;}
}

/* headline list (text + small thumb) */
.headline-list li{
  display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);
}
/* Some widgets put the flex row on the <li>'s own <a> (inline style)
   instead of the <li> itself — same stretch risk, needs the same fix. */
.headline-list li > a{align-items:flex-start;}
.headline-list li:first-child{padding-top:0;}
.headline-list li:last-child{border-bottom:none;}
.headline-list .thumb{flex:0 0 74px;width:74px;aspect-ratio:16/9;}
.headline-list .thumb .ph{height:100%;font-size:9px;}
.headline-list h4{font-size:14px;line-height:1.4;font-weight:600;}
.headline-list h4:hover{color:var(--red);}
.headline-list.numbered li{align-items:flex-start;}
.headline-list.numbered .num{
  flex:0 0 26px;font-size:22px;font-weight:800;color:var(--red);opacity:.5;line-height:1;
}
.headline-list.text-only .thumb{display:none;}

/* hero (center) */
.hero-main .hero-img{margin-bottom:10px;}
.hero-main .hero-img .ph{--c1:#8d6e63;--c2:#4e342e;height:340px;font-size:14px;}
.hero-main .hero-img img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);}
.hero-main h1{font-size:24px;line-height:1.35;font-weight:800;margin-bottom:8px;}
.hero-main h1:hover{color:var(--red);}
.hero-main p.summary{font-size:14px;color:var(--muted);line-height:1.6;}
.hero-sub-grid{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;}
.hero-sub-grid .thumb-card{flex:1 1 calc(50% - 7px);min-width:150px;}
.hero-sub-grid .thumb{aspect-ratio:16/9;}
.hero-sub-grid .thumb .ph{--c1:#607d8b;--c2:#37474f;height:150px;font-size:11px;}
.hero-sub-grid h3{font-size:14px;font-weight:700;margin-top:8px;line-height:1.4;}
.hero-sub-grid h3:hover{color:var(--red);}

/* sidebar */
.sidebar-box{background:var(--sidebar-bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:18px;}
.sidebar-box h3.title{
  font-size:15px;font-weight:800;color:var(--red);text-transform:uppercase;
  border-bottom:2px solid var(--red);padding-bottom:8px;margin-bottom:10px;
}
.trend-list li{
  display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);align-items:center;
}
.trend-list li:first-child{padding-top:0;}
.trend-list li:last-child{border-bottom:none;padding-bottom:0;}
.trend-list .num{color:var(--red);font-weight:800;font-size:15px;flex:0 0 18px;}
.trend-list .thumb{flex:0 0 56px;width:56px;aspect-ratio:16/9;}
.trend-list p,.trend-list a{font-size:13.5px;font-weight:600;line-height:1.4;}
.trend-list p:hover,.trend-list a:hover{color:var(--red);}

/* Fallback divider for any plain WP widget list dropped into a .sidebar-box
   (e.g. core "Recent Posts") that doesn't use .trend-list/.headline-list
   markup — otherwise those items show with no separation at all. */
.sidebar-box ul:not(.trend-list):not(.headline-list) li{
  padding:9px 0;border-bottom:1px dashed var(--line);font-size:13.5px;font-weight:600;line-height:1.4;
}
.sidebar-box ul:not(.trend-list):not(.headline-list) li:last-child{border-bottom:none;padding-bottom:0;}
.sidebar-box ul:not(.trend-list):not(.headline-list) li:first-child{padding-top:0;}
.sidebar-box ul:not(.trend-list):not(.headline-list) a:hover{color:var(--red);}

/* prayer times widget (replaces the generic stock-market box) */
.prayer-widget__head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:2px solid var(--red);padding-bottom:8px;margin-bottom:10px;}
.prayer-widget__head .title{border-bottom:none;padding-bottom:0;margin-bottom:0;}
.prayer-widget__head select{
  font-size:12px;font-weight:600;padding:5px 8px;border-radius:6px;border:1px solid var(--line);
  background:#fff;color:var(--text);max-width:110px;
}
.market-widget table{width:100%;border-collapse:collapse;font-size:12.5px;}
.market-widget th{text-align:left;color:var(--muted);font-weight:600;padding-bottom:6px;border-bottom:1px solid var(--line);}
.market-widget td{padding:7px 0;border-bottom:1px dashed var(--line);}
.market-widget td.up{color:#1a8a3e;font-weight:700;}
.market-widget td.down{color:var(--red);font-weight:700;}

/* app promo box */
.app-promo{
  background:linear-gradient(135deg,var(--red-dark),var(--red));
  color:#fff;border-radius:var(--radius);padding:18px;text-align:center;margin-bottom:18px;
}
.app-promo h4{font-size:16px;margin-bottom:6px;}
.app-promo p{font-size:12px;opacity:.85;margin-bottom:12px;}
.app-promo .btn{
  display:inline-block;background:var(--gold);color:#1a1a1a;font-weight:700;
  padding:8px 18px;border-radius:20px;font-size:13px;
}

/* ---------- split / gallery block ---------- */
.split-2{display:flex;align-items:flex-start;gap:24px;}
.split-2 > *{min-width:0;flex:1 1 0;}
@media (max-width:800px){
  .split-2{flex-direction:column;}
  .split-2 > *{flex:none;}
  .split-2 > * + *{margin-top:20px;}
}
.gallery-3{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;}
.gallery-3 > *{flex:1 1 calc(33.333% - 8px);min-width:0;}
.gallery-3 .ph{--c1:#c2185b;--c2:#6a1b4d;height:110px;font-size:10px;}
.gallery-3 .thumb{aspect-ratio:16/9;}
.gallery-3 h4{font-size:12.5px;font-weight:700;margin-top:6px;line-height:1.35;}
.gallery-3 h4:hover{color:var(--red);}

/* ---------- video section ---------- */
.video-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;}
.video-grid > *{flex:1 1 calc(33.333% - 10.7px);min-width:0;}
@media (max-width:800px){.video-grid > *{flex-basis:calc(50% - 8px);}}
.video-card .thumb{position:relative;aspect-ratio:16/9;}
.video-card .ph{--c1:#263238;--c2:#000;height:130px;font-size:11px;}
.video-card .play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
}
.video-card .play span{
  width:44px;height:44px;border-radius:50%;background:rgba(15,158,150,.9);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;
}
.video-card h4{font-size:13px;font-weight:700;margin-top:8px;line-height:1.4;}
.video-card h4:hover{color:var(--red);}

/* ---------- category block: image + list + sidebar ---------- */
.cat-grid{display:flex;align-items:flex-start;gap:20px;}
.cat-grid > *{min-width:0;}
.cat-grid > :first-child{flex:0 0 340px;}
.cat-grid > .headline-list{flex:1 1 0;}
.cat-grid > .sidebar-box{flex:0 0 300px;}
@media (max-width:980px){
  .cat-grid{flex-direction:column;}
  .cat-grid > *{flex:none;}
  .cat-grid > * + *{margin-top:18px;}
}
.cat-grid .feature .ph{--c1:#37474f;--c2:#102027;height:230px;font-size:13px;}
.cat-grid .feature .thumb{aspect-ratio:16/9;}
.cat-grid .feature h3{font-size:16px;font-weight:800;margin-top:10px;line-height:1.4;}
.cat-grid .feature h3:hover{color:var(--red);}
.cat-grid .feature p{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.6;}

/* portrait row */
.portrait-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:14px;}
.portrait-row > *{flex:1 1 calc(33.333% - 9.3px);min-width:0;}
.portrait-row .thumb{aspect-ratio:3/4;background:#151515;}
/* This widget's source images are wide banners (16:9) forced into a tall
   portrait box — cover crops off the edges of baked-in text, so show the
   whole graphic letterboxed instead of cutting it. */
.portrait-row .thumb img{object-fit:contain;}
.portrait-row .ph{--c1:#4e342e;--c2:#212121;height:140px;font-size:10px;}
.portrait-row h4{font-size:12.5px;font-weight:700;margin-top:6px;line-height:1.35;}
.portrait-row h4:hover{color:var(--red);}

/* ---------- most popular (dark) ---------- */
.section.dark{background:var(--dark);padding:26px 0;max-width:100%;}
.section.dark .inner{max-width:var(--maxw);margin:0 auto;padding:0 12px;}
.section.dark .widget-title,.popular-grid,
.section.dark .inner > ul,.section.dark .inner .widget > ul{
  display:grid;grid-template-columns:1fr 1fr;gap:0 40px;list-style:none;margin:0;padding:0;
}
.section.dark .widget-title{display:block;font-size:20px;font-weight:800;color:var(--gold);text-transform:uppercase;border-bottom:2px solid #444;padding-bottom:12px;margin-bottom:14px;}
@media (max-width:700px){
  .popular-grid,.section.dark .inner > ul,.section.dark .inner .widget > ul{grid-template-columns:1fr;}
}
.popular-grid li,.section.dark .inner li{
  display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #333;align-items:center;
  counter-increment:db-popular;
}
.popular-grid .thumb{flex:0 0 64px;width:64px;height:48px;}
.popular-grid .ph{--c1:#333;--c2:#111;height:100%;font-size:9px;}
.popular-grid .num,.section.dark .inner li::before{font-size:20px;font-weight:800;color:var(--gold);flex:0 0 24px;content:counter(db-popular);}
.section.dark .inner > ul,.section.dark .inner .widget > ul{counter-reset:db-popular;}
.popular-grid h4{color:#eee;font-size:13.5px;font-weight:600;line-height:1.4;}
.popular-grid h4:hover,.popular-grid a:hover,.section.dark .inner a:hover{color:var(--gold);}
.popular-grid a,.section.dark .inner a{color:#eee;font-size:13.5px;font-weight:600;line-height:1.4;}

/* ---------- bottom quick-nav icons ---------- */
.quicknav{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:22px;}
.quicknav ul{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;}
.quicknav li{flex:1 1 100px;text-align:center;}
.quicknav a{display:block;}
.quicknav .icon{
  width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:18px;font-weight:700;
}
.quicknav span{font-size:12px;font-weight:600;color:var(--text);}

/* ---------- footer ---------- */
footer.site-footer{background:var(--dark-2);color:#bbb;padding-top:30px;font-size:13px;}
.footer-cols{
  max-width:var(--maxw);margin:0 auto;padding:0 12px;
  display:grid;grid-template-columns:repeat(5,1fr);gap:20px;
}
@media (max-width:900px){.footer-cols{grid-template-columns:repeat(2,1fr);}}
.footer-cols h5{color:#fff;font-size:13px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;}
.footer-cols li{margin-bottom:8px;}
.footer-cols a:hover{color:var(--gold);}

.footer-bottom{
  border-top:1px solid #333;margin-top:26px;padding:18px 12px;
}
.footer-bottom .wrap{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;
}
.footer-logo{display:block;width:44px;height:44px;}
.footer-logo svg,.footer-logo img{width:100%;height:100%;display:block;border-radius:50%;object-fit:contain;}
.social-row{display:flex;flex-wrap:wrap;gap:10px;}
.social-row .social-icon{width:32px;height:32px;}
.app-badges{display:flex;gap:10px;}
.app-badges .badge{
  border:1px solid #444;border-radius:6px;padding:7px 14px;font-size:11.5px;color:#fff;display:flex;align-items:center;gap:6px;
}
.copyright{
  text-align:center;padding:14px 12px 20px;font-size:12px;color:#777;border-top:1px solid #2a2a2a;margin-top:10px;
}
.copyright a:hover{color:var(--gold);}

/* ---------- back to top ---------- */
.to-top{
  position:fixed;right:20px;bottom:20px;width:42px;height:42px;border-radius:50%;
  background:var(--red);color:#fff;display:none;align-items:center;justify-content:center;
  font-size:18px;box-shadow:0 2px 8px rgba(0,0,0,.3);cursor:pointer;z-index:99;border:none;
}
.to-top.show{display:flex;}

/* ---------- responsive nav: app-style slide-in drawer ---------- */
.nav-icon{display:none;}
.drawer-head,.drawer-foot{display:none;}
.nav-overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);
  z-index:998;opacity:0;transition:opacity .25s ease;
}
.nav-overlay.show{display:block;opacity:1;}
body.nav-open{overflow:hidden;}

@media (max-width:900px){
  .hamburger{display:flex;}
  .header-actions .search-box{display:none;}

  nav.main-nav{
    position:fixed;top:0;left:0;bottom:0;
    width:82%;max-width:320px;
    background:#fff;z-index:999;
    display:flex;flex-direction:column;
    transform:translateX(-100%);
    transition:transform .28s ease;
    box-shadow:4px 0 28px rgba(0,0,0,.25);
    overflow-y:auto;
  }
  nav.main-nav.open{transform:translateX(0);}

  .drawer-head{
    display:flex;align-items:center;justify-content:space-between;
    background:linear-gradient(120deg,var(--red-dark),var(--red));
    color:#fff;padding:20px;flex:0 0 auto;
  }
  .drawer-head .drawer-brand{font-family:var(--font-urdu);font-size:21px;font-weight:700;}
  .drawer-head .drawer-tag{display:block;font-size:11px;font-family:var(--font);opacity:.85;margin-top:2px;}
  .drawer-close{
    background:rgba(255,255,255,.18);border:none;color:#fff;
    width:32px;height:32px;border-radius:50%;font-size:16px;line-height:1;cursor:pointer;flex:0 0 32px;
  }

  nav.main-nav .wrap{padding:0;max-width:none;margin:0;flex:1 1 auto;}
  nav.main-nav ul{flex-direction:column;}
  nav.main-nav li{width:100%;}
  nav.main-nav a{
    display:flex;align-items:center;gap:12px;
    padding:14px 20px;border-bottom:1px solid var(--line);
    color:var(--ink);font-weight:600;font-size:14.5px;background:none;
  }
  nav.main-nav li.active a,nav.main-nav a:hover,nav.main-nav .current-menu-item>a{background:#f0faf9;color:var(--red);}
  .nav-icon{display:inline-block;width:20px;text-align:center;font-size:15px;}
  nav.main-nav .sub-menu{background:#fafafa;}
  nav.main-nav .sub-menu a{padding-left:36px;font-size:13.5px;font-weight:500;}

  .drawer-foot{
    display:block;flex:0 0 auto;padding:16px 20px 20px;border-top:1px solid var(--line);background:#fafafa;
  }
  .drawer-foot .drawer-label{font-size:11.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
  .drawer-social{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
  .drawer-social .social-icon{width:36px;height:36px;}
  .drawer-contact-btn{
    display:block;text-align:center;background:var(--red);color:#fff;
    padding:11px;border-radius:22px;font-weight:700;font-size:13px;
  }
}

/* =========================================================
   BREADCRUMB
   ========================================================= */
.breadcrumb{max-width:var(--maxw);margin:14px auto;padding:0 12px;font-size:13px;color:var(--muted);}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb .sep{margin:0 6px;color:#bbb;}

/* =========================================================
   ARTICLE / DETAIL PAGE
   ========================================================= */
.article-layout{display:grid;grid-template-columns:1fr 320px;gap:26px;max-width:var(--maxw);margin:0 auto 30px;padding:0 12px;}
@media (max-width:900px){.article-layout{display:block;}.article-layout > * + *{margin-top:20px;}}

.article-title{font-size:26px;line-height:1.4;font-weight:800;margin-bottom:14px;}

.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.article-meta .author{display:flex;align-items:center;gap:8px;}
.article-meta .avatar{width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:0 0 34px;overflow:hidden;}
.article-meta .avatar img{width:100%;height:100%;object-fit:cover;}
.article-meta .author-name{font-size:13.5px;font-weight:700;}
.article-meta .pub-time{font-size:11.5px;color:var(--muted);}
.article-meta .badge{background:var(--gold);color:#1a1a1a;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;}
.share-row{display:flex;gap:8px;margin-left:auto;}
.share-row a{width:30px;height:30px;border-radius:50%;background:var(--sidebar-bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;}
.share-row a svg{width:15px;height:15px;}
.share-row a:hover{background:var(--red);color:#fff;border-color:var(--red);}

.article-hero{margin-bottom:18px;}
.article-hero .ph{--c1:#2b2b2b;--c2:#000;height:360px;}
.article-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);}
.article-hero figcaption{font-size:12px;color:var(--muted);margin-top:6px;}

.article-body{font-size:15.5px;line-height:1.9;color:#2c2c2c;}
.article-body p{margin-bottom:18px;}
.article-body h2,.article-body h3{font-size:19px;font-weight:800;margin:26px 0 12px;}
.article-body img,.page-content img{max-width:100%;height:auto;border-radius:var(--radius);margin:1em 0;}
.article-body ul,.article-body ol{margin:0 0 18px 1.3em;}
.article-body blockquote{background:var(--sidebar-bg);border-left:3px solid var(--red);padding:14px 18px;margin:1.4em 0;color:#333;}
.article-body table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95em;}
.article-body table th,.article-body table td{border:1px solid var(--line);padding:8px 10px;}

/* WordPress's standard content image classes — the editor/media library
   adds these to every inserted image, so they need real styling or images
   end up stuck left-aligned with no centering, wrong-sized captions, etc. */
.article-body .aligncenter,.page-content .aligncenter{display:block;margin-left:auto;margin-right:auto;}
.article-body .alignleft,.page-content .alignleft{float:left;margin:0.3em 1.4em 1em 0;max-width:50%;}
.article-body .alignright,.page-content .alignright{float:right;margin:0.3em 0 1em 1.4em;max-width:50%;}
.article-body .alignnone,.page-content .alignnone{margin:1em 0;}
.article-body .wp-caption,.page-content .wp-caption{max-width:100%;margin:1em 0;}
.article-body .wp-caption img,.page-content .wp-caption img{display:block;width:100%;height:auto;margin:0;}
.article-body .wp-caption.aligncenter,.page-content .wp-caption.aligncenter{margin-left:auto;margin-right:auto;}
.article-body .wp-caption-text,.page-content .wp-caption-text{font-size:12.5px;color:var(--muted);text-align:center;padding:6px 2px 0;}
@media (max-width:600px){
  .article-body .alignleft,.article-body .alignright,
  .page-content .alignleft,.page-content .alignright{float:none;max-width:100%;margin:1em 0;}
}
.inline-ad{margin:22px 0;}
.inline-ad .ph{--c1:#cfe9e6;--c2:#0a6e68;height:100px;font-size:11px;}

.also-read{background:#f0faf9;border-left:3px solid var(--red);padding:10px 14px;margin:18px 0;font-size:14px;}
.also-read strong{color:var(--red);margin-right:6px;}
.also-read a{color:var(--ink);font-weight:600;}
.also-read a:hover{text-decoration:underline;color:var(--red);}

.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;}
.tag-list a{background:var(--sidebar-bg);border:1px solid var(--line);padding:6px 14px;border-radius:16px;font-size:12.5px;}
.tag-list a:hover{background:var(--red);color:#fff;border-color:var(--red);}

.author-card{display:flex;gap:14px;align-items:center;background:var(--sidebar-bg);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:24px 0;}
.author-card .avatar{width:54px;height:54px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex:0 0 54px;overflow:hidden;}
.author-card .avatar img{width:100%;height:100%;object-fit:cover;}
.author-card h4{font-size:15px;font-weight:800;}
.author-card p{font-size:12.5px;color:var(--muted);margin-top:3px;}

.follow-strip{display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,#e9f7f5,#f5faf9);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin:24px 0;}
.follow-strip .avatar{width:48px;height:48px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 48px;}
.follow-strip .icon{width:48px;height:48px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 48px;}
.follow-strip .icon svg{width:56%;height:56%;}
.follow-strip .icon--whatsapp,.follow-strip .icon--whatsapp-channel{background:#25D366;}
.follow-strip .icon--youtube{background:#FF0000;}
.follow-strip .icon--facebook{background:#1877F2;}
.follow-strip .icon--instagram{background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
.follow-strip p{font-size:13px;flex:1;}
.follow-strip .btn{background:var(--red);color:#fff;font-weight:700;font-size:12.5px;padding:8px 16px;border-radius:18px;white-space:nowrap;}
@media (max-width:520px){
  .follow-strip{flex-wrap:wrap;}
  .follow-strip .btn{margin-left:64px;}
}

/* =========================================================
   CATEGORY PAGE
   ========================================================= */
.category-tabs{background:var(--white);border-bottom:1px solid var(--line);}
.category-tabs ul{display:flex;gap:4px;overflow-x:auto;}
.category-tabs a{display:block;padding:12px 16px;font-size:13.5px;font-weight:700;color:var(--muted);white-space:nowrap;border-bottom:3px solid transparent;}
.category-tabs li.active a,.category-tabs a:hover,.category-tabs .current-cat a{color:var(--red);border-color:var(--red);}

.category-hero{display:flex;align-items:flex-start;gap:20px;margin-bottom:20px;}
.category-hero > *{min-width:0;flex:1 1 0;}
@media (max-width:800px){
  .category-hero{flex-direction:column;}
  .category-hero > *{flex:none;}
  .category-hero > * + *{margin-top:20px;}
}
.category-hero .lead .ph{--c1:#37474f;--c2:#102027;height:280px;}
.category-hero .lead img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);}
.category-hero .lead h2{font-size:21px;font-weight:800;margin-top:12px;line-height:1.4;}
.category-hero .lead h2:hover{color:var(--red);}
.category-hero .lead p{font-size:13.5px;color:var(--muted);margin-top:8px;line-height:1.6;}
.category-hero .side-list li{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);}
.category-hero .side-list li:first-child{padding-top:0;}
.category-hero .side-list .thumb{flex:0 0 90px;width:90px;aspect-ratio:16/9;}
.category-hero .side-list .thumb .ph{height:100%;font-size:9px;}
.category-hero .side-list h4{font-size:13.5px;font-weight:700;line-height:1.4;}
.category-hero .side-list h4:hover{color:var(--red);}

.trend-strip{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:20px;}
.trend-strip > *{flex:1 1 calc(20% - 9.6px);min-width:0;}
@media (max-width:800px){.trend-strip > *{flex-basis:calc(50% - 6px);}}
.trend-strip .thumb{aspect-ratio:16/9;}
.trend-strip .ph{--c1:#455a64;--c2:#212121;height:80px;font-size:9px;}
.trend-strip h5{font-size:11.5px;font-weight:700;margin-top:6px;line-height:1.35;}
.trend-strip h5:hover{color:var(--red);}

/* =========================================================
   VIDEO PAGE
   ========================================================= */
.video-hero-grid{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;}
.video-hero-grid > *{min-width:0;flex:1 1 0;}
@media (max-width:850px){
  .video-hero-grid{flex-direction:column;}
  .video-hero-grid > *{flex:none;}
  .video-hero-grid > * + *{margin-top:16px;}
}
.video-hero-main{position:relative;}
.video-hero-main .ph{--c1:#000;--c2:#263238;height:360px;}
.video-hero-main img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);}
.video-hero-main .play-lg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.video-hero-main .play-lg span{width:64px;height:64px;border-radius:50%;background:rgba(15,158,150,.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;}
.video-hero-main .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);color:#fff;padding:16px;font-weight:700;font-size:15px;}
.video-hero-list li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
.video-hero-list li > a{align-items:flex-start;}
.video-hero-list li:first-child{padding-top:0;}
.video-hero-list .thumb{flex:0 0 100px;width:100px;aspect-ratio:16/9;position:relative;}
.video-hero-list .thumb .ph{height:100%;font-size:9px;}
.video-hero-list .thumb .mini-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;background:rgba(0,0,0,.15);}
.video-hero-list h5{font-size:13px;font-weight:700;line-height:1.4;}
.video-hero-list h5:hover{color:var(--red);}

.video-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.video-row-head h3{font-size:16px;font-weight:800;border-left:4px solid var(--red);padding-left:10px;}
.video-row-head a{font-size:12.5px;color:var(--red);font-weight:600;}
.video-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:26px;}
.video-row > *{flex:1 1 calc(20% - 11.2px);min-width:0;}
@media (max-width:850px){.video-row > *{flex-basis:calc(33.333% - 9.3px);}}
@media (max-width:550px){.video-row > *{flex-basis:calc(50% - 7px);}}
.video-row .thumb{position:relative;aspect-ratio:16/9;}
.video-row .thumb .ph{--c1:#37474f;--c2:#000;height:90px;font-size:9px;}
.video-row .duration{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.75);color:#fff;font-size:10px;padding:1px 5px;border-radius:2px;z-index:2;}
.video-row .live{position:absolute;left:6px;top:6px;background:var(--red);color:#fff;font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:2px;z-index:2;}
.video-row .mini-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9);font-size:20px;z-index:1;}
.video-row h5{font-size:12px;font-weight:600;margin-top:6px;line-height:1.4;}
.video-row h5:hover{color:var(--red);}
.video-row .time{font-size:10.5px;color:var(--muted);margin-top:3px;}

/* =========================================================
   LATEST VIDEOS (YouTube/Instagram — bottom of every page)
   ========================================================= */
.latest-videos-section{padding:34px 0 6px;}
.latest-videos-section .wrap{max-width:var(--maxw);}
.latest-videos-title{font-size:20px;font-weight:800;margin-bottom:16px;}
.latest-videos-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;}
.latest-video-card{flex:1 1 320px;min-width:0;}
.latest-video-card__label{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;}
.video-embed img{width:100%;height:100%;object-fit:cover;display:block;}
.video-embed iframe{width:100%;height:100%;display:block;border:0;}
.video-embed__play{
  position:absolute;inset:0;width:100%;height:100%;border:none;background:rgba(0,0,0,.25);
  display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
}
.video-embed__play span{
  width:56px;height:56px;border-radius:50%;background:rgba(220,20,20,.92);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:22px;
}
.latest-video-card__title{font-size:14px;font-weight:700;margin-top:10px;line-height:1.4;}

/* =========================================================
   CONNECT WITH US (social community section — all pages)
   ========================================================= */
.connect-section{background:linear-gradient(135deg,#f2faf9,#eaf7f5);padding:40px 0;margin:26px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.connect-section .wrap{max-width:var(--maxw);}
.connect-head{text-align:center;margin-bottom:30px;}
.connect-eyebrow{display:inline-block;background:var(--red);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 16px;border-radius:14px;margin-bottom:12px;}
.connect-title{font-size:26px;font-weight:800;color:var(--ink);margin-bottom:6px;}
.connect-sub{font-size:14px;color:var(--muted);}
.connect-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;}
.connect-grid > *{min-width:0;}
@media (max-width:980px){.connect-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:600px){.connect-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.connect-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 16px;text-align:center;transition:transform .15s ease,box-shadow .15s ease;}
.connect-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.09);}
.connect-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 14px;color:#fff;}
.connect-icon svg{width:52%;height:52%;}
.connect-card h4{font-size:15px;font-weight:800;margin-bottom:6px;}
.connect-card .stat{display:block;font-size:11px;font-weight:700;color:var(--red);margin-bottom:4px;}
.connect-card p{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:16px;min-height:34px;}
.connect-card .btn{display:inline-block;padding:9px 22px;border-radius:20px;font-size:12.5px;font-weight:700;color:#fff;}

.icon-whatsapp{background:#25D366;}
.icon-instagram{background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
.icon-youtube{background:#FF0000;}
.icon-fbpage{background:#1877F2;}
.icon-fbgroup{background:#0a5cc7;}

.btn-whatsapp{background:#25D366;}
.btn-instagram{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);}
.btn-youtube{background:#FF0000;}
.btn-fbpage{background:#1877F2;}
.btn-fbgroup{background:#0a5cc7;}

/* =========================================================
   CONTACT PAGE
   ========================================================= */
.page-head{max-width:var(--maxw);margin:0 auto 20px;padding:0 12px;}
.page-head h1{font-size:26px;font-weight:800;margin-bottom:6px;}
.page-head p{font-size:14px;color:var(--muted);}

.contact-grid{display:flex;align-items:flex-start;gap:26px;max-width:var(--maxw);margin:0 auto 30px;padding:0 12px;}
.contact-grid > *{min-width:0;}
.contact-grid > :first-child{flex:1 1 0;}
.contact-grid > aside{flex:0 0 360px;}
@media (max-width:900px){
  .contact-grid{flex-direction:column;}
  .contact-grid > *{flex:none;}
  .contact-grid > * + *{margin-top:20px;}
}

.contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-row > *{min-width:0;}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:6px;font-family:var(--font);
  font-size:14px;background:#fafafa;color:var(--text);
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--red);background:#fff;}
.form-group textarea{resize:vertical;min-height:130px;}
.btn-submit{
  background:var(--red);color:#fff;border:none;font-weight:700;font-size:14.5px;
  padding:12px 32px;border-radius:24px;cursor:pointer;
}
.btn-submit:hover{background:var(--red-dark);}
.wpcf7-form p{margin-bottom:0;}
.wpcf7-response-output{margin:14px 0 0!important;border-radius:6px!important;font-size:13px;}
.wpcf7-not-valid-tip{color:#c0392b;font-size:12px;margin-top:4px;}

.info-card{background:var(--sidebar-bg);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px;}
.info-card h3{font-size:15px;font-weight:800;color:var(--red);margin-bottom:16px;text-transform:uppercase;}
.info-row{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start;}
.info-row:last-child{margin-bottom:0;}
.info-row .ic{
  width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;flex:0 0 38px;
  display:flex;align-items:center;justify-content:center;font-size:15px;
}
.info-row .ic svg{width:50%;height:50%;}
.info-row h5{font-size:13.5px;font-weight:700;margin-bottom:2px;}
.info-row p{font-size:12.5px;color:var(--muted);line-height:1.5;}
.info-row a{color:var(--text);}
.info-row a:hover{color:var(--red);}

.map-box .ph{height:180px;font-size:12px;}
.map-box{margin-bottom:18px;}
.map-box iframe{width:100%;height:180px;border:0;border-radius:var(--radius);}

.social-quick{display:flex;gap:10px;}
.social-quick .social-icon{width:38px;height:38px;}

/* =========================================================
   GENERIC PAGE / SEARCH / 404 / COMMENTS
   ========================================================= */
.page-content{max-width:var(--maxw);margin:0 auto 30px;padding:0 12px;font-size:15.5px;line-height:1.9;color:#2c2c2c;}
.ad-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px;}
.ad-cta-btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:26px;
  color:#fff;font-weight:700;font-size:14.5px;
}
.ad-cta-btn svg{width:18px;height:18px;flex:0 0 18px;}
.ad-cta-btn--whatsapp{background:#25D366;}
.ad-cta-btn--whatsapp:hover{background:#1da851;}
.ad-cta-btn--call{background:var(--red);}
.ad-cta-btn--call:hover{background:var(--red-dark);}
.page-content img{border-radius:var(--radius);}
.search-results-list{max-width:var(--maxw);margin:0 auto 30px;padding:0 12px;}
.search-results-list .headline-list .thumb{flex:0 0 100px;width:100px;aspect-ratio:16/9;}
.pagination{max-width:var(--maxw);margin:0 auto 30px;padding:0 12px;display:flex;gap:8px;flex-wrap:wrap;}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:6px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--text);}
.pagination .current{background:var(--red);color:#fff;border-color:var(--red);}
.pagination a:hover{border-color:var(--red);color:var(--red);}

.comments-area{max-width:var(--maxw);margin:0 auto 30px;padding:0 12px;}
.comments-title{font-size:17px;font-weight:800;margin-bottom:12px;}

/* ---------- compact comment list ---------- */
.comment-list{list-style:none;margin:0;padding:0;}
.comment-list .children{list-style:none;margin:8px 0 0;padding-left:16px;border-left:2px solid var(--line);}
.comment-body{
  padding:10px 12px;margin-bottom:8px;
  background:var(--sidebar-bg);border:1px solid var(--line);border-radius:var(--radius);
}
.comment-body .comment-author.vcard{display:flex;align-items:center;gap:8px;}
.comment-body .avatar{width:32px;height:32px;flex:0 0 32px;border-radius:50%;object-fit:cover;}
.comment-author .fn{font-weight:700;font-style:normal;font-size:13px;color:var(--ink);}
.comment-author .fn a{color:inherit;}
.comment-author .says{display:none;}
.comment-metadata{font-size:10.5px;color:var(--muted);margin:1px 0 6px 40px;}
.comment-metadata a{color:inherit;}
.comment-content{margin-left:40px;font-size:13px;line-height:1.55;color:var(--text);}
.comment-content p{margin:0 0 4px;}
.comment-content p:last-child{margin-bottom:0;}
.comment-body .reply{margin-left:40px;margin-top:6px;}
.comment-reply-link{display:inline-block;font-size:11.5px;font-weight:700;color:var(--red);}
.comment-reply-link:hover{text-decoration:underline;}

/* ---------- comment reply / new-comment form ---------- */
.comment-respond{background:var(--sidebar-bg);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-top:20px;}
.comment-reply-title{font-size:16px;font-weight:800;margin-bottom:4px;}
.comment-reply-title small a{font-size:12px;font-weight:600;color:var(--red);margin-left:8px;}
.comment-notes,.comment-form-legend{font-size:12.5px;color:var(--muted);margin-bottom:14px;}
.comment-form p{margin-bottom:14px;}
.comment-form label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;font-family:var(--font);font-size:14px;color:var(--text);
}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--red);}
.comment-form textarea{min-height:110px;resize:vertical;}
.comment-form .comment-form-cookies-consent{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);}
.comment-form .comment-form-cookies-consent input{width:auto;}
.comment-form .form-submit{margin-bottom:0;}
.comment-form input#submit{
  width:auto;background:var(--red);color:#fff;border:none;font-weight:700;font-size:14px;
  padding:11px 28px;border-radius:24px;cursor:pointer;
}
.comment-form input#submit:hover{background:var(--red-dark);}
