/* ============================================================
   VALENTINA TRAVEL — shared design system
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,500&display=swap');

:root{
  --navy: #0b0f1a;
  --navy-2: #10182b;
  --ink: #071019;
  --gold: #0b5fa8;
  --gold-2: #5aa6e0;
  --teal: #17c9c0;
  --violet: #6a5acd;
  --brand-blue: #0b5fa8;
  --brand-blue-dark: #073e6e;
  --cream: #f6efe4;
  --white: #ffffff;
  --muted: rgba(255,255,255,.72);
  --line: rgba(255,255,255,.16);
  --glass: rgba(255,255,255,.055);
  --glass-line: rgba(255,255,255,.14);
  --shadow: 0 20px 50px rgba(0,0,0,.35);
  --radius: 18px;
  --container: 1200px;
  --ease: cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family:'Poppins', 'Cairo', sans-serif;
  color: var(--white);
  -webkit-font-smoothing: antialiased;
  background: linear-gradient(160deg,
      #060a14 0%,
      #0b1730 16%,
      #0b3d66 34%,
      #0b5fa8 50%,
      #146b8c 62%,
      #135e5c 74%,
      #2c3a55 88%,
      #060a14 100%);
  background-size: 200% 200%;
  animation: bodyGradient 26s ease infinite;
  overflow-x: hidden;
}
@keyframes bodyGradient{
  0%{ background-position: 0% 0%; }
  50%{ background-position: 100% 100%; }
  100%{ background-position: 0% 0%; }
}
@media (prefers-reduced-motion: reduce){
  body{ animation: none; }
}
.ar{ font-family:'Cairo','Poppins',sans-serif; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color: var(--gold-2);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:12px;
  font-weight:600;
}
.eyebrow::before{
  content:"";
  width:26px; height:1px;
  background: var(--gold-2);
  display:inline-block;
}

/* ---------------- Nav ---------------- */
.site-header{
  position:absolute;
  top:0; left:0; right:0;
  z-index:50;
  padding: 30px 0 0;
}
.site-header.is-static{ position:relative; background: var(--navy); padding-bottom: 26px; }
.nav-row{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap: 20px;
}
.nav-links{
  display:flex;
  justify-content:center;
  gap: 30px;
  flex-wrap:wrap;
}
.nav-links a{
  position:relative;
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:5px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--white);
  opacity:.92;
  white-space:nowrap;
  transition:.2s opacity ease, .2s color ease;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:50%; bottom:-6px;
  width:0; height:2px;
  background: linear-gradient(90deg, var(--gold-2), var(--teal));
  transform: translateX(-50%);
  transition: width .35s var(--ease);
  border-radius:2px;
}
.nav-links a span.ar{
  font-size:11px;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  color: var(--muted);
}
.nav-links a span.ar::before{ content:"· "; }
.nav-links a:hover{ opacity:1; color: var(--gold-2); }
.nav-links a:hover::after{ width:100%; }
.nav-links a.is-active{ color: var(--gold-2); }
.nav-links a.is-active::after{ width:100%; }
.nav-links a.is-active span.ar{ color: var(--gold-2); }

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-align:right;
  justify-self:start;
  grid-column:1;
}
.nav-links{ grid-column:2; }
.brand-mark{ width:40px; height:40px; flex-shrink:0; }
.brand-name{ line-height:1.05; }
.brand-name b{
  display:block;
  font-size:17px;
  letter-spacing:.14em;
  font-weight:800;
}
.brand-name span{
  display:block;
  font-size:10px;
  letter-spacing:.28em;
  color: var(--gold-2);
  margin-top:2px;
}

.header-actions{
  justify-self:end;
  grid-column:3;
  display:flex;
  align-items:center;
  gap:10px;
}
.pill-btn{
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 20px;
  border-radius:999px;
  font-size:12.5px; font-weight:700; letter-spacing:.02em;
  white-space:nowrap;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .3s, color .3s;
}
.pill-outline{
  color:#fff;
  border:1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.05);
}
.pill-outline:hover{ background: rgba(255,255,255,.16); }
.pill-solid{
  color:#0b1220;
  background:#fff;
}
.pill-solid:hover{ transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.25); background: var(--gold-2); color:#fff; }
@media (max-width: 900px){
  .header-actions{ display:none; }
}

.nav-toggle{
  display:none;
  width:40px; height:34px;
  border:1px solid var(--line);
  border-radius:8px;
  background: rgba(255,255,255,.06);
  align-items:center; justify-content:center;
  cursor:pointer;
  justify-self:end;
  grid-column:3;
}
.nav-toggle{ transition: background .25s, border-color .25s; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; display:block; width:18px; height:2px; background:#fff; position:relative;
  transition: transform .3s var(--ease), opacity .2s, top .3s var(--ease), background .3s;
}
.nav-toggle span::before{ position:absolute; top:-6px; }
.nav-toggle span::after{ position:absolute; top:6px; }
.nav-toggle.is-active{ background: linear-gradient(120deg, var(--gold), var(--teal)); border-color: transparent; }
.nav-toggle.is-active span{ background: transparent; }
.nav-toggle.is-active span::before{ top:0; transform: rotate(45deg); background:#fff; }
.nav-toggle.is-active span::after{ top:0; transform: rotate(-45deg); background:#fff; }

@media (max-width: 900px){
  .nav-toggle{ display:flex; }
  .nav-links{
    position:fixed; inset:0 0 0 auto;
    width:min(78vw,320px);
    background: linear-gradient(180deg, #0b1730 0%, #0b3d66 55%, #0f2f3a 100%);
    flex-direction:column;
    gap:0;
    padding: 100px 30px 30px;
    transform:translateX(100%);
    transition: transform .45s var(--ease);
    z-index:60;
    box-shadow: -20px 0 60px rgba(0,0,0,.4);
  }
  .nav-links.is-open{ transform:translateX(0); }
  .nav-links a{ align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--line); width:100%;
    opacity:0; transform: translateX(18px);
    transition: opacity .4s var(--ease), transform .4s var(--ease);
  }
  .nav-links a::after{ display:none; }
  .nav-links.is-open a{ opacity:1; transform:translateX(0); }
  .nav-links.is-open a:nth-child(1){ transition-delay:.08s; }
  .nav-links.is-open a:nth-child(2){ transition-delay:.14s; }
  .nav-links.is-open a:nth-child(3){ transition-delay:.2s; }
  .nav-links.is-open a:nth-child(4){ transition-delay:.26s; }
  .nav-scrim{ position:fixed; inset:0; background:rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:.3s; z-index:55; }
  .nav-scrim.is-open{ opacity:1; pointer-events:auto; }

  .nav-pills-mobile{
    display:flex !important; flex-direction:column; gap:12px;
    margin-top:24px; width:100%;
    opacity:0; transform: translateX(18px);
    transition: opacity .4s var(--ease), transform .4s var(--ease);
  }
  .nav-links.is-open .nav-pills-mobile{ opacity:1; transform:translateX(0); transition-delay:.32s; }
  .nav-pills-mobile .pill-btn{ justify-content:center; width:100%; border-bottom:none; padding:14px 20px; opacity:1; transform:none; }
  .nav-links .nav-pills-mobile .pill-outline{ color:#fff; }
  .nav-links .nav-pills-mobile .pill-solid{ color:#0b1220; }
}
@media (min-width: 901px){
  .nav-pills-mobile{ display:none; }
}

/* ---------------- Hero ---------------- */
.hero{
  position:relative;
  min-height: 92vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  background: linear-gradient(180deg,#1c2b45 0%,#2c3f5c 30%,#7a6a5f 60%,#c99b6b 100%);
}
.hero-scene{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  z-index:1;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(6,10,20,.15) 0%, rgba(6,10,20,0) 28%, rgba(6,10,20,.15) 55%, rgba(6,10,20,.75) 88%, rgba(6,10,20,.98) 100%);
  z-index:2;
}
.hero-inner{
  position:relative; z-index:3;
  padding-top: 90px;
  text-align:center;
}
.hero-ar{
  font-family:'Cairo',sans-serif;
  font-size: clamp(24px, 4vw, 38px);
  font-weight:700;
  color: var(--white);
  text-shadow: 0 4px 24px rgba(0,0,0,.35);
  margin: 0 0 4px;
}
.hero-en{
  font-size: clamp(46px, 11vw, 128px);
  font-weight:800;
  letter-spacing:.06em;
  margin:0;
  text-shadow: 0 8px 40px rgba(0,0,0,.4);
}
.hero-ghost{
  color: rgba(255,255,255,.5);
  -webkit-text-stroke: 1px rgba(255,255,255,.85);
  text-shadow: none;
}
.hero-tagline{
  margin: 18px auto 0;
  max-width:560px;
  color: var(--cream);
  font-size:15px;
  letter-spacing:.05em;
}
.hero-tags{
  display:flex; justify-content:center; gap:14px; flex-wrap:wrap;
  margin-top:22px;
}
.hero-tags span{
  font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  padding:7px 16px; border:1px solid rgba(255,255,255,.4); border-radius:999px;
  color:#fff; background:rgba(0,0,0,.15);
}
.scroll-cue{
  position:relative; z-index:3;
  margin: 34px auto 0;
  width:26px; height:42px;
  border:2px solid rgba(255,255,255,.6);
  border-radius:20px;
}
.scroll-cue::before{
  content:""; position:absolute; top:8px; left:50%; transform:translateX(-50%);
  width:4px; height:8px; background:#fff; border-radius:2px;
  animation: scrollcue 1.6s infinite;
}
@keyframes scrollcue{ 0%{opacity:1; top:8px;} 100%{opacity:0; top:22px;} }

/* ---------------- Hero bottom cluster (stats + book-now + preview card) ---------------- */
.hero-bottom{
  position:absolute; left:0; right:0; bottom:36px; z-index:4;
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px;
}
.hero-stats{
  display:flex; gap:34px; margin-bottom:20px;
}
.hero-stat b{
  display:block; font-size: clamp(22px,3vw,32px); font-weight:800; color:#fff;
}
.hero-stat span{
  display:block; font-size:11.5px; color: rgba(255,255,255,.78); margin-top:4px; line-height:1.5;
}
.hero-book-row{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  max-width:560px;
}
.hero-book-btn{ flex-shrink:0; }
.hero-book-btn svg{ width:15px; height:15px; }
.book-tagline{
  font-size:13px; color: rgba(255,255,255,.82); line-height:1.7; max-width:320px; margin:0;
}

.hero-preview{
  position:relative;
  width:150px; flex-shrink:0;
}
.hero-preview-frame{
  position:relative;
  width:150px; height:104px;
  border-radius:16px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.5);
  box-shadow: 0 16px 40px rgba(0,0,0,.4);
}
.hero-preview-frame img{
  width:100%; height:100%; object-fit:cover;
  transition: opacity .6s var(--ease);
}
.hero-preview-pagination{
  position:absolute; top:8px; right:10px; z-index:2;
  font-size:11px; font-weight:700; color:#fff;
  background: rgba(0,0,0,.4);
  padding:2px 8px; border-radius:999px;
  letter-spacing:.03em;
}
.hero-preview-dots{
  display:flex; gap:6px; justify-content:center; margin-top:12px;
}
.hero-preview-dots span{
  width:6px; height:6px; border-radius:50%;
  background: rgba(255,255,255,.35);
  transition: background .3s, width .3s;
}
.hero-preview-dots span.is-active{
  background: linear-gradient(90deg, var(--gold-2), var(--teal));
  width:18px; border-radius:4px;
}

@media (max-width: 880px){
  .hero{ min-height:unset; justify-content:flex-start; padding-bottom:40px; }
  .hero-inner{ padding-top:110px; }
  .hero-bottom{
    position:static; flex-direction:column; align-items:flex-start;
    bottom:auto; margin-top:44px;
  }
  .hero-stats{ gap:22px; }
  .hero-preview{ align-self:center; margin-top:10px; }
}
@media (max-width: 560px){
  .hero-stats{ flex-wrap:wrap; row-gap:14px; }
}

/* ---------------- Page hero (interior pages) ---------------- */
.page-hero{
  position:relative;
  min-height: 46vh;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  background: linear-gradient(180deg,#1c2b45 0%, #40566f 55%, #8a7360 100%);
  overflow:hidden;
}
.page-hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(6,10,20,.2) 0%, rgba(6,10,20,.55) 70%, rgba(6,10,20,.98) 100%);
}
.page-hero .hero-scene{ z-index:1; }
.page-hero-inner{ position:relative; z-index:2; padding-top:60px; }
.page-hero-inner .hero-ar{ font-size: clamp(20px,3vw,26px); }
.page-hero-inner .hero-en{ font-size: clamp(34px,6vw,64px); }

/* ---------------- Sections ---------------- */
section{ padding: 90px 0; }
.section-head{ text-align:center; max-width:640px; margin:0 auto 56px; }
.section-head h2{
  font-size: clamp(28px,4vw,42px);
  margin: 10px 0 12px;
  font-weight:800;
}
.section-head p{ color: var(--muted); line-height:1.8; font-size:15px; }
.on-navy{ background: rgba(6,10,20,.18); --vt-divider-fill:#081728; }
.on-navy-2{ background: rgba(6,10,20,.32); backdrop-filter: blur(2px); --vt-divider-fill:#061321; }

/* seamless blend between the hero/page-hero and the section right after it */
.hero + section, .page-hero + section{ position:relative; }
.hero + section::before, .page-hero + section::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:260px;
  background: linear-gradient(180deg, rgba(6,10,20,.98) 0%, rgba(6,10,20,0) 100%);
  pointer-events:none;
  z-index:0;
}
.hero + section > .container, .page-hero + section > .container{ position:relative; z-index:1; }

/* ---------------- Destination cards ---------------- */
.cards-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}
@media (max-width: 980px){ .cards-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .cards-grid{ grid-template-columns: 1fr; } }

.dest-card{ text-align:center; }
.dest-meta{ margin-bottom:14px; }
.dest-meta .days{
  font-size:17px; font-weight:700; letter-spacing:.02em;
}
.dest-meta .days .ar{ font-weight:700; }
.stars{ color: var(--gold); font-size:13px; letter-spacing:3px; margin-top:4px; }

.dest-card{ transition: transform .45s var(--ease); }
.dest-thumb{
  position:relative;
  border-radius: var(--radius);
  overflow:hidden;
  aspect-ratio: 3/4.4;
  box-shadow: var(--shadow);
  background: var(--navy-2);
  isolation:isolate;
  transition: box-shadow .4s var(--ease);
}
.dest-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.dest-thumb::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.75) 100%);
  z-index:2;
}
.dest-card:hover{ transform: translateY(-10px); }
.dest-card:hover .dest-thumb{ box-shadow: 0 24px 60px rgba(11,95,168,.45), 0 8px 24px rgba(0,0,0,.4); }
.dest-card:hover .dest-thumb img{ transform: scale(1.08); }
.dest-label{
  position:absolute; left:0; right:0; bottom:44px; z-index:3;
  color:#fff; font-weight:700; font-size:15px; letter-spacing:.05em;
}
.dest-label .ar{ display:block; font-weight:400; font-size:12px; color: var(--cream); opacity:.85; margin-top:2px; }
.dest-actions{
  position:absolute; left:0; right:0; bottom:14px; z-index:3;
  display:flex; justify-content:center; gap:14px;
}
.icon-btn{
  width:32px; height:32px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.5);
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,0,0,.2);
  cursor:pointer;
  transition:.2s;
}
.icon-btn svg{ width:15px; height:15px; }
.icon-btn:hover{ background: var(--gold); border-color: var(--gold); }
.icon-btn.is-liked svg{ fill:#e0556a; stroke:#e0556a; }

/* ---------------- Buttons ---------------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding: 14px 30px;
  border-radius: 999px;
  font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid var(--gold);
  color: var(--white);
  background: transparent;
  cursor:pointer;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .3s, color .3s;
}
.btn:hover{ background: linear-gradient(120deg, var(--gold), var(--teal)); color:#fff; border-color:transparent; transform: translateY(-3px); box-shadow: 0 14px 30px rgba(11,95,168,.4); }
.btn-solid{
  background: linear-gradient(120deg, var(--gold) 0%, #1683c9 50%, var(--teal) 100%);
  background-size: 200% auto;
  color:#fff;
  border-color: transparent;
  box-shadow: 0 10px 26px rgba(11,95,168,.35);
}
.btn-solid:hover{ background-position: right center; transform: translateY(-3px); box-shadow: 0 16px 36px rgba(23,201,192,.4); color:#fff; }

.btn-glow{
  animation: btnPulse 2.6s ease-in-out infinite;
}
@keyframes btnPulse{
  0%,100%{ box-shadow: 0 10px 26px rgba(11,95,168,.35), 0 0 0 rgba(23,201,192,.0); }
  50%{ box-shadow: 0 10px 30px rgba(11,95,168,.45), 0 0 26px rgba(23,201,192,.45); }
}

/* ---------------- Feature / info grids ---------------- */
.feature-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:30px;
}
@media (max-width:820px){ .feature-grid{ grid-template-columns:1fr; } }
.feature{
  background: var(--glass);
  border:1px solid var(--glass-line);
  border-radius: var(--radius);
  padding: 34px 28px;
  backdrop-filter: blur(10px);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;
}
.feature:hover{ transform: translateY(-8px); border-color: rgba(90,166,224,.5); box-shadow: 0 20px 44px rgba(11,95,168,.25); }
.feature .icon-wrap{
  width:52px; height:52px; border-radius:14px;
  background: rgba(205,164,94,.15);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.feature .icon-wrap svg{ width:26px; height:26px; stroke: var(--gold); }
.feature h3{ margin:0 0 10px; font-size:18px; }
.feature p{ margin:0; color:var(--muted); font-size:14px; line-height:1.8; }

.stats-row{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  text-align:center;
}
@media (max-width:760px){ .stats-row{ grid-template-columns:repeat(2,1fr); } }
.stat b{ display:block; font-size: clamp(30px,4vw,44px); color: var(--gold-2); font-weight:800; }
.stat span{ display:block; font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin-top:6px; }

.two-col{
  display:grid; grid-template-columns: 1.05fr .95fr; gap:60px; align-items:center;
}
@media (max-width:880px){ .two-col{ grid-template-columns:1fr; } }
.two-col p{ color:var(--muted); line-height:1.9; font-size:15px; margin:0 0 16px; }
.art-frame{ border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); aspect-ratio: 4/3.3; }
.art-frame svg{ width:100%; height:100%; display:block; }

/* ---------------- Press ---------------- */
.press-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media (max-width:880px){ .press-grid{ grid-template-columns:1fr; } }
.press-card{
  background: var(--glass);
  border:1px solid var(--glass-line);
  border-radius: var(--radius);
  padding:28px;
  backdrop-filter: blur(10px);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;
}
.press-card:hover{ transform: translateY(-8px); border-color: rgba(90,166,224,.5); box-shadow: 0 20px 44px rgba(11,95,168,.25); }
.press-card .tag{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-2); }
.press-card h3{ margin:12px 0 10px; font-size:19px; }
.press-card p{ color:var(--muted); font-size:14px; line-height:1.8; margin:0 0 14px; }
.press-card a{ font-size:13px; font-weight:700; color:var(--gold-2); }
.press-note{
  margin-top:36px; text-align:center; color:var(--muted); font-size:13px;
  border-top:1px dashed var(--line); padding-top:26px;
}
.logo-strip{
  display:flex; flex-wrap:wrap; justify-content:center; gap:40px;
  opacity:.7;
}
.logo-strip span{ font-weight:800; letter-spacing:.12em; font-size:15px; color:var(--muted); }

/* ---------------- Contact ---------------- */
.contact-wrap{
  display:grid; grid-template-columns: .9fr 1.1fr; gap:50px;
}
@media (max-width:880px){ .contact-wrap{ grid-template-columns:1fr; } }
.contact-card{
  background: var(--glass);
  border:1px solid var(--glass-line);
  border-radius: var(--radius);
  padding: 26px 26px;
  display:flex; gap:16px; align-items:flex-start;
  margin-bottom:18px;
  backdrop-filter: blur(10px);
  transition: transform .35s var(--ease), border-color .35s;
}
.contact-card:hover{ transform: translateX(-4px); border-color: rgba(90,166,224,.5); }
.contact-card .icon-wrap{
  width:46px; height:46px; border-radius:12px; flex-shrink:0;
  background: rgba(205,164,94,.15);
  display:flex; align-items:center; justify-content:center;
}
.contact-card .icon-wrap svg{ width:22px; height:22px; stroke: var(--gold); }
.contact-card h4{ margin:0 0 6px; font-size:15px; letter-spacing:.04em; text-transform:uppercase; color:var(--gold-2); }
.contact-card a, .contact-card div.val{ display:block; font-size:15px; margin:2px 0; color:#fff; }
.contact-card a:hover{ color: var(--gold-2); }

form.contact-form{
  background: var(--glass);
  border:1px solid var(--glass-line);
  border-radius: var(--radius);
  padding: 34px;
  backdrop-filter: blur(10px);
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.field input, .field textarea, .field select{
  width:100%;
  background: rgba(255,255,255,.06);
  border:1px solid var(--line);
  border-radius:10px;
  padding:13px 14px;
  color:#fff;
  font-family:inherit;
  font-size:14px;
}
.field textarea{ resize:vertical; min-height:120px; }
.field input:focus, .field textarea:focus, .field select:focus{ outline:none; border-color: var(--gold); }
.form-note{ font-size:12px; color:var(--muted); margin-top:10px; }

.whatsapp-fab{
  position:fixed; right:22px; bottom:22px; z-index:80;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(0,0,0,.35);
}
.whatsapp-fab svg{ width:28px; height:28px; fill:#fff; }

/* ---------------- Footer ---------------- */
.site-footer{ background:#000; padding: 54px 0 30px; text-align:center; }
.footer-brand{ margin-bottom:22px; }
.footer-brand b{ font-size:20px; letter-spacing:.18em; }
.footer-brand span{ display:block; font-size:12px; color:var(--gold-2); letter-spacing:.3em; margin-top:4px; }
.footer-contact{
  display:flex; justify-content:center; gap:28px; flex-wrap:wrap;
  margin-bottom:26px; font-size:13px; color:var(--muted);
}
.footer-contact a:hover{ color:var(--gold-2); }
.social-row{ display:flex; justify-content:center; gap:16px; margin-bottom:24px; }
.social-row a{
  width:38px; height:38px; border-radius:50%;
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  transition:.2s;
}
.social-row a:hover{ background: var(--gold); border-color: var(--gold); }
.social-row svg{ width:16px; height:16px; fill:#fff; }
.copyright{ color: rgba(255,255,255,.45); font-size:12px; letter-spacing:.03em; }

/* ---------------- Scroll reveal ---------------- */
.reveal{
  opacity:0;
  transform: translateY(30px);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
  will-change: opacity, transform;
}
.reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------------- Floating decorative balloons ---------------- */
.float-balloon{
  position:absolute;
  z-index:3;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.35));
  animation: floatBalloon 7s ease-in-out infinite;
  pointer-events:none;
}
@keyframes floatBalloon{
  0%,100%{ transform: translateY(0) rotate(-2deg); }
  50%{ transform: translateY(-24px) rotate(2deg); }
}
@media (prefers-reduced-motion: reduce){
  .float-balloon{ animation: none; }
}

/* ---------------- Platform CTA ---------------- */
.platform-cta{
  display:inline-flex; align-items:center; gap:12px;
  padding:16px 34px;
  border-radius:999px;
  background: linear-gradient(120deg, var(--teal), var(--gold) 60%, var(--violet));
  background-size:200% auto;
  color:#fff; font-weight:800; letter-spacing:.06em; text-transform:uppercase; font-size:14px;
  box-shadow: 0 16px 40px rgba(11,95,168,.4);
  transition: background-position .5s, transform .3s var(--ease), box-shadow .3s var(--ease);
  animation: btnPulse 2.6s ease-in-out infinite;
}
.platform-cta:hover{ background-position: right center; transform: translateY(-3px) scale(1.02); }
.platform-cta svg{ width:18px; height:18px; }

/* utility */
.mt-0{margin-top:0;}
.center{ text-align:center; }

/* Dynamic website messages */
.site-alert{padding:14px 16px;border-radius:12px;margin-bottom:18px;font-size:14px;line-height:1.7;direction:rtl;text-align:right}
.site-alert.success{background:rgba(23,201,192,.13);border:1px solid rgba(23,201,192,.35);color:#bff9f4}
.site-alert.error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fecaca}

/* ============================================================
   VALENTINA CMS — dynamic page builder components
   ============================================================ */
.section-en-title{opacity:.55;font-weight:400;font-size:.72em}
.section-en-inline{opacity:.55;font-weight:500;font-size:.72em}
.section-transparent{background:transparent;--vt-divider-fill:#091a2b}
.section-dark{background:rgba(2,7,15,.72);--vt-divider-fill:#04101b}
.section-accent{background:linear-gradient(135deg,rgba(11,95,168,.3),rgba(23,201,192,.14),rgba(6,10,20,.3));--vt-divider-fill:#0b243d}
.cms-section{position:relative}
.cms-section>.container{position:relative;z-index:1}
.narrow-container{max-width:900px}
.center-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}
.cms-empty-public{border:1px dashed var(--line);border-radius:var(--radius);padding:38px;text-align:center;color:var(--muted);font-family:'Cairo',sans-serif;background:rgba(255,255,255,.025)}
.page-hero-copy{max-width:620px;margin:18px auto 0;color:rgba(255,255,255,.82);line-height:1.8}
.footer-intro{max-width:620px;margin:-4px auto 24px;color:var(--muted);line-height:1.8;font-size:14px}

/* Generic rich content */
.cms-rich-text{font-size:16px;line-height:2;color:rgba(255,255,255,.82);white-space:normal}
.cms-rich-text+ .btn{margin-top:28px}
.cms-copy h2{font-size:clamp(30px,4vw,44px);margin:14px 0 20px}
.cms-image-text.reverse .cms-copy{order:2}
.cms-image-text.reverse .cms-image-frame{order:1}
.cms-image-frame{min-height:360px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--glass-line);box-shadow:var(--shadow);background:rgba(255,255,255,.04)}
.cms-image-frame img{width:100%;height:100%;min-height:360px;object-fit:cover}
@media(max-width:880px){.cms-image-text.reverse .cms-copy,.cms-image-text.reverse .cms-image-frame{order:initial}.cms-image-frame,.cms-image-frame img{min-height:280px}}

/* Wide image banner */
.wide-image-banner{position:relative;min-height:360px;border-radius:28px;overflow:hidden;border:1px solid var(--glass-line);box-shadow:0 28px 70px rgba(0,0,0,.35)}
.wide-image-banner img{width:100%;height:100%;min-height:360px;object-fit:cover}
.wide-image-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(3,8,16,.68) 100%)}
.wide-image-overlay{position:absolute;left:0;right:0;bottom:0;padding:34px;z-index:2;display:flex;justify-content:center}

/* Offers / general cards */
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.offer-card{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.03));border:1px solid var(--glass-line);box-shadow:0 18px 45px rgba(0,0,0,.2);transition:transform .42s var(--ease),border-color .42s,box-shadow .42s}
.offer-card:hover{transform:translateY(-9px);border-color:rgba(90,166,224,.55);box-shadow:0 28px 62px rgba(11,95,168,.24)}
.offer-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:rgba(255,255,255,.04)}
.offer-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.offer-card:hover .offer-media img{transform:scale(1.06)}
.offer-badge{position:absolute;top:14px;right:14px;padding:7px 12px;border-radius:999px;background:linear-gradient(120deg,var(--gold),var(--teal));color:#fff;font-size:11px;font-weight:800;box-shadow:0 8px 22px rgba(0,0,0,.3)}
.offer-body{padding:24px}
.offer-kicker{display:block;color:var(--gold-2);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.offer-body h3{font-size:22px;margin:0 0 8px}
.offer-subtitle{margin:0 0 10px;color:#fff!important;font-weight:700}
.offer-body p{color:var(--muted);line-height:1.8;font-size:14px;margin:0 0 16px}
.offer-value{display:flex;align-items:baseline;gap:7px;margin:18px 0}.offer-value b{font-size:28px;color:#fff}.offer-value span{color:var(--gold-2);font-weight:700}
.text-link{display:inline-flex;color:var(--gold-2);font-weight:700;font-size:13px;margin-top:4px}
@media(max-width:980px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.offer-grid{grid-template-columns:1fr}}

/* Ticket price cards */
.ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ticket-card{position:relative;padding:26px;border-radius:22px;background:linear-gradient(145deg,rgba(16,38,65,.86),rgba(5,20,38,.92));border:1px solid rgba(255,255,255,.13);overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.22);transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
.ticket-card::before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(23,201,192,.15),transparent 68%);top:-80px;left:-60px;pointer-events:none}
.ticket-card:hover{transform:translateY(-8px);border-color:rgba(23,201,192,.45);box-shadow:0 26px 60px rgba(11,95,168,.25)}
.ticket-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:28px;position:relative;z-index:1}
.ticket-badge{padding:7px 11px;border-radius:999px;background:rgba(23,201,192,.12);border:1px solid rgba(23,201,192,.3);color:#a9fff8;font-size:11px;font-weight:700}
.ticket-airline{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.ticket-route{position:relative;z-index:1;border-bottom:1px dashed var(--line);padding-bottom:20px;margin-bottom:18px}
.ticket-plane{display:inline-flex;width:42px;height:42px;border-radius:13px;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold),var(--teal));margin-bottom:14px;box-shadow:0 10px 25px rgba(11,95,168,.3)}
.ticket-route h3{font-size:20px;margin:0 0 7px;letter-spacing:.02em}.ticket-route p{margin:0;color:var(--muted)}
.ticket-note{font-size:13px;line-height:1.7;color:var(--muted);min-height:44px}
.ticket-price{display:flex;align-items:baseline;gap:8px;margin:22px 0}.ticket-price span{font-size:12px;color:var(--muted)}.ticket-price b{font-size:34px;color:#fff}.ticket-price em{font-style:normal;color:var(--gold-2);font-weight:800}
.ticket-btn{width:100%;justify-content:center}
@media(max-width:980px){.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ticket-grid{grid-template-columns:1fr}}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gallery-card{position:relative;margin:0;overflow:hidden;border-radius:20px;aspect-ratio:4/3;border:1px solid var(--glass-line);box-shadow:0 16px 40px rgba(0,0,0,.25)}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,7,14,.86) 100%)}
.gallery-card figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;font-weight:700}
.gallery-card:hover img{transform:scale(1.07)}
@media(max-width:860px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.gallery-grid{grid-template-columns:1fr}}

/* Partner logos */
.partner-logo{width:auto;height:54px;max-width:170px;object-fit:contain;filter:grayscale(1) brightness(1.8);opacity:.7;transition:.3s}
.partner-logo:hover{filter:none;opacity:1}

/* Contact layout from CMS */
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}
.contact-section-head{text-align:right;margin:0 0 28px;max-width:none}
@media(max-width:880px){.contact-layout{grid-template-columns:1fr}}

/* CTA */
.cms-cta .section-head{margin-bottom:30px}

/* CMS hero adjustments */
.cms-page-hero .hero-scene{z-index:1}.cms-page-hero .page-hero-inner{z-index:3}
.cms-hero-home .hero-scene{filter:saturate(.95)}

/* Responsive polish */
@media(max-width:720px){
  section{padding:72px 0}
  .wide-image-banner,.wide-image-banner img{min-height:280px}
  .section-en-title{display:block;margin-top:5px}
}

/* ============================================================
   VALENTINA CMS V2 — protected flexible template system
   Keeps dynamic content inside the original visual language.
   ============================================================ */

/* ---------- Dynamic navigation: never wraps or breaks header ---------- */
.site-header .nav-row{
  grid-template-columns:minmax(220px,1fr) minmax(0,auto) minmax(290px,1fr);
  gap:clamp(14px,1.4vw,24px);
}
.site-header .nav-links{
  flex-wrap:nowrap;
  gap:clamp(14px,1.65vw,30px);
  min-width:0;
  align-items:center;
}
.site-header .nav-main-link{
  flex:0 0 auto;
}
.nav-more{
  position:relative;
  flex:0 0 auto;
}
.nav-more-toggle{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  position:relative;
  display:flex;
  align-items:baseline;
  gap:5px;
  font:inherit;
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--white);
  opacity:.92;
  white-space:nowrap;
  transition:.2s opacity ease,.2s color ease;
}
.nav-more-toggle .ar{
  font-size:11px;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  color:var(--muted);
}
.nav-more-toggle .ar::before{content:"· ";}
.nav-more-chevron{font-size:12px;margin-inline-start:2px;transition:transform .25s var(--ease)}
.nav-more:hover .nav-more-toggle,
.nav-more:focus-within .nav-more-toggle,
.nav-more-toggle.is-active{color:var(--gold-2);opacity:1}
.nav-more:hover .nav-more-chevron,
.nav-more:focus-within .nav-more-chevron{transform:rotate(180deg)}
.nav-more-menu{
  position:absolute;
  top:calc(100% + 20px);
  left:50%;
  width:min(310px,72vw);
  transform:translate(-50%,-8px);
  padding:10px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(160deg,rgba(13,31,53,.98),rgba(7,20,36,.98));
  box-shadow:0 26px 70px rgba(0,0,0,.46);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s var(--ease),visibility .22s;
  z-index:90;
}
.nav-more-menu::before{
  content:"";
  position:absolute;
  top:-7px;
  left:50%;
  width:14px;
  height:14px;
  transform:translateX(-50%) rotate(45deg);
  background:#0d1f35;
  border-left:1px solid rgba(255,255,255,.13);
  border-top:1px solid rgba(255,255,255,.13);
}
.nav-more:hover .nav-more-menu,
.nav-more:focus-within .nav-more-menu,
.nav-more.is-open .nav-more-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.nav-more-menu a{
  display:grid!important;
  gap:3px!important;
  width:100%;
  padding:13px 14px!important;
  border-radius:12px;
  opacity:1!important;
  transform:none!important;
  text-align:left;
  text-transform:none!important;
  letter-spacing:0!important;
  transition:background .2s,color .2s!important;
}
.nav-more-menu a::after{display:none!important}
.nav-more-menu a:hover,
.nav-more-menu a.is-active{background:rgba(255,255,255,.07);color:var(--gold-2)}
.nav-more-menu a strong{font-size:12px;letter-spacing:.08em}
.nav-more-menu a .ar{font-size:12px;color:var(--muted)}
.nav-more-menu a .ar::before{content:""}
.nav-overflow-mobile{display:none}

@media(max-width:1320px){
  .site-header .nav-row{grid-template-columns:minmax(205px,.9fr) minmax(0,auto) minmax(270px,.9fr)}
  .site-header .nav-links{gap:16px}
  .site-header .header-actions{gap:7px}
  .site-header .pill-btn{padding:9px 15px;font-size:11.5px}
  .brand-name b{font-size:15px}
  .brand-name span{font-size:9px;letter-spacing:.22em}
}

/* Move to the original mobile drawer before the header becomes crowded. */
@media(max-width:1260px){
  .site-header .nav-row{grid-template-columns:1fr auto;display:grid}
  .site-header .brand{grid-column:1}
  .site-header .header-actions{display:none}
  .site-header .nav-toggle{display:flex;grid-column:2}
  .site-header .nav-links{
    position:fixed;
    inset:0 0 0 auto;
    width:min(84vw,360px);
    height:100dvh;
    overflow-y:auto;
    background:linear-gradient(180deg,#0b1730 0%,#0b3d66 55%,#0f2f3a 100%);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:100px 30px 34px;
    transform:translateX(100%);
    transition:transform .45s var(--ease);
    z-index:60;
    box-shadow:-20px 0 60px rgba(0,0,0,.4);
  }
  .site-header .nav-links.is-open{transform:translateX(0)}
  .site-header .nav-links>.nav-main-link,
  .site-header .nav-overflow-mobile>a{
    align-items:flex-start;
    padding:14px 0;
    border-bottom:1px solid var(--line);
    width:100%;
    opacity:0;
    transform:translateX(18px);
    transition:opacity .4s var(--ease),transform .4s var(--ease),color .2s;
  }
  .site-header .nav-links.is-open>.nav-main-link,
  .site-header .nav-links.is-open .nav-overflow-mobile>a{
    opacity:1;
    transform:translateX(0);
  }
  .site-header .nav-links a::after{display:none}
  .nav-more{display:none}
  .nav-overflow-mobile{display:block;width:100%}
  .site-header .nav-pills-mobile{
    display:flex!important;
    flex-direction:column;
    gap:12px;
    margin-top:24px;
    width:100%;
    opacity:0;
    transform:translateX(18px);
    transition:opacity .4s var(--ease),transform .4s var(--ease);
  }
  .site-header .nav-links.is-open .nav-pills-mobile{opacity:1;transform:translateX(0);transition-delay:.12s}
  .site-header .nav-pills-mobile .pill-btn{justify-content:center;width:100%;border-bottom:none;padding:14px 20px;opacity:1;transform:none}
}

/* ---------- Interior page hero: content can no longer destroy the image ---------- */
.vt-page-intro{
  position:relative;
  background:var(--navy);
  overflow:hidden;
}
.vt-page-intro__stage{
  position:relative;
  height:clamp(430px,58vw,640px);
  min-height:430px;
  overflow:hidden;
  background:linear-gradient(145deg,#152a46,#6b6a69 58%,#c69463);
}
.vt-page-intro--compact .vt-page-intro__stage{
  height:clamp(330px,40vw,460px);
  min-height:330px;
}
.vt-page-intro__media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
  transform:scale(1.001);
}
.vt-image-pos-center{object-position:center}
.vt-image-pos-top{object-position:center top}
.vt-image-pos-bottom{object-position:center bottom}
.vt-image-pos-left{object-position:left center}
.vt-image-pos-right{object-position:right center}
.vt-page-intro__veil{
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(180deg,rgba(5,10,20,.18) 0%,rgba(5,10,20,.28) 40%,rgba(5,10,20,.88) 100%);
}
.vt-page-intro--overlay-soft .vt-page-intro__veil{background:linear-gradient(180deg,rgba(5,10,20,.08),rgba(5,10,20,.25) 55%,rgba(5,10,20,.76))}
.vt-page-intro--overlay-strong .vt-page-intro__veil{background:linear-gradient(180deg,rgba(5,10,20,.34),rgba(5,10,20,.58) 55%,rgba(5,10,20,.96))}
.vt-page-intro__container{
  position:relative;
  z-index:3;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.vt-page-intro__content{
  max-width:min(840px,92%);
  text-align:center;
  padding:36px 0 24px;
  text-shadow:0 5px 30px rgba(0,0,0,.42);
}
.vt-page-intro__ar{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(20px,2.4vw,30px);
  font-weight:700;
}
.vt-page-intro__en{
  margin:0;
  color:#fff;
  font-size:clamp(44px,7vw,92px);
  line-height:.95;
  letter-spacing:.015em;
  font-weight:800;
  text-transform:none;
  overflow-wrap:anywhere;
}
.vt-page-intro--align-right .vt-page-intro__container{justify-content:flex-end}
.vt-page-intro--align-right .vt-page-intro__content{text-align:right;direction:rtl}
.vt-page-intro--align-left .vt-page-intro__container{justify-content:flex-start}
.vt-page-intro--align-left .vt-page-intro__content{text-align:left}
.vt-page-intro--split .vt-page-intro__veil{
  background:linear-gradient(90deg,rgba(5,10,20,.9) 0%,rgba(5,10,20,.75) 42%,rgba(5,10,20,.18) 76%,rgba(5,10,20,.12) 100%);
}
.vt-page-intro--split .vt-page-intro__container{justify-content:flex-start}
.vt-page-intro--split .vt-page-intro__content{
  width:min(620px,54vw);
  text-align:left;
  padding:46px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(7,20,36,.68),rgba(7,20,36,.24));
  backdrop-filter:blur(7px);
}
.vt-page-intro__after{
  position:relative;
  z-index:4;
  margin-top:-54px;
  padding:0 0 48px;
}
.vt-page-intro__description{
  max-width:980px;
  margin:0 auto;
  padding:28px 34px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg,rgba(16,38,65,.96),rgba(7,21,38,.96));
  color:rgba(255,255,255,.84);
  box-shadow:0 24px 70px rgba(0,0,0,.36);
  font-size:clamp(14px,1.3vw,17px);
  line-height:2;
  direction:rtl;
  text-align:right;
  overflow-wrap:anywhere;
  white-space:normal;
}

/* ---------- CMS section safety and layout presets ---------- */
.vt-cms-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.vt-cms-section *{box-sizing:border-box}
.vt-cms-section h1,
.vt-cms-section h2,
.vt-cms-section h3,
.vt-cms-section p,
.vt-cms-section .cms-rich-text{
  overflow-wrap:anywhere;
  word-break:normal;
}
.vt-space-compact{padding:58px 0}
.vt-space-normal{padding:90px 0}
.vt-space-airy{padding:124px 0}
.vt-width-narrow{max-width:940px}
.vt-width-standard{max-width:var(--container)}
.vt-width-wide{max-width:1500px}
.vt-align-center .section-head,
.vt-align-center .cms-copy{text-align:center}
.vt-align-right .section-head,
.vt-align-right .cms-copy{text-align:right;direction:rtl}
.vt-align-left .section-head,
.vt-align-left .cms-copy{text-align:left;direction:ltr}
.vt-cms-section .section-head{
  max-width:760px;
}
.vt-cms-section .section-head p{
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
  white-space:normal;
}
.vt-cms-section[data-section-type="rich_text"] .cms-rich-text{
  position:relative;
  max-width:920px;
  margin:0 auto;
  padding:clamp(24px,4vw,46px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:0 20px 60px rgba(0,0,0,.18);
  font-size:clamp(15px,1.4vw,18px);
  line-height:2.05;
  direction:rtl;
  text-align:right;
}
.vt-cms-section[data-section-type="image_text"] .cms-copy{
  min-width:0;
}
.vt-cms-section[data-section-type="image_text"] .cms-rich-text{
  direction:rtl;
  text-align:right;
}
.cms-image-frame img,
.wide-image-banner img,
.offer-media img,
.gallery-card img{
  object-position:center;
}
.cms-image-frame img.vt-image-pos-top,
.wide-image-banner img.vt-image-pos-top{object-position:center top}
.cms-image-frame img.vt-image-pos-bottom,
.wide-image-banner img.vt-image-pos-bottom{object-position:center bottom}
.cms-image-frame img.vt-image-pos-left,
.wide-image-banner img.vt-image-pos-left{object-position:left center}
.cms-image-frame img.vt-image-pos-right,
.wide-image-banner img.vt-image-pos-right{object-position:right center}

/* Strong card resilience for long CMS content. */
.offer-card,.ticket-card,.press-card,.feature,.gallery-card{min-width:0}
.offer-body h3,.ticket-route h3,.press-card h3{overflow-wrap:anywhere}
.offer-body p,.ticket-note,.feature p,.press-card p{overflow-wrap:anywhere}

@media(max-width:760px){
  .vt-page-intro__stage{height:clamp(360px,92vw,500px);min-height:360px}
  .vt-page-intro--compact .vt-page-intro__stage{height:330px;min-height:330px}
  .vt-page-intro__content{max-width:100%;padding-top:24px}
  .vt-page-intro__en{font-size:clamp(38px,13vw,66px)}
  .vt-page-intro--split .vt-page-intro__veil{background:linear-gradient(180deg,rgba(5,10,20,.2),rgba(5,10,20,.86))}
  .vt-page-intro--split .vt-page-intro__container{justify-content:center;align-items:flex-end}
  .vt-page-intro--split .vt-page-intro__content{width:100%;text-align:center;padding:28px;background:transparent;border:0;backdrop-filter:none}
  .vt-page-intro__after{margin-top:-28px;padding-bottom:34px}
  .vt-page-intro__description{padding:22px 20px;border-radius:18px;font-size:14px}
  .vt-space-compact{padding:48px 0}
  .vt-space-normal{padding:72px 0}
  .vt-space-airy{padding:88px 0}
}

/* Safe hover bridge between MORE trigger and its dropdown. */
@media(min-width:1261px){
  .nav-more::after{content:"";position:absolute;top:100%;left:-18px;right:-18px;height:24px}
}


/* ============================================================
   VALENTINA FLEX CMS V3 — live-safe creative system
   ============================================================ */

/* Wider, safer desktop navigation. It switches to the drawer before any overlap. */
@media(min-width:1261px){
  .site-header .nav-row{
    width:calc(100% - 34px);
    max-width:1760px;
    padding-inline:14px;
    grid-template-columns:minmax(190px,.78fr) minmax(620px,2fr) minmax(245px,.82fr);
    gap:clamp(14px,1.25vw,24px);
  }
  .site-header .nav-links{
    width:100%;min-width:0;flex-wrap:nowrap;
    gap:clamp(13px,1.35vw,28px);
  }
  .site-header .nav-main-link,.site-header .nav-more-toggle{
    flex:0 0 auto;font-size:clamp(11px,.74vw,13px);
  }
  .site-header .header-actions{gap:8px;min-width:0}
  .site-header .pill-btn{padding:10px clamp(13px,1vw,19px);font-size:clamp(11px,.72vw,12.5px)}
  .site-header .brand{min-width:0}
  .site-header .brand-name{min-width:0}
}
@media(min-width:1261px) and (max-width:1450px){
  .site-header .nav-row{grid-template-columns:minmax(170px,.7fr) minmax(570px,2fr) minmax(225px,.74fr)}
  .site-header .brand-name b{font-size:14px}
  .site-header .brand-name span{font-size:8px;letter-spacing:.18em}
  .site-header .brand-mark{width:36px;height:36px}
}

/* Grid controls from the CMS. */
.vt-card-gap-compact{gap:14px!important}
.vt-card-gap-normal{gap:24px!important}
.vt-card-gap-airy{gap:38px!important}
.vt-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.vt-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.vt-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:1080px){.vt-grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.vt-grid-cols-2,.vt-grid-cols-3,.vt-grid-cols-4{grid-template-columns:1fr!important}.vt-card-gap-airy{gap:24px!important}}

/* Creative section presets: constrained to the existing Valentina identity. */
.vt-cms-section{--section-accent:var(--teal)}
.vt-cms-section::before,.vt-cms-section::after{pointer-events:none}
.vt-section-style-glass>.vt-cms-container,
.vt-section-style-glass>.container{
  border:1px solid rgba(255,255,255,.12);
  border-radius:32px;
  padding-top:clamp(30px,5vw,62px);
  padding-bottom:clamp(30px,5vw,62px);
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:0 28px 80px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
}
.vt-section-style-editorial>.vt-cms-container,
.vt-section-style-editorial>.container{border-inline-start:3px solid var(--gold-2);padding-inline-start:clamp(24px,4vw,58px)}
.vt-section-style-spotlight{background-image:radial-gradient(circle at 50% 20%,rgba(23,201,192,.16),transparent 42%)}
.vt-section-style-split{background-image:linear-gradient(105deg,rgba(11,95,168,.18) 0 48%,rgba(23,201,192,.08) 48% 100%)}

.vt-decoration-glow::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-140px;top:-180px;background:radial-gradient(circle,rgba(23,201,192,.22),transparent 68%);filter:blur(3px);z-index:-1}
.vt-decoration-grid::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(180deg,transparent,black 18%,black 82%,transparent);z-index:-1}
.vt-decoration-lines::before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(115deg,transparent 0 48px,rgba(90,166,224,.06) 49px 50px);transform:rotate(-4deg);z-index:-1}
.vt-decoration-orbs::before,.vt-decoration-orbs::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);z-index:-1}
.vt-decoration-orbs::before{width:260px;height:260px;left:-90px;top:12%;background:radial-gradient(circle,rgba(11,95,168,.28),transparent 70%)}
.vt-decoration-orbs::after{width:220px;height:220px;right:-70px;bottom:8%;background:radial-gradient(circle,rgba(23,201,192,.22),transparent 70%)}

.vt-heading-oversized .section-head{max-width:980px}.vt-heading-oversized .section-head h2{font-size:clamp(42px,6vw,86px);line-height:1.02;letter-spacing:-.03em}
.vt-heading-boxed .section-head{padding:24px 28px;border-radius:22px;border:1px solid rgba(255,255,255,.11);background:rgba(5,18,32,.38);backdrop-filter:blur(8px)}
.vt-heading-minimal .section-head .eyebrow{opacity:.75}.vt-heading-minimal .section-head h2{font-weight:500;letter-spacing:.01em}.vt-heading-minimal .section-head p{max-width:560px}

/* Universal item/card media system. Every CMS card may use an image. */
.vt-item-card{position:relative;min-width:0;isolation:isolate}
.vt-item-card img{display:block;max-width:100%}
.vt-item-card .offer-media,
.vt-item-card .ticket-media,
.vt-item-card .feature-media,
.vt-item-card .stat-media{overflow:hidden;background:linear-gradient(145deg,#18344f,#8b6754)}
.vt-item-card .offer-media img,
.vt-item-card .ticket-media img,
.vt-item-card .feature-media img,
.vt-item-card .stat-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.vt-card-ratio-wide .offer-media,.vt-card-ratio-wide .ticket-media,.vt-card-ratio-wide .feature-media,.vt-card-ratio-wide .stat-media{aspect-ratio:16/7}
.vt-card-ratio-landscape .offer-media,.vt-card-ratio-landscape .ticket-media,.vt-card-ratio-landscape .feature-media,.vt-card-ratio-landscape .stat-media{aspect-ratio:16/10}
.vt-card-ratio-square .offer-media,.vt-card-ratio-square .ticket-media,.vt-card-ratio-square .feature-media,.vt-card-ratio-square .stat-media{aspect-ratio:1/1}
.vt-card-ratio-portrait .offer-media,.vt-card-ratio-portrait .ticket-media,.vt-card-ratio-portrait .feature-media,.vt-card-ratio-portrait .stat-media{aspect-ratio:4/5}

.ticket-media{position:relative;margin:-26px -26px 24px;z-index:2}
.ticket-media-badge{position:absolute;top:14px;right:14px;z-index:2;padding:7px 12px;border-radius:999px;background:linear-gradient(120deg,var(--gold),var(--teal));font-size:11px;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.32)}
.feature{overflow:hidden;padding:0}.feature-content{padding:28px}.feature-media{width:100%}
.stat{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 18px 45px rgba(0,0,0,.16)}
.stat-content{padding:24px;text-align:center}.stat-media{width:100%}
.partner-logo-card{display:grid;place-items:center;min-width:170px;min-height:96px;padding:18px;border:1px solid transparent;border-radius:18px}
.partner-logo-card .partner-logo{object-fit:contain!important}

/* Safe creative card styles. */
.vt-card-style-glass{background:linear-gradient(155deg,rgba(255,255,255,.085),rgba(255,255,255,.025))!important;border-color:rgba(255,255,255,.14)!important;backdrop-filter:blur(12px)}
.vt-card-style-editorial{background:linear-gradient(155deg,rgba(7,20,38,.98),rgba(14,42,66,.92))!important;border-color:rgba(90,166,224,.28)!important;box-shadow:inset 4px 0 0 rgba(90,166,224,.55),0 22px 55px rgba(0,0,0,.22)!important}
.vt-card-style-photo{background:linear-gradient(180deg,rgba(8,22,38,.7),rgba(5,15,28,.98))!important;border-color:rgba(255,255,255,.16)!important}
.vt-card-style-photo .offer-media,.vt-card-style-photo .ticket-media,.vt-card-style-photo .feature-media,.vt-card-style-photo .stat-media{filter:saturate(1.08) contrast(1.03)}
.vt-card-style-minimal{background:transparent!important;border-color:rgba(255,255,255,.13)!important;box-shadow:none!important}
.vt-card-style-spotlight{background:radial-gradient(circle at 18% 10%,rgba(23,201,192,.18),transparent 34%),linear-gradient(155deg,rgba(11,34,58,.94),rgba(5,17,31,.98))!important;border-color:rgba(23,201,192,.25)!important}

/* Hover choices do not affect layout flow. */
.vt-hover-lift{transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}.vt-hover-lift:hover{transform:translateY(-8px)!important}
.vt-hover-zoom:hover img{transform:scale(1.075)!important}
.vt-hover-glow{transition:box-shadow .4s,border-color .4s}.vt-hover-glow:hover{border-color:rgba(23,201,192,.55)!important;box-shadow:0 28px 70px rgba(23,201,192,.16)!important}
.vt-hover-none:hover{transform:none!important}

/* Alignment options. */
.vt-item-align-center .offer-body,.vt-item-align-center .feature-content,.vt-item-align-center .stat-content,.vt-item-align-center .ticket-route,.vt-item-align-center .ticket-note{text-align:center!important;direction:rtl}
.vt-item-align-center .offer-value,.vt-item-align-center .ticket-price{justify-content:center}
.vt-item-align-left .offer-body,.vt-item-align-left .feature-content,.vt-item-align-left .stat-content,.vt-item-align-left .ticket-route,.vt-item-align-left .ticket-note{text-align:left!important;direction:ltr}
.vt-item-align-right .offer-body,.vt-item-align-right .feature-content,.vt-item-align-right .stat-content,.vt-item-align-right .ticket-route,.vt-item-align-right .ticket-note{text-align:right!important;direction:rtl}

/* Badge styles. */
.vt-badge-corner .offer-badge,.vt-badge-corner .ticket-media-badge{top:0;right:0;border-radius:0 0 0 16px}
.vt-badge-line .offer-badge,.vt-badge-line .ticket-media-badge,.vt-badge-line .ticket-badge{background:rgba(5,17,31,.72);border:0;border-bottom:2px solid var(--teal);border-radius:4px;color:#fff;box-shadow:none}

@media(max-width:760px){
  .vt-section-style-glass>.vt-cms-container,.vt-section-style-glass>.container{border-radius:22px;padding-left:20px;padding-right:20px}
  .vt-section-style-editorial>.vt-cms-container,.vt-section-style-editorial>.container{padding-inline-start:22px}
  .vt-heading-oversized .section-head h2{font-size:clamp(36px,12vw,58px)}
  .ticket-media{margin:-26px -26px 20px}
}

/* ============================================================
   VALENTINA LIVE CMS V4 — professional studio + resilient UI
   ============================================================ */

/* ---------- Free image focal point + zoom ---------- */
.vt-positioned-image{
  object-fit:cover;
  transform:scale(var(--vt-image-scale,1))!important;
  transform-origin:center center;
  will-change:transform;
  transition:transform .7s var(--ease),filter .45s ease!important;
}
.hero-media,.hero-slide,.hero-visual,.vt-page-intro__stage,.cms-image-frame,.wide-image-banner,
.offer-media,.ticket-media,.feature-media,.stat-media,.gallery-card,.vt-latest-offer-media{
  overflow:hidden;
}
.vt-hover-zoom:hover .vt-positioned-image,
.offer-card.vt-hover-zoom:hover .vt-positioned-image,
.ticket-card.vt-hover-zoom:hover .vt-positioned-image,
.feature.vt-hover-zoom:hover .vt-positioned-image,
.stat.vt-hover-zoom:hover .vt-positioned-image,
.gallery-card.vt-hover-zoom:hover .vt-positioned-image,
.vt-latest-offer-card.vt-hover-zoom:hover .vt-positioned-image{
  transform:scale(var(--vt-image-hover-scale,1.075))!important;
}
.vt-page-intro__media.vt-positioned-image,.hero-scene.vt-positioned-image{
  width:100%;height:100%;object-fit:cover;
}



/* ---------- SVG section dividers ---------- */
.vt-section-divider{
  position:absolute;
  left:0;
  width:100%;
  line-height:0;
  color:var(--vt-divider-fill,#081728);
  z-index:2;
  pointer-events:none;
  opacity:.98;
}
.vt-section-divider svg{display:block;width:100%;height:100%;fill:currentColor;filter:drop-shadow(0 6px 12px rgba(0,0,0,.05))}
.vt-section-divider--top{top:-1px}
.vt-section-divider--bottom{bottom:-1px}
.vt-section-divider--bottom svg{transform:rotate(180deg);transform-origin:center}
.vt-section-divider--clouds_soft{height:58px}
.vt-section-divider--clouds_classic{height:76px}
.vt-section-divider--clouds_luxe{height:94px}
@media(max-width:760px){
  .vt-section-divider--clouds_soft{height:40px}
  .vt-section-divider--clouds_classic{height:54px}
  .vt-section-divider--clouds_luxe{height:68px}
}

/* ---------- Studio Pro section foundation ---------- */
.vt-cms-section{
  position:relative;
  isolation:isolate;
  overflow:clip;
  --vt-pro-accent:var(--teal);
  --vt-pro-gold:var(--gold-2);
}
.vt-cms-section>.vt-cms-container{position:relative;z-index:3}
.vt-cms-section.vt-section-depth-elevated>.vt-cms-container{
  border:1px solid rgba(255,255,255,.1);
  border-radius:30px;
  padding-inline:clamp(22px,4vw,54px);
  padding-top:clamp(28px,4vw,52px);
  padding-bottom:clamp(28px,4vw,52px);
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  box-shadow:0 34px 90px rgba(0,0,0,.22);
}
.vt-cms-section.vt-section-depth-floating>.vt-cms-container{
  border:1px solid rgba(255,255,255,.14);
  border-radius:34px;
  padding-inline:clamp(24px,4.5vw,64px);
  padding-top:clamp(34px,5vw,68px);
  padding-bottom:clamp(34px,5vw,68px);
  background:linear-gradient(155deg,rgba(16,41,68,.88),rgba(5,18,33,.78));
  box-shadow:0 42px 110px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(15px);
}
.vt-edge-top-curve{border-radius:clamp(34px,6vw,92px) clamp(34px,6vw,92px) 0 0}
.vt-edge-bottom-curve{border-radius:0 0 clamp(34px,6vw,92px) clamp(34px,6vw,92px)}
.vt-edge-both-curve{border-radius:clamp(34px,6vw,92px)}

/* Signature — strongest default, understated luxury. */
.vt-section-style-signature{
  background:
    radial-gradient(circle at 83% 12%,rgba(23,201,192,.12),transparent 30%),
    radial-gradient(circle at 12% 88%,rgba(213,170,104,.10),transparent 28%),
    linear-gradient(180deg,#08182a 0%,#0a1e33 48%,#071726 100%);
}
.vt-section-style-signature::before{
  content:"";position:absolute;z-index:0;inset:18px clamp(12px,2.5vw,42px);
  border:1px solid rgba(255,255,255,.055);border-radius:34px;
}
.vt-section-style-signature::after{
  content:"";position:absolute;z-index:1;top:0;left:50%;width:min(520px,70vw);height:1px;
  transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--gold-2),var(--teal),transparent);opacity:.7;
}

/* Glass Luxe — premium glass, not a generic transparent box. */
.vt-section-style-glass_luxe{
  background:
    linear-gradient(130deg,rgba(12,42,68,.9),rgba(5,21,38,.98)),
    #071829;
}
.vt-section-style-glass_luxe>.vt-cms-container{
  border:1px solid rgba(255,255,255,.14);border-radius:38px;
  padding-inline:clamp(24px,5vw,70px);padding-top:clamp(38px,5vw,72px);padding-bottom:clamp(38px,5vw,72px);
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.018));
  box-shadow:0 36px 100px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter:blur(18px) saturate(1.1);
}
.vt-section-style-glass_luxe::before{
  content:"";position:absolute;width:380px;height:380px;right:-120px;top:-150px;border-radius:50%;
  background:radial-gradient(circle,rgba(23,201,192,.24),transparent 68%);filter:blur(5px);
}

/* Editorial Luxe — clean magazine rhythm. */
.vt-section-style-editorial_luxe{
  background:linear-gradient(115deg,#061525 0 56%,#0b233a 56% 100%);
}
.vt-section-style-editorial_luxe>.vt-cms-container::before{
  content:"VALENTINA JOURNAL";display:block;margin-bottom:28px;padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.42);
  font-size:10px;font-weight:800;letter-spacing:.28em;direction:ltr;text-align:left;
}
.vt-section-style-editorial_luxe .section-head{position:relative;padding-inline-start:clamp(18px,3vw,38px)}
.vt-section-style-editorial_luxe .section-head::before{
  content:"";position:absolute;inset-inline-start:0;top:4px;bottom:4px;width:3px;border-radius:3px;
  background:linear-gradient(var(--gold-2),var(--teal));
}

/* Cinematic — deep travel photography mood. */
.vt-section-style-cinematic{
  background:
    radial-gradient(ellipse at 50% -10%,rgba(90,166,224,.20),transparent 45%),
    linear-gradient(180deg,#030914,#07182a 54%,#020811);
}
.vt-section-style-cinematic::before{
  content:"";position:absolute;inset:0;z-index:0;opacity:.32;
  background:linear-gradient(120deg,transparent 0 38%,rgba(255,255,255,.025) 38% 39%,transparent 39% 100%);
  background-size:80px 80px;
}
.vt-section-style-cinematic .section-head h2{font-size:clamp(42px,6.4vw,88px);letter-spacing:-.04em;line-height:.98}

/* Minimal Air — generous space and precise lines. */
.vt-section-style-minimal_air{
  background:linear-gradient(180deg,#0b1a2b,#091829);
}
.vt-section-style-minimal_air::before{
  content:"";position:absolute;left:clamp(20px,6vw,100px);right:clamp(20px,6vw,100px);top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
}
.vt-section-style-minimal_air .section-head{max-width:760px}
.vt-section-style-minimal_air .section-head p{max-width:620px}

/* Ocean Glow — uses the existing teal identity without becoming neon. */
.vt-section-style-ocean_glow{
  background:
    radial-gradient(circle at 20% 20%,rgba(23,201,192,.20),transparent 32%),
    radial-gradient(circle at 86% 82%,rgba(11,95,168,.28),transparent 34%),
    linear-gradient(145deg,#071729,#0a2538 58%,#071624);
}
.vt-section-style-ocean_glow::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(115deg,transparent 0 52%,rgba(255,255,255,.035) 52% 53%,transparent 53%);opacity:.7;
}

/* Split Journey — structured two-tone travel composition. */
.vt-section-style-split_journey{
  background:linear-gradient(108deg,#071829 0 54%,#0b3044 54% 100%);
}
.vt-section-style-split_journey::before{
  content:"";position:absolute;left:54%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(213,170,104,.55),transparent);
}

/* Decorations are layers only; they never alter layout flow. */
.vt-decoration-halo::before{
  content:"";position:absolute;z-index:0;width:min(680px,80vw);height:min(680px,80vw);left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(23,201,192,.13),rgba(11,95,168,.07) 38%,transparent 68%);
}
.vt-decoration-mesh::after{
  content:"";position:absolute;z-index:0;inset:0;opacity:.17;
  background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);
}
.vt-decoration-waves::after{
  content:"";position:absolute;z-index:0;left:-10%;right:-10%;bottom:-80px;height:220px;opacity:.22;
  background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 28px,rgba(23,201,192,.28) 29px 30px,transparent 31px 58px);
}
.vt-decoration-grain::after{
  content:"";position:absolute;z-index:0;inset:0;opacity:.08;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.7) .55px,transparent .65px);background-size:5px 5px;
}
.vt-decoration-stars::after{
  content:"";position:absolute;z-index:0;inset:0;opacity:.24;
  background-image:radial-gradient(circle at 10% 20%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 82% 28%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 66% 78%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 28% 70%,#fff 0 1px,transparent 1.5px);
}

/* Professional title treatments. */
.vt-heading-signature .section-head .eyebrow{color:var(--gold-2);letter-spacing:.25em}
.vt-heading-signature .section-head h2{font-size:clamp(38px,5vw,70px);line-height:1.06;letter-spacing:-.025em}
.vt-heading-signature .section-head h2::after{content:"";display:block;width:72px;height:2px;margin-top:18px;background:linear-gradient(90deg,var(--gold-2),var(--teal));border-radius:2px}
.vt-align-center.vt-heading-signature .section-head h2::after{margin-inline:auto}
.vt-heading-display .section-head h2{font-size:clamp(48px,7.5vw,104px);line-height:.9;letter-spacing:-.055em;text-wrap:balance}
.vt-heading-display .section-en-title{opacity:.36;font-weight:400}
.vt-heading-editorial .section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:clamp(22px,5vw,80px);align-items:end;max-width:none}
.vt-heading-editorial .section-head h2{margin:0;font-size:clamp(42px,5.5vw,78px);line-height:1}
.vt-heading-editorial .section-head p{margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}
.vt-heading-framed .section-head{padding:clamp(24px,4vw,48px);border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}

/* ---------- Latest 3 offers: curated home-page bento ---------- */
.vt-latest-offers{background:linear-gradient(180deg,#071625,#0a2034 55%,#071624)}
.vt-latest-offers-grid{
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);grid-template-rows:repeat(2,minmax(230px,1fr));
  gap:18px;min-height:620px;
}
.vt-latest-offer-card{position:relative;min-width:0;overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.12);background:#0a1b2d;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.vt-latest-offer-card.is-featured{grid-row:1/3}
.vt-latest-offer-media{position:absolute;inset:0;background:linear-gradient(145deg,#153c5f,#8b6754);overflow:hidden}
.vt-latest-offer-media>img{width:100%;height:100%;object-fit:cover}
.vt-latest-offer-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(30px,5vw,72px);font-weight:900;letter-spacing:.18em;color:rgba(255,255,255,.12);background:radial-gradient(circle at 25% 20%,rgba(23,201,192,.28),transparent 35%),linear-gradient(145deg,#0c3252,#071725)}
.vt-latest-offer-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,8,15,.05) 15%,rgba(3,8,15,.25) 44%,rgba(3,8,15,.94) 100%)}
.vt-latest-offer-card.is-featured .vt-latest-offer-shade{background:linear-gradient(180deg,rgba(3,8,15,.04) 22%,rgba(3,8,15,.18) 42%,rgba(3,8,15,.94) 100%)}
.vt-latest-offer-badge{position:absolute;z-index:3;top:18px;right:18px;max-width:70%;padding:8px 12px;border-radius:999px;background:rgba(5,20,34,.72);border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 36px rgba(0,0,0,.22);backdrop-filter:blur(10px);font-size:11px;font-weight:800}
.vt-latest-offer-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:clamp(20px,3vw,38px);min-width:0}
.vt-latest-offer-copy>span{display:block;margin-bottom:7px;color:#8eeae4;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;overflow-wrap:anywhere}
.vt-latest-offer-copy h3{margin:0;max-width:760px;font-size:clamp(24px,3vw,48px);line-height:1.1;text-wrap:balance;overflow-wrap:anywhere}
.vt-latest-offer-card:not(.is-featured) .vt-latest-offer-copy h3{font-size:clamp(20px,2vw,30px)}
.vt-latest-offer-price{display:flex;align-items:baseline;gap:8px;margin-top:15px}.vt-latest-offer-price b{font-size:clamp(24px,3vw,42px);color:var(--gold-2);line-height:1}.vt-latest-offer-price em{font-style:normal;color:#b9c9d7;font-size:12px}
.vt-latest-offer-action{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:11px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);font-size:11px;font-weight:800;color:#fff;transition:transform .3s var(--ease),background .3s,border-color .3s}
.vt-latest-offer-action:hover{transform:translateY(-3px);background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.38)}
.vt-latest-offer-action.is-whatsapp,.card-whatsapp-btn{background:linear-gradient(120deg,#149f6c,#20c989)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 14px 34px rgba(20,159,108,.22)}
.card-whatsapp-link{color:#72f2b8!important}
.card-whatsapp-link::before,.card-whatsapp-btn::before,.vt-latest-offer-action.is-whatsapp::before{content:"◉";font-size:.85em;margin-inline-end:5px}

/* ---------- Mobile / tablet navigation: hard override ---------- */
.site-header{z-index:1000}
@media(max-width:1260px){
  html{scroll-padding-top:80px}
  body.vt-nav-open{overflow:hidden!important}
  .site-header{z-index:1000;padding-top:clamp(16px,3.5vw,28px)}
  .site-header .nav-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;width:calc(100% - 28px)!important;gap:12px!important}
  .site-header .brand{grid-column:1!important;min-width:0;max-width:calc(100vw - 100px)}
  .site-header .brand-name{min-width:0}
  .site-header .brand-name b,.site-header .brand-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .site-header .header-actions{display:none!important}
  .site-header .nav-toggle{
    display:flex!important;position:relative;grid-column:2!important;z-index:1300!important;
    width:48px;height:48px;flex:0 0 48px;align-items:center;justify-content:center;
    border:1px solid rgba(255,255,255,.24);background:rgba(6,21,37,.62);backdrop-filter:blur(12px);
  }
  body.vt-nav-open .site-header .nav-toggle{position:fixed!important;top:22px;right:22px;left:auto;margin:0;box-shadow:0 18px 45px rgba(0,0,0,.3)}
  .nav-scrim{
    display:block!important;position:fixed!important;inset:0!important;z-index:1050!important;
    background:rgba(2,7,15,.68)!important;backdrop-filter:blur(5px);
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:opacity .3s ease,visibility .3s ease!important;
  }
  .nav-scrim.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .site-header .nav-links{
    display:flex!important;position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;
    width:min(88vw,420px)!important;height:100dvh!important;max-height:none!important;
    padding:100px clamp(24px,6vw,36px) 34px!important;margin:0!important;
    flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;
    overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;
    background:radial-gradient(circle at 90% 8%,rgba(23,201,192,.16),transparent 28%),linear-gradient(180deg,#08182a 0%,#0a2842 60%,#071724 100%)!important;
    border-left:1px solid rgba(255,255,255,.1);box-shadow:-28px 0 80px rgba(0,0,0,.46)!important;
    z-index:1200!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translate3d(105%,0,0)!important;
    transition:transform .42s var(--ease),opacity .28s ease,visibility .42s!important;
  }
  .site-header .nav-links.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate3d(0,0,0)!important}
  .site-header .nav-links>.nav-main-link,.site-header .nav-overflow-mobile>a{
    display:flex!important;width:100%!important;min-width:0!important;padding:15px 2px!important;margin:0!important;
    flex-direction:row!important;align-items:baseline!important;justify-content:flex-start!important;gap:8px!important;
    border-bottom:1px solid rgba(255,255,255,.1)!important;font-size:15px!important;opacity:0!important;transform:translateX(20px)!important;
  }
  .site-header .nav-links.is-open>.nav-main-link,.site-header .nav-links.is-open .nav-overflow-mobile>a{opacity:1!important;transform:translateX(0)!important}
  .site-header .nav-links a span.ar{font-size:12px!important;color:#91a8bc!important;min-width:0;overflow-wrap:anywhere;white-space:normal}
  .site-header .nav-links a span.ar::before{content:"· "}
  .nav-more{display:none!important}.nav-overflow-mobile{display:block!important;width:100%!important}
  .site-header .nav-pills-mobile{display:flex!important;width:100%!important;flex-direction:column!important;gap:10px!important;margin-top:24px!important}
  .site-header .nav-pills-mobile .pill-btn{display:flex!important;width:100%!important;justify-content:center!important;padding:14px 18px!important}
}
@media(max-width:560px){
  .site-header .nav-links{width:min(92vw,390px)!important}
  .site-header .brand-mark{width:36px;height:36px}.site-header .brand-name b{font-size:13px}.site-header .brand-name span{font-size:8px;letter-spacing:.16em}
  body.vt-nav-open .site-header .nav-toggle{top:17px;right:16px}
}
@media(min-width:1261px){body.vt-nav-open{overflow:auto!important}.nav-scrim{display:none!important}}

/* ---------- Responsive safety ---------- */
@media(max-width:980px){
  .vt-heading-editorial .section-head{grid-template-columns:1fr;gap:18px}
  .vt-latest-offers-grid{grid-template-columns:1fr 1fr;grid-template-rows:minmax(420px,1.2fr) minmax(260px,.8fr);min-height:0}
  .vt-latest-offer-card.is-featured{grid-column:1/3;grid-row:auto}
  .vt-section-style-split_journey{background:linear-gradient(180deg,#071829 0 52%,#0b3044 52% 100%)}
  .vt-section-style-split_journey::before{left:0;right:0;top:52%;bottom:auto;width:auto;height:1px}
}
@media(max-width:680px){
  .vt-cms-section.vt-section-depth-elevated>.vt-cms-container,.vt-cms-section.vt-section-depth-floating>.vt-cms-container{border-radius:22px;padding-inline:20px}
  .vt-edge-top-curve,.vt-edge-bottom-curve,.vt-edge-both-curve{border-radius:30px}
  .vt-section-style-glass_luxe>.vt-cms-container{border-radius:24px;padding-inline:20px}
  .vt-section-style-editorial_luxe{background:linear-gradient(180deg,#061525,#0b233a)}
  .vt-section-style-cinematic .section-head h2,.vt-heading-display .section-head h2{font-size:clamp(42px,13vw,66px)}
  .vt-latest-offers-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:14px}
  .vt-latest-offer-card,.vt-latest-offer-card.is-featured{grid-column:auto;grid-row:auto;min-height:360px}
  .vt-latest-offer-card:not(.is-featured){min-height:300px}
  .vt-latest-offer-copy{padding:22px}.vt-latest-offer-copy h3,.vt-latest-offer-card:not(.is-featured) .vt-latest-offer-copy h3{font-size:clamp(24px,8vw,34px)}
}

/* ============================================================
   VALENTINA CMS CONTENT SYSTEM V5
   Refined layouts, curated feeds, album gallery, and site themes
   ============================================================ */

/* 1) Image + text: image permanently left, copy permanently right on desktop. */
.vt-image-text-fixed{
  grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr)!important;
  gap:clamp(34px,5vw,76px)!important;
  align-items:center!important;
  direction:ltr;
}
.vt-image-text-fixed .cms-image-frame{order:1;min-height:clamp(390px,48vw,650px);border-radius:30px;overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,.28)}
.vt-image-text-fixed .cms-image-frame img{width:100%;height:100%;min-height:inherit;object-fit:cover}
.vt-image-text-fixed .cms-copy{order:2;direction:rtl;text-align:right;min-width:0}
.vt-image-text-fixed .cms-copy .cms-rich-text{margin-inline:0;max-width:720px}
@media(max-width:880px){
  .vt-image-text-fixed{grid-template-columns:1fr!important;gap:28px!important}
  .vt-image-text-fixed .cms-image-frame{order:1;min-height:320px}
  .vt-image-text-fixed .cms-copy{order:2}
}

/* 2) Portrait / story image with text inside. */
.vt-image-story-section .vt-cms-container{display:grid;place-items:center}
.vt-image-story-card{
  position:relative;isolation:isolate;width:min(100%,820px);overflow:hidden;border-radius:34px;
  border:1px solid rgba(255,255,255,.14);background:#0a1d30;
  box-shadow:0 38px 110px rgba(0,0,0,.34);min-height:520px;
}
.vt-image-story-portrait{aspect-ratio:4/5;max-width:760px}
.vt-image-story-tall{aspect-ratio:3/4;max-width:720px}
.vt-image-story-landscape{aspect-ratio:16/10;max-width:1180px}
.vt-image-story-card>.vt-image-story-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vt-image-story-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(2,8,15,.06) 12%,rgba(2,8,15,.18) 42%,rgba(2,8,15,.92) 100%)}
.vt-image-story-overlay-soft .vt-image-story-shade{background:linear-gradient(180deg,rgba(2,8,15,.02),rgba(2,8,15,.12) 50%,rgba(2,8,15,.76) 100%)}
.vt-image-story-overlay-strong .vt-image-story-shade{background:linear-gradient(180deg,rgba(2,8,15,.18),rgba(2,8,15,.42) 45%,rgba(2,8,15,.97) 100%)}
.vt-image-story-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:clamp(26px,5vw,68px);max-width:820px;color:#fff}
.vt-image-story-align-right .vt-image-story-copy{text-align:right;direction:rtl;margin-left:auto}
.vt-image-story-align-center .vt-image-story-copy{text-align:center;direction:rtl;margin:auto}
.vt-image-story-align-left .vt-image-story-copy{text-align:left;direction:ltr;margin-right:auto}
.vt-image-story-copy h2{margin:10px 0 14px;font-size:clamp(38px,6vw,78px);line-height:.98;letter-spacing:-.045em;text-wrap:balance;color:#fff}
.vt-image-story-copy h2 small{display:block;margin-top:10px;font-size:.28em;letter-spacing:.14em;opacity:.7;text-transform:uppercase}
.vt-image-story-copy p{margin:0 0 20px;max-width:680px;font-size:clamp(15px,1.5vw,19px);line-height:1.95;color:rgba(255,255,255,.82)}
.vt-image-story-align-center .vt-image-story-copy p{margin-inline:auto}
.vt-image-story-align-left .vt-image-story-copy p{margin-left:0;margin-right:auto}
@media(max-width:720px){
  .vt-image-story-card{border-radius:24px;min-height:480px}
  .vt-image-story-portrait,.vt-image-story-tall{width:100%;max-width:100%;aspect-ratio:4/5}
  .vt-image-story-landscape{aspect-ratio:4/5}
  .vt-image-story-copy{padding:26px 22px}
}

/* 3) Creative album gallery. */
.vt-album-grid{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:110px;gap:16px;
  max-width:1380px;margin-inline:auto;
}
.vt-album-card{position:relative;min-width:0;overflow:hidden;border-radius:24px;margin:0;border:1px solid rgba(255,255,255,.12);background:#0a1b2d;box-shadow:0 22px 60px rgba(0,0,0,.24)}
.vt-album-card:nth-child(6n+1){grid-column:span 7;grid-row:span 4}
.vt-album-card:nth-child(6n+2){grid-column:span 5;grid-row:span 2}
.vt-album-card:nth-child(6n+3){grid-column:span 5;grid-row:span 2}
.vt-album-card:nth-child(6n+4){grid-column:span 4;grid-row:span 3}
.vt-album-card:nth-child(6n+5){grid-column:span 4;grid-row:span 3}
.vt-album-card:nth-child(6n+6){grid-column:span 4;grid-row:span 3}
.vt-album-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s}
.vt-album-card:hover img{transform:scale(1.055);filter:saturate(1.08)}
.vt-album-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(2,8,15,.8) 100%);z-index:1}
.vt-album-card figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:20px 22px;color:#fff}
.vt-album-card figcaption span{display:block;font-size:18px;font-weight:800}
.vt-album-card figcaption small{display:block;margin-top:5px;color:rgba(255,255,255,.62);letter-spacing:.12em;font-size:10px;text-transform:uppercase}
@media(max-width:900px){
  .vt-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:210px}
  .vt-album-card:nth-child(n){grid-column:span 1;grid-row:span 1}
  .vt-album-card:nth-child(5n+1){grid-column:span 2;grid-row:span 2}
}
@media(max-width:580px){
  .vt-album-grid{grid-template-columns:1fr;grid-auto-rows:280px;gap:12px}
  .vt-album-card:nth-child(n){grid-column:1;grid-row:span 1;border-radius:19px}
}

/* 4) Curated 3/4 offer layout. */
.vt-latest-offers-grid.vt-latest-offers-count-4{grid-template-rows:repeat(3,minmax(190px,1fr));min-height:760px}
.vt-latest-offers-grid.vt-latest-offers-count-4 .vt-latest-offer-card.is-featured{grid-row:1/4}
@media(max-width:980px){
  .vt-latest-offers-grid.vt-latest-offers-count-4{grid-template-columns:1fr 1fr;grid-template-rows:minmax(420px,1.2fr) repeat(2,minmax(260px,.8fr));min-height:0}
  .vt-latest-offers-grid.vt-latest-offers-count-4 .vt-latest-offer-card.is-featured{grid-column:1/3;grid-row:auto}
}
@media(max-width:680px){
  .vt-latest-offers-grid.vt-latest-offers-count-4{grid-template-columns:1fr;grid-template-rows:none}
  .vt-latest-offers-grid.vt-latest-offers-count-4 .vt-latest-offer-card.is-featured{grid-column:auto}
}

/* 5) General cards: two centered rectangular cards. */
.vt-general-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1120px;margin:0 auto}
.vt-general-card{position:relative;min-height:250px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018));box-shadow:0 24px 70px rgba(0,0,0,.2);display:grid;grid-template-columns:1fr;isolation:isolate}
.vt-general-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--gold-2),var(--teal));z-index:3}
.vt-general-card-media{position:absolute;inset:0;z-index:0;opacity:.3}
.vt-general-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,31,.96),rgba(5,17,31,.72) 66%,rgba(5,17,31,.25))}
.vt-general-card-media img{width:100%;height:100%;object-fit:cover}
.vt-general-card-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,48px);min-width:0}
.vt-general-card-badge,.vt-general-card-kicker{display:block;width:max-content;max-width:100%;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8eeae4}
.vt-general-card-badge{padding:7px 10px;border:1px solid rgba(142,234,228,.25);border-radius:999px;margin-bottom:10px}
.vt-general-card h3{margin:9px 0 12px;font-size:clamp(26px,3vw,40px);line-height:1.08;overflow-wrap:anywhere}
.vt-general-card p{margin:0;max-width:540px;color:var(--muted);line-height:1.9;font-size:15px}
.vt-general-card-link{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:22px;color:var(--gold-2);font-size:12px;font-weight:800}
@media(max-width:860px){.vt-general-cards-grid{grid-template-columns:1fr;max-width:720px}.vt-general-card{min-height:220px}}

/* 6) Press feed: one editorial rectangle at a time. */
.vt-press-slider{max-width:1120px;margin:0 auto}
.vt-press-slider-track{position:relative;min-height:390px}
.vt-press-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,76px);border-radius:30px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(125deg,rgba(255,255,255,.075),rgba(255,255,255,.018));box-shadow:0 30px 90px rgba(0,0,0,.24);opacity:0;visibility:hidden;transform:translateY(18px) scale(.985);transition:opacity .5s ease,transform .6s var(--ease),visibility .5s;overflow:hidden}
.vt-press-slide::before{content:"PRESS";position:absolute;right:clamp(20px,4vw,56px);top:12px;font-size:clamp(58px,10vw,150px);font-weight:900;letter-spacing:-.06em;color:rgba(255,255,255,.025);pointer-events:none}
.vt-press-slide.is-active{opacity:1;visibility:visible;transform:none}
.vt-press-slide-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;color:var(--muted);font-size:11px}
.vt-press-slide-meta .tag{color:#8eeae4;letter-spacing:.14em;text-transform:uppercase}
.vt-press-slide h3{margin:0;max-width:900px;font-size:clamp(32px,5vw,66px);line-height:1.05;letter-spacing:-.04em;text-wrap:balance}
.vt-press-slide p{margin:20px 0 0;max-width:820px;color:var(--muted);font-size:clamp(15px,1.5vw,19px);line-height:1.9}
.vt-press-more{display:inline-flex;align-items:center;gap:10px;width:max-content;margin-top:28px;padding:11px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:12px;font-weight:800}
.vt-press-slider-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px}
.vt-press-slider-controls>button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);color:#fff;cursor:pointer}
.vt-press-dots{display:flex;align-items:center;gap:7px}
.vt-press-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.25);cursor:pointer;transition:width .3s,background .3s}
.vt-press-dots button.is-active{width:28px;background:linear-gradient(90deg,var(--gold-2),var(--teal))}
@media(max-width:680px){.vt-press-slider-track{min-height:480px}.vt-press-slide{padding:30px 24px;border-radius:22px}.vt-press-slide h3{font-size:clamp(30px,10vw,46px)}}

/* Press detail page. */
.vt-press-detail-section{padding:clamp(110px,14vw,180px) 0 100px;min-height:80vh}
.vt-press-detail{max-width:980px;margin:0 auto;padding:clamp(30px,6vw,76px);border:1px solid rgba(255,255,255,.13);border-radius:32px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018));box-shadow:0 34px 100px rgba(0,0,0,.24)}
.vt-press-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}
.vt-press-detail-meta .tag{color:#8eeae4;letter-spacing:.14em;text-transform:uppercase}
.vt-press-detail h1{margin:26px 0 20px;font-size:clamp(42px,7vw,88px);line-height:.98;letter-spacing:-.05em;text-wrap:balance}
.vt-press-detail-lead{font-size:clamp(18px,2vw,24px);line-height:1.8;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:28px}
.vt-press-detail-content{font-size:clamp(16px,1.5vw,19px);line-height:2.15;color:var(--muted);padding-top:24px}
.vt-press-detail-back{margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}
.vt-press-detail-back a{color:var(--gold-2);font-weight:800}

/* ============================================================
   SITE THEMES
   ============================================================ */
body.vt-theme-navy{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 18%,var(--gold) 48%,var(--teal) 70%,var(--navy-2) 88%,var(--navy) 100%);background-size:200% 200%}

body.vt-theme-white{
  --white:#0a1f32;--muted:#607487;--line:rgba(10,31,50,.12);--glass:rgba(255,255,255,.82);--glass-line:rgba(10,31,50,.11);--shadow:0 20px 55px rgba(29,75,110,.14);
  background:#f5f9fc!important;color:#0a1f32;
}
body.vt-theme-white .on-navy,body.vt-theme-white .on-navy-2,body.vt-theme-white .section-dark,body.vt-theme-white .section-transparent{background:#f5f9fc!important;--vt-divider-fill:#f5f9fc}
body.vt-theme-white .section-accent{background:linear-gradient(135deg,#e8f5ff,#eefcfb)!important;--vt-divider-fill:#e8f5ff}
body.vt-theme-white .vt-section-style-signature,body.vt-theme-white .vt-section-style-glass_luxe,body.vt-theme-white .vt-section-style-editorial_luxe,body.vt-theme-white .vt-section-style-cinematic,body.vt-theme-white .vt-section-style-minimal_air,body.vt-theme-white .vt-section-style-ocean_glow,body.vt-theme-white .vt-section-style-split_journey{background:linear-gradient(180deg,#ffffff,#f2f8fc)!important;color:#0a1f32}
body.vt-theme-white .vt-cms-section .section-head h2,body.vt-theme-white .vt-cms-section h1,body.vt-theme-white .vt-cms-section h2,body.vt-theme-white .vt-cms-section h3,body.vt-theme-white .cms-copy h2{color:#0a1f32}
body.vt-theme-white .cms-rich-text,body.vt-theme-white .vt-general-card,body.vt-theme-white .vt-press-slide,body.vt-theme-white .vt-press-detail,body.vt-theme-white .offer-card,body.vt-theme-white .ticket-card,body.vt-theme-white .feature,body.vt-theme-white .stat{background:rgba(255,255,255,.86)!important;border-color:rgba(10,31,50,.1)!important;box-shadow:0 22px 60px rgba(31,72,104,.11)!important}
body.vt-theme-white .vt-general-card-media::after{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.82) 66%,rgba(255,255,255,.4))}
body.vt-theme-white .vt-general-card-link,body.vt-theme-white .text-link,body.vt-theme-white .vt-press-detail-back a{color:#0b5fa8}
body.vt-theme-white .site-header.is-static{background:rgba(255,255,255,.88);border-bottom:1px solid rgba(10,31,50,.08);backdrop-filter:blur(18px)}
body.vt-theme-white .site-header .brand-name b,body.vt-theme-white .site-header .nav-main-link,body.vt-theme-white .site-header .nav-more-toggle{color:#0a1f32}
body.vt-theme-white .site-footer{background:#eaf2f8;color:#0a1f32}
body.vt-theme-white .footer-contact,body.vt-theme-white .copyright{color:#607487}
body.vt-theme-white .social-row a{border-color:rgba(10,31,50,.12)}
body.vt-theme-white .social-row svg{fill:#0a1f32}
body.vt-theme-white .vt-mobile-drawer{background:linear-gradient(180deg,#ffffff,#eef6fb)!important;color:#0a1f32!important}
body.vt-theme-white .vt-mobile-drawer a,body.vt-theme-white .vt-mobile-drawer button{color:#0a1f32}
body.vt-theme-white .vt-mobile-link-ar{color:#607487!important}

body.vt-theme-sky{
  --navy:#0d5d86;--navy-2:#147ca5;--white:#ffffff;--muted:rgba(255,255,255,.76);--line:rgba(255,255,255,.16);--glass:rgba(255,255,255,.11);--glass-line:rgba(255,255,255,.2);
  background:linear-gradient(160deg,#4fb7dd 0%,#2698c7 35%,#5ed4de 68%,#1881ad 100%)!important;color:#fff;
}
body.vt-theme-sky .on-navy,body.vt-theme-sky .on-navy-2,body.vt-theme-sky .section-dark,body.vt-theme-sky .section-transparent{background:linear-gradient(180deg,#218fbd,#46b7d8)!important;--vt-divider-fill:#218fbd}
body.vt-theme-sky .section-accent{background:linear-gradient(135deg,#1f90bf,#5cd3dd)!important;--vt-divider-fill:#1f90bf}
body.vt-theme-sky .vt-section-style-signature,body.vt-theme-sky .vt-section-style-glass_luxe,body.vt-theme-sky .vt-section-style-editorial_luxe,body.vt-theme-sky .vt-section-style-cinematic,body.vt-theme-sky .vt-section-style-minimal_air,body.vt-theme-sky .vt-section-style-ocean_glow,body.vt-theme-sky .vt-section-style-split_journey{background:linear-gradient(145deg,#157fae,#47bad7)!important}
body.vt-theme-sky .site-header.is-static{background:rgba(9,77,112,.82);backdrop-filter:blur(18px)}
body.vt-theme-sky .site-footer{background:#075173}
body.vt-theme-sky .vt-mobile-drawer{background:linear-gradient(180deg,#0c709c,#3ab7d2)!important}

@media(prefers-color-scheme:dark){body.vt-theme-white{color-scheme:light}}

/* Theme contrast protection for media-based content. */
body.vt-theme-white .vt-image-story-copy,
body.vt-theme-white .vt-image-story-copy h2,
body.vt-theme-white .vt-image-story-copy p,
body.vt-theme-white .vt-latest-offer-copy,
body.vt-theme-white .vt-latest-offer-copy h3,
body.vt-theme-white .vt-album-card figcaption,
body.vt-theme-white .vt-page-intro__content,
body.vt-theme-white .vt-page-intro__content h1,
body.vt-theme-white .vt-page-intro__content p{color:#fff!important}
body.vt-theme-white .site-header .brand-mark img,
body.vt-theme-white .vt-mobile-brand img,
body.vt-theme-white .footer-brand img{filter:brightness(0) saturate(100%) invert(12%) sepia(22%) saturate(1438%) hue-rotate(166deg) brightness(90%) contrast(96%)}
body.vt-theme-white .pill-outline{color:#0a1f32;border-color:rgba(10,31,50,.2)}
body.vt-theme-white .site-header .nav-main-link span.ar,body.vt-theme-white .nav-more-toggle span.ar{color:#607487}


/* ============================================================
   VALENTINA V5 STABILITY PATCH
   White page background only + mobile/tablet layout protection
   ============================================================ */

html{
  background:#fff!important;
  max-width:100%;
  overflow-x:hidden;
}
body{
  background:#fff!important;
  background-image:none!important;
  max-width:100%;
  overflow-x:hidden!important;
}

/* Disable the V5 full-site recoloring system. Section colors remain original. */
body.vt-theme-navy,
body.vt-theme-white,
body.vt-theme-sky{
  background:#fff!important;
  background-image:none!important;
  color:inherit;
}

/* Universal width guards for all CMS output. */
.site-header,
.site-footer,
.vt-cms-section,
.vt-cms-container,
.container,
.hero,
.vt-page-intro,
.cms-hero-home,
main,
section{
  max-width:100%;
}
.vt-cms-section,
.vt-cms-section *,
.vt-page-intro,
.vt-page-intro *,
.site-header,
.site-header *{
  min-width:0;
}
img,svg,video,iframe{
  max-width:100%;
}
img,video{
  height:auto;
}

/* Keep media blocks from forcing horizontal scrolling. */
.vt-image-story-card,
.vt-image-text-fixed,
.vt-album-grid,
.vt-general-cards-grid,
.vt-latest-offers-grid,
.offer-grid,
.ticket-grid,
.feature-grid,
.stats-row,
.gallery-grid,
.press-grid,
.contact-layout,
.two-col{
  width:100%;
  max-width:100%;
  min-width:0;
}

@media(max-width:1260px){
  body{overflow-x:hidden!important}
  .site-header .container.nav-row{padding-inline:0!important}
  .vt-cms-section{overflow:hidden}
  .vt-cms-container,.container{width:min(100% - 28px,var(--container));margin-inline:auto}
  .vt-section-depth-floating>.vt-cms-container,
  .vt-section-depth-elevated>.vt-cms-container{max-width:calc(100% - 24px)!important}
}

@media(max-width:900px){
  .vt-image-text-fixed,
  .two-col,
  .contact-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .vt-image-text-fixed .cms-image-frame,
  .vt-image-text-fixed .cms-copy{
    width:100%!important;
    max-width:100%!important;
  }
  .vt-general-cards-grid{
    grid-template-columns:1fr!important;
    max-width:720px!important;
  }
  .vt-latest-offers-grid,
  .vt-latest-offers-grid.vt-latest-offers-count-4{
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    min-height:0!important;
  }
  .vt-latest-offer-card,
  .vt-latest-offer-card.is-featured{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:360px!important;
  }
  .vt-image-story-card,
  .vt-image-story-portrait,
  .vt-image-story-tall,
  .vt-image-story-landscape{
    width:100%!important;
    max-width:100%!important;
  }
  .vt-album-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:200px!important;
  }
  .vt-album-card:nth-child(n){
    grid-column:span 1!important;
    grid-row:span 1!important;
  }
  .vt-album-card:nth-child(5n+1){
    grid-column:span 2!important;
    grid-row:span 2!important;
  }
}

@media(max-width:600px){
  .vt-cms-container,.container{width:min(100% - 22px,var(--container))!important}
  .vt-space-compact{padding-block:42px!important}
  .vt-space-normal{padding-block:62px!important}
  .vt-space-airy{padding-block:78px!important}
  .vt-album-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:260px!important;
    gap:12px!important;
  }
  .vt-album-card:nth-child(n){
    grid-column:1!important;
    grid-row:span 1!important;
  }
  .vt-image-story-card{
    min-height:440px!important;
    aspect-ratio:auto!important;
  }
  .vt-image-story-copy{padding:24px 20px!important}
  .vt-image-story-copy h2{font-size:clamp(34px,11vw,52px)!important}
  .vt-general-card{min-height:220px!important;border-radius:20px!important}
  .vt-general-card-copy{padding:26px 22px!important}
  .vt-latest-offer-card,
  .vt-latest-offer-card.is-featured{min-height:320px!important}
  .vt-section-divider{max-width:100vw;overflow:hidden}
}


/* ============================================================
   VALENTINA V6 FINAL STABILITY
   TRUE WHITE CONTENT + NAVY TEXT + MOBILE HARD RESPONSIVE FIX
   ============================================================ */
:root{
  --vt-page-white:#ffffff;
  --vt-text-navy:#08213a;
  --vt-text-muted:#526b7f;
  --vt-light-border:rgba(8,33,58,.12);
  --vt-light-shadow:0 18px 50px rgba(16,53,82,.10);
}
html,
body.vt-public-site{
  background:#fff!important;
  background-image:none!important;
  color:var(--vt-text-navy)!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}

/* Public content surfaces are actually white, not gray. */
body.vt-public-site .vt-cms-section,
body.vt-public-site .on-navy,
body.vt-public-site .on-navy-2,
body.vt-public-site .section-dark,
body.vt-public-site .section-accent,
body.vt-public-site .section-transparent,
body.vt-public-site .vt-latest-offers,
body.vt-public-site .vt-section-style-signature,
body.vt-public-site .vt-section-style-glass_luxe,
body.vt-public-site .vt-section-style-editorial_luxe,
body.vt-public-site .vt-section-style-cinematic,
body.vt-public-site .vt-section-style-minimal_air,
body.vt-public-site .vt-section-style-ocean_glow,
body.vt-public-site .vt-section-style-split_journey{
  background:#fff!important;
  background-image:none!important;
  --vt-divider-fill:#fff!important;
  color:var(--vt-text-navy)!important;
}
body.vt-public-site .vt-cms-section::before,
body.vt-public-site .vt-cms-section::after{
  opacity:.06!important;
}
body.vt-public-site .vt-section-style-signature::before{
  border-color:rgba(8,33,58,.06)!important;
}

/* Navy typography on white sections. */
body.vt-public-site .vt-cms-section .section-head,
body.vt-public-site .vt-cms-section .section-head h1,
body.vt-public-site .vt-cms-section .section-head h2,
body.vt-public-site .vt-cms-section .section-head h3,
body.vt-public-site .vt-cms-section .cms-copy,
body.vt-public-site .vt-cms-section .cms-copy h2,
body.vt-public-site .vt-cms-section .cms-rich-text,
body.vt-public-site .vt-cms-section .feature-content,
body.vt-public-site .vt-cms-section .offer-body,
body.vt-public-site .vt-cms-section .ticket-route,
body.vt-public-site .vt-cms-section .stat-content,
body.vt-public-site .vt-cms-section .vt-general-card-copy,
body.vt-public-site .vt-cms-section .contact-info,
body.vt-public-site .vt-cms-section .contact-form{
  color:var(--vt-text-navy)!important;
}
body.vt-public-site .vt-cms-section .section-head p,
body.vt-public-site .vt-cms-section .cms-rich-text,
body.vt-public-site .vt-cms-section .feature p,
body.vt-public-site .vt-cms-section .offer-body p,
body.vt-public-site .vt-cms-section .ticket-note,
body.vt-public-site .vt-cms-section .vt-general-card-copy p,
body.vt-public-site .vt-cms-section .contact-info p,
body.vt-public-site .vt-cms-section .form-note{
  color:var(--vt-text-muted)!important;
}
body.vt-public-site .vt-cms-section .eyebrow,
body.vt-public-site .vt-cms-section .offer-kicker,
body.vt-public-site .vt-cms-section .text-link,
body.vt-public-site .vt-cms-section .vt-general-card-link{
  color:#0b6cae!important;
}

/* Light cards stay separated from the pure white page. */
body.vt-public-site .vt-cms-section .feature,
body.vt-public-site .vt-cms-section .offer-card,
body.vt-public-site .vt-cms-section .ticket-card,
body.vt-public-site .vt-cms-section .stat,
body.vt-public-site .vt-cms-section .cms-rich-text,
body.vt-public-site .vt-cms-section .vt-general-card,
body.vt-public-site .vt-cms-section .press-card,
body.vt-public-site .vt-cms-section .vt-press-slide,
body.vt-public-site .vt-cms-section .contact-card,
body.vt-public-site .vt-cms-section .contact-form{
  background:#fff!important;
  border-color:var(--vt-light-border)!important;
  box-shadow:var(--vt-light-shadow)!important;
}

/* Media-overlay content must remain white for readability. */
body.vt-public-site .hero,
body.vt-public-site .hero *,
body.vt-public-site .vt-page-intro,
body.vt-public-site .vt-page-intro *,
body.vt-public-site .vt-image-story-copy,
body.vt-public-site .vt-image-story-copy *,
body.vt-public-site .vt-latest-offer-copy,
body.vt-public-site .vt-latest-offer-copy *,
body.vt-public-site .vt-album-card figcaption{
  color:#fff!important;
}
body.vt-public-site .site-footer,
body.vt-public-site .site-footer *{
  color:#fff;
}

/* Clean white section dividers. */
body.vt-public-site .vt-section-divider{color:#fff!important}

/* ---------- Mobile and tablet hard layout protection ---------- */
@media(max-width:1260px){
  html,body.vt-public-site{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body.vt-public-site *{box-sizing:border-box}
  body.vt-public-site .site-header,
  body.vt-public-site .hero,
  body.vt-public-site .vt-page-intro,
  body.vt-public-site .vt-cms-section,
  body.vt-public-site .site-footer{width:100%!important;max-width:100vw!important}
  body.vt-public-site .container,
  body.vt-public-site .vt-cms-container{
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  body.vt-public-site img,
  body.vt-public-site video,
  body.vt-public-site svg{max-width:100%;height:auto}
  body.vt-public-site iframe{max-width:100%}
  body.vt-public-site .vt-cms-section{overflow:hidden!important}
}

@media(max-width:900px){
  /* Hero becomes content-driven instead of a squeezed desktop canvas. */
  body.vt-public-site .hero{
    min-height:100svh!important;
    height:auto!important;
    padding:88px 0 34px!important;
    justify-content:flex-start!important;
  }
  body.vt-public-site .hero-inner{
    padding-top:34px!important;
    width:100%!important;
  }
  body.vt-public-site .hero-ar{font-size:clamp(23px,7vw,34px)!important}
  body.vt-public-site .hero-en{font-size:clamp(52px,17vw,92px)!important;line-height:.92!important;letter-spacing:.02em!important;overflow-wrap:anywhere}
  body.vt-public-site .hero-bottom{
    position:relative!important;
    inset:auto!important;
    margin-top:auto!important;
    padding-top:46px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:24px!important;
  }
  body.vt-public-site .hero-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;width:100%!important}
  body.vt-public-site .hero-stat{text-align:center!important}
  body.vt-public-site .hero-book-row{width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  body.vt-public-site .hero-book-btn{width:100%!important;justify-content:center!important}
  body.vt-public-site .book-tagline{max-width:none!important;text-align:center!important}
  body.vt-public-site .hero-preview{width:min(180px,52vw)!important;justify-self:center!important;align-self:center!important}
  body.vt-public-site .hero-preview-frame{width:100%!important;height:auto!important;aspect-ratio:1.45/1!important}

  /* Every advanced V5 layout collapses safely. */
  body.vt-public-site .vt-image-text-fixed,
  body.vt-public-site .two-col,
  body.vt-public-site .contact-layout,
  body.vt-public-site .vt-heading-editorial .section-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  body.vt-public-site .vt-image-text-fixed .cms-image-frame{order:1!important;width:100%!important}
  body.vt-public-site .vt-image-text-fixed .cms-copy{order:2!important;width:100%!important}
  body.vt-public-site .feature-grid,
  body.vt-public-site .offer-grid,
  body.vt-public-site .ticket-grid,
  body.vt-public-site .stats-row,
  body.vt-public-site .press-grid,
  body.vt-public-site .vt-general-cards-grid,
  body.vt-public-site .vt-latest-offers-grid{
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    width:100%!important;
    min-height:0!important;
  }
  body.vt-public-site .vt-latest-offer-card,
  body.vt-public-site .vt-latest-offer-card.is-featured{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:330px!important;
  }
  body.vt-public-site .vt-album-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:190px!important;
    gap:12px!important;
  }
  body.vt-public-site .vt-album-card:nth-child(n){grid-column:span 1!important;grid-row:span 1!important}
  body.vt-public-site .vt-album-card:nth-child(5n+1){grid-column:span 2!important;grid-row:span 2!important}
}

@media(max-width:600px){
  body.vt-public-site .container,
  body.vt-public-site .vt-cms-container{width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important}
  body.vt-public-site .hero{padding-top:78px!important}
  body.vt-public-site .hero-inner{padding-top:24px!important}
  body.vt-public-site .hero-en{font-size:clamp(48px,18vw,76px)!important}
  body.vt-public-site .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  body.vt-public-site .hero-stat b{font-size:22px!important}
  body.vt-public-site .hero-stat span{font-size:9px!important}
  body.vt-public-site .vt-space-compact{padding-block:38px!important}
  body.vt-public-site .vt-space-normal{padding-block:54px!important}
  body.vt-public-site .vt-space-airy{padding-block:68px!important}
  body.vt-public-site .section-head h2{font-size:clamp(30px,10vw,46px)!important;line-height:1.08!important}
  body.vt-public-site .section-en-title{display:block!important;margin-top:8px!important}
  body.vt-public-site .vt-album-grid{grid-template-columns:1fr!important;grid-auto-rows:250px!important}
  body.vt-public-site .vt-album-card:nth-child(n){grid-column:1!important;grid-row:span 1!important}
  body.vt-public-site .vt-image-story-card{min-height:430px!important;aspect-ratio:auto!important;width:100%!important}
  body.vt-public-site .vt-image-story-copy{padding:24px 18px!important}
  body.vt-public-site .vt-general-card{min-height:0!important}
  body.vt-public-site .vt-general-card-copy{padding:24px 20px!important}
  body.vt-public-site .vt-section-divider{height:36px!important}
  body.vt-public-site .whatsapp-fab{right:14px!important;bottom:14px!important}
}

/* ============================================================
   VALENTINA V7 — RESTORE ORIGINAL DARK CARDS ON WHITE PAGE
   White is only the public page background. Cards keep the
   premium navy / glass identity of the original template.
   ============================================================ */

/* Core premium card surfaces */
body.vt-public-site .vt-cms-section .offer-card,
body.vt-public-site .vt-cms-section .ticket-card,
body.vt-public-site .vt-cms-section .feature,
body.vt-public-site .vt-cms-section .stat,
body.vt-public-site .vt-cms-section .vt-general-card,
body.vt-public-site .vt-cms-section .press-card,
body.vt-public-site .vt-cms-section .vt-press-slide,
body.vt-public-site .vt-cms-section .contact-card,
body.vt-public-site .vt-cms-section .contact-form {
  background:
    radial-gradient(circle at 88% 8%, rgba(23,201,192,.10), transparent 28%),
    linear-gradient(155deg, #102b49 0%, #0a2037 52%, #061523 100%) !important;
  border-color: rgba(255,255,255,.13) !important;
  color: #fff !important;
  box-shadow: 0 22px 58px rgba(4,20,36,.24) !important;
}

/* Restore the creative card variants instead of flattening all cards to white */
body.vt-public-site .vt-cms-section .vt-item-card.vt-card-style-glass {
  background: linear-gradient(155deg, rgba(16,47,77,.98), rgba(6,22,38,.98)) !important;
  border-color: rgba(255,255,255,.14) !important;
  backdrop-filter: blur(12px);
}
body.vt-public-site .vt-cms-section .vt-item-card.vt-card-style-editorial {
  background: linear-gradient(155deg, #07182a, #0d3150) !important;
  border-color: rgba(90,166,224,.28) !important;
  box-shadow: inset 4px 0 0 rgba(90,166,224,.55), 0 22px 55px rgba(0,0,0,.22) !important;
}
body.vt-public-site .vt-cms-section .vt-item-card.vt-card-style-photo {
  background: linear-gradient(180deg, #0a2339, #05131f) !important;
  border-color: rgba(255,255,255,.16) !important;
}
body.vt-public-site .vt-cms-section .vt-item-card.vt-card-style-minimal {
  background: linear-gradient(155deg, #0c263f, #061724) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 16px 44px rgba(4,20,36,.18) !important;
}
body.vt-public-site .vt-cms-section .vt-item-card.vt-card-style-spotlight {
  background:
    radial-gradient(circle at 18% 10%, rgba(23,201,192,.18), transparent 34%),
    linear-gradient(155deg, #0b2946, #05131f) !important;
  border-color: rgba(23,201,192,.25) !important;
}

/* Card typography: white + soft blue-gray, exactly as the dark identity needs */
body.vt-public-site .vt-cms-section .offer-card h1,
body.vt-public-site .vt-cms-section .offer-card h2,
body.vt-public-site .vt-cms-section .offer-card h3,
body.vt-public-site .vt-cms-section .ticket-card h1,
body.vt-public-site .vt-cms-section .ticket-card h2,
body.vt-public-site .vt-cms-section .ticket-card h3,
body.vt-public-site .vt-cms-section .feature h1,
body.vt-public-site .vt-cms-section .feature h2,
body.vt-public-site .vt-cms-section .feature h3,
body.vt-public-site .vt-cms-section .stat,
body.vt-public-site .vt-cms-section .stat-content,
body.vt-public-site .vt-cms-section .vt-general-card,
body.vt-public-site .vt-cms-section .vt-general-card h3,
body.vt-public-site .vt-cms-section .press-card h3,
body.vt-public-site .vt-cms-section .vt-press-slide h3,
body.vt-public-site .vt-cms-section .contact-card,
body.vt-public-site .vt-cms-section .contact-form {
  color: #fff !important;
}

body.vt-public-site .vt-cms-section .offer-card p,
body.vt-public-site .vt-cms-section .offer-subtitle,
body.vt-public-site .vt-cms-section .ticket-card p,
body.vt-public-site .vt-cms-section .ticket-note,
body.vt-public-site .vt-cms-section .ticket-airline,
body.vt-public-site .vt-cms-section .feature p,
body.vt-public-site .vt-cms-section .stat span,
body.vt-public-site .vt-cms-section .vt-general-card p,
body.vt-public-site .vt-cms-section .press-card p,
body.vt-public-site .vt-cms-section .vt-press-slide p,
body.vt-public-site .vt-cms-section .vt-press-slide-meta,
body.vt-public-site .vt-cms-section .contact-card a,
body.vt-public-site .vt-cms-section .contact-card .val,
body.vt-public-site .vt-cms-section .contact-form .form-note,
body.vt-public-site .vt-cms-section .contact-form label {
  color: #a9bed0 !important;
}

/* Important values and accents */
body.vt-public-site .vt-cms-section .offer-value b,
body.vt-public-site .vt-cms-section .ticket-price b,
body.vt-public-site .vt-cms-section .stat b {
  color: #fff !important;
}
body.vt-public-site .vt-cms-section .offer-value span,
body.vt-public-site .vt-cms-section .ticket-price em,
body.vt-public-site .vt-cms-section .offer-kicker,
body.vt-public-site .vt-cms-section .text-link,
body.vt-public-site .vt-cms-section .vt-general-card-link,
body.vt-public-site .vt-cms-section .press-card a,
body.vt-public-site .vt-cms-section .vt-press-more {
  color: var(--gold-2) !important;
}

/* Keep the original dark overlay for image-backed general cards */
body.vt-public-site .vt-cms-section .vt-general-card-media::after {
  background: linear-gradient(90deg, rgba(5,17,31,.97), rgba(5,17,31,.78) 66%, rgba(5,17,31,.28)) !important;
}

/* Inputs inside the contact card stay dark and readable */
body.vt-public-site .vt-cms-section .contact-form input,
body.vt-public-site .vt-cms-section .contact-form textarea,
body.vt-public-site .vt-cms-section .contact-form select {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.13) !important;
  color: #fff !important;
}
body.vt-public-site .vt-cms-section .contact-form input::placeholder,
body.vt-public-site .vt-cms-section .contact-form textarea::placeholder {
  color: #8199ad !important;
}

/* White remains only the surrounding page / section canvas */
body.vt-public-site,
body.vt-public-site .vt-cms-section,
body.vt-public-site .on-navy,
body.vt-public-site .on-navy-2,
body.vt-public-site .section-dark,
body.vt-public-site .section-accent,
body.vt-public-site .section-transparent {
  --vt-page-white: #fff;
}

/* ============================================================
   VALENTINA V10 — CENTERED CONTENT FRAME
   Keep public page content away from viewport edges while hero
   and intentional full-bleed media remain full width.
   ============================================================ */
@media (min-width: 1261px) {
  body.vt-public-site .vt-cms-section > .container,
  body.vt-public-site .vt-cms-section > .vt-cms-container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container {
    width: calc(100% - clamp(96px, 12vw, 240px)) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  body.vt-public-site .vt-cms-section > .vt-width-narrow,
  body.vt-public-site .vt-page-intro__after > .vt-width-narrow {
    max-width: 940px !important;
  }

  body.vt-public-site .vt-cms-section > .vt-width-standard,
  body.vt-public-site .vt-page-intro__after > .vt-width-standard {
    max-width: 1200px !important;
  }

  body.vt-public-site .vt-cms-section > .vt-width-wide,
  body.vt-public-site .vt-page-intro__after > .vt-width-wide {
    max-width: 1320px !important;
  }

  body.vt-public-site .vt-image-text-fixed {
    width: 100% !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
    gap: clamp(56px, 5vw, 88px) !important;
    align-items: center !important;
  }

  body.vt-public-site .vt-image-text-fixed .cms-image-frame,
  body.vt-public-site .vt-image-text-fixed .cms-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.vt-public-site .vt-image-text-fixed .cms-copy {
    padding-inline: clamp(8px, 1vw, 18px) !important;
  }
}

@media (min-width: 901px) and (max-width: 1260px) {
  body.vt-public-site .vt-cms-section > .container,
  body.vt-public-site .vt-cms-section > .vt-cms-container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container {
    width: calc(100% - 64px) !important;
    max-width: 1080px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  body.vt-public-site .vt-image-text-fixed {
    gap: 44px !important;
  }
}

@media (max-width: 900px) {
  body.vt-public-site .vt-cms-section > .container,
  body.vt-public-site .vt-cms-section > .vt-cms-container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }
}

@media (max-width: 600px) {
  body.vt-public-site .vt-cms-section > .container,
  body.vt-public-site .vt-cms-section > .vt-cms-container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }
}

/* ============================================================
   VALENTINA V11 — TRUE INNER CONTENT CONTAINER
   Sections may remain full-bleed, but their content is always
   centered inside a controlled frame with real side breathing room.
   ============================================================ */
:root{
  --vt-content-max:1180px;
  --vt-content-wide:1280px;
  --vt-content-narrow:900px;
}

/* Desktop: strong, visible side gutters + centered content frame. */
@media (min-width:1261px){
  .vt-cms-section > .container,
  .vt-cms-section > .vt-cms-container,
  .vt-page-intro__after > .container,
  .vt-page-intro__after > .vt-cms-container{
    width:min(var(--vt-content-max), calc(100% - clamp(96px, 10vw, 180px))) !important;
    max-width:var(--vt-content-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .vt-cms-section > .vt-width-wide,
  .vt-page-intro__after > .vt-width-wide{
    width:min(var(--vt-content-wide), calc(100% - clamp(96px, 8vw, 160px))) !important;
    max-width:var(--vt-content-wide) !important;
  }

  .vt-cms-section > .vt-width-narrow,
  .vt-page-intro__after > .vt-width-narrow{
    width:min(var(--vt-content-narrow), calc(100% - clamp(120px, 14vw, 260px))) !important;
    max-width:var(--vt-content-narrow) !important;
  }

  .vt-cms-section .vt-image-text-fixed,
  .vt-cms-section .two-col.cms-image-text{
    width:100% !important;
    max-width:100% !important;
    margin-inline:auto !important;
    gap:clamp(48px, 5vw, 82px) !important;
  }
}

/* Tablet: keep the content clearly away from the device edges. */
@media (min-width:769px) and (max-width:1260px){
  .vt-cms-section > .container,
  .vt-cms-section > .vt-cms-container,
  .vt-page-intro__after > .container,
  .vt-page-intro__after > .vt-cms-container{
    width:calc(100% - 64px) !important;
    max-width:1080px !important;
    margin-inline:auto !important;
    padding-inline:0 !important;
  }
}

/* Mobile: compact but still intentional side breathing room. */
@media (max-width:768px){
  .vt-cms-section > .container,
  .vt-cms-section > .vt-cms-container,
  .vt-page-intro__after > .container,
  .vt-page-intro__after > .vt-cms-container{
    width:calc(100% - 32px) !important;
    max-width:calc(100% - 32px) !important;
    margin-inline:auto !important;
    padding-inline:0 !important;
  }
}

@media (max-width:420px){
  .vt-cms-section > .container,
  .vt-cms-section > .vt-cms-container,
  .vt-page-intro__after > .container,
  .vt-page-intro__after > .vt-cms-container{
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
  }
}

/* ============================================================
   VALENTINA V12 — CONTENT EXACTLY CENTERED
   The whole inner content frame sits in the visual center of the
   viewport with equal left/right space. Text alignment is unchanged.
   ============================================================ */
:root{
  --vt-center-frame:1120px;
  --vt-center-frame-wide:1240px;
}

@media (min-width:1261px){
  body.vt-public-site .vt-cms-section > .container,
  body.vt-public-site .vt-cms-section > .vt-cms-container,
  .vt-cms-section > .container,
  .vt-cms-section > .vt-cms-container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container,
  .vt-page-intro__after > .container,
  .vt-page-intro__after > .vt-cms-container{
    box-sizing:border-box !important;
    width:calc(100% - 160px) !important;
    max-width:var(--vt-center-frame) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.vt-public-site .vt-cms-section > .vt-width-wide,
  .vt-cms-section > .vt-width-wide,
  body.vt-public-site .vt-page-intro__after > .vt-width-wide,
  .vt-page-intro__after > .vt-width-wide{
    width:calc(100% - 140px) !important;
    max-width:var(--vt-center-frame-wide) !important;
  }

  body.vt-public-site .vt-cms-section .vt-image-text-fixed,
  body.vt-public-site .vt-cms-section .two-col.cms-image-text,
  .vt-cms-section .vt-image-text-fixed,
  .vt-cms-section .two-col.cms-image-text{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (min-width:769px) and (max-width:1260px){
  body.vt-public-site .vt-cms-section > .container,
  body.vt-public-site .vt-cms-section > .vt-cms-container,
  .vt-cms-section > .container,
  .vt-cms-section > .vt-cms-container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container,
  .vt-page-intro__after > .container,
  .vt-page-intro__after > .vt-cms-container{
    width:calc(100% - 80px) !important;
    max-width:1040px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:768px){
  body.vt-public-site .vt-cms-section > .container,
  body.vt-public-site .vt-cms-section > .vt-cms-container,
  .vt-cms-section > .container,
  .vt-cms-section > .vt-cms-container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container,
  .vt-page-intro__after > .container,
  .vt-page-intro__after > .vt-cms-container{
    width:calc(100% - 32px) !important;
    max-width:calc(100% - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* ============================================================
   VALENTINA V13 — GLOBAL CENTERED CONTENT SYSTEM
   Every public-facing content block lives inside a centered frame.
   Section backgrounds and media may stay full width; the content does not.
   ============================================================ */
body.vt-public-site{
  --vt-global-frame:1180px;
  --vt-global-frame-wide:1280px;
  --vt-global-frame-narrow:900px;
}

/* One centered page frame for all public content areas. */
@media (min-width:1261px){
  body.vt-public-site .container,
  body.vt-public-site .vt-cms-container,
  body.vt-public-site .site-header .nav-row,
  body.vt-public-site .hero-inner,
  body.vt-public-site .hero-bottom,
  body.vt-public-site .vt-page-intro__container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container,
  body.vt-public-site .site-footer > .container{
    box-sizing:border-box !important;
    width:calc(100% - 144px) !important;
    max-width:var(--vt-global-frame) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Wide content is still centered, just slightly larger. */
  body.vt-public-site .vt-width-wide,
  body.vt-public-site .cards-grid,
  body.vt-public-site .offer-grid,
  body.vt-public-site .ticket-grid,
  body.vt-public-site .gallery-grid,
  body.vt-public-site .vt-gallery-studio-public,
  body.vt-public-site .vt-latest-offers-grid{
    max-width:var(--vt-global-frame-wide) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.vt-public-site .vt-width-narrow,
  body.vt-public-site .narrow-container,
  body.vt-public-site .cms-rich-text{
    max-width:var(--vt-global-frame-narrow) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Tablet: equal and visible gutters on both sides. */
@media (min-width:769px) and (max-width:1260px){
  body.vt-public-site .container,
  body.vt-public-site .vt-cms-container,
  body.vt-public-site .site-header .nav-row,
  body.vt-public-site .hero-inner,
  body.vt-public-site .hero-bottom,
  body.vt-public-site .vt-page-intro__container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container,
  body.vt-public-site .site-footer > .container{
    box-sizing:border-box !important;
    width:calc(100% - 80px) !important;
    max-width:1080px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Phone: every content block stays inside the same safe frame. */
@media (max-width:768px){
  body.vt-public-site .container,
  body.vt-public-site .vt-cms-container,
  body.vt-public-site .site-header .nav-row,
  body.vt-public-site .hero-inner,
  body.vt-public-site .hero-bottom,
  body.vt-public-site .vt-page-intro__container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container,
  body.vt-public-site .site-footer > .container{
    box-sizing:border-box !important;
    width:calc(100% - 32px) !important;
    max-width:calc(100% - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:420px){
  body.vt-public-site .container,
  body.vt-public-site .vt-cms-container,
  body.vt-public-site .site-header .nav-row,
  body.vt-public-site .hero-inner,
  body.vt-public-site .hero-bottom,
  body.vt-public-site .vt-page-intro__container,
  body.vt-public-site .vt-page-intro__after > .container,
  body.vt-public-site .vt-page-intro__after > .vt-cms-container,
  body.vt-public-site .site-footer > .container{
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
  }
}

/* Keep every inner layout inside its parent frame. */
body.vt-public-site .vt-cms-section > .container,
body.vt-public-site .vt-cms-section > .vt-cms-container,
body.vt-public-site .two-col,
body.vt-public-site .cms-image-text,
body.vt-public-site .contact-layout,
body.vt-public-site .section-head,
body.vt-public-site .cards-grid,
body.vt-public-site .feature-grid,
body.vt-public-site .offer-grid,
body.vt-public-site .ticket-grid,
body.vt-public-site .stats-row,
body.vt-public-site .gallery-grid,
body.vt-public-site .press-grid,
body.vt-public-site .logo-strip,
body.vt-public-site .center-actions{
  box-sizing:border-box !important;
  min-width:0 !important;
}

body.vt-public-site .vt-cms-section > .container,
body.vt-public-site .vt-cms-section > .vt-cms-container{
  position:relative;
  z-index:3;
}

/* Prevent any content group from drifting toward one edge. */
body.vt-public-site .two-col,
body.vt-public-site .cms-image-text,
body.vt-public-site .contact-layout,
body.vt-public-site .cards-grid,
body.vt-public-site .feature-grid,
body.vt-public-site .offer-grid,
body.vt-public-site .ticket-grid,
body.vt-public-site .stats-row,
body.vt-public-site .gallery-grid,
body.vt-public-site .press-grid,
body.vt-public-site .logo-strip{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
