/* ============================================================
   ROYALE HAJJ & UMRAH — Design System
   Premium UK Hajj & Umrah travel agency
   Palette: White / Deep Royal Blue / Light Blue / Muted Gold
   ============================================================ */

:root{
  /* Colours */
  --navy-950:#052E24;
  --navy-900:#06392C;
  --navy-800:#084A38;
  --navy-700:#0B5C45;
  --blue-100:#E4F5EF;
  --blue-50:#F3FAF7;
  --gold-600:#B8912E;
  --gold-500:#CBA13E;
  --gold-400:#DCB75C;
  --gold-100:#F8ECD0;
  --white:#FFFFFF;
  --ink-900:#0C1F1A;
  --ink-700:#3F4D49;
  --ink-500:#6B7A75;
  --ink-300:#9FADA8;
  --border:#EEF2F0;
  --success:#0E7355;

  /* Typography */
  --font-head: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Spacing / radius / shadow */
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --shadow-sm: 0 2px 8px rgba(6,57,44,.06);
  --shadow-md: 0 10px 30px rgba(6,57,44,.10);
  --shadow-lg: 0 20px 60px rgba(6,57,44,.16);
  --container: 1240px;
  --header-h: 84px;

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top: 110px; overflow-x:hidden; width:100%;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink-900);
  background-color:var(--white);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='130' height='130' viewBox='0 0 130 130'%3E%3Cg fill='none' stroke='%23CBA13E' stroke-width='1.1'%3E%3Cg stroke-opacity='0.19'%3E%3Crect x='27' y='27' width='76' height='76'/%3E%3Crect x='27' y='27' width='76' height='76' transform='rotate(45 65 65)'/%3E%3C/g%3E%3Cg stroke-opacity='0.12'%3E%3Crect x='44' y='44' width='42' height='42'/%3E%3Crect x='44' y='44' width='42' height='42' transform='rotate(45 65 65)'/%3E%3C/g%3E%3Ccircle cx='65' cy='65' r='9' stroke-opacity='0.19'/%3E%3Ccircle cx='65' cy='65' r='3' fill='%23CBA13E' fill-opacity='0.18' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  line-height:1.65;
  overflow-x:hidden;
  width:100%;
}
@media (max-width:768px){ body{background-attachment:scroll;} }
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:1rem;}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy-900);line-height:1.2;margin:0 0 .5em;font-weight:700;}
p{margin:0 0 1em;color:var(--ink-700);}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ---------- Type scale ---------- */
h1,.h1{font-size:clamp(2.1rem,4.4vw,3.4rem);letter-spacing:-.01em;}
h2,.h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.01em;}
h3,.h3{font-size:1.3rem;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-600);margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--gold-500);display:inline-block;}
.section-head{max-width:680px;margin-bottom:44px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.lede{font-size:1.08rem;color:var(--ink-500);}
.text-muted{color:var(--ink-500);}
.text-gold{color:var(--gold-600);}

/* ---------- Sections ---------- */
section{padding:88px 0;}
.section-tight{padding:56px 0;}
.bg-light{background:var(--blue-50);}
.bg-navy{background:linear-gradient(160deg,var(--navy-900),var(--navy-950));color:var(--white);}
.bg-navy h2,.bg-navy h3,.bg-navy p{color:var(--white);}
.bg-navy .text-muted{color:rgba(255,255,255,.72);}
.pattern-bg{position:relative;}
.pattern-bg::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.6;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%2306392C' stroke-width='1'%3E%3Cg stroke-opacity='0.078'%3E%3Crect x='20' y='20' width='56' height='56'/%3E%3Crect x='20' y='20' width='56' height='56' transform='rotate(45 48 48)'/%3E%3C/g%3E%3Cg stroke-opacity='0.05'%3E%3Crect x='32' y='32' width='32' height='32'/%3E%3Crect x='32' y='32' width='32' height='32' transform='rotate(45 48 48)'/%3E%3C/g%3E%3Ccircle cx='48' cy='48' r='7' stroke-opacity='0.078'/%3E%3C/g%3E%3C/svg%3E");
}
.bg-navy.pattern-bg::before,.bg-light.pattern-bg::before,.page-hero.pattern-bg::before,.cta-section.pattern-bg::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23CBA13E' stroke-width='1'%3E%3Cg stroke-opacity='0.22'%3E%3Crect x='20' y='20' width='56' height='56'/%3E%3Crect x='20' y='20' width='56' height='56' transform='rotate(45 48 48)'/%3E%3C/g%3E%3Cg stroke-opacity='0.14'%3E%3Crect x='32' y='32' width='32' height='32'/%3E%3Crect x='32' y='32' width='32' height='32' transform='rotate(45 48 48)'/%3E%3C/g%3E%3Ccircle cx='48' cy='48' r='7' stroke-opacity='0.22'/%3E%3Ccircle cx='48' cy='48' r='2.5' fill='%23CBA13E' fill-opacity='0.2' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}
.pattern-bg > *{position:relative;z-index:1;}
.divider-gold{width:64px;height:3px;background:linear-gradient(90deg,var(--gold-600),var(--gold-500));border-radius:2px;margin:18px 0;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 28px;border-radius:999px;font-weight:600;font-size:.98rem;
  border:1px solid transparent;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
  white-space:nowrap;
}
.btn:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px;}
.btn-primary{background:var(--navy-900);color:var(--white);box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--navy-800);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-gold{background:linear-gradient(135deg,var(--gold-600) 0%,var(--gold-400) 50%,var(--gold-500) 100%);color:var(--white);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-outline{background:transparent;color:var(--navy-900);border-color:var(--navy-900);}
.btn-outline:hover{background:var(--navy-900);color:var(--white);transform:translateY(-2px);}
.btn-outline-light{background:transparent;color:var(--white);border-color:rgba(255,255,255,.5);}
.btn-outline-light:hover{background:var(--white);color:var(--navy-900);border-color:var(--white);}
.btn-whatsapp{background:#25D366;color:var(--white);}
.btn-whatsapp:hover{background:#1EBE5B;transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-block{width:100%;}
.btn-sm{padding:10px 18px;font-size:.88rem;}
.btn svg{width:18px;height:18px;flex:none;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);transition:box-shadow .3s var(--ease),padding .3s var(--ease);
}
.site-header.is-scrolled{box-shadow:var(--shadow-sm);}
.announce-bar{background:var(--navy-950);color:rgba(255,255,255,.88);font-size:.82rem;}
.announce-bar .container{display:flex;align-items:center;justify-content:center;gap:28px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;text-align:center;}
.announce-bar a{color:var(--gold-500);font-weight:600;}
.announce-bar a:hover{text-decoration:underline;}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:24px;}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-head);font-weight:700;color:var(--navy-900);font-size:1.28rem;flex:none;}
.brand-mark{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--navy-900),var(--navy-700));display:flex;align-items:center;justify-content:center;flex:none;}
.brand-mark svg{width:24px;height:24px;}
.brand small{display:block;font-family:var(--font-body);font-weight:500;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-600);}
.brand-logo{height:46px;width:auto;display:block;flex:none;}
@media (max-width:420px){.brand-logo{height:38px;}}
.mobile-nav-head .brand-logo{height:34px;}
.footer-logo-chip{display:inline-flex;align-items:center;background:var(--white);border-radius:14px;padding:10px 18px;margin-bottom:16px;box-shadow:var(--shadow-sm);}
.footer-logo-chip img{height:34px;width:auto;display:block;}

.main-nav{display:none;}
.main-nav ul{display:flex;align-items:center;gap:2px;}
.main-nav > ul > li{position:relative;}
.nav-link{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:8px;font-weight:600;font-size:.95rem;color:var(--ink-700);white-space:nowrap;transition:color .2s,background .2s;}
.nav-link:hover,.nav-link:focus-visible{color:var(--navy-900);background:var(--blue-100);}
.nav-link svg{width:14px;height:14px;transition:transform .2s;}
.has-dropdown:hover .nav-link svg,.has-dropdown:focus-within .nav-link svg{transform:rotate(180deg);}
.dropdown{
  position:absolute;top:calc(100% + 10px);left:0;min-width:260px;background:var(--white);
  border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--border);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .22s var(--ease);z-index:50;
}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:10px 14px;border-radius:8px;font-size:.92rem;color:var(--ink-700);font-weight:500;}
.dropdown a:hover{background:var(--blue-100);color:var(--navy-900);}
.header-cta{display:none;align-items:center;gap:10px;flex:none;}
.header-actions{display:flex;align-items:center;gap:10px;}
.nav-toggle{
  display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;
  border:1px solid var(--border);background:var(--white);flex:none;
}
.nav-toggle svg{width:22px;height:22px;}

@media (min-width:1200px){
  .main-nav{display:block;}
  .header-cta{display:flex;}
  .header-cta .btn-outline{display:none;}
  .nav-toggle{display:none;}
}
@media (min-width:1400px){
  .header-cta .btn-outline{display:inline-flex;}
}

/* Mobile nav panel */
.mobile-nav{position:fixed;inset:0;z-index:200;visibility:hidden;}
.mobile-nav.is-open{visibility:visible;}
.mobile-nav-overlay{position:absolute;inset:0;background:rgba(5,46,36,.55);opacity:0;transition:opacity .3s var(--ease);}
.mobile-nav.is-open .mobile-nav-overlay{opacity:1;}
.mobile-nav-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(360px,88vw);background:var(--white);
  padding:20px;overflow-y:auto;transform:translateX(100%);transition:transform .32s var(--ease);
  display:flex;flex-direction:column;gap:6px;
}
.mobile-nav.is-open .mobile-nav-panel{transform:translateX(0);}
.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.mobile-nav-close{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:var(--white);}
.mobile-nav details{border-bottom:1px solid var(--border);}
.mobile-nav summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 6px;font-weight:600;color:var(--navy-900);}
.mobile-nav summary::-webkit-details-marker{display:none;}
.mobile-nav summary svg{width:16px;height:16px;transition:transform .2s;}
.mobile-nav details[open] summary svg{transform:rotate(180deg);}
.mobile-nav .sub-links{padding:0 6px 14px 12px;display:flex;flex-direction:column;gap:2px;}
.mobile-nav .sub-links a{padding:8px 0;color:var(--ink-500);font-size:.94rem;}
.mobile-nav > a.top-link{padding:14px 6px;font-weight:600;color:var(--navy-900);border-bottom:1px solid var(--border);}
.mobile-nav-cta{margin-top:16px;display:flex;flex-direction:column;gap:10px;}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--navy-950);color:var(--white);padding:0;}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-media .ph{width:100%;height:100%;}
.hero-media .media-cover{width:100%;height:100%;object-fit:cover;display:block;}
.hero-fallback-img{
  transform-origin:52% 40%;
  animation:heroKenBurns 26s ease-in-out infinite alternate;
}
@keyframes heroKenBurns{
  0%{transform:scale(1.02);}
  100%{transform:scale(1.12);}
}
.hero-video{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;}
.hero-video.is-active{opacity:1;}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,46,36,.55) 0%,rgba(5,46,36,.72) 55%,rgba(5,46,36,.94) 100%);}
.hero-media::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(203,161,62,.16) 48%,transparent 62%);
  background-size:260% 260%;background-position:120% 0%;
  animation:heroSheen 11s ease-in-out 2s infinite;
}
@keyframes heroSheen{
  0%,60%{background-position:120% 0%;}
  100%{background-position:-20% 100%;}
}
.hero-inner{position:relative;z-index:2;padding:132px 0 96px;}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
  padding:8px 16px;border-radius:999px;font-size:.82rem;font-weight:600;letter-spacing:.03em;margin-bottom:24px;
  backdrop-filter:blur(6px);
}
.hero-badge svg{width:16px;height:16px;color:var(--gold-500);}
.hero h1{color:var(--white);max-width:820px;}
.hero .lede{color:rgba(255,255,255,.82);max-width:640px;font-size:1.15rem;margin-top:18px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}
.trust-strip{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.14);background:rgba(5,46,36,.55);backdrop-filter:blur(6px);}
.trust-strip ul{display:flex;flex-wrap:wrap;gap:14px 32px;justify-content:center;padding:20px 0;}
.trust-strip li{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:rgba(255,255,255,.92);}
.trust-strip li svg{width:18px;height:18px;color:var(--gold-500);flex:none;}

/* Reveal / fade animation */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}
.reveal-delay-3{transition-delay:.24s;}
.reveal-delay-4{transition-delay:.32s;}

/* ---------- Image placeholder (used until licensed photography is added) ---------- */
.ph{
  position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:linear-gradient(135deg,var(--navy-800) 0%,var(--navy-900) 55%,var(--navy-950) 100%);
  color:rgba(255,255,255,.85);border-radius:inherit;
}
.ph.ph-light{background:linear-gradient(135deg,var(--blue-100),var(--white));color:var(--navy-800);}
.ph::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23CBA13E' stroke-opacity='0.35' stroke-width='1'%3E%3Ccircle cx='60' cy='60' r='40'/%3E%3Cpath d='M60 4 L116 60 L60 116 L4 60 Z'/%3E%3C/g%3E%3C/svg%3E");
}
.ph.ph-light::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%2306392C' stroke-opacity='0.10' stroke-width='1'%3E%3Ccircle cx='60' cy='60' r='40'/%3E%3Cpath d='M60 4 L116 60 L60 116 L4 60 Z'/%3E%3C/g%3E%3C/svg%3E");
}
.ph-label{position:relative;z-index:1;text-align:center;padding:20px;font-size:.78rem;font-weight:600;letter-spacing:.02em;line-height:1.5;max-width:80%;}
.ph-icon{width:34px;height:34px;margin:0 auto 10px;color:var(--gold-500);position:relative;z-index:1;}

/* Hero placeholder caption: keep it out of the way of the hero headline/CTAs — pin low, keep it quiet */
.hero-media .ph{align-items:flex-end;padding-bottom:24px;}
.hero-media .ph-icon{display:none;}
.hero-media .ph-label{
  opacity:.55;font-size:.66rem;font-weight:500;background:rgba(5,46,36,.55);
  padding:8px 16px;border-radius:8px;max-width:min(90%,420px);backdrop-filter:blur(3px);
}

/* ---------- Trust badges (secondary strip) ---------- */
.badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media (min-width:720px){.badge-grid{grid-template-columns:repeat(3,1fr);}}
@media (min-width:1000px){.badge-grid{grid-template-columns:repeat(5,1fr);}}
.badge-card{
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px 16px;text-align:center;
  box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.badge-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.badge-card svg{width:30px;height:30px;color:var(--gold-600);margin:0 auto 10px;}
.badge-card span{font-weight:600;font-size:.88rem;color:var(--navy-900);display:block;}

/* ---------- Cards grid ---------- */
.grid{display:grid;gap:28px;}
.grid-2{grid-template-columns:1fr;}
.grid-3{grid-template-columns:1fr;}
.grid-4{grid-template-columns:1fr;}
@media (min-width:680px){.grid-2{grid-template-columns:repeat(2,1fr);} .grid-4{grid-template-columns:repeat(2,1fr);}}
@media (min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr);} .grid-4{grid-template-columns:repeat(4,1fr);}}

/* ---------- Package card ---------- */
.pkg-card{
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease);display:flex;flex-direction:column;
}
.pkg-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.pkg-media{position:relative;aspect-ratio:4/3;overflow:hidden;}
.pkg-media .ph{width:100%;height:100%;transition:transform .5s var(--ease);}
.pkg-card:hover .pkg-media .ph,.pkg-card:hover .pkg-media .media-cover{transform:scale(1.05);}
.media-cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.pkg-badges{position:absolute;top:14px;left:14px;display:flex;gap:8px;z-index:2;flex-wrap:wrap;}
.badge-pill{
  padding:6px 13px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  box-shadow:var(--shadow-sm);
}
.badge-pill.popular{background:var(--gold-500);color:var(--white);}
.badge-pill.premium{background:var(--navy-900);color:var(--white);}
.badge-pill.ramadan{background:#6B3FA0;color:var(--white);}
.badge-pill.value{background:var(--success);color:var(--white);}
.pkg-body{padding:26px;display:flex;flex-direction:column;gap:14px;flex:1;}
.pkg-dates{font-size:.82rem;font-weight:600;color:var(--gold-600);letter-spacing:.02em;}
.pkg-body h3{margin-bottom:2px;}
.pkg-stars{color:var(--gold-500);font-size:.9rem;letter-spacing:2px;}
.pkg-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;font-size:.85rem;color:var(--ink-700);margin:6px 0;}
.pkg-meta div span{display:block;color:var(--ink-300);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:2px;}
.pkg-price-row{display:flex;align-items:baseline;justify-content:space-between;padding-top:14px;border-top:1px dashed var(--border);margin-top:auto;}
.pkg-price{font-family:var(--font-head);font-size:1.5rem;color:var(--navy-900);font-weight:700;}
.pkg-price small{font-family:var(--font-body);font-size:.7rem;color:var(--ink-500);font-weight:500;display:block;}
.pkg-actions{display:flex;flex-direction:column;gap:10px;padding:0 26px 26px;}
.pkg-actions .btn{flex:1;}
@media (min-width:480px){.pkg-actions{flex-direction:row;}}
.pkg-details{
  max-height:0;overflow:hidden;transition:max-height .4s var(--ease);border-top:1px solid var(--border);
}
.pkg-details.is-open{max-height:600px;}
.pkg-details-inner{padding:20px 26px;}
.pkg-details table{width:100%;border-collapse:collapse;font-size:.88rem;}
.pkg-details td{padding:7px 0;border-bottom:1px solid var(--border);color:var(--ink-700);}
.pkg-details td:first-child{color:var(--ink-300);font-weight:600;width:42%;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;}
.pkg-toggle{
  display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 26px;
  border-top:1px solid var(--border);background:var(--blue-50);font-weight:600;font-size:.86rem;color:var(--navy-800);
}
.pkg-toggle svg{width:16px;height:16px;transition:transform .3s;}
.pkg-toggle[aria-expanded="true"] svg{transform:rotate(180deg);}
.pkg-note{font-size:.82rem;color:var(--ink-500);font-style:italic;padding:0 26px 18px;}

/* ---------- Hotel / service card ---------- */
.hotel-card,.service-card{
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);height:100%;display:flex;flex-direction:column;
}
.hotel-card:hover,.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.hotel-media{aspect-ratio:4/3;overflow:hidden;}
.hotel-media .ph{width:100%;height:100%;transition:transform .5s var(--ease);}
.hotel-card:hover .hotel-media .ph,.hotel-card:hover .hotel-media .media-cover{transform:scale(1.05);}
.hotel-body{padding:22px;flex:1;display:flex;flex-direction:column;gap:8px;}
.hotel-loc{display:flex;align-items:center;gap:6px;font-size:.84rem;color:var(--ink-500);}
.hotel-loc svg{width:15px;height:15px;color:var(--gold-600);}
.hotel-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.tag{background:var(--blue-100);color:var(--navy-800);font-size:.72rem;font-weight:600;padding:5px 10px;border-radius:999px;}

.service-card{padding:30px 26px;align-items:flex-start;}
.service-icon{width:56px;height:56px;border-radius:16px;background:var(--blue-100);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.service-icon svg{width:28px;height:28px;color:var(--navy-800);}
.service-card h3{margin-bottom:8px;}
.service-card .btn{margin-top:auto;padding-left:0;padding-right:0;}
.service-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--navy-800);margin-top:auto;padding-top:10px;}
.service-link svg{width:16px;height:16px;transition:transform .2s;}
.service-link:hover svg{transform:translateX(4px);}
.service-link:hover{color:var(--gold-600);}

/* ---------- How it works timeline ---------- */
.timeline{display:grid;gap:24px;counter-reset:step;}
@media (min-width:900px){.timeline{grid-template-columns:repeat(4,1fr);}}
.timeline-step{position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px 24px;box-shadow:var(--shadow-sm);}
.timeline-num{
  width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--navy-900),var(--navy-700));
  color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:1.1rem;margin-bottom:16px;
}
@media (min-width:900px){
  .timeline-step:not(:last-child)::after{
    content:"";position:absolute;top:44px;left:100%;width:24px;height:2px;background:var(--gold-500);
    display:none;
  }
}

/* ---------- Hajj Journey (animated sidebar diagram) ---------- */
.hajj-journey{background:linear-gradient(160deg,var(--navy-900),var(--navy-800));border-radius:var(--radius-lg);padding:28px 24px;margin-top:24px;box-shadow:var(--shadow-md);}
.hj-eyebrow{color:var(--gold-500);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.hj-title{color:var(--white);font-family:var(--font-head);font-size:1.15rem;font-weight:700;margin:0 0 24px;}
.hj-list{list-style:none;margin:0;padding:0;position:relative;}
.hj-list::before{content:"";position:absolute;left:19px;top:4px;bottom:4px;width:2px;background:linear-gradient(var(--gold-500),rgba(203,161,62,.15));}
.hj-dot{position:absolute;left:15px;width:10px;height:10px;border-radius:50%;background:var(--white);box-shadow:0 0 10px 3px rgba(255,255,255,.85);animation:hj-travel 9s linear infinite;}
.hj-item{position:relative;display:flex;gap:16px;padding-bottom:24px;}
.hj-item:last-child{padding-bottom:0;}
.hj-num{
  flex:none;width:40px;height:40px;border-radius:50%;position:relative;z-index:1;
  background:linear-gradient(135deg,var(--gold-500),#9c7c3a);color:var(--navy-900);
  display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px var(--navy-900);
  animation:hj-pulse 3.6s ease-in-out infinite;
}
.hj-num svg{width:18px;height:18px;}
.hj-item:nth-child(1) .hj-num{animation-delay:0s;}
.hj-item:nth-child(2) .hj-num{animation-delay:.45s;}
.hj-item:nth-child(3) .hj-num{animation-delay:.9s;}
.hj-item:nth-child(4) .hj-num{animation-delay:1.35s;}
.hj-item:nth-child(5) .hj-num{animation-delay:1.8s;}
.hj-item:nth-child(6) .hj-num{animation-delay:2.25s;}
.hj-body{padding-top:2px;}
.hj-body h4{color:var(--white);font-family:var(--font-head);font-size:.96rem;font-weight:700;margin:0 0 3px;}
.hj-body p{color:rgba(255,255,255,.6);font-size:.8rem;line-height:1.45;margin:0;}
@keyframes hj-pulse{
  0%,100%{box-shadow:0 0 0 4px var(--navy-900),0 0 0 4px rgba(203,161,62,0);}
  50%{box-shadow:0 0 0 4px var(--navy-900),0 0 0 8px rgba(203,161,62,.4);}
}
@keyframes hj-travel{
  0%{top:0;opacity:0;}
  6%{opacity:1;}
  94%{opacity:1;}
  100%{top:calc(100% - 10px);opacity:0;}
}
@media (prefers-reduced-motion: reduce){
  .hj-num{animation:none;}
  .hj-dot{display:none;}
}

/* ---------- Testimonials ---------- */
.testi-marquee{
  overflow:hidden;position:relative;padding-bottom:10px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent);
}
.testi-track{display:flex;gap:22px;width:max-content;animation:testi-scroll 48s linear infinite;}
.testi-marquee:hover .testi-track{animation-play-state:paused;}
@keyframes testi-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 11px));}
}
@media (prefers-reduced-motion: reduce){
  .testi-track{animation:none;overflow-x:auto;}
}
.testi-card{
  flex:0 0 min(340px,84vw);background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;
}
.testi-stars{color:var(--gold-500);letter-spacing:2px;}
.testi-quote{color:var(--ink-700);font-size:.95rem;flex:1;}
.testi-name{font-weight:700;color:var(--navy-900);font-size:.92rem;}
.testi-google{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--ink-500);margin-top:auto;}
.testi-google svg{width:16px;height:16px;}
.testi-placeholder{
  border:1.5px dashed var(--border);border-radius:var(--radius-lg);padding:40px 28px;text-align:center;color:var(--ink-500);
  background:var(--blue-50);
}

/* ---------- FAQ accordion ---------- */
.faq-list{display:flex;flex-direction:column;gap:14px;max-width:840px;}
.faq-item{
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
.faq-item:hover{border-color:var(--gold-500);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;
  text-align:left;background:none;border:none;font-weight:600;color:var(--navy-900);font-size:1.02rem;
}
.faq-q > svg{width:18px;height:18px;flex:none;transition:transform .3s var(--ease);color:var(--navy-800);}
.faq-q[aria-expanded="true"] > svg{transform:rotate(45deg);}
.faq-icon{width:34px;height:34px;border-radius:10px;background:var(--blue-100);display:flex;align-items:center;justify-content:center;flex:none;transition:background .3s var(--ease),transform .3s var(--ease);}
.faq-icon svg{width:16px;height:16px;color:var(--navy-800);transition:color .3s var(--ease);}
.faq-q[aria-expanded="true"] .faq-icon{background:var(--gold-500);transform:rotate(45deg);}
.faq-q[aria-expanded="true"] .faq-icon svg{color:var(--white);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
.faq-a-inner{padding:16px 24px 22px;color:var(--ink-500);font-size:.95rem;line-height:1.65;border-top:1px solid var(--border);}

/* ---------- CTA section ---------- */
.cta-section{
  background:linear-gradient(135deg,var(--navy-900),var(--navy-950));border-radius:var(--radius-lg);
  padding:60px 40px;text-align:center;color:var(--white);position:relative;overflow:hidden;
}
.cta-section h2{color:var(--white);}
.cta-section p{color:rgba(255,255,255,.78);max-width:560px;margin-left:auto;margin-right:auto;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px;}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{padding:16px 0;font-size:.84rem;background:var(--blue-50);border-bottom:1px solid var(--border);}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.breadcrumbs li{display:flex;align-items:center;gap:8px;color:var(--ink-500);}
.breadcrumbs a{color:var(--ink-500);font-weight:500;}
.breadcrumbs a:hover{color:var(--navy-800);text-decoration:underline;}
.breadcrumbs li[aria-current] {color:var(--navy-900);font-weight:600;}

/* ---------- Page hero (interior pages) ---------- */
.page-hero{background:linear-gradient(160deg,var(--navy-900),var(--navy-950));color:var(--white);padding:64px 0 56px;position:relative;overflow:hidden;}
.page-hero h1{color:var(--white);max-width:760px;}
.page-hero .lede{color:rgba(255,255,255,.8);max-width:640px;margin-top:14px;}
.page-hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.mini-badge{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:7px 14px;border-radius:999px;font-size:.78rem;font-weight:600;}
.mini-badge svg{width:14px;height:14px;color:var(--gold-500);}

/* ---------- Forms ---------- */
.form-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow-md);}
.form-grid{display:grid;grid-template-columns:1fr;gap:18px;}
@media (min-width:640px){.form-grid.cols-2{grid-template-columns:1fr 1fr;}}
.field label{display:block;font-weight:600;font-size:.85rem;color:var(--navy-900);margin-bottom:7px;}
.field input,.field select,.field textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;background:var(--white);
  color:var(--ink-900);transition:border-color .2s,box-shadow .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--navy-700);box-shadow:0 0 0 4px rgba(11,92,69,.12);
}
.field textarea{resize:vertical;min-height:110px;}
.field-span-2{grid-column:1/-1;}
.form-note{font-size:.8rem;color:var(--ink-500);margin-top:14px;}
.form-success{
  display:none;background:#EAF7EF;border:1px solid #BFE6CC;color:var(--success);padding:16px 18px;border-radius:12px;
  font-weight:600;margin-top:18px;align-items:center;gap:10px;
}
.form-success.is-visible{display:flex;}
.form-success svg{width:20px;height:20px;flex:none;}

/* ---------- Content / prose pages (guides, blog, legal) ---------- */
.prose{max-width:760px;}
.prose h2{margin-top:2em;}
.prose h3{margin-top:1.6em;}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.3em;color:var(--ink-700);}
.prose li{margin-bottom:.5em;}
.prose li::marker{color:var(--gold-600);}
.prose blockquote{
  border-left:3px solid var(--gold-500);margin:1.6em 0;padding:.4em 0 .4em 1.4em;color:var(--navy-800);font-style:italic;font-size:1.05rem;
}
.prose a{color:var(--navy-800);text-decoration:underline;text-decoration-color:var(--gold-500);text-underline-offset:3px;font-weight:600;}
.callout{background:var(--blue-50);border:1px solid var(--border);border-left:4px solid var(--gold-500);border-radius:var(--radius-md);padding:20px 24px;margin:1.6em 0;}
.callout p:last-child{margin-bottom:0;}
.callout-warn{background:#FDF3E7;border-left-color:#B4571E;}

/* ---------- Blog card ---------- */
.blog-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);height:100%;display:flex;flex-direction:column;}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.blog-media{aspect-ratio:16/9;overflow:hidden;}
.blog-media .ph{width:100%;height:100%;transition:transform .5s var(--ease);}
.blog-card:hover .blog-media .ph,.blog-card:hover .blog-media .media-cover{transform:scale(1.05);}
.blog-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1;}
.blog-cat{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-600);}
.blog-body h3{font-size:1.15rem;}
.blog-excerpt{font-size:.9rem;color:var(--ink-500);flex:1;}
.blog-read{font-weight:600;color:var(--navy-800);font-size:.88rem;}

/* ---------- Related content ---------- */
.related-strip{border-top:1px solid var(--border);padding-top:40px;margin-top:60px;}

/* ---------- Table (comparison) ---------- */
.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border);}
table.compare{width:100%;border-collapse:collapse;min-width:720px;background:var(--white);}
table.compare th,table.compare td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem;}
table.compare th{background:var(--navy-900);color:var(--white);font-weight:600;position:sticky;top:0;}
table.compare tr:last-child td{border-bottom:none;}
table.compare tr:hover td{background:var(--blue-50);}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-950);color:rgba(255,255,255,.72);padding:72px 0 0;}
.footer-grid{display:grid;gap:40px;grid-template-columns:1fr;}
@media (min-width:720px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1080px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr;}}
.footer-grid h3{color:var(--white);font-family:var(--font-body);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px;font-weight:700;}
.footer-grid ul{display:flex;flex-direction:column;gap:11px;}
.footer-grid a{font-size:.92rem;transition:color .2s;}
.footer-grid a:hover{color:var(--gold-500);}
.footer-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-size:1.2rem;color:var(--white);font-weight:700;margin-bottom:14px;}
.footer-social{display:flex;gap:10px;margin-top:20px;}
.footer-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{background:var(--gold-500);}
.footer-social svg{width:17px;height:17px;color:var(--white);}
.footer-contact-item{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;}
.footer-contact-item svg{width:17px;height:17px;color:var(--gold-500);flex:none;margin-top:2px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:56px;padding:24px 0 100px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;font-size:.82rem;}
.footer-bottom ul{display:flex;gap:20px;flex-wrap:wrap;}
@media (min-width:1080px){.footer-bottom{padding-bottom:24px;}}

/* ---------- Floating WhatsApp + mobile sticky bar ---------- */
.whatsapp-float{
  position:fixed;right:22px;bottom:96px;z-index:150;width:60px;height:60px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(37,211,102,.45);
  animation:pulse-wa 2.6s ease-in-out infinite;
}
.whatsapp-float svg{width:30px;height:30px;color:#fff;}
@keyframes pulse-wa{
  0%,100%{box-shadow:0 10px 26px rgba(37,211,102,.45);}
  50%{box-shadow:0 10px 26px rgba(37,211,102,.45),0 0 0 10px rgba(37,211,102,.14);}
}
@media (min-width:1080px){.whatsapp-float{bottom:32px;}}

.mobile-stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:140;background:var(--white);border-top:1px solid var(--border);
  box-shadow:0 -8px 24px rgba(6,57,44,.10);display:flex;
}
.mobile-stickybar a{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 4px 12px;
  font-size:.7rem;font-weight:700;color:var(--navy-800);border-right:1px solid var(--border);
}
.mobile-stickybar a:last-child{border-right:none;}
.mobile-stickybar a svg{width:20px;height:20px;}
.mobile-stickybar a.is-whatsapp{color:#1EBE5B;}
.mobile-stickybar a.is-quote{background:var(--navy-900);color:#fff;}
@media (min-width:1080px){.mobile-stickybar{display:none;}}
body{padding-bottom:66px;}
@media (min-width:1080px){body{padding-bottom:0;}}

/* ---------- Skip link ---------- */
.skip-link{
  position:absolute;left:12px;top:-60px;background:var(--navy-900);color:#fff;padding:12px 18px;border-radius:8px;
  z-index:300;transition:top .2s;
}
.skip-link:focus{top:12px;}

/* ---------- Accessibility utility ---------- */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---------- Misc utility ---------- */
.flex{display:flex;}
.items-center{align-items:center;}
.gap-1{gap:8px;}
.gap-2{gap:16px;}
.mt-0{margin-top:0;}
.mb-0{margin-bottom:0;}
.text-center{text-align:center;}
.stack{display:flex;flex-direction:column;gap:14px;}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;}
.split{display:grid;grid-template-columns:1fr;gap:48px;align-items:center;}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;}}
.split.reverse{direction:rtl;}
.split.reverse > *{direction:ltr;}
.icon-list{display:flex;flex-direction:column;gap:16px;}
.icon-list li{display:flex;gap:14px;align-items:flex-start;}
.icon-list .icon-list-icon{width:38px;height:38px;border-radius:10px;background:var(--blue-100);display:flex;align-items:center;justify-content:center;flex:none;}
.icon-list .icon-list-icon svg{width:19px;height:19px;color:var(--navy-800);}
.icon-list strong{display:block;color:var(--navy-900);margin-bottom:2px;}
.disclaimer-box{background:var(--blue-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px;font-size:.85rem;color:var(--ink-500);}
.eligibility-banner{
  background:linear-gradient(135deg,#7A2E2E,#5B1F1F);color:#fff;border-radius:var(--radius-md);padding:18px 24px;
  display:flex;gap:14px;align-items:flex-start;margin-bottom:32px;
}
.eligibility-banner svg{width:24px;height:24px;flex:none;color:#F3D9A8;}
.eligibility-banner strong{display:block;margin-bottom:4px;}
.eligibility-banner p{color:rgba(255,255,255,.9);margin:0;font-size:.92rem;}

/* ---------- ATOL Protected ---------- */
.footer-atol{display:flex;align-items:center;gap:12px;margin:16px 0 4px;}
.footer-atol img{width:64px;height:64px;flex:none;}
.footer-atol span{font-size:.8rem;font-weight:600;color:rgba(255,255,255,.85);line-height:1.4;}
.atol-strip{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:var(--white);border:1px solid var(--border);border-left:4px solid var(--gold-500);border-radius:var(--radius-lg);padding:22px 28px;box-shadow:var(--shadow-sm);}
.atol-strip > img{width:92px;height:92px;flex:none;}
.atol-strip .atol-txt{flex:1;min-width:240px;}
.atol-strip .atol-txt h3{margin:0 0 4px;font-size:1.1rem;}
.atol-strip .atol-txt p{margin:0;color:var(--ink-500);font-size:.9rem;}
.atol-strip .btn{flex:none;}
.atol-inline{display:inline-flex;align-items:center;gap:10px;background:var(--blue-50);border:1px solid var(--border);border-radius:999px;padding:8px 16px 8px 8px;font-size:.82rem;font-weight:600;color:var(--navy-800);}
.atol-inline img{width:34px;height:34px;flex:none;}

/* ---------- Visa type cards ---------- */
.visa-card{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--gold-500);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:10px;height:100%;box-shadow:var(--shadow-sm);}
.visa-card .visa-tag{align-self:flex-start;background:var(--blue-100);color:var(--navy-800);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:999px;}
.visa-card h3{margin:0;font-size:1.12rem;}
.visa-card ul{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:.88rem;color:var(--ink-700);}
.visa-card ul li::marker{color:var(--gold-600);}

/* ---------- Verified review badge ---------- */
.testi-verified{display:inline-flex;align-items:center;gap:4px;color:var(--success);font-weight:700;flex:none;}
.testi-verified svg{width:15px;height:15px;}
.testi-verified::after{content:"";width:1px;height:12px;background:var(--border);margin:0 4px 0 6px;}

/* ---------- Inline package details (accordion) ---------- */
.pkg-toggle{cursor:pointer;}
.pkg-details.is-open{max-height:2400px;}
.acc-plan-label{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-300);margin-bottom:10px;}
.acc-plan-label svg{width:15px;height:15px;color:var(--navy-800);flex:none;}
.acc-plan{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.acc-item{display:flex;align-items:center;gap:12px;background:var(--blue-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;}
.acc-item-icon{width:36px;height:36px;border-radius:9px;background:var(--white);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex:none;color:var(--navy-800);}
.acc-item-icon svg{width:18px;height:18px;}
.acc-item-body{flex:1;min-width:0;}
.acc-item-body strong{display:block;color:var(--navy-900);font-size:.88rem;line-height:1.3;}
.acc-item-body span{display:block;color:var(--ink-500);font-size:.76rem;}
.acc-item-nights{flex:none;text-align:center;background:var(--white);border:1px solid var(--border);border-radius:8px;padding:5px 10px;font-size:.7rem;font-weight:700;color:var(--navy-800);white-space:nowrap;}
.feature-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.feature-pill{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--blue-50);color:var(--navy-800);border:1px solid var(--border);}
.feature-pill svg{width:12px;height:12px;color:var(--navy-800);flex:none;}
.feature-pill.is-no{background:transparent;color:var(--ink-300);border-style:dashed;}
.feature-pill.is-no svg{color:var(--ink-300);}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;}
.price-grid-1{grid-template-columns:1fr;}
.price-grid .price-box{text-align:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 4px;}
.price-grid .price-box span{display:block;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-300);margin-bottom:3px;}
.price-grid .price-box strong{display:block;font-family:var(--font-head);font-size:1.1rem;color:var(--navy-900);}
.price-grid-note{background:var(--blue-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;font-size:.82rem;color:var(--ink-500);margin-bottom:14px;}
.pkg-details .btn-block{width:100%;}

/* ---------- Package details always visible (no click needed) ---------- */
.pkg-toggle{display:none;}
.pkg-details{max-height:none;overflow:visible;border-top:1px solid var(--border);}
.pkg-details-inner{padding:22px 26px 0;}

/* ---------- Tighter package-details spacing (no Full Pricing Table button) ---------- */
.pkg-details-inner{padding:16px 26px 4px;}
.acc-plan-label{margin-bottom:8px;}
.acc-plan{gap:7px;margin-bottom:12px;}
.acc-item{padding:9px 12px;}
.feature-pills{margin-bottom:12px;}
.price-grid{margin-bottom:0;}
.price-grid-note{margin-bottom:0;}
.pkg-actions{padding:14px 26px 24px;}

/* ---------- Airlines auto-scroll strip ---------- */
.airline-strip{padding:56px 0;background:var(--blue-50);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.airline-strip .section-head{margin-bottom:30px;}
.airline-marquee{
  overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);
}
.airline-track{display:flex;gap:16px;width:max-content;animation:airline-scroll 32s linear infinite;}
.airline-marquee:hover .airline-track{animation-play-state:paused;}
@keyframes airline-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 8px));}
}
@media (prefers-reduced-motion: reduce){
  .airline-track{animation:none;overflow-x:auto;}
}
.airline-chip{
  flex:0 0 auto;display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--border);
  border-radius:999px;padding:14px 26px;box-shadow:var(--shadow-sm);white-space:nowrap;
}
.airline-chip svg{width:20px;height:20px;color:var(--navy-800);flex:none;}
.airline-chip span{font-weight:700;color:var(--navy-900);font-size:.94rem;}
.airline-chip img{height:28px;width:auto;max-width:130px;object-fit:contain;flex:none;}

/* ---------- Feature pill: note/info variant ---------- */
.feature-pill.is-note{background:transparent;border-style:dashed;color:var(--ink-500);font-style:italic;}
.feature-pill.is-note svg{color:var(--ink-300);}
