/* ============================================================
   Annai Ambulance — Foundation Stylesheet (styles.css)
   All :root tokens, @font-face, base resets, and utility classes.
   Link this file in every page: <link rel="stylesheet" href="styles.css">
   ============================================================ */

/* ============================================================
   Annai Ambulance — Fonts (Google Fonts CDN; binaries not vendored)
   - Cinzel            : brand serif — wordmark, eyebrows, memorial headlines
   - Plus Jakarta Sans : practical headings / UI
   - Mulish            : body / UI text
   - JetBrains Mono    : phone numbers, dispatch codes
   ============================================================ */
/* @import for Google Fonts removed — enqueued separately via mu-plugin */


/* ============================================================
   Annai Ambulance — Color tokens
   Palette sampled from the brand dove logo:
   • TEAL  = primary. The dove, calm, compassion, life.
   • NAVY  = depth, trust, dignity, text.
   • PINK  = accent. "Celebrate life. Honor Legacy."
   • RED   = functional EMERGENCY layer only (ambulance, the
             medical cross on the vehicles, urgent dial).
   Over soft cool-white surfaces.
   ============================================================ */
:root {
  /* ---- Teal (primary / brand) ---- */
  --teal-50:  #ECF7F8;
  --teal-100: #D2EFF1;
  --teal-200: #A6DFE3;
  --teal-300: #76CCD2;
  --teal-400: #49B4BD;
  --teal-500: #2BA0AB; /* brand primary */
  --teal-600: #21838D;
  --teal-700: #1B6A72;
  --teal-800: #165158;
  --teal-900: #103C41;

  /* ---- Navy (depth / text / dignity) ---- */
  --navy-50:  #EBEFF4;
  --navy-100: #CCD7E2;
  --navy-200: #9DB1C6;
  --navy-300: #6C88A6;
  --navy-400: #436484;
  --navy-500: #2C4D6C;
  --navy-600: #213B55;
  --navy-700: #173A5E; /* deep dove navy */
  --navy-800: #11293F;
  --navy-900: #0C1B2A;

  /* ---- Pink / Rose (accent) ---- */
  --pink-50:  #FDEBF2;
  --pink-100: #FBD0E0;
  --pink-200: #F7A8C6;
  --pink-300: #F27CA9;
  --pink-400: #EE5B92;
  --pink-500: #E8467F; /* brand accent */
  --pink-600: #CE336A;
  --pink-700: #A82A57;
  --pink-800: #7E2042;
  --pink-900: #54162C;

  /* ---- Emergency Red (ambulance / urgent only) ---- */
  --red-50:  #FCEDED;
  --red-100: #F9D6D7;
  --red-200: #F2AEB0;
  --red-300: #E97E81;
  --red-400: #DE5054;
  --red-500: #D32128; /* emergency */
  --red-600: #B81920;
  --red-700: #97121A;
  --red-800: #6F0E15;
  --red-900: #4A0B10;

  /* ---- Ink (cool neutral / borders / muted) ---- */
  --ink-900: #16222E;
  --ink-800: #22303C;
  --ink-700: #33424F;
  --ink-600: #4C5C69;
  --ink-500: #6B7B88;
  --ink-400: #9AA7B2;
  --ink-300: #C6CED5;
  --ink-200: #E1E6EB;
  --ink-100: #EEF1F4;
  --ink-50:  #F6F8FA;

  /* ---- Mist (soft cool page surfaces) ---- */
  --mist-50:  #F5F9FA;
  --mist-100: #ECF2F4;
  --mist-200: #DCE7EA;

  --white: #FFFFFF;

  /* ---- Status ---- */
  --green-500: #2E8B57;
  --amber-500: #E0922F;
  --blue-500:  #2A6CB0;

  /* ============================================================
     SEMANTIC ALIASES — prefer these in components
     ============================================================ */
  /* brand */
  --brand-primary:        var(--teal-500);
  --brand-primary-hover:  var(--teal-600);
  --brand-primary-press:  var(--teal-700);
  --brand-secondary:      var(--navy-700);
  --brand-secondary-hover:var(--navy-800);
  --brand-accent:         var(--pink-500);
  --brand-accent-hover:   var(--pink-600);
  --brand-navy:           var(--navy-700);
  --emergency:            var(--red-500);
  --emergency-hover:      var(--red-600);

  /* "care" family kept as an alias to TEAL so existing references
     resolve to the brand colour. */
  --care-50:  var(--teal-50);
  --care-100: var(--teal-100);
  --care-500: var(--teal-500);
  --care-600: var(--teal-600);
  --care-700: var(--teal-700);

  /* text */
  --text-primary:   var(--navy-900);
  --text-secondary: var(--ink-600);
  --text-muted:     var(--ink-500);
  --text-on-brand:  var(--white);
  --text-on-dark:   #E7EEF3;
  --text-link:      var(--teal-600);

  /* surfaces */
  --surface-page:     var(--mist-50);
  --surface-card:     var(--white);
  --surface-sunken:   var(--ink-50);
  --surface-dark:     var(--navy-900);
  --surface-dark-alt: var(--navy-800);
  --surface-care:     var(--teal-50);
  --surface-accent:   var(--pink-50);
  --surface-emergency:var(--red-50);

  /* borders */
  --border-subtle: var(--ink-200);
  --border:        var(--ink-300);
  --border-strong: var(--ink-400);
  --border-on-dark: rgba(255,255,255,0.14);

  /* feedback */
  --success: var(--green-500);
  --warning: var(--amber-500);
  --danger:  var(--red-600);
  --info:    var(--blue-500);

  /* focus */
  --focus-ring: var(--teal-500);
}


/* ============================================================
   Annai Ambulance — Typography tokens
   Display: Plus Jakarta Sans  · Body: Mulish  · Mono: JetBrains Mono
   ============================================================ */
:root {
  /* families */
  --font-serif:   "Cinzel", "Cormorant Garamond", Georgia, serif; /* brand serif */
  --font-display: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
  --font-body:    "Mulish", "Segoe UI", system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", monospace;

  /* weights */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-extra:    800;

  /* type scale (1.0rem = 16px base) */
  --text-2xs: 0.6875rem; /* 11 */
  --text-xs:  0.75rem;   /* 12 */
  --text-sm:  0.875rem;  /* 14 */
  --text-base:1rem;      /* 16 */
  --text-lg:  1.125rem;  /* 18 */
  --text-xl:  1.375rem;  /* 22 */
  --text-2xl: 1.75rem;   /* 28 */
  --text-3xl: 2.25rem;   /* 36 */
  --text-4xl: 3rem;      /* 48 */
  --text-5xl: 4rem;      /* 64 */

  /* line-heights */
  --leading-tight:   1.1;
  --leading-snug:    1.25;
  --leading-normal:  1.55;
  --leading-relaxed: 1.7;

  /* letter-spacing */
  --tracking-tight:  -0.02em;
  --tracking-normal: 0em;
  --tracking-wide:   0.06em;
  --tracking-caps:   0.12em; /* uppercase service labels / eyebrows */

  /* semantic roles */
  --display-font:  var(--font-display);
  --display-weight:var(--weight-extra);
  --heading-font:  var(--font-display);
  --heading-weight:var(--weight-bold);
  --body-font:     var(--font-body);
  /* Eyebrows / kickers use the brand serif (Cinzel) in caps for an
     elegant, memorial tone. */
  --eyebrow-font:  var(--font-serif);
  --eyebrow-tracking: var(--tracking-caps);
}


/* ============================================================
   Annai Ambulance — Spacing tokens (4px base grid)
   ============================================================ */
:root {
  --space-0:  0;
  --space-1:  0.25rem; /* 4  */
  --space-2:  0.5rem;  /* 8  */
  --space-3:  0.75rem; /* 12 */
  --space-4:  1rem;    /* 16 */
  --space-5:  1.25rem; /* 20 */
  --space-6:  1.5rem;  /* 24 */
  --space-8:  2rem;    /* 32 */
  --space-10: 2.5rem;  /* 40 */
  --space-12: 3rem;    /* 48 */
  --space-16: 4rem;    /* 64 */
  --space-20: 5rem;    /* 80 */
  --space-24: 6rem;    /* 96 */

  /* semantic */
  --gap-inline:  var(--space-2);
  --gap-stack:   var(--space-4);
  --pad-card:    var(--space-6);
  --pad-section: var(--space-20);
  --container-max: 1200px;
  --container-pad: var(--space-6);
}


/* ============================================================
   Annai Ambulance — Radii tokens
   Calm, rounded-but-not-bubbly. Cards ~16px, pills for CTAs.
   ============================================================ */
:root {
  --radius-xs:   4px;
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-2xl:  32px;
  --radius-pill: 999px;
  --radius-card: var(--radius-lg);
  --radius-input: var(--radius-md);
  --radius-button: var(--radius-pill);
}


/* ============================================================
   Annai Ambulance — Elevation / shadow tokens
   Soft, low-contrast shadows (warm ink tint, never pure black).
   A dedicated "emergency glow" for the primary call CTA.
   ============================================================ */
:root {
  --shadow-xs: 0 1px 2px rgba(23,25,28,0.06);
  --shadow-sm: 0 1px 3px rgba(23,25,28,0.08), 0 1px 2px rgba(23,25,28,0.06);
  --shadow-md: 0 4px 12px rgba(23,25,28,0.08), 0 2px 4px rgba(23,25,28,0.05);
  --shadow-lg: 0 12px 28px rgba(23,25,28,0.12), 0 4px 10px rgba(23,25,28,0.06);
  --shadow-xl: 0 24px 56px rgba(23,25,28,0.16), 0 8px 18px rgba(23,25,28,0.08);

  /* tinted */
  --shadow-emergency: 0 8px 24px rgba(211,33,40,0.32);
  --shadow-brand:     0 8px 24px rgba(43,160,171,0.30);
  --shadow-accent:    0 8px 24px rgba(232,70,127,0.28);
  --shadow-care:      0 8px 24px rgba(43,160,171,0.26);

  /* inner */
  --shadow-inset: inset 0 1px 2px rgba(22,34,46,0.08);

  /* focus ring */
  --ring: 0 0 0 3px rgba(43,160,171,0.32);
  --ring-care: 0 0 0 3px rgba(43,160,171,0.30);
  --ring-emergency: 0 0 0 3px rgba(211,33,40,0.30);
}


/* ============================================================
   Annai Ambulance — Motion tokens
   Calm and reassuring. Quick on emergency actions, gentle fades
   elsewhere. No bounces, no playful overshoot — this is a brand
   for urgent and grief-sensitive moments.
   ============================================================ */
:root {
  --duration-fast:   140ms; /* @kind other */
  --duration-base:   240ms; /* @kind other */
  --duration-slow:   400ms; /* @kind other */
  --duration-slower: 600ms; /* @kind other */

  --ease-standard: cubic-bezier(0.2, 0.6, 0.2, 1); /* @kind other */
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1);  /* @kind other */
  --ease-in:       cubic-bezier(0.4, 0, 1, 1);     /* @kind other */
  --ease-in-out:   cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */

  /* the gentle, steady pulse used only on the emergency-call CTA */
  --pulse-duration: 2200ms; /* @kind other */
}

@keyframes annai-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(211,33,40,0.45); }
  50%      { box-shadow: 0 0 0 14px rgba(211,33,40,0.0); }
}


/* ============================================================
   Annai Ambulance — Base element defaults
   Lightweight resets + sensible typographic defaults bound to
   the token system. Safe for consumers to inherit.
   ============================================================ */
:root {
  color-scheme: light;
}

*,
*::before,
*::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text-primary);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--text-primary);
  margin: 0 0 var(--space-4);
  text-wrap: balance;
}

p { margin: 0 0 var(--space-4); text-wrap: pretty; }

a { color: var(--text-link); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Eyebrow / kicker label used widely above section titles */
.annai-eyebrow {
  font-family: var(--font-serif);
  font-weight: var(--weight-semibold);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--brand-primary);
}

/* Consistent 3-up card grid, collapsing responsively */
.annai-cards-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
@media (max-width: 920px) {
  .annai-cards-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .annai-cards-3 { grid-template-columns: 1fr !important; }
}

/* Stats grid mobile */
@media (max-width: 600px) {
  .annai-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 380px) {
  .annai-stats-grid { grid-template-columns: 1fr !important; }
}

/* Fixed mobile dock — 24×7 + Call + WhatsApp */
.annai-mobile-dock { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; flex-direction: column; box-shadow: 0 -6px 24px rgba(15, 23, 42, 0.16); }
.annai-dock-strip { display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--navy-900); color: #fff; font-family: var(--font-body); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.01em; padding: 6px 12px; }
.annai-dock-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #36d07f; box-shadow: 0 0 0 3px rgba(54, 208, 127, 0.25); }
.annai-dock-row { display: grid; grid-template-columns: 1fr 1fr; }
.annai-dock-call, .annai-dock-wa { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 54px; border: none; cursor: pointer; font-family: var(--font-body); font-weight: 800; font-size: 1rem; color: #fff; text-decoration: none; }
.annai-dock-call { background: var(--blue-500); }
.annai-dock-wa { background: #1fae53; }
@media (max-width: 760px) {
  .annai-mobile-dock { display: flex; }
  body { padding-bottom: 86px; }
}

::selection { background: var(--teal-100); color: var(--navy-900); }

:focus-visible { outline: none; box-shadow: var(--ring); border-radius: var(--radius-sm); }

/* Nav "live" 24×7 indicator dot */
@keyframes annai-livedot { 0%, 100% { box-shadow: 0 0 0 0 rgba(46, 139, 87, 0.45); } 50% { box-shadow: 0 0 0 5px rgba(46, 139, 87, 0); } }
.annai-livedot { animation: annai-livedot 1.8s ease-in-out infinite; }



/* === Build gap-fill (Search Engineers): tokens referenced by pages but absent from the export === */
:root{ --care-400: var(--teal-400); --space-14: 3.5rem; }

/* === Chrome responsive (Search Engineers): globalized from per-page blocks so the sitewide header/footer respond correctly === */
@media (max-width: 900px){
  .annai-footer-grid{ grid-template-columns:1fr 1fr !important; gap:var(--space-8) !important; }
}
@media (max-width: 760px){
  .annai-desktop-nav{ display:none !important; }
  .annai-mobile-toggle{ display:inline-flex !important; }
  .annai-fab{ display:inline-flex !important; }
}
@media (max-width: 680px){
  .annai-footer-grid{ grid-template-columns:1fr !important; gap:var(--space-6) !important; }
}

/* === Overflow guard (Search Engineers): prevent stray right-side horizontal overflow on mobile without breaking the sticky header (clip != scroll container) === */
html, body { overflow-x: clip; }

/* === Full-bleed Elementor neutralizer (Search Engineers): entire site is full-width HTML-widget sections; remove Elementor boxed cap + default inset so section backgrounds reach the edges (inner markup centers itself) === */
.elementor-section > .elementor-container { max-width: 100% !important; }
.elementor-section .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated { padding: 0 !important; }

/* === Service-page enquiry forms (Search Engineers): native Elementor Form styling + width constraint that overrides the full-bleed neutralizer for these sections === */
.elementor-section.annai-form-section > .elementor-container { max-width: 1140px !important; margin-left:auto !important; margin-right:auto !important; }
.annai-form-card { background: var(--surface-card); border-radius: var(--radius-xl); padding: var(--space-8); box-shadow: var(--shadow-lg); }
.annai-form-card .elementor-field-group > label { font-weight: var(--weight-semibold); font-size: var(--text-sm); color: var(--text-primary); margin-bottom: .35rem; }
.annai-form-card .elementor-field-textual { width:100%; border:1.5px solid var(--border) !important; border-radius: var(--radius-input) !important; padding:.7rem .9rem !important; font-family: var(--font-body) !important; font-size: var(--text-base) !important; background: var(--surface-card) !important; }
.annai-form-card .elementor-button { background: var(--emergency) !important; color: var(--text-on-brand) !important; width:100%; justify-content:center; border-radius: var(--radius-button) !important; font-weight: var(--weight-bold) !important; font-size: var(--text-lg) !important; padding:.95rem 1.6rem !important; }
.annai-form-card .elementor-button:hover { background: var(--emergency-hover) !important; }

/* === Header Services dropdown (Search Engineers) === */
.annai-has-submenu .annai-submenu{position:absolute;top:100%;left:0;min-width:230px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.4rem;display:none;flex-direction:column;z-index:60;}
.annai-has-submenu:hover .annai-submenu,.annai-has-submenu:focus-within .annai-submenu{display:flex;}
.annai-submenu a{padding:.6rem .8rem;border-radius:var(--radius-sm);color:var(--ink-700);font-weight:600;font-size:var(--text-sm);text-decoration:none;white-space:nowrap;}
.annai-submenu a:hover{background:var(--surface-page);color:var(--brand-primary);}

/* === Annai Blog (single + archive + cards) === */
.annai-bp,.annai-arch{width:100%;}
.annai-bp-hero,.annai-arch-hero{background:var(--navy-900);color:#fff;padding:clamp(3rem,7vw,5rem) var(--container-pad) clamp(2.5rem,5vw,3.5rem);}
.annai-bp-hero-inner,.annai-arch-hero-inner{max-width:820px;margin:0 auto;}
.annai-bp-cats{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;}
.annai-bp-cat{display:inline-block;background:rgba(43,160,171,.18);color:#7fe3ec;border:1px solid rgba(43,160,171,.4);padding:.3rem .8rem;border-radius:999px;font-size:.8rem;font-weight:700;text-decoration:none;}
.annai-bp-cat:hover{background:var(--brand-primary);color:#fff;}
.annai-bp-title,.annai-arch-title{font-family:var(--font-display);font-weight:800;line-height:1.15;font-size:clamp(1.7rem,4vw,2.6rem);margin:0 0 .8rem;color:#fff;}
.annai-bp-meta{font-size:.92rem;color:rgba(255,255,255,.7);font-family:var(--font-mono);}
.annai-arch-eyebrow{display:inline-block;font-family:var(--font-serif);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:#7fe3ec;text-decoration:none;margin-bottom:.8rem;}
.annai-arch-desc{font-size:1.05rem;color:rgba(255,255,255,.8);margin:.4rem 0 0;max-width:60ch;}
.annai-bp-main{padding:clamp(2.5rem,5vw,4rem) var(--container-pad);background:#fff;}
.annai-bp-main-inner{max-width:760px;margin:0 auto;}
.annai-bp-featured{margin:0 0 2rem;border-radius:var(--radius-lg);overflow:hidden;}
.annai-bp-featured img{width:100%;height:auto;display:block;}
.annai-bp-content{font-size:1.08rem;line-height:1.8;color:var(--ink-800);}
.annai-bp-content p{margin:0 0 1.3rem;}
.annai-bp-content h2{font-family:var(--font-display);font-size:1.5rem;font-weight:800;margin:2rem 0 1rem;color:var(--navy-900);}
.annai-bp-content h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin:1.6rem 0 .8rem;color:var(--navy-900);}
.annai-bp-content a{color:var(--brand-primary);text-decoration:underline;}
.annai-bp-content ul,.annai-bp-content ol{margin:0 0 1.3rem 1.2rem;}
.annai-bp-content li{margin:.4rem 0;}
.annai-bp-back{display:inline-block;margin-top:2rem;color:var(--brand-primary);font-weight:700;text-decoration:none;}
.annai-bp-back:hover{text-decoration:underline;}
.annai-bp-cta{background:var(--surface-page);padding:clamp(2.5rem,5vw,3.5rem) var(--container-pad);}
.annai-bp-cta-inner{max-width:760px;margin:0 auto;background:var(--navy-900);color:#fff;border-radius:var(--radius-lg);padding:2rem;text-align:center;}
.annai-bp-cta-inner h2{font-family:var(--font-display);font-size:1.4rem;margin:0 0 .5rem;color:#fff;}
.annai-bp-cta-inner p{color:rgba(255,255,255,.8);margin:0 0 1.2rem;}
.annai-bp-cta-btn{display:inline-block;background:var(--emergency);color:#fff;font-weight:700;padding:.85rem 1.6rem;border-radius:var(--radius-button);text-decoration:none;}
.annai-bp-cta-btn:hover{background:var(--emergency-hover);}
.annai-arch-main{padding:clamp(2.5rem,5vw,4rem) var(--container-pad);background:var(--surface-page);}
.annai-arch-main-inner{max-width:var(--container-max);margin:0 auto;}
.annai-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem;}
.annai-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.annai-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.annai-card-img{display:block;aspect-ratio:16/10;overflow:hidden;}
.annai-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.annai-card-body{padding:1.3rem;display:flex;flex-direction:column;flex:1;}
.annai-card-cat{align-self:flex-start;background:var(--surface-page);color:var(--brand-primary);border:1px solid var(--border-subtle);padding:.25rem .7rem;border-radius:999px;font-size:.74rem;font-weight:700;margin-bottom:.7rem;}
.annai-card-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;line-height:1.3;margin:0 0 .6rem;}
.annai-card-title a{color:var(--navy-900);text-decoration:none;}
.annai-card-title a:hover{color:var(--brand-primary);}
.annai-card-ex{font-size:.94rem;color:var(--ink-700);line-height:1.6;margin:0 0 1rem;flex:1;}
.annai-card-meta{font-size:.8rem;color:var(--ink-500);font-family:var(--font-mono);margin-bottom:.8rem;}
.annai-card-more{align-self:flex-start;color:var(--brand-primary);font-weight:700;font-size:.9rem;text-decoration:none;}
.annai-card-more:hover{text-decoration:underline;}
.annai-noposts{text-align:center;color:var(--ink-500);padding:2rem;}
.annai-cat-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;}
.annai-cat-pill{display:inline-block;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);padding:.45rem 1rem;border-radius:999px;font-size:.85rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s;}
.annai-cat-pill:hover,.annai-cat-pill.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;}
/* ===== Blog single (two-column) ===== */
.annai-bp .annai-bp-hero-inner{max-width:1100px;}
.annai-bp-crumb{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.82rem;color:rgba(255,255,255,.6);margin-bottom:1.1rem;font-family:var(--font-body);}
.annai-bp-crumb a{color:rgba(255,255,255,.6);text-decoration:none;}
.annai-bp-crumb a:hover{color:#7fe3ec;}
.annai-bp-sep{color:rgba(255,255,255,.35);}
.annai-bp-crumb-cur{color:rgba(255,255,255,.88);}
.annai-bp-tags{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.annai-bp-badge{display:inline-block;background:rgba(232,70,127,.18);color:#ff9ec4;border:1px solid rgba(232,70,127,.45);padding:.3rem .85rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.annai-bp-rt{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:#7fe3ec;font-weight:600;}
.annai-bp-author{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:1.3rem;font-size:.9rem;color:rgba(255,255,255,.82);}
.annai-bp-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--brand-primary);color:#fff;flex:0 0 auto;}
.annai-bp-dotsep{color:rgba(255,255,255,.4);}
.annai-bp-date{display:inline-flex;align-items:center;gap:.35rem;color:rgba(255,255,255,.7);}
.annai-bp-body{background:var(--surface-page);padding:clamp(2.5rem,5vw,4rem) var(--container-pad);}
.annai-bp-body-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(2rem,4vw,3.5rem);align-items:start;}
.annai-bp-colmain{min-width:0;}
.annai-bp-colmain .annai-bp-featured{margin:0 0 2rem;border-radius:var(--radius-lg);overflow:hidden;}
.annai-bp-colmain .annai-bp-featured img{width:100%;height:auto;display:block;}
.annai-bp-sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:90px;}
.annai-sb-card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.4rem;box-shadow:var(--shadow-sm);}
.annai-sb-h{font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--navy-900);margin:0 0 1rem;padding-bottom:.7rem;border-bottom:2px solid var(--brand-primary);}
.annai-sb-list{display:flex;flex-direction:column;}
.annai-sb-cat{display:flex;align-items:center;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid var(--border-subtle);color:var(--ink-700);text-decoration:none;font-size:.92rem;font-weight:600;}
.annai-sb-cat:last-child{border-bottom:0;}
.annai-sb-cat:hover{color:var(--brand-primary);}
.annai-sb-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 .5rem;background:var(--surface-page);color:var(--text-secondary);border-radius:999px;font-size:.78rem;font-weight:700;}
.annai-sb-recents{display:flex;flex-direction:column;gap:1rem;}
.annai-sb-recent{display:flex;gap:.8rem;align-items:center;text-decoration:none;}
.annai-sb-recent img{width:56px;height:56px;border-radius:var(--radius-md);object-fit:cover;flex:0 0 auto;}
.annai-sb-rtext{display:flex;flex-direction:column;gap:.2rem;min-width:0;}
.annai-sb-rtext strong{font-size:.85rem;font-weight:700;color:var(--navy-900);line-height:1.3;}
.annai-sb-recent:hover .annai-sb-rtext strong{color:var(--brand-primary);}
.annai-sb-rcat{font-size:.72rem;color:var(--brand-primary);font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.annai-sb-help{background:var(--navy-900);color:#fff;border-radius:var(--radius-lg);padding:1.4rem;box-shadow:var(--shadow-md);}
.annai-sb-help strong{display:block;font-family:var(--font-display);font-size:1.05rem;margin-bottom:.5rem;}
.annai-sb-help p{margin:0 0 1rem;font-size:.85rem;color:rgba(255,255,255,.75);line-height:1.5;}
.annai-sb-help-btn{display:block;text-align:center;background:var(--emergency);color:#fff;padding:.7rem 1rem;border-radius:999px;font-weight:700;font-size:.9rem;text-decoration:none;}
.annai-sb-help-btn:hover{filter:brightness(.92);}
.annai-bp-authorcard{display:flex;gap:1.1rem;align-items:flex-start;margin:2.5rem 0 1.5rem;padding:1.5rem;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);}
.annai-bp-ac-av{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--brand-primary);color:#fff;}
.annai-bp-ac-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:.2rem;}
.annai-bp-ac-name{display:block;font-family:var(--font-display);font-size:1.1rem;color:var(--navy-900);margin-bottom:.4rem;}
.annai-bp-ac-bio{margin:0;font-size:.9rem;line-height:1.6;color:var(--text-secondary);}
.annai-bp-colmain .annai-bp-back{display:inline-block;margin-top:.5rem;color:var(--brand-primary);font-weight:700;text-decoration:none;}
.annai-bp-similar{background:#fff;border-top:1px solid var(--border-subtle);padding:clamp(2.5rem,5vw,4rem) var(--container-pad);}
.annai-bp-similar-inner{max-width:1100px;margin:0 auto;}
.annai-bp-similar-h{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--navy-900);margin:0 0 1.5rem;}
@media(max-width:900px){.annai-bp-body-inner{grid-template-columns:1fr;}.annai-bp-sidebar{position:static;}}
/* ===== Ambulance photo gallery ===== */
.annai-amb-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.annai-amb-gallery a{display:block;border-radius:var(--radius-lg);overflow:hidden;position:relative;aspect-ratio:4/3;box-shadow:var(--shadow-sm);cursor:pointer;}
.annai-amb-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s var(--ease-standard,ease);}
.annai-amb-gallery a:hover img{transform:scale(1.06);}
@media(max-width:768px){.annai-amb-gallery{grid-template-columns:repeat(2,1fr);}}
@media(max-width:460px){.annai-amb-gallery{grid-template-columns:1fr;}}

/* annai-editor-visibility */
.elementor-editor-active [class*="-reveal"],.elementor-edit-area-active [class*="-reveal"]{opacity:1!important;transform:none!important;animation:none!important;}
.elementor-editor-active [style*="opacity:0"],.elementor-editor-active [style*="opacity: 0"],.elementor-edit-area-active [style*="opacity:0"],.elementor-edit-area-active [style*="opacity: 0"]{opacity:1!important;}
