/* ===========================================================
   Seacore Energy International Ltd — Custom Stylesheet
   (layered on Bootstrap 5 / Font Awesome / AOS)
   =========================================================== */
:root{
  --primary:#0B2A4A;
  --primary-2:#123B63;
  --secondary:#3FA13B;
  --secondary-2:#2F8C2C;
  --accent:#D7A62A;
  --bg:#F5F7FA;
  --card:#FFFFFF;
  --text:#5B6B78;
  --text-dark:#1B2A38;
  --line:#E4EAEE;
}

html{
  overflow-x:hidden;
  width:100%;
}
body{
  font-family:'Inter', sans-serif;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
  position:relative;
  width:100%;
  max-width:100vw;
}
h1,h2,h3,h4,h5,h6,.font-heading{
  font-family:'Poppins', sans-serif;
  color:var(--text-dark);
  font-weight:700;
}
a{ transition: all .2s ease; }
.text-primary-brand{ color:var(--primary) !important; }
.text-secondary-brand{ color:var(--secondary) !important; }
.text-accent{ color:var(--accent) !important; }
.bg-primary-brand{ background:var(--primary) !important; }
.bg-secondary-brand{ background:var(--secondary) !important; }
.section-pad{ padding:96px 0; }
@media (max-width:768px){ .section-pad{ padding:56px 0; } }

/* ---------- SECTION HEADER ---------- */
.section-eyebrow{
  font-family:'Poppins',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:.14em;
  color:var(--secondary); text-transform:uppercase;
}
.section-title{ font-size:clamp(1.8rem,3.2vw,2.6rem); margin-top:.5rem; }
.section-rule{ width:60px; height:4px; background:var(--accent); border-radius:4px; margin:1.1rem auto; }

/* ---------- GLASS NAVBAR ---------- */
/* ---------- FUEL PRICE TICKER ---------- */
:root{ --ticker-height:38px; }
.price-ticker{
  position:fixed; top:0; left:0; right:0; z-index:1050; height:var(--ticker-height);
  width:100%; max-width:100vw;
  background:#08182D; border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden; display:flex; align-items:center;
}
.ticker-track{
  display:flex; align-items:center; white-space:nowrap; will-change:transform;
  animation:ticker-scroll 38s linear infinite;
}
.price-ticker:hover .ticker-track{ animation-play-state:paused; }
@keyframes ticker-scroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
.ticker-item{
  display:inline-flex; align-items:center; gap:.45rem; padding:0 1.6rem;
  font-family:'Inter',sans-serif; font-size:.82rem; color:#fff; border-right:1px solid rgba(255,255,255,.1);
}
.ticker-item .ti-icon{ font-size:.95rem; }
.ticker-item .ti-label{ font-weight:600; color:#E4ECF2; }
.ticker-item .ti-price{ font-family:'IBM Plex Mono',ui-monospace,monospace; color:#fff; }
.ticker-item .ti-change{ font-weight:700; display:inline-flex; align-items:center; gap:.2rem; }
.ticker-item .ti-change.up{ color:#5BD65B; }
.ticker-item .ti-change.down{ color:#FF6B6B; }
.ticker-item .ti-change.flat{ color:#B7C6D2; }
@media (max-width:576px){
  .ticker-item{ padding:0 1rem; font-size:.74rem; }
}
@media (prefers-reduced-motion: reduce){
  .ticker-track{ animation:none; overflow-x:auto; }
}

/* Push the navbar below the ticker on every page */
.navbar-glass{
  top:var(--ticker-height) !important;
  width:100%; max-width:100vw;
  background:rgba(10,35,66,0.25);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
  padding-top:1.3rem; padding-bottom:1.3rem;
  border-bottom:none;
}
.navbar-glass.scrolled{
  background:#0B2A4A;
  box-shadow:0 6px 24px rgba(0,0,0,0.25);
  padding-top:.6rem; padding-bottom:.6rem;
}
.navbar-glass .navbar-brand img{ height:84px; width:auto; transition:height .3s ease; background:transparent; }
.navbar-glass.scrolled .navbar-brand img{ height:60px; }
@media (max-width:767px){
  .navbar-glass{ padding-top:.85rem; padding-bottom:.85rem; }
  .navbar-glass .navbar-brand img{ height:56px; }
  .navbar-glass.scrolled .navbar-brand img{ height:48px; }
}
.navbar-glass .nav-link{
  color:#E4ECF2 !important; font-family:'Poppins',sans-serif; font-weight:600; font-size:.85rem;
  text-transform:uppercase; letter-spacing:.03em; margin:0 .5rem; position:relative;
}
.navbar-glass .nav-link::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--accent);
  transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.navbar-glass .nav-link:hover::after, .navbar-glass .nav-link.active::after{ transform:scaleX(1); }
.navbar-glass .nav-link:hover, .navbar-glass .nav-link.active{ color:#fff !important; }
.btn-quote{
  background:var(--secondary); border:none; color:#fff; font-family:'Poppins',sans-serif; font-weight:600;
  font-size:.85rem; padding:.65rem 1.4rem; border-radius:30px; white-space:nowrap;
}
.btn-quote:hover{ background:var(--secondary-2); color:#fff; }
.navbar-toggler{ border:none; box-shadow:none !important; }
.navbar-toggler i{ color:#fff; font-size:1.4rem; }
@media (max-width:991px){
  .navbar-collapse{
    background:#0B2A4A; margin-top:1rem; border-radius:12px; padding:.5rem 1rem 1rem;
  }
  .navbar-collapse.collapsing{ transition:height .3s ease; }
  .navbar-glass .nav-link{
    padding:.85rem .5rem; margin:0; border-bottom:1px solid rgba(255,255,255,.08); min-height:44px;
    display:flex; align-items:center;
  }
  .navbar-glass .nav-link:last-child{ border-bottom:none; }
  .btn-quote{ display:block; text-align:center; min-height:44px; display:flex; align-items:center; justify-content:center; }
}

/* ---------- HERO ---------- */
.hero-full{
  position:relative; min-height:100vh; height:100vh; display:flex; align-items:center;
  color:#fff; overflow:hidden;
}
@media (max-width:1024px) and (min-width:768px){
  .hero-full{ height:auto; min-height:82vh; }
}
@media (max-width:767px){
  .hero-full{ height:auto; min-height:100svh; text-align:center; }
  .hero-content .row{ justify-content:center; }
  .hero-eyebrow{ justify-content:center; }
  .hero-badges{ justify-content:center; }
  .hero-actions{ justify-content:center; }
}
.hero-bg-layer{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
  filter:saturate(.92) brightness(.93) contrast(1.03);
  transform:scale(1.02);
}
.hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(8,22,43,0.85) 0%, rgba(8,22,43,0.45) 55%, rgba(8,22,43,0.15) 100%);
}
.hero-content{ position:relative; z-index:2; padding-top:calc(150px + var(--ticker-height)); }
.hero-eyebrow{
  font-family:'Poppins',sans-serif; font-weight:700; font-size:.85rem; letter-spacing:.14em;
  color:var(--accent); text-transform:uppercase; display:flex; align-items:center; gap:.6rem;
}
.hero-eyebrow::before{ content:""; width:32px; height:2px; background:var(--accent); }
.hero-full h1{
  color:#fff; font-size:clamp(2.2rem,5.5vw,3.8rem); line-height:1.1; margin-top:1rem;
}
.hero-full h1 .accent{ color:var(--accent); }
.hero-full p.lead{ color:#CBD9E3; font-size:1.1rem; max-width:560px; margin-top:1.2rem; }
.hero-badges{ display:flex; flex-wrap:wrap; gap:.9rem 1.6rem; margin-top:1.8rem; }
.hero-badges span{
  display:flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:500; color:#E4ECF2;
}
.hero-badges i{ color:var(--secondary); }
.hero-actions{ margin-top:2.2rem; display:flex; gap:1rem; flex-wrap:wrap; }
.btn-brand-solid{
  background:var(--secondary); color:#fff; border:none; font-family:'Poppins',sans-serif; font-weight:600;
  padding:.9rem 1.8rem; border-radius:6px;
}
.btn-brand-solid:hover{ background:var(--secondary-2); color:#fff; }
.btn-brand-outline{
  border:1.5px solid rgba(255,255,255,.55); color:#fff; font-family:'Poppins',sans-serif; font-weight:600;
  padding:.9rem 1.8rem; border-radius:6px; background:transparent;
}
.btn-brand-outline:hover{ background:#fff; color:var(--primary); }
.scroll-cue{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:2;
  color:#fff; opacity:.8; animation:bounce 2s infinite;
}
@keyframes bounce{ 0%,100%{transform:translate(-50%,0);} 50%{transform:translate(-50%,8px);} }

/* ---------- PAGE HERO (inner pages) ---------- */
.page-hero{
  position:relative; padding:calc(150px + var(--ticker-height)) 0 70px; color:#fff; background-size:cover; background-position:center;
}
.page-hero.page-hero-contain{
  background-size:contain; background-repeat:no-repeat; background-position:center; background-color:var(--primary);
  padding:calc(190px + var(--ticker-height)) 0 90px;
}
.page-hero::before{
  content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(11,42,74,.95), rgba(11,42,74,.82));
}
.page-hero.page-hero-contain::before{
  background:linear-gradient(120deg, rgba(11,42,74,.65) 0%, rgba(11,42,74,.55) 45%, rgba(11,42,74,.75) 100%);
}
.page-hero .container{ position:relative; z-index:1; }
.page-hero h1{ color:#fff; font-size:clamp(2rem,4vw,2.9rem); }
.page-hero p{ color:#CBD9E3; max-width:620px; margin-top:.9rem; }
.breadcrumb-brand{
  font-family:'Poppins',sans-serif; font-weight:600; font-size:.8rem; letter-spacing:.1em;
  color:var(--accent); text-transform:uppercase;
}

/* ---------- STATS ---------- */
.stats-strip{ background:var(--primary-2); }
.stat-item{ padding:2.4rem 1rem; text-align:center; border-right:1px solid rgba(255,255,255,.08); }
.stat-item:last-child{ border-right:none; }
.stat-num{ font-family:'Poppins',sans-serif; font-weight:800; font-size:2rem; color:#fff; }
.stat-label{ font-size:.8rem; color:#B7C6D2; margin-top:.3rem; }

/* ---------- SERVICE / FEATURE CARDS ---------- */
.svc-card{
  background:var(--card); border-radius:16px; padding:2.2rem 1.8rem; box-shadow:0 10px 28px rgba(15,40,70,.07);
  border:1px solid transparent; transition:transform .25s ease, box-shadow .25s ease; height:100%;
}
.svc-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(15,40,70,.14); border-color:var(--line); }
.svc-icon{
  width:60px; height:60px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--secondary), var(--secondary-2)); color:#fff; font-size:1.5rem; margin-bottom:1.4rem;
}
.svc-card h3{ font-size:1.2rem; margin-bottom:.7rem; }
.svc-card p{ font-size:.92rem; margin-bottom:.9rem; }
.svc-tags{ display:flex; flex-wrap:wrap; gap:.4rem; }
.svc-tags span{ font-size:.72rem; background:var(--bg); border:1px solid var(--line); color:var(--primary); padding:.3rem .6rem; border-radius:20px; }

/* full service detail block */
.svc-block{ border-top:1px solid var(--line); padding:3rem 0; }
.svc-block:first-of-type{ border-top:none; }
.svc-block-icon{
  width:64px; height:64px; border-radius:14px; background:linear-gradient(135deg, var(--secondary), var(--secondary-2));
  color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.6rem;
}
.svc-block h3{ font-size:1.5rem; }

/* ---------- TIMELINE ---------- */
.timeline{ position:relative; padding-left:2.4rem; }
.timeline::before{ content:""; position:absolute; left:9px; top:6px; bottom:6px; width:2px; background:var(--line); }
.timeline-item{ position:relative; padding-bottom:2.4rem; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-dot{
  position:absolute; left:-2.4rem; top:2px; width:20px; height:20px; border-radius:50%;
  background:var(--secondary); border:4px solid #fff; box-shadow:0 0 0 2px var(--secondary);
}
.timeline-item h4{ font-size:1.05rem; margin-bottom:.35rem; }
.timeline-item .tl-year{ font-family:'Poppins',sans-serif; font-weight:700; color:var(--secondary); font-size:.85rem; letter-spacing:.06em; }

/* ---------- CHAIRMAN / QUOTE CARD ---------- */
.quote-card{
  background:var(--primary); color:#fff; border-radius:16px; padding:2.6rem; border-left:5px solid var(--accent);
}
.quote-card .quote-icon{ font-size:2.2rem; color:var(--accent); margin-bottom:.6rem; }
.quote-card p{ color:#D6E1E9; font-style:italic; font-size:1rem; line-height:1.8; }
.quote-card .who{ font-family:'Poppins',sans-serif; font-weight:600; color:var(--accent); font-size:.85rem; margin-top:1rem; }

/* ---------- VALUE / VISION-MISSION CARDS ---------- */
.vm-card{
  background:var(--card); border-radius:14px; padding:2.2rem; box-shadow:0 8px 22px rgba(15,40,70,.06);
  border-top:4px solid var(--secondary); height:100%;
}
.value-card{ background:var(--card); border-radius:14px; padding:1.8rem; box-shadow:0 8px 20px rgba(15,40,70,.05); text-align:center; height:100%; }
.value-icon{
  width:54px; height:54px; border-radius:50%; background:rgba(63,161,59,.12); color:var(--secondary);
  display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-size:1.3rem;
}

/* ---------- CORPORATE STRUCTURE CHAIN ---------- */
.chain-node{
  font-family:'Poppins',sans-serif; font-weight:600; font-size:.95rem; color:var(--primary);
  background:var(--card); border:1.5px solid var(--line); border-radius:10px; padding:1rem 1.6rem; text-align:center;
  box-shadow:0 6px 16px rgba(15,40,70,.05);
}
.chain-arrow{ color:var(--secondary); font-size:1.3rem; text-align:center; padding:.4rem 0; }

/* ---------- COVERAGE MAP ---------- */
.coverage-section{ background:var(--primary); color:#fff; }
.coverage-section .section-title{ color:#fff; }
.country-pill-list{ display:flex; flex-wrap:wrap; gap:.6rem; }
.country-pill{
  display:flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  padding:.6rem 1rem; border-radius:30px; font-size:.88rem; cursor:default; transition:all .2s ease;
}
.country-pill.active, .country-pill:hover{ background:rgba(63,161,59,.22); border-color:var(--secondary); color:var(--accent); }
.country-pill i{ color:var(--secondary); font-size:.7rem; }
#route-map .route-line{ fill:none; stroke:rgba(255,255,255,.28); stroke-width:1.6; stroke-dasharray:4 4; }
#route-map .route-line.lit{ stroke:var(--accent); opacity:1; }
#route-map circle.node{ fill:var(--primary); stroke:rgba(255,255,255,.5); stroke-width:1.6; transition:all .2s; cursor:pointer; }
#route-map circle.node.lit{ fill:var(--accent); stroke:var(--accent); }
#route-map circle.hub{ fill:var(--secondary); stroke:var(--secondary); }
#route-map text{ font-family:'Poppins',sans-serif; font-size:10px; fill:#B7C6D2; font-weight:600; }
#route-map text.hub-label{ fill:var(--accent); font-size:11px; }
.map-panel{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:1.6rem; }
.coverage-map-frame{ border-radius:16px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.12); }
.coverage-map-frame img{ width:100%; height:auto; display:block; }
.map-panel-embed{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:.6rem; overflow:hidden; }
.map-panel-embed iframe{ width:100%; height:420px; border:0; border-radius:12px; display:block; filter:saturate(.9) contrast(1.05); }
@media (max-width:768px){ .map-panel-embed iframe{ height:320px; } }

/* ---------- CUSTOM DRAWN REGIONAL MAP ---------- */
.map-panel-drawn{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:1.4rem; }
#drawn-map{ width:100%; height:auto; display:block; }
#drawn-map .region-shape{ fill:rgba(255,255,255,.07); stroke:rgba(255,255,255,.22); stroke-width:1.5; }
#drawn-map .ocean-hint{ fill:rgba(63,161,59,.05); }
#drawn-map text.ocean-label{ font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.12em; fill:rgba(255,255,255,.28); }
#drawn-map .route-line{ fill:none; stroke:rgba(255,255,255,.32); stroke-width:1.5; stroke-dasharray:5 5; }
#drawn-map circle.pin-dot{ stroke:#0B2A4A; stroke-width:2; }
#drawn-map circle.pin-dot.hub{ fill:var(--accent); r:9; }
#drawn-map circle.pin-dot.node{ fill:var(--secondary); r:6; }
#drawn-map circle.pin-pulse{ fill:none; stroke:var(--accent); stroke-width:1.2; opacity:.6; }
#drawn-map text.pin-label{ font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; fill:#E4ECF2; }
#drawn-map text.pin-label.hub{ fill:var(--accent); font-size:13px; font-weight:700; }
#drawn-map text.pin-sub{ font-family:'IBM Plex Mono',monospace; font-size:8.5px; fill:#8FA2AF; }
@media (max-width:576px){
  #drawn-map text.pin-label{ font-size:10.5px; }
  #drawn-map text.pin-sub{ font-size:7.5px; }
}

/* port / terminal cards */
.terminal-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:1.4rem;
  text-align:center; height:100%;
}
.terminal-card i{ font-size:1.6rem; color:var(--accent); margin-bottom:.6rem; }
.terminal-card h5{ color:#fff; font-size:.95rem; }
.terminal-card p{ color:#B7C6D2; font-size:.8rem; margin:0; }

/* ---------- POLICY / HSE CARDS ---------- */
.policy-card{
  background:var(--card); border-radius:16px; padding:2.2rem; box-shadow:0 10px 26px rgba(15,40,70,.06); height:100%;
}
.policy-card .policy-tag{ font-family:'Poppins',sans-serif; font-weight:700; font-size:.75rem; color:var(--secondary); letter-spacing:.08em; }
.policy-card h3{ font-size:1.2rem; margin:.7rem 0 1rem; }
.policy-card li{ padding:.55rem 0; border-top:1px solid var(--line); font-size:.9rem; display:flex; gap:.6rem; }
.policy-card li:first-child{ border-top:none; }
.policy-card li i{ color:var(--secondary); margin-top:.25rem; }

/* ---------- WHY CHOOSE ---------- */
.why-item{
  background:var(--card); border-radius:12px; padding:1.2rem 1.4rem; display:flex; align-items:center; gap:1rem;
  box-shadow:0 4px 14px rgba(15,40,70,.05); height:100%;
}
.why-item .why-ck{
  width:38px; height:38px; border-radius:50%; background:rgba(63,161,59,.12); color:var(--secondary);
  display:flex; align-items:center; justify-content:center; flex:none;
}
.why-item p{ margin:0; font-weight:500; color:var(--text-dark); font-size:.92rem; }

/* ---------- CTA BAND ---------- */
.cta-band{ background:linear-gradient(100deg, var(--primary) 0%, var(--primary-2) 100%); padding:3.4rem 0; }
.cta-band h3{ color:#fff; font-size:1.5rem; }
.cta-band p{ color:#B7C6D2; margin-top:.4rem; margin-bottom:0; }

/* ---------- CONTACT ---------- */
.contact-card{
  background:var(--card); border-radius:14px; padding:1.8rem; box-shadow:0 8px 22px rgba(15,40,70,.06); margin-bottom:1.2rem;
}
.contact-card .c-label{ font-family:'Poppins',sans-serif; font-weight:700; font-size:.75rem; color:var(--secondary); letter-spacing:.08em; text-transform:uppercase; }
.contact-card .c-val{ font-size:.98rem; color:var(--text-dark); margin-top:.5rem; font-weight:500; }
.map-embed{ border-radius:14px; overflow:hidden; box-shadow:0 8px 22px rgba(15,40,70,.08); border:1px solid var(--line); }
.map-embed iframe{ width:100%; height:280px; border:0; display:block; }
.form-card{ background:var(--card); border-radius:16px; padding:2.4rem; box-shadow:0 10px 28px rgba(15,40,70,.07); }
.form-control, .form-select{
  border:1.5px solid var(--line); border-radius:8px; padding:.75rem .95rem; font-size:.92rem; background:var(--bg);
}
.form-control:focus, .form-select:focus{ border-color:var(--secondary); box-shadow:0 0 0 .2rem rgba(63,161,59,.15); background:#fff; }
.form-label{ font-family:'Poppins',sans-serif; font-weight:600; font-size:.82rem; color:var(--text-dark); }
.was-validated .form-control:invalid, .form-control.is-invalid{ border-color:#dc3545; }
.social-row{ display:flex; gap:.7rem; }
.social-row a{
  width:40px; height:40px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center;
  justify-content:center; font-size:1rem;
}
.social-row a:hover{ background:var(--secondary); color:#fff; }
.hours-table{ font-size:.9rem; }
.hours-table td{ padding:.4rem 0; border-top:1px solid var(--line); }
.hours-table tr:first-child td{ border-top:none; }

/* ---------- FOOTER ---------- */
footer.site-footer{ background:#081D33; color:#9FB2C1; padding-top:4rem; }
.footer-logo img{ height:72px; width:auto; margin-bottom:1rem; }
footer.site-footer p{ font-size:.9rem; line-height:1.7; }
footer.site-footer h5{ color:#fff; font-size:.95rem; font-family:'Poppins',sans-serif; margin-bottom:1.1rem; }
footer.site-footer ul{ list-style:none; padding:0; margin:0; }
footer.site-footer ul li{ margin-bottom:.65rem; font-size:.9rem; }
footer.site-footer ul li a{ color:#9FB2C1; }
footer.site-footer ul li a:hover{ color:var(--accent); }
.footer-contact li{ display:flex; gap:.6rem; align-items:flex-start; }
.footer-contact i{ color:var(--secondary); margin-top:.2rem; }
.footer-contact a{ color:#9FB2C1; text-decoration:none; }
.footer-contact a:hover{ color:var(--accent); text-decoration:underline; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.08); margin-top:2.6rem; padding:1.4rem 0; font-size:.8rem; }
.footer-social a{
  width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.06); color:#fff; display:inline-flex;
  align-items:center; justify-content:center; margin-right:.5rem; font-size:.9rem;
}
.footer-social a:hover{ background:var(--secondary); }

/* ---------- FLOATING BUTTONS ---------- */
.wa-fab{
  position:fixed; bottom:26px; right:26px; z-index:999; width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.25); font-size:1.6rem; border:none; cursor:pointer;
}
.wa-fab:hover{ background:#1EBE5A; color:#fff; }

/* ---------- WHATSAPP CONTACT POPUP ---------- */
.wa-overlay{
  position:fixed; inset:0; z-index:1100; background:rgba(11,42,74,.55);
  display:flex; align-items:center; justify-content:center; padding:26px;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.wa-overlay.open{ opacity:1; pointer-events:auto; }
.wa-popup{
  background:#fff; border-radius:18px; width:100%; max-width:380px; box-shadow:0 24px 60px rgba(0,0,0,.35);
  padding:1.8rem; transform:translateY(24px) scale(.97); opacity:0; transition:transform .28s ease, opacity .28s ease;
  max-height:88vh; overflow-y:auto;
}
.wa-overlay.open .wa-popup{ transform:translateY(0) scale(1); opacity:1; }
.wa-popup-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.1rem; }
.wa-popup-header h3{ font-family:'Poppins',sans-serif; font-weight:700; font-size:1.05rem; color:var(--primary); margin:0; }
.wa-popup-close{
  background:none; border:none; font-size:1.2rem; color:#8FA2AF; cursor:pointer; line-height:1;
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none;
}
.wa-popup-close:hover{ background:var(--bg); color:var(--primary); }
.wa-dept{
  border:1.5px solid var(--line); border-radius:12px; padding:1.1rem 1.2rem; margin-bottom:.9rem;
}
.wa-dept h4{ font-family:'Poppins',sans-serif; font-weight:700; font-size:.95rem; color:var(--primary); margin:0 0 .25rem; }
.wa-dept .wa-number{ font-family:'IBM Plex Mono',ui-monospace,monospace; font-size:.86rem; color:#5B6B78; margin-bottom:.8rem; }
.wa-dept-btn{
  display:inline-flex; align-items:center; gap:.5rem; background:var(--secondary); color:#fff; border:none;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:.9rem; padding:.75rem 1.1rem; border-radius:8px;
  text-decoration:none; width:100%; justify-content:center; min-height:48px;
}
.wa-dept-btn:hover{ background:var(--secondary-2); color:#fff; }
.wa-popup-note{ font-size:.78rem; color:#8FA2AF; margin-top:.4rem; line-height:1.55; }
.wa-popup-fallback{ font-size:.78rem; color:#8FA2AF; margin-top:.6rem; padding-top:.6rem; border-top:1px solid var(--line); line-height:1.55; }
.wa-popup-fallback a{ color:var(--primary); font-weight:600; }

/* Tablet: keep centered, slightly narrower padding */
@media (max-width:834px){
  .wa-overlay{ padding:20px; }
}

/* Mobile: full-width bottom-sheet style, larger touch targets */
@media (max-width:576px){
  .wa-overlay{ align-items:flex-end; padding:0; }
  .wa-popup{
    max-width:100%; width:100%; border-radius:20px 20px 0 0; padding:1.5rem 1.25rem 1.75rem;
    transform:translateY(100%); max-height:85vh;
  }
  .wa-overlay.open .wa-popup{ transform:translateY(0); }
  .wa-popup-close{ width:44px; height:44px; font-size:1.3rem; }
  .wa-dept-btn{ min-height:52px; font-size:.95rem; }
}
@media (prefers-reduced-motion: reduce){
  .wa-overlay, .wa-popup{ transition:none; }
}
.back-to-top{
  position:fixed; bottom:26px; left:26px; z-index:999; width:48px; height:48px; border-radius:50%;
  background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.22); opacity:0; pointer-events:none; transition:opacity .25s ease; border:none;
}
.back-to-top.show{ opacity:1; pointer-events:auto; }
.back-to-top:hover{ background:var(--secondary); }

/* ---------- MISC ---------- */
.emergency-strip{
  background:#7A1F1F; color:#fff; padding:.6rem 0; font-size:.85rem; text-align:center;
}
.emergency-strip a{ color:#FFD9D9; font-weight:600; }
::selection{ background:var(--secondary); color:#fff; }
