/* =========================================================
   AMANA GLOBAL TOURS & VISA SERVICES — v2
   Design language: vibrant tourism. Sunset gradients, bold
   rounded type, blob shapes, flat illustration icons.
   ========================================================= */

:root{
  --coral:        #FF6B5B;
  --coral-dark:   #E5503F;
  --pink:         #FF3D81;
  --pink-light:   #FFE3EF;
  --purple:       #7B2FF7;
  --teal:         #00C2A8;
  --teal-dark:    #009A86;
  --blue:         #2D7DD2;
  --yellow:       #FFC83D;
  --ink:          #241D3B;
  --ink-soft:     #5C5470;
  --ink-faint:    #8A82A3;
  --cream:        #FFF8F4;
  --lilac:        #FAF7FF;
  --white:        #FFFFFF;
  --line:         rgba(36,29,59,0.10);

  --grad-sunset: linear-gradient(120deg, #FF6B5B 0%, #FF3D81 55%, #7B2FF7 100%);
  --grad-lagoon: linear-gradient(120deg, #00C2A8 0%, #2D7DD2 100%);
  --grad-citrus: linear-gradient(120deg, #FFC83D 0%, #FF6B5B 100%);
  --grad-berry:  linear-gradient(120deg, #FF3D81 0%, #7B2FF7 100%);

  --font-display: "Outfit", "Almarai", sans-serif;
  --font-body:    "Plus Jakarta Sans", "Almarai", sans-serif;

  --container: 1200px;
  --r-s: 12px;
  --r-m: 22px;
  --r-l: 32px;
  --shadow-soft: 0 20px 45px -25px rgba(36,29,59,0.25);
  --shadow-pop: 0 24px 60px -20px rgba(255,61,129,0.35);
}

html[dir="rtl"]{
  --font-display: "Almarai", sans-serif;
  --font-body: "Almarai", sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

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; }
h1,h2,h3,h4{ margin:0; font-family:var(--font-display); font-weight:700; color:var(--ink); letter-spacing:-.01em; }
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4{ letter-spacing:0; font-weight:800; }

.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 28px; }

/* language visibility */
html[dir="ltr"] .lang-ar{ display:none !important; }
html[dir="rtl"] .lang-en{ display:none !important; }

/* utility */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--pink-light);
  color:var(--pink);
  padding:7px 16px 7px 10px;
  border-radius:999px;
  font-size:13px; font-weight:700;
}
[dir="rtl"] .eyebrow{ padding:7px 10px 7px 16px; }
.eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--pink); }

.section{ padding:100px 0; }
.section-tight{ padding:60px 0; }
.section-cream{ background:var(--cream); }
.section-lilac{ background:var(--lilac); }
.section-dark{ background:var(--ink); color:#fff; }
.section-dark h2,.section-dark h3{ color:#fff; }

.section-head{ max-width:620px; margin-bottom:48px; }
.section-head h2{ font-size:clamp(28px,3.6vw,44px); line-height:1.12; margin-top:16px; }
.section-head p{ margin-top:16px; color:var(--ink-soft); font-size:17px; }
.section-dark .section-head p{ color:rgba(255,255,255,0.7); }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:16px 30px; border-radius:999px; font-weight:700; font-size:15px;
  border:2px solid transparent; transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  white-space:nowrap;
}
.btn-coral{ background:var(--grad-sunset); color:#fff; box-shadow:var(--shadow-pop); }
.btn-coral:hover{ transform:translateY(-3px) scale(1.02); }
.btn-teal{ background:var(--grad-lagoon); color:#fff; box-shadow:0 20px 45px -20px rgba(0,194,168,0.5); }
.btn-teal:hover{ transform:translateY(-3px) scale(1.02); }
.btn-outline{ background:transparent; border-color:var(--ink); color:var(--ink); }
.btn-outline:hover{ background:var(--ink); color:#fff; transform:translateY(-2px); }
.btn-white{ background:#fff; color:var(--pink); }
.btn-white:hover{ transform:translateY(-3px); }
.btn-sm{ padding:11px 20px; font-size:13.5px; }
.btn-block{ width:100%; }
.btn[disabled]{ opacity:.45; cursor:not-allowed; transform:none !important; }
.btn svg{ width:18px; height:18px; flex:none; }

/* pills */
.pill{
  display:inline-flex; align-items:center; gap:6px;
  background:#fff; border:1px solid var(--line);
  padding:9px 16px; border-radius:999px;
  font-size:13.5px; font-weight:700; color:var(--ink);
  box-shadow:0 10px 24px -16px rgba(36,29,59,0.3);
}
.pill .ic{ width:16px; height:16px; }

/* navbar */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:82px; }
.brand{ display:flex; align-items:center; gap:11px; }
.brand-mark{
  width:42px; height:42px; flex:none; border-radius:13px;
  background:var(--grad-sunset);
  display:flex; align-items:center; justify-content:center;
}
.brand-mark svg{ width:24px; height:24px; }
.brand-text{ display:flex; flex-direction:column; line-height:1.05; }
.brand-text .name{ font-family:var(--font-display); font-weight:800; font-size:19px; color:var(--ink); }
.brand-text .sub{ font-size:10px; font-weight:700; letter-spacing:.03em; color:var(--ink-faint); margin-top:3px; }
[dir="rtl"] .brand-text .sub{ font-size:11px; }

.nav-links{ display:flex; align-items:center; gap:8px; }
.nav-links a{
  color:var(--ink-soft); font-size:14.5px; font-weight:600;
  padding:10px 16px; border-radius:999px; transition:all .2s ease;
}
.nav-links a:hover{ background:var(--lilac); color:var(--ink); }
.nav-links a.active{ background:var(--ink); color:#fff; }

.nav-right{ display:flex; align-items:center; gap:12px; }
.lang-toggle{ display:flex; align-items:center; background:var(--lilac); border-radius:999px; padding:4px; gap:2px; }
.lang-toggle button{
  border:none; background:transparent; color:var(--ink-faint);
  font-size:12.5px; font-weight:700; padding:7px 13px; border-radius:999px; transition:all .2s ease;
}
.lang-toggle button.is-active{ background:var(--ink); color:#fff; }
.nav-cta{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--grad-sunset); color:#fff;
  padding:11px 20px; border-radius:999px; font-size:14px; font-weight:700;
  box-shadow:0 16px 30px -16px rgba(255,61,129,0.55);
  transition:transform .2s ease;
}
.nav-cta:hover{ transform:translateY(-2px); }
.nav-cta svg{ width:16px; height:16px; }
.nav-burger{ display:none; flex-direction:column; gap:5px; background:none; border:none; padding:8px; }
.nav-burger span{ width:22px; height:2.5px; border-radius:2px; background:var(--ink); display:block; }

@media (max-width:980px){
  .nav-links{
    position:fixed; top:82px; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:4px;
    background:#fff; border-bottom:1px solid var(--line);
    padding:10px 20px; max-height:0; overflow:hidden;
    transition:max-height .35s ease;
  }
  .nav-links.is-open{ max-height:340px; padding:14px 20px; }
  .nav-links a{ padding:13px 16px; }
  .nav-burger{ display:flex; }
  .nav-cta .label{ display:none; }
}

/* HERO */
.hero{
  position:relative;
  padding:160px 0 90px;
  overflow:hidden;
  background:var(--cream);
}
.hero-blob{
  position:absolute; border-radius:50%; filter:blur(60px); opacity:.55; pointer-events:none;
}
.hero-blob.b1{ width:520px; height:520px; background:var(--grad-sunset); top:-180px; right:-160px; }
.hero-blob.b2{ width:380px; height:380px; background:var(--grad-lagoon); bottom:-160px; left:-120px; opacity:.4; }
[dir="rtl"] .hero-blob.b1{ right:auto; left:-160px; }
[dir="rtl"] .hero-blob.b2{ left:auto; right:-120px; }

.hero-grid{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
@media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; } }

.hero h1{ font-size:clamp(38px,5.2vw,62px); line-height:1.07; margin-top:20px; }
[dir="rtl"] .hero h1{ line-height:1.32; }
.hero h1 .grad{
  background:var(--grad-sunset); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero p.lead{ margin-top:22px; font-size:18.5px; color:var(--ink-soft); max-width:480px; }
.hero-actions{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.hero-pills{ display:flex; gap:10px; margin-top:32px; flex-wrap:wrap; }

.hero-art{ position:relative; }
.hero-card{
  position:relative; background:#fff; border-radius:var(--r-l);
  box-shadow:var(--shadow-soft); padding:34px; overflow:hidden;
}
.hero-card-top{ background:var(--grad-sunset); border-radius:var(--r-m); padding:26px; color:#fff; position:relative; overflow:hidden; }
.hero-card-top svg.deco{ position:absolute; top:-18px; right:-18px; width:90px; height:90px; opacity:.25; }
[dir="rtl"] .hero-card-top svg.deco{ right:auto; left:-18px; }
.hero-card-top .t1{ font-size:12.5px; font-weight:700; opacity:.85; text-transform:uppercase; letter-spacing:.06em; }
[dir="rtl"] .hero-card-top .t1{ letter-spacing:0; }
.hero-card-top .t2{ font-family:var(--font-display); font-size:24px; font-weight:800; margin-top:6px; }
.hero-card-stats{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-top:24px; }
.hero-card-stats .s{ text-align:center; }
.hero-card-stats b{ display:block; font-family:var(--font-display); font-size:22px; color:var(--ink); }
.hero-card-stats span{ font-size:11.5px; color:var(--ink-faint); font-weight:600; }
.hero-badge{
  position:absolute; bottom:-18px; left:-18px;
  background:var(--yellow); color:var(--ink);
  padding:14px 20px; border-radius:18px; font-weight:800; font-size:14px;
  box-shadow:var(--shadow-soft); transform:rotate(-6deg);
  display:flex; align-items:center; gap:8px;
}
[dir="rtl"] .hero-badge{ left:auto; right:-18px; transform:rotate(6deg); }
.hero-badge svg{ width:20px; height:20px; }

/* icon circles */
.icon-circle{
  width:60px; height:60px; border-radius:18px; flex:none;
  display:flex; align-items:center; justify-content:center;
  color:#fff;
}
.icon-circle svg{ width:26px; height:26px; }
.icon-circle.grad-sunset{ background:var(--grad-sunset); }
.icon-circle.grad-lagoon{ background:var(--grad-lagoon); }
.icon-circle.grad-citrus{ background:var(--grad-citrus); }
.icon-circle.grad-berry{ background:var(--grad-berry); }

/* category pills row */
.cat-row{ display:flex; gap:14px; overflow-x:auto; padding:6px 2px 14px; scrollbar-width:none; }
.cat-row::-webkit-scrollbar{ display:none; }
.cat-chip{
  flex:none; display:flex; align-items:center; gap:10px;
  background:#fff; border:1px solid var(--line); border-radius:999px;
  padding:10px 20px 10px 10px; font-weight:700; font-size:14px;
  transition:transform .2s ease, box-shadow .2s ease;
}
[dir="rtl"] .cat-chip{ padding:10px 10px 10px 20px; }
.cat-chip:hover{ transform:translateY(-3px); box-shadow:var(--shadow-soft); }
.cat-chip .ic{ width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; flex:none; }
.cat-chip .ic svg{ width:16px; height:16px; }

/* ====== UTILITY: VISA / DESTINATION CHECKER ====== */
.tool-card{
  background:#fff; border-radius:var(--r-l); box-shadow:var(--shadow-soft);
  padding:40px; position:relative; overflow:hidden;
}
.tool-card::before{
  content:""; position:absolute; top:-80px; right:-80px; width:220px; height:220px;
  border-radius:50%; background:var(--grad-citrus); opacity:.12;
}
.tool-grid{ display:grid; grid-template-columns:1fr 1fr auto; gap:16px; align-items:end; position:relative; }
@media (max-width:760px){ .tool-grid{ grid-template-columns:1fr; } }
.tool-field label{ display:block; font-size:12.5px; font-weight:700; color:var(--ink-soft); margin-bottom:8px; }
.tool-field select{
  width:100%; padding:15px 18px; border-radius:14px; border:1.5px solid var(--line);
  background:var(--lilac); font-family:inherit; font-size:15px; font-weight:600; color:var(--ink);
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C5470' stroke-width='2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat; background-position:right 16px center; background-size:18px;
}
[dir="rtl"] .tool-field select{ background-position:left 16px center; }
.tool-field select:focus{ outline:none; border-color:var(--pink); }

.tool-result{
  margin-top:28px; padding:26px; border-radius:18px; background:var(--lilac);
  display:none;
}
.tool-result.is-visible{ display:block; }
.tool-result-head{ display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.tool-result-head h4{ font-size:18px; }
.tool-checklist{ display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; margin:18px 0; }
@media (max-width:640px){ .tool-checklist{ grid-template-columns:1fr; } }
.tool-checklist li{ display:flex; align-items:flex-start; gap:9px; font-size:14.5px; color:var(--ink-soft); list-style:none; }
.tool-checklist svg{ width:18px; height:18px; flex:none; color:var(--teal); margin-top:1px; }
.tool-disclaimer{ font-size:12.5px; color:var(--ink-faint); margin-top:14px; line-height:1.6; }

/* ====== UTILITY: TABS (document checklist) ====== */
.tabs{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:32px; }
.tab-btn{
  background:#fff; border:1.5px solid var(--line); color:var(--ink-soft);
  padding:11px 20px; border-radius:999px; font-weight:700; font-size:13.5px;
  transition:all .2s ease;
}
.tab-btn.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }
.tab-panel{ display:none; }
.tab-panel.is-active{ display:block; }

.checklist-card{ background:#fff; border-radius:var(--r-l); box-shadow:var(--shadow-soft); padding:36px; }
.checklist-items{ display:grid; grid-template-columns:1fr 1fr; gap:4px 28px; margin:24px 0; }
@media (max-width:640px){ .checklist-items{ grid-template-columns:1fr; } }
.check-row{
  display:flex; align-items:center; gap:12px; padding:13px 4px; border-bottom:1px dashed var(--line);
  cursor:pointer; user-select:none;
}
.check-row input{ display:none; }
.check-box{
  width:22px; height:22px; border-radius:7px; border:2px solid var(--line); flex:none;
  display:flex; align-items:center; justify-content:center; transition:all .2s ease;
}
.check-box svg{ width:13px; height:13px; opacity:0; transform:scale(.5); transition:all .2s ease; color:#fff; }
.check-row input:checked + .check-box{ background:var(--grad-lagoon); border-color:transparent; }
.check-row input:checked + .check-box svg{ opacity:1; transform:scale(1); }
.check-row input:checked ~ .check-label{ color:var(--ink-faint); text-decoration:line-through; }
.check-label{ font-size:14.5px; font-weight:600; color:var(--ink); transition:color .2s ease; }
.checklist-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; flex-wrap:wrap; }
.checklist-progress{ font-size:13px; font-weight:700; color:var(--ink-faint); }

/* ====== service cards ====== */
.svc-group{ margin-bottom:60px; }
.svc-group:last-child{ margin-bottom:0; }
.svc-group-head{ display:flex; align-items:center; gap:16px; margin-bottom:28px; }
.svc-group-head .ic{ width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; color:#fff; flex:none; }
.svc-group-head .ic svg{ width:22px; height:22px; }
.svc-group-head h3{ font-size:23px; }

.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:980px){ .svc-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .svc-grid{ grid-template-columns:1fr; } }

.svc-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-m);
  padding:28px 24px; display:flex; flex-direction:column; gap:14px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.svc-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-soft); }
.svc-card h4{ font-size:16.5px; line-height:1.3; }
.svc-card p{ font-size:14px; color:var(--ink-soft); line-height:1.55; }

/* ====== why-us ====== */
.why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:980px){ .why-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .why-grid{ grid-template-columns:1fr; } }
.why-card{ background:#fff; border-radius:var(--r-m); padding:30px 26px; box-shadow:var(--shadow-soft); }
.why-card h4{ font-size:16.5px; margin-top:18px; }
.why-card p{ font-size:14px; color:var(--ink-soft); margin-top:8px; }

/* ====== testimonials ====== */
.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:920px){ .testi-grid{ grid-template-columns:1fr; } }
.testi-card{ background:#fff; border-radius:var(--r-m); padding:30px; box-shadow:var(--shadow-soft); }
.testi-stars{ display:flex; gap:3px; color:var(--yellow); margin-bottom:14px; }
.testi-stars svg{ width:16px; height:16px; }
.testi-card p.quote{ font-size:15px; color:var(--ink); line-height:1.65; }
.testi-who{ display:flex; align-items:center; gap:12px; margin-top:20px; }
.testi-avatar{
  width:42px; height:42px; border-radius:50%; flex:none;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:800; color:#fff; font-size:15px;
}
.testi-who .nm{ font-weight:700; font-size:14px; }
.testi-who .svc{ font-size:12.5px; color:var(--ink-faint); }
.testi-note{ text-align:center; font-size:13px; color:var(--ink-faint); margin-top:28px; }

/* ====== destinations strip ====== */
.strip{ display:flex; gap:0; overflow:hidden; padding:24px 0; background:var(--ink); }
.strip-track{ display:flex; gap:48px; animation:scroll-strip 28s linear infinite; white-space:nowrap; padding-inline-end:48px; }
.strip-track span{ font-family:var(--font-display); font-size:19px; font-weight:700; color:rgba(255,255,255,0.85); display:flex; align-items:center; gap:14px; }
.strip-track span::after{ content:"✦"; color:var(--coral); font-size:13px; }
@keyframes scroll-strip{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
[dir="rtl"] .strip-track{ animation-direction:reverse; }

/* ====== CTA banner ====== */
.cta-banner{
  background:var(--grad-sunset); border-radius:var(--r-l);
  padding:64px 56px; display:flex; align-items:center; justify-content:space-between;
  gap:40px; flex-wrap:wrap; color:#fff; position:relative; overflow:hidden;
}
.cta-banner::before{ content:""; position:absolute; width:300px; height:300px; border-radius:50%; background:rgba(255,255,255,0.12); top:-140px; right:-100px; }
.cta-banner::after{ content:""; position:absolute; width:200px; height:200px; border-radius:50%; background:rgba(255,255,255,0.1); bottom:-100px; left:10%; }
.cta-banner > *{ position:relative; }
.cta-banner h2{ color:#fff; font-size:clamp(24px,3vw,34px); max-width:480px; }
.cta-contact{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
[dir="rtl"] .cta-contact{ align-items:flex-end; }
.cta-phone{ font-family:var(--font-display); font-size:22px; font-weight:800; }

/* ====== FAQ ====== */
.faq-list{ max-width:780px; }
.faq-item{ background:#fff; border:1px solid var(--line); border-radius:18px; margin-bottom:12px; overflow:hidden; }
.faq-q{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 24px; cursor:pointer; font-weight:700; font-size:15.5px;
}
.faq-q .chev{ width:20px; height:20px; flex:none; transition:transform .25s ease; color:var(--pink); }
.faq-item.is-open .faq-q .chev{ transform:rotate(180deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-item.is-open .faq-a{ max-height:240px; }
.faq-a-inner{ padding:0 24px 22px; color:var(--ink-soft); font-size:14.5px; line-height:1.65; }

/* ====== Quote wizard ====== */
.wizard-card{ background:#fff; border-radius:var(--r-l); box-shadow:var(--shadow-soft); padding:40px; }
.wizard-progress{ display:flex; gap:8px; margin-bottom:30px; }
.wizard-progress .seg{ flex:1; height:6px; border-radius:99px; background:var(--line); overflow:hidden; }
.wizard-progress .seg i{ display:block; height:100%; width:0%; background:var(--grad-sunset); transition:width .3s ease; }
.wizard-step{ display:none; }
.wizard-step.is-active{ display:block; }
.wizard-step h4{ font-size:19px; margin-bottom:6px; }
.wizard-step p.hint{ font-size:13.5px; color:var(--ink-faint); margin-bottom:22px; }
.choice-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
@media (max-width:520px){ .choice-grid{ grid-template-columns:1fr; } }
.choice-card{
  border:1.5px solid var(--line); border-radius:16px; padding:16px 18px;
  display:flex; align-items:center; gap:12px; cursor:pointer; transition:all .2s ease;
  font-weight:700; font-size:14px;
}
.choice-card:hover{ border-color:var(--pink); }
.choice-card.is-selected{ border-color:var(--pink); background:var(--pink-light); }
.choice-card .ic{ width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; flex:none; }
.choice-card .ic svg{ width:18px; height:18px; }
.wizard-nav{ display:flex; justify-content:space-between; margin-top:30px; gap:12px; }
.wizard-summary{ background:var(--lilac); border-radius:16px; padding:22px; margin-top:6px; }
.wizard-summary .row{ display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px dashed var(--line); font-size:14px; }
.wizard-summary .row:last-child{ border-bottom:none; }
.wizard-summary .k{ color:var(--ink-faint); font-weight:600; }
.wizard-summary .v{ font-weight:700; }

.field{ margin-bottom:18px; }
.field label{ display:block; font-size:12.5px; font-weight:700; color:var(--ink-soft); margin-bottom:8px; }
.field input, .field textarea{
  width:100%; padding:14px 16px; border:1.5px solid var(--line); border-radius:14px;
  background:var(--lilac); font-family:inherit; font-size:15px; color:var(--ink);
  transition:border-color .2s ease;
}
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--pink); }
.field textarea{ resize:vertical; min-height:90px; }

/* ====== contact ====== */
.contact-grid{ display:grid; grid-template-columns:.78fr 1.22fr; gap:30px; align-items:flex-start; }
@media (max-width:980px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-card{ background:var(--ink); color:#fff; border-radius:var(--r-l); padding:36px; }
.contact-card h3{ color:#fff; font-size:21px; }
.contact-line{ display:flex; align-items:center; gap:14px; margin-top:24px; }
.contact-line .ic{ width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center; color:#fff; flex:none; }
.contact-line .ic svg{ width:18px; height:18px; }
.contact-line .t{ font-size:11.5px; font-weight:700; color:rgba(255,255,255,0.5); text-transform:uppercase; letter-spacing:.04em; }
.contact-line .v{ font-weight:700; font-size:15.5px; margin-top:2px; }

/* ====== about ====== */
.about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
@media (max-width:920px){ .about-grid{ grid-template-columns:1fr; gap:36px; } }
.about-copy p{ color:var(--ink-soft); font-size:16.5px; margin-top:16px; line-height:1.75; }
.about-copy p:first-child{ margin-top:0; }
.about-visual{ position:relative; }
.about-card{ background:#fff; border-radius:var(--r-l); box-shadow:var(--shadow-soft); padding:34px; }
.about-fact{ display:flex; justify-content:space-between; padding:15px 0; border-bottom:1px dashed var(--line); }
.about-fact:last-child{ border-bottom:none; }
.about-fact .k{ font-size:12.5px; font-weight:700; color:var(--ink-faint); text-transform:uppercase; }
.about-fact .v{ font-weight:700; }
.about-blob-badge{
  position:absolute; bottom:-20px; left:-20px; background:var(--teal); color:#fff;
  width:104px; height:104px; border-radius:50%; display:flex; flex-direction:column;
  align-items:center; justify-content:center; box-shadow:var(--shadow-soft); transform:rotate(-8deg);
}
[dir="rtl"] .about-blob-badge{ left:auto; right:-20px; transform:rotate(8deg); }
.about-blob-badge b{ font-family:var(--font-display); font-size:22px; }
.about-blob-badge span{ font-size:10px; font-weight:700; text-align:center; padding:0 8px; }

.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:50px; }
@media (max-width:860px){ .values-grid{ grid-template-columns:1fr; } }
.value-card{ padding:28px; border-radius:var(--r-m); background:#fff; box-shadow:var(--shadow-soft); }
.value-card h4{ font-size:16.5px; margin:16px 0 8px; }
.value-card p{ font-size:14.5px; color:var(--ink-soft); }

.process-row{ display:flex; flex-direction:column; gap:0; }
.process-item{ display:flex; gap:22px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,0.1); }
.process-item:last-child{ border-bottom:none; }
.process-num{
  width:52px; height:52px; border-radius:16px; flex:none; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:800; font-size:18px; color:#fff;
}
.process-item h4{ color:#fff; font-size:17px; }
.process-item p{ color:rgba(255,255,255,0.65); font-size:14.5px; margin-top:4px; }

.person-card{
  display:flex; align-items:center; gap:22px; background:#fff;
  padding:28px; border-radius:var(--r-m); margin-top:44px; box-shadow:var(--shadow-soft);
}
.person-avatar{
  width:62px; height:62px; border-radius:18px; background:var(--grad-berry);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display);
  font-size:22px; font-weight:800; color:#fff; flex:none;
}
.person-card h4{ font-size:17.5px; }
.person-card p{ color:var(--ink-soft); font-size:14px; margin-top:4px; }

/* ====== footer ====== */
.footer{ background:var(--ink); color:rgba(255,255,255,0.65); padding-top:80px; }
.footer-grid{ display:grid; grid-template-columns:1.3fr .8fr .8fr 1fr; gap:40px; padding-bottom:56px; }
@media (max-width:860px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-brand .brand-text .name{ color:#fff; }
.footer-brand .brand-text .sub{ color:rgba(255,255,255,0.45); }
.footer-tagline{ margin-top:18px; font-family:var(--font-display); font-weight:700; font-size:17px; color:var(--coral); max-width:260px; }
.footer h5{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,0.4); margin-bottom:18px; }
.footer-links{ display:flex; flex-direction:column; gap:12px; }
.footer-links a{ font-size:14.5px; transition:color .2s; }
.footer-links a:hover{ color:#fff; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1); padding:22px 0; display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:10px; font-size:13px; color:rgba(255,255,255,0.4);
}

/* ====== CHAT WIDGET ====== */
.chat-widget{ position:fixed; bottom:24px; right:24px; z-index:200; display:flex; flex-direction:column; align-items:flex-end; gap:14px; }
[dir="rtl"] .chat-widget{ right:auto; left:24px; align-items:flex-start; }

.chat-bubble{
  width:62px; height:62px; border-radius:50%; background:var(--grad-sunset);
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-pop);
  border:none; animation:pulse-bubble 2.8s ease-in-out infinite; position:relative;
}
.chat-bubble svg{ width:28px; height:28px; color:#fff; }
.chat-bubble .ping{
  position:absolute; top:-3px; right:-3px; width:16px; height:16px; border-radius:50%;
  background:var(--teal); border:2.5px solid #fff;
}
[dir="rtl"] .chat-bubble .ping{ right:auto; left:-3px; }
@keyframes pulse-bubble{
  0%,100%{ box-shadow:var(--shadow-pop); }
  50%{ box-shadow:0 24px 60px -20px rgba(255,61,129,0.6), 0 0 0 10px rgba(255,107,91,0.12); }
}

.chat-panel{
  width:330px; max-width:calc(100vw - 48px); background:#fff; border-radius:24px;
  box-shadow:0 30px 70px -20px rgba(36,29,59,0.4); overflow:hidden;
  display:none; flex-direction:column;
}
.chat-panel.is-open{ display:flex; }
.chat-panel-head{ background:var(--grad-sunset); color:#fff; padding:20px 22px; display:flex; align-items:center; gap:13px; }
.chat-avatar{ width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; font-weight:800; font-family:var(--font-display); flex:none; }
.chat-panel-head .nm{ font-weight:800; font-size:14.5px; }
.chat-panel-head .st{ font-size:11.5px; opacity:.85; display:flex; align-items:center; gap:5px; }
.chat-panel-head .st::before{ content:""; width:7px; height:7px; border-radius:50%; background:#3CFF8E; }
.chat-panel-close{ margin-inline-start:auto; background:rgba(255,255,255,0.2); border:none; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; }
.chat-panel-close svg{ width:14px; height:14px; }
.chat-panel-body{ padding:20px; }
.chat-msg{ background:var(--lilac); border-radius:16px; border-top-left-radius:4px; padding:14px 16px; font-size:13.5px; color:var(--ink); line-height:1.55; }
[dir="rtl"] .chat-msg{ border-top-left-radius:16px; border-top-right-radius:4px; }
.chat-quick{ display:flex; flex-direction:column; gap:8px; margin-top:14px; }
.chat-quick button{
  text-align:start; background:#fff; border:1.5px solid var(--line); border-radius:13px;
  padding:11px 14px; font-size:13.5px; font-weight:700; color:var(--ink); transition:all .2s ease;
}
.chat-quick button:hover{ border-color:var(--pink); background:var(--pink-light); }
.chat-panel-foot{ padding:16px 20px 20px; }

/* reveal */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .strip-track{ animation:none; }
  .chat-bubble{ animation:none; }
  html{ scroll-behavior:auto; }
}

.center{ text-align:center; margin-left:auto; margin-right:auto; }
.muted{ color:var(--ink-soft); }

/* =========================================================
   PHOTO INTEGRATION STYLES
   ========================================================= */

/* ---- hero photo background ---- */
.hero-photo-bg{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
  background-repeat:no-repeat;
}
.hero-photo-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg,
    rgba(36,29,59,0.82) 0%,
    rgba(36,29,59,0.60) 55%,
    rgba(36,29,59,0.35) 100%);
}
.hero-photo{ position:relative; z-index:1; color:#fff; }
.hero-photo .hero-blob{ display:none; }
.hero-photo h1{ color:#fff; }
.hero-photo .eyebrow{ background:rgba(255,255,255,0.15); color:#fff; }
.hero-photo .eyebrow .dot{ background:#fff; }

/* ---- destination photo cards ---- */
.dest-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
@media(max-width:980px){ .dest-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .dest-grid{ grid-template-columns:1fr; } }

.dest-card{
  position:relative; border-radius:var(--r-l); overflow:hidden;
  height:340px; display:flex; flex-direction:column; justify-content:flex-end;
  text-decoration:none; color:#fff;
  transition:transform .3s ease, box-shadow .3s ease;
}
.dest-card:hover{ transform:translateY(-6px) scale(1.01); box-shadow:var(--shadow-pop); }
.dest-card-photo{
  position:absolute; inset:0; background-size:cover; background-position:center;
  transition:transform .4s ease;
}
.dest-card:hover .dest-card-photo{ transform:scale(1.05); }
.dest-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(36,29,59,0.80) 0%, rgba(36,29,59,0.15) 55%, transparent 100%);
}
.dest-card-body{ position:relative; z-index:1; padding:28px; }
.dest-card-label{
  font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,0.7); margin-bottom:6px;
}
[dir="rtl"] .dest-card-label{ letter-spacing:0; font-size:12.5px; }
.dest-card h4{ font-size:21px; color:#fff; }
.dest-card-cta{
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.18); backdrop-filter:blur(6px);
  padding:8px 16px; border-radius:999px; font-size:13px; font-weight:700;
  margin-top:12px; transition:background .2s ease;
}
.dest-card:hover .dest-card-cta{ background:rgba(255,255,255,0.32); }

/* ---- photo with text split sections ---- */
.photo-split{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  align-items:stretch; border-radius:var(--r-l); overflow:hidden;
  box-shadow:var(--shadow-soft);
  margin:0;
}
@media(max-width:920px){ .photo-split{ grid-template-columns:1fr; } }
.photo-split-img{
  min-height:480px; background-size:cover; background-position:center;
}
@media(max-width:920px){ .photo-split-img{ min-height:300px; } }
.photo-split-content{
  padding:60px 52px; background:#fff; display:flex; flex-direction:column;
  justify-content:center;
}
.photo-split-content h2{ font-size:clamp(24px,3vw,34px); margin-top:14px; }
.photo-split-content p{ color:var(--ink-soft); font-size:16px; line-height:1.75; margin-top:14px; }

/* ---- photo gallery strip ---- */
.gallery-strip{
  display:flex; gap:16px; overflow-x:auto; padding:4px 0 16px;
  scrollbar-width:none;
}
.gallery-strip::-webkit-scrollbar{ display:none; }
.gallery-thumb{
  flex:none; width:240px; height:170px; border-radius:var(--r-m);
  background-size:cover; background-position:center;
  transition:transform .25s ease;
}
.gallery-thumb:hover{ transform:scale(1.03); }

/* ---- page hero with photo ---- */
.page-hero-photo{
  position:relative; padding:170px 0 80px; overflow:hidden;
  color:#fff;
}
.page-hero-photo-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
}
.page-hero-photo-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg, rgba(36,29,59,0.88) 0%, rgba(36,29,59,0.60) 100%);
}
.page-hero-photo > .container{ position:relative; z-index:1; }
.page-hero-photo h1{ color:#fff; font-size:clamp(32px,4.6vw,52px); margin-top:14px; max-width:700px; }
.page-hero-photo p{ color:rgba(255,255,255,0.78); max-width:560px; font-size:17px; margin-top:16px; }
.page-hero-photo .eyebrow{ background:rgba(255,255,255,0.15); color:#fff; }
.page-hero-photo .eyebrow .dot{ background:#fff; }

/* ---- about photo card ---- */
.about-photo{
  border-radius:var(--r-l); overflow:hidden;
  height:460px; background-size:cover; background-position:center;
  position:relative;
}
.about-photo-badge{
  position:absolute; bottom:24px; left:24px;
  background:#fff; border-radius:16px; padding:18px 22px;
  box-shadow:var(--shadow-soft);
}
[dir="rtl"] .about-photo-badge{ left:auto; right:24px; }
.about-photo-badge b{ display:block; font-family:var(--font-display); font-size:28px; color:var(--ink); line-height:1; }
.about-photo-badge span{ font-size:12.5px; font-weight:700; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em; }

/* ---- image credit bar ---- */
.photo-credit{
  font-size:11px; color:var(--ink-faint); margin-top:10px;
  font-weight:600; letter-spacing:.03em;
}
.photo-credit a{ color:inherit; text-decoration:underline; }

/* wizard / checklist button helpers (semantics set by .btn classes above) */
.wiz-next{}
.wiz-back{}
.checklist-send{}
