
:root {
  --dsv3-primary-50: 240 253 249;
  --dsv3-primary-100: 205 250 239;
  --dsv3-primary-200: 155 244 223;
  --dsv3-primary-300: 96 232 204;
  --dsv3-primary-500: 23 181 157;
  --dsv3-primary-700: 13 133 116;
  --dsv3-primary-800: 18 93 85;
  --dsv3-primary-900: 10 67 62;
  --dsv3-primary-950: 5 46 43;
  --dsv3-gray-50: 248 247 247;
  --dsv3-gray-100: 239 239 239;
  --dsv3-gray-200: 220 219 219;
  --dsv3-gray-300: 190 187 187;
  --dsv3-gray-500: 120 115 115;
  --dsv3-gray-600: 103 98 98;
  --dsv3-gray-800: 72 68 68;
  --dsv3-gray-950: 41 40 40;
  --dsv3-canvas: rgb(var(--dsv3-gray-50));
  --dsv3-surface: #fff;
  --dsv3-ink: rgb(var(--dsv3-gray-950));
  --dsv3-muted: rgb(var(--dsv3-gray-600));
  --dsv3-line: rgb(var(--dsv3-gray-200));
  --dsv3-accent: rgb(var(--dsv3-primary-700));
  --dsv3-accent-strong: rgb(var(--dsv3-primary-900));
  --dsv3-soft: rgb(var(--dsv3-primary-50));
  --dsv3-button: linear-gradient(135deg, rgb(45 199 166), rgb(13 148 136));
  --dsv3-shadow-xs: 0 1px 2px rgb(0 0 0 / .05);
  --dsv3-shadow-md: 0 14px 42px -20px rgb(5 46 43 / .3);
  --dsv3-shadow-lg: 0 30px 80px -30px rgb(5 46 43 / .45);
  --dsv3-pill: 999px;
  --dsv3-r-md: 12px;
  --dsv3-r-lg: 18px;
  --dsv3-r-xl: 26px;
  --dsv3-font: "FT Kunst Grotesk", "Fellix", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg: rgb(var(--dsv3-gray-50));
  --surface: #fff;
  --line: rgb(var(--dsv3-gray-200));
  --line-strong: rgb(var(--dsv3-gray-300));
  --ink: rgb(var(--dsv3-gray-950));
  --ink-soft: rgb(var(--dsv3-gray-600));
  --accent: rgb(var(--dsv3-primary-700));
  --accent-soft: rgb(var(--dsv3-primary-50));
  --on-accent: #fff;
  --danger: rgb(181 55 46);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 26px;
  --radius-pill: 999px;
  --shadow-lg: var(--dsv3-shadow-lg);
  /* Basliktaki hesap menusu (src/ui/portal.ts) kendi bicemini gomuyor ama bu jetonu okuyor;
     tanimsizken panel golgesiz kaliyor ve sayfanin uzerinde yuzdugu anlasilmiyordu. */
  --shadow-lift-strong: var(--dsv3-shadow-lg);
  --weight-medium: 600;
  --weight-bold: 750;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.dsv3-menu-open { overflow: hidden; }
body { min-width: 320px; margin: 0; color: var(--dsv3-ink); background: rgb(var(--dsv3-primary-800)); font-family: var(--dsv3-font); }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.dsv3-root { overflow-x: clip; background: var(--dsv3-canvas); }
.dsv3-shell { width: min(calc(100% - 48px), 1240px); margin-inline: auto; }
.dsv3-sr, .sr-only { position: absolute!important; width: 1px!important; height: 1px!important; overflow: hidden!important; clip: rect(0 0 0 0)!important; clip-path: inset(50%)!important; white-space: nowrap!important; }
/* Atlama bağlantısı: odak gelene kadar görünmüyor, odaklanınca sol üstte gerçek bir düğme.
   .dsv3-sr ile gizlemek olmazdı - o kural boyutu !important ile kilitliyor ve odakta geri
   açılamıyor. Hedefi main ögesinin id="main" çıpası; ikisi de renderDesignV3Shell'de. */
.dsv3-skip { position: absolute; z-index: 200; top: 8px; left: 8px; padding: 10px 16px; color: #fff; background: var(--dsv3-button); border-radius: var(--dsv3-pill); font-weight: 650; transform: translateY(-200%); }
.dsv3-skip:focus { transform: none; }
.dsv3-btn { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 9px; padding: 0 19px; border: 0; border-radius: var(--dsv3-pill); font-weight: 650; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.dsv3-btn:hover { transform: translateY(-1px); }
.dsv3-btn--primary { color: #fff; background: var(--dsv3-button); box-shadow: 0 10px 28px -13px rgb(var(--dsv3-primary-950)); }
.dsv3-btn--light { color: var(--dsv3-accent-strong); background: #fff; }
.dsv3-btn--ghost { color: var(--dsv3-ink); background: rgb(255 255 255 / .72); }
.dsv3-iconbtn { width: 46px; padding: 0; }
.dsv3-kicker { display: block; color: var(--dsv3-accent); font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.dsv3-arrow--back { transform: rotate(180deg); }
.dsv3-section { padding-block: clamp(58px, 7vw, 96px); }
.dsv3-sectionhead { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.dsv3-sectionhead h2 { max-width: 16ch; margin: 7px 0 0; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 500; line-height: 1.02; letter-spacing: -.045em; }
.dsv3-sectionhead p { max-width: 55ch; margin: 0; color: var(--dsv3-muted); font-size: 1rem; line-height: 1.65; }

.dsv3-header { position: sticky; z-index: 70; top: 0; }
.dsv3-utility { max-height: 44px; overflow: visible; color: #fff; background: rgb(var(--dsv3-primary-700)); transition: max-height .26s ease, opacity .26s ease; }
.dsv3-utility__inner { display: flex; min-height: 44px; align-items: center; gap: 16px; }
.dsv3-regions { display: flex; min-width: 0; flex: 1; align-self: stretch; align-items: center; gap: 3px; }
.dsv3-region { position: relative; align-self: stretch; }
.dsv3-region__trigger, .dsv3-utilitylink { display: inline-flex; min-height: 44px; height: 100%; align-items: center; gap: 5px; padding: 0 9px; border: 0; color: inherit; background: transparent; font-size: .76rem; font-weight: 550; white-space: nowrap; }
.dsv3-region__trigger svg { transition: transform .25s ease; }
.dsv3-region__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.dsv3-holidaytypes { position: relative; align-self: stretch; }
.dsv3-holidaytypes__trigger { display: inline-flex; min-height: 44px; height: 100%; align-items: center; justify-content: center; gap: 6px; padding-inline: 10px; border: 0; border-radius: 9px; color: #fff; background: rgb(255 255 255 / .1); font-size: .76rem; font-weight: 600; white-space: nowrap; }
.dsv3-holidaytypes__trigger svg { transition: transform .25s ease; }
.dsv3-holidaytypes__trigger[aria-expanded="true"] { background: transparent; font-weight: 700; }
.dsv3-holidaytypes__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.dsv3-holidaytypes__panel { position: fixed; z-index: 96; top: 50px; right: max(16px, calc((100vw - 1240px) / 2 + 24px)); width: min(458px, calc(100vw - 32px)); padding: 20px; border-radius: 16px; color: var(--dsv3-ink); background: #fff; box-shadow: 0 24px 70px rgb(5 46 43 / .2); transform-origin: 80% 0; animation: dsv3-search-open .24s cubic-bezier(.22,.78,.2,1) both; }
.dsv3-holidaytypes__head { display: flex; min-height: 42px; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 10px; }
.dsv3-holidaytypes__head > strong { font-size: 1rem; font-weight: 500; }
.dsv3-holidaytypes__head > a { display: inline-flex; align-items: center; gap: 7px; color: var(--dsv3-accent-strong); font-size: .76rem; }
.dsv3-holidaytypes__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 14px; }
.dsv3-holidaytypes__link { display: grid; min-height: 52px; grid-template-columns: 22px minmax(0,1fr) 16px; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 10px; font-size: .78rem; line-height: 1.35; transition: color .18s ease, background .18s ease, transform .18s ease; }
.dsv3-holidaytypes__link strong { font-weight: 500; }
.dsv3-holidaytypes__icon { display: grid; color: var(--dsv3-muted); place-items: center; }
.dsv3-holidaytypes__link > svg { color: var(--dsv3-muted); }
.dsv3-holidaytypes__link:hover { color: var(--dsv3-accent-strong); background: var(--dsv3-soft); transform: translateX(2px); }
.dsv3-header[data-shrunk="true"] .dsv3-holidaytypes__panel { display: none; }
.dsv3-meta { display: flex; align-items: center; gap: 13px; font-size: .74rem; white-space: nowrap; }
.dsv3-meta > a, .dsv3-traveltips { display: inline-flex; min-height: 44px; align-items: center; }
.dsv3-locale { position: relative; }
.dsv3-locale summary { display: inline-flex; min-height: 44px; align-items: center; gap: 5px; padding: 0 7px; border-radius: 9px; color: inherit; list-style: none; cursor: pointer; }
.dsv3-locale summary::-webkit-details-marker { display: none; }
.dsv3-locale summary svg { transition: transform .2s ease; }
.dsv3-locale[open] summary { background: rgb(255 255 255 / .12); }
.dsv3-locale[open] summary svg { transform: rotate(180deg); }
.dsv3-locale form { position: absolute; z-index: 98; top: calc(100% + 9px); right: 0; width: 286px; padding: 17px; border-radius: 16px; color: var(--dsv3-ink); background: #fff; box-shadow: 0 24px 70px rgb(5 46 43 / .2); animation: dsv3-search-open .24s cubic-bezier(.22,.78,.2,1) both; }
.dsv3-locale fieldset { margin: 0; padding: 0; border: 0; }
.dsv3-locale fieldset + fieldset { margin-top: 15px; }
.dsv3-locale legend { margin-bottom: 8px; color: var(--dsv3-muted); font-size: .66rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-locale fieldset > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.dsv3-locale fieldset:first-of-type > div { grid-template-columns: 1fr 1fr; }
.dsv3-locale label { position: relative; cursor: pointer; }
.dsv3-locale label input { position: absolute; opacity: 0; pointer-events: none; }
.dsv3-locale label span { display: grid; min-height: 38px; place-items: center; padding-inline: 9px; border-radius: 10px; background: var(--dsv3-gray-50); font-weight: 650; }
.dsv3-locale label input:checked + span { color: var(--dsv3-accent-strong); background: var(--dsv3-soft); box-shadow: inset 0 0 0 1px rgb(var(--dsv3-primary-300)); }
.dsv3-locale label input:focus-visible + span { outline: 2px solid rgb(var(--dsv3-primary-500)); outline-offset: 2px; }
.dsv3-locale .dsv3-btn { width: 100%; min-height: 40px; margin-top: 15px; }
.dsv3-traveltips { display: inline-flex; align-items: center; gap: 7px; font-weight: 650; }
.dsv3-mainhead { position: relative; background: #fff; box-shadow: 0 1px 0 rgb(0 0 0 / .06); }
.dsv3-mainhead__inner { display: grid; min-height: 81px; grid-template-columns: 128px minmax(280px, 1fr) auto auto; align-items: center; gap: 22px; transition: min-height .26s cubic-bezier(.22,.78,.2,1); }
.dsv3-logo { display: block; width: 118px; transition: width .26s cubic-bezier(.22,.78,.2,1); }
.dsv3-logo img { width: 100%; height: auto; }
.dsv3-headsearch { position: relative; min-width: 0; }
.dsv3-headsearch__form { display: grid; height: 48px; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 0 5px 0 15px; border: 1px solid var(--dsv3-line); border-radius: var(--dsv3-pill); background: var(--dsv3-gray-50); }
.dsv3-headsearch__form:focus-within { border-color: rgb(var(--dsv3-primary-500)); box-shadow: 0 0 0 4px rgb(var(--dsv3-primary-100) / .72); }
.dsv3-headsearch input { min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: transparent; }
.dsv3-headsearch .dsv3-btn { min-height: 38px; padding-inline: 17px; }
.dsv3-searchpanel { position: absolute; z-index: 9; top: calc(100% + 10px); left: 0; width: 100%; padding: 22px; border-radius: 18px; background: #fff; box-shadow: var(--dsv3-shadow-lg); transform-origin: 50% 0; animation: dsv3-search-open .3s cubic-bezier(.22,.78,.2,1) both; }
.dsv3-searchpanel[hidden] { display: none; }
@keyframes dsv3-search-open { from { opacity: 0; transform: translateY(-8px) scale(.985); } to { opacity: 1; transform: none; } }
.dsv3-searchpanel__group + .dsv3-searchpanel__group { margin-top: 18px; }
.dsv3-searchpanel h3 { margin: 0 0 9px; color: var(--dsv3-muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-searchchips { display: flex; flex-wrap: wrap; gap: 7px; }
.dsv3-searchchips a { padding: 8px 11px; border-radius: var(--dsv3-pill); background: var(--dsv3-soft); font-size: .78rem; }
.dsv3-searchproducts { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dsv3-searchlist { display: grid; gap: 8px; }
.dsv3-searchcard { display: grid; min-width: 0; min-height: 58px; grid-template-columns: 58px minmax(0,1fr) 17px; align-items: center; gap: 10px; color: var(--dsv3-ink); }
.dsv3-searchcard img, .dsv3-searchcard__media { display: block; width: 58px; height: 58px; border-radius: 11px; background: var(--dsv3-soft); object-fit: cover; }
.dsv3-searchcard__copy { min-width: 0; }
.dsv3-searchcard strong { display: -webkit-box; overflow: hidden; font-size: .76rem; font-weight: 720; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dsv3-searchcard small { display: block; margin-top: 3px; overflow: hidden; color: var(--dsv3-muted); font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-searchcard > svg { justify-self: end; }
.dsv3-livesuggest[hidden] { display: none!important; }
.dsv3-livesuggest { display: grid; gap: 17px; }
.dsv3-livesuggest > section + section { padding-top: 15px; box-shadow: 0 -1px 0 var(--dsv3-line); }
.dsv3-livesuggest h3 { margin: 0 0 8px; color: var(--dsv3-muted); font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-livesuggest__list { display: grid; gap: 2px; }
.dsv3-livesuggest__list a { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 10px 7px; border-radius: 10px; }
.dsv3-livesuggest__list a:hover, .dsv3-livesuggest__list a:focus-visible { outline: 0; background: var(--dsv3-soft); }
.dsv3-livesuggest__list a > span:first-child, .dsv3-livesuggest__list strong, .dsv3-livesuggest__list small { display: block; min-width: 0; }
.dsv3-livesuggest__list strong { overflow: hidden; font-size: .79rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-livesuggest__list small { margin-top: 3px; overflow: hidden; color: var(--dsv3-muted); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-livesuggest__list a > span:last-child { color: var(--dsv3-accent-strong); font-size: 1rem; }
.dsv3-livesuggest__empty { margin: 0; padding: 10px 7px; color: var(--dsv3-muted); font-size: .76rem; }
.dsv3-headsearch[data-suggesting="true"] .dsv3-searchpanel > :not(.dsv3-livesuggest) { display: none; }
.dsv3-mainnav, .dsv3-account { display: flex; align-items: center; gap: 16px; }
.dsv3-mainnav a { font-size: .82rem; font-weight: 600; white-space: nowrap; }
.dsv3-account { gap: 7px; }
.dsv3-account .dsv3-btn { min-height: 42px; padding-inline: 15px; font-size: .78rem; }
.dsv3-header--home .dsv3-headsearch .dsv3-btn,
.dsv3-header--home .dsv3-account .dsv3-btn--primary,
.dsv3-header--overlay:not([data-shrunk="true"]) .dsv3-headsearch .dsv3-btn,
.dsv3-header--overlay:not([data-shrunk="true"]) .dsv3-account .dsv3-btn--primary { color: #fff; }
.dsv3-header[data-shrunk="true"] .dsv3-utility { max-height: 0; opacity: 0; overflow: hidden; }
.dsv3-header[data-shrunk="true"] .dsv3-mainhead__inner { min-height: 68px; }
.dsv3-header[data-shrunk="true"] .dsv3-logo { width: 104px; }
.dsv3-header[data-shrunk="true"] .dsv3-account .dsv3-btn { min-height: 38px; }
.dsv3-mega { position: fixed; z-index: 65; top: 125px; left: 50%; width: min(calc(100% - 48px), 1180px); max-height: min(560px, calc(100vh - 147px)); overflow: hidden; padding: 0; border-radius: 0 0 22px 22px; color: var(--dsv3-ink); background: #fff; box-shadow: var(--dsv3-shadow-lg); transform: translateX(-50%); animation: dsv3-mega-in .3s cubic-bezier(.22,.78,.2,1) both; transition: top .26s cubic-bezier(.22,.78,.2,1); }
.dsv3-header[data-shrunk="true"] .dsv3-mega { top: 68px; }
.dsv3-mega__grid { display: grid; grid-template-columns: 190px minmax(0,1fr) minmax(320px,390px); }
.dsv3-mega__grid--no-experiences .dsv3-mega__feature { grid-column: 2 / 4; }
.dsv3-mega__grid--no-feature .dsv3-mega__experiencecol { grid-column: 2 / 4; padding-left: 18px; }
.dsv3-mega__countries { grid-row: 1 / span 2; padding: 17px; background: var(--dsv3-gray-50); }
.dsv3-mega__regionlink { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 9px; color: var(--dsv3-ink); }
.dsv3-mega__regionlink strong { font-size: .82rem; }
.dsv3-mega__regionlink svg { color: var(--dsv3-accent-strong); }
.dsv3-mega__countrylist { display: grid; gap: 2px; margin-top: 7px; }
.dsv3-mega__country { display: grid; min-height: 35px; grid-template-columns: minmax(0,1fr) auto auto 15px; align-items: center; gap: 7px; padding: 0 8px; border-radius: 9px; color: var(--dsv3-muted); font-size: .73rem; }
/* Kutunun acacagi listenin sonuc sayisi: adin ve ikincil bilginin sagindaki son sutun. */
.dsv3-mega__countrycount { color: rgb(var(--dsv3-gray-500)); font-size: .68rem; font-weight: 650; white-space: nowrap; }
.dsv3-mega__country small { font-size: .61rem; }
.dsv3-mega__country > svg { color: var(--dsv3-accent-strong); opacity: 0; transform: translateX(-4px); transition: opacity .18s ease,transform .18s ease; }
.dsv3-mega__country:hover, .dsv3-mega__country[data-selected="true"] { color: var(--dsv3-ink); background: #fff; }
.dsv3-mega__country:hover > svg, .dsv3-mega__country[data-selected="true"] > svg { opacity: 1; transform: none; }
.dsv3-mega__more { margin-top: 11px; padding: 10px 8px 0; box-shadow: 0 -1px 0 var(--dsv3-line); }
.dsv3-mega__more > strong { display: block; color: var(--dsv3-muted); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-mega__more > div { display: grid; grid-template-columns: minmax(0,1fr); gap: 4px; margin-top: 7px; }
.dsv3-mega__more a { color: var(--dsv3-muted); font-size: .66rem; line-height: 1.35; }
.dsv3-mega__othercountry { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-mega__othercountry[data-selected="true"] { color: var(--dsv3-accent-strong); font-weight: 700; }
.dsv3-mega__more a:hover { color: var(--dsv3-accent-strong); text-decoration: underline; text-underline-offset: 3px; }
.dsv3-mega__more .dsv3-mega__morelink { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 6px; margin-top: 8px; color: var(--dsv3-accent-strong); font-weight: 760; box-shadow: 0 -1px 0 var(--dsv3-line); }
.dsv3-mega__more .dsv3-mega__morelink:hover { text-decoration: none; }.dsv3-mega__morelink svg { flex: none; }
.dsv3-mega__heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.dsv3-mega__heading strong { font-size: .82rem; }
.dsv3-mega__heading a { color: var(--dsv3-accent); font-size: .72rem; font-weight: 650; }
.dsv3-mega__heading span > small { display: block; margin-top: 3px; color: var(--dsv3-muted); font-size: .65rem; font-weight: 450; }
.dsv3-mega__heading > b { padding: 5px 8px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .62rem; font-weight: 650; white-space: nowrap; }
.dsv3-mega__feature { min-width: 0; padding: 17px 18px; }
.dsv3-mega__visual { position: relative; display: block; height: 184px; overflow: hidden; border-radius: 15px; color: #fff; background: linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-700))); }
.dsv3-mega__visual img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-mega__visual::after { position: absolute; inset: 0; background: linear-gradient(0deg,rgb(4 31 29 / .9),transparent 72%); content: ""; }
.dsv3-mega__visualcopy { position: absolute; z-index: 1; right: 15px; bottom: 13px; left: 15px; }
.dsv3-mega__visualcopy strong, .dsv3-mega__visualcopy small { display: block; }
.dsv3-mega__visualcopy strong { font-size: 1rem; line-height: 1.25; }
.dsv3-mega__visualcopy small { margin-top: 4px; color: rgb(255 255 255 / .7); font-size: .68rem; }
/* Fotoğrafı olmayan "İlk öneri" kartı.

   Ölçülen kusur (durum tespiti 12.09.2026, madde 5): Suudi Arabistan'ın önerisi geliyor, başlığı
   geliyor, fotoğrafı yok — çünkü o ülkenin diskte hiç görsel klasörü yok. Kart o hâlde alt kenarına
   sıkışmış bir yazıyla, üstünde 130 piksel boş koyu alanla çiziliyordu: yüklenememiş bir fotoğraf
   gibi görünüyor, oysa yüklenecek bir fotoğraf yok. '--empty' sınıfı işaretlemede vardı ama hiçbir
   kuralı yoktu.

   Öneriyi gizlemek çözüm değil: öneri gerçek, yalnız karesi yok. Bu yüzden hâl **bilerek kurulmuş**
   bir hâle çevriliyor — metin ortada, fotoğraf perdesi kapalı, zemin markanın kendi eğimi. Kare
   üretildiği gün (aynı raporun 9. maddesi) sınıf kendiliğinden düşüyor ve buradaki hiçbir satır
   çalışmıyor. */
.dsv3-mega__visual--empty::after { background: none; }
.dsv3-mega__visual--empty .dsv3-mega__visualcopy { top: 50%; bottom: auto; transform: translateY(-50%); text-align: center; }
.dsv3-mega__experiencecol { min-width: 0; padding: 17px 17px 13px 0; }
.dsv3-mega__experiences { display: grid; gap: 4px; }
.dsv3-mega__experiences a { display: grid; min-height: 49px; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 5px 9px 5px 5px; border-radius: 10px; background: var(--dsv3-soft); }
.dsv3-mega__experiences a.dsv3-mega__experience--text { grid-template-columns: minmax(0,1fr) auto; padding-left: 9px; }
.dsv3-mega__experiences strong { display: block; overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-mega__experiences small { display: block; margin-top: 3px; color: var(--dsv3-muted); font-size: .64rem; }
.dsv3-mega__thumb { display: block; width: 58px; height: 39px; overflow: hidden; border-radius: 8px; background: var(--dsv3-gray-100); }
.dsv3-mega__thumb img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-mega__hotelstrip { grid-column: 2 / 4; display: grid; grid-template-columns: 120px minmax(0,1fr); align-items: center; gap: 13px; padding: 10px 16px 14px 18px; background: var(--dsv3-surface); }
.dsv3-mega__hotelhead { display: grid; gap: 6px; }
.dsv3-mega__hotelhead strong { font-size: .76rem; }
.dsv3-mega__hotelhead a { display: inline-flex; align-items: center; gap: 5px; color: var(--dsv3-accent); font-size: .65rem; }
.dsv3-mega__hotels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.dsv3-mega__hotel { display: grid; min-width: 0; min-height: 68px; grid-template-columns: 72px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 6px 9px 6px 6px; border-radius: 11px; background: var(--dsv3-soft); transition: transform .18s ease, background .18s ease; }
.dsv3-mega__hotel.dsv3-mega__hotel--text { grid-template-columns: minmax(0,1fr) auto; padding-left: 11px; }
.dsv3-mega__thumb--hotel { width: 72px; height: 52px; }
.dsv3-mega__hotel:hover { transform: translateY(-2px); background: var(--dsv3-gray-50); }
.dsv3-mega__hotel strong { display: -webkit-box; overflow: hidden; font-size: .72rem; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dsv3-mega__hotel small { display: block; overflow: hidden; margin-top: 4px; color: var(--dsv3-muted); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
@keyframes dsv3-mega-in { from { opacity: 0; transform: translate(-50%,-9px) scale(.988); } to { opacity: 1; transform: translate(-50%,0) scale(1); } }
.dsv3-mobilebar, .dsv3-mobilemenu { display: none; }

.dsv3-hero { position: relative; min-height: 680px; overflow: hidden; color: #fff; background: rgb(var(--dsv3-primary-950)); }
/* Kaydiracsiz kahraman: fotografli deneyim yokken sayfa yine basligiyla ve iki cikisiyla
   aciliyor, yalniz daha alcak. Bos bir vitrin yeri kapatilmiyor. */
.dsv3-hero--copyonly { min-height: 0; }
.dsv3-hero--copyonly > .dsv3-shell { padding-block: 96px 72px; }
.dsv3-hero__backgrounds, .dsv3-hero__bg, .dsv3-hero__wash { position: absolute; inset: 0; }
.dsv3-hero__bg { opacity: 0; transform: translateX(5%); transition: opacity .55s ease, transform .62s cubic-bezier(.22,.78,.2,1); }
.dsv3-hero__bg[data-active="true"] { opacity: 1; transform: none; }
.dsv3-hero__bg img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.04); }
.dsv3-hero__wash { background: linear-gradient(90deg,rgb(5 36 33 / .96),rgb(5 46 43 / .74) 47%,rgb(5 46 43 / .24)), linear-gradient(0deg,rgb(5 46 43 / .55),transparent 45%); }
.dsv3-hero__inner { position: relative; z-index: 2; display: grid; min-height: 680px; grid-template-columns: minmax(0,1fr) minmax(350px,440px); align-items: center; gap: clamp(40px,7vw,100px); padding-block: 74px 82px; }
.dsv3-hero--plain .dsv3-hero__inner { grid-template-columns: minmax(0,1fr); }

.dsv3-hero__copy { max-width: 660px; }
.dsv3-hero__mode { display: inline-flex; align-items: center; gap: 7px; color: rgb(var(--dsv3-primary-100)); font-size: .72rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-hero h1 { max-width: 10ch; margin: 13px 0 0; font-size: clamp(3.6rem,6.3vw,5.3rem); font-weight: 500; line-height: .96; letter-spacing: -.058em; }
.dsv3-hero__lede { max-width: 54ch; margin: 22px 0 0; color: rgb(255 255 255 / .77); font-size: 1.05rem; line-height: 1.65; }
.dsv3-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.dsv3-hero__stage { position: relative; height: 430px; }
.dsv3-hero__card { position: absolute; inset: 0; overflow: hidden; border-radius: 24px; opacity: 0; pointer-events: none; transform: translateX(24px) scale(.98); box-shadow: var(--dsv3-shadow-lg); transition: opacity .5s ease, transform .58s cubic-bezier(.22,.78,.2,1); }
.dsv3-hero__card[data-active="true"] { z-index: 2; opacity: 1; pointer-events: auto; transform: none; }
.dsv3-hero__card img, .dsv3-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-hero__video { z-index: 0; background: rgb(var(--dsv3-primary-950)); }
.dsv3-hero__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgb(3 28 26 / .94),transparent 68%); }
.dsv3-hero__cardcopy { position: absolute; z-index: 1; right: 24px; bottom: 22px; left: 24px; }
.dsv3-hero__cardcopy small { color: rgb(255 255 255 / .74); font-size: .74rem; }
.dsv3-hero__cardcopy h2 { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin: 7px 0 0; font-size: 1.65rem; font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }
.dsv3-hero__nextstage { position: relative; min-height: 82px; margin-top: 12px; }
.dsv3-hero__next { position: absolute; inset: 0; display: grid; min-height: 82px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; overflow: hidden; padding: 13px 16px; border-radius: 14px; background: rgb(var(--dsv3-primary-900)); box-shadow: var(--dsv3-shadow-md); opacity: 0; pointer-events: none; transform: translateX(12px); transition: opacity .38s ease, transform .48s cubic-bezier(.22,.78,.2,1); }
.dsv3-hero__next[data-active="true"] { z-index: 1; opacity: 1; pointer-events: auto; transform: none; }
.dsv3-hero__next img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .32; }
.dsv3-hero__next::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgb(5 46 43 / .95),rgb(5 46 43 / .42)); }
.dsv3-hero__next span, .dsv3-hero__next svg { position: relative; z-index: 1; }
.dsv3-hero__next small, .dsv3-hero__next strong { display: block; }
.dsv3-hero__next small { color: rgb(var(--dsv3-primary-100)); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-hero__next strong { margin-top: 4px; font-size: .83rem; }
.dsv3-hero__controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; }
.dsv3-dots { display: flex; gap: 7px; }
.dsv3-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: var(--dsv3-pill); background: rgb(255 255 255 / .32); transition: width .25s ease; }
.dsv3-dot[aria-current="true"] { width: 26px; background: rgb(var(--dsv3-primary-200)); }
.dsv3-arrows { display: flex; gap: 7px; }
.dsv3-heroarrow { display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid rgb(255 255 255 / .26); border-radius: 50%; color: #fff; background: rgb(5 46 43 / .38); }

.dsv3-holiday { padding-block: 34px 24px; }
.dsv3-holiday__card { display: grid; grid-template-columns: minmax(220px,.72fr) minmax(0,1.45fr); gap: 28px; padding: 28px; border-radius: var(--dsv3-r-xl); background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-holiday__intro { align-self: center; }
.dsv3-holiday__intro h2 { margin: 8px 0 0; font-size: clamp(1.9rem,3vw,2.7rem); font-weight: 500; line-height: 1.03; letter-spacing: -.04em; }
.dsv3-holiday__intro p { margin: 13px 0 0; color: var(--dsv3-muted); line-height: 1.6; }
.dsv3-holiday__visual { position: relative; min-height: 292px; overflow: hidden; border-radius: 18px; background: rgb(var(--dsv3-primary-950)); }
.dsv3-holiday__panel { position: absolute; inset: 0; display: grid; align-content: end; padding: 24px; color: #fff; opacity: 0; pointer-events: none; transform: translateX(100%); transition: opacity .42s ease, transform .5s cubic-bezier(.22,.78,.2,1); background: radial-gradient(circle at 82% 18%,rgb(var(--holiday-tone) / .72),transparent 34%), linear-gradient(145deg,rgb(var(--holiday-tone) / .38),rgb(5 46 43) 64%); }
.dsv3-holiday__panel::before { content: ""; position: absolute; width: 240px; height: 240px; top: -88px; right: -56px; border: 1px solid rgb(255 255 255 / .22); border-radius: 50%; box-shadow: 0 0 0 38px rgb(255 255 255 / .04),0 0 0 76px rgb(255 255 255 / .025); }
.dsv3-holiday__panelmedia,.dsv3-holiday__panelmedia::after { position: absolute; inset: 0; }
.dsv3-holiday__panelmedia picture,.dsv3-holiday__panelmedia img { width: 100%; height: 100%; }
.dsv3-holiday__panelmedia img { object-fit: cover; }
.dsv3-holiday__panelmedia::after { content: ""; background: linear-gradient(90deg,rgb(3 29 27 / .9) 0%,rgb(3 29 27 / .58) 55%,rgb(3 29 27 / .2) 100%),linear-gradient(0deg,rgb(3 29 27 / .78),transparent 65%); }
.dsv3-holiday__panelcontent { position: relative; z-index: 2; display: grid; min-height: 244px; align-content: end; text-shadow: 0 1px 12px rgb(0 0 0 / .24); }
.dsv3-holiday__panel[data-active="true"] { opacity: 1; pointer-events: auto; transform: none; }
.dsv3-holiday__symbol { position: absolute; top: 22px; left: 22px; display: grid; width: 58px; height: 58px; place-items: center; border-radius: 17px; color: #fff; background: rgb(255 255 255 / .14); backdrop-filter: blur(10px); }
.dsv3-holiday__flag { width: 72px; height: 48px; border-radius: 0; }
.dsv3-holiday__panel small { color: rgb(255 255 255 / .7); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-holiday__panel h3 { max-width: 22ch; margin: 7px 0 0; font-size: 1.65rem; font-weight: 500; line-height: 1.08; }
.dsv3-holiday__panelcontent > p { max-width: 42ch; margin: 8px 0 0; color: rgb(255 255 255 / .76); font-size: .72rem; }
.dsv3-holiday__bottom { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-top: 18px; }
.dsv3-holiday__date { color: rgb(255 255 255 / .76); font-size: .82rem; }
.dsv3-holiday__cta { display: inline-flex; min-height: 40px; align-items: center; gap: 7px; padding: 0 14px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: #fff; font-size: .75rem; font-weight: 650; }
.dsv3-holiday__tabs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; overflow-x: auto; }
/* Izgara iki sutun sayiyor: ikon ve metin. Ikonu yalniz milli bayrama basmak sekmeyi tek cocuklu
   birakiyordu ve o cocuk BIRINCI sutuna, yani ikon genisligine dusuyordu; tarih 32 pikselde
   sikisiyordu. Cozum sunum tarafinda degil, isaretlemede: home.ts artik her sekmeye ikon basiyor
   (milli bayrakta bayrak, otekilerde takvim). Ikon 38'den 32'ye, bosluk 9'dan 7'ye, dolgu 9'dan
   8'e indi; metne kalan yer 85 pikselden 100 pikselin ustune cikti (Frontend Master, 01.09.2026). */
.dsv3-holiday__tab { display: grid; min-width: 0; min-height: 64px; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 7px; padding: 8px; border: 0; border-radius: 13px; color: var(--dsv3-ink); background: var(--dsv3-gray-50); text-align: left; }
.dsv3-holiday__tab[aria-current="true"] { color: #fff; background: rgb(var(--holiday-tone)); }
.dsv3-holiday__tabicon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; color: rgb(var(--holiday-tone)); background: rgb(var(--holiday-tone) / .13); }
.dsv3-holiday__tabicon .turk-bayragi { width: 28px; height: auto; }
.dsv3-holiday__tab[aria-current="true"] .dsv3-holiday__tabicon { color: #fff; background: rgb(255 255 255 / .15); }
.dsv3-holiday__tabcopy { min-width: 0; }
.dsv3-holiday__tab strong, .dsv3-holiday__tab small { display: block; }
/* Baslik iki satirla sinirli. Onceki hali overflow: visible ve white-space: nowrap idi, yani
   uzun bir bayram adi komsu sekmenin uzerine tasabiliyordu. Gorsel kirpma iki satir sonunda;
   erisilebilir ad DOM'da tam kaliyor. */
.dsv3-holiday__tab strong { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; font-size: .75rem; font-weight: 700; line-height: 1.15; white-space: normal; text-wrap: balance; }
/* Tarih tek satir. Sekmede kisa bicim ("14-22 Kasim") duruyor, tam tarih panelde. Kirpma da sarma
   da denendi ve ikisi de bilgiyi bozdu; bicimi kisaltmak dogru cozumdu. Punto .62rem'den .75rem'e
   cikti: .62rem normal kok boyutunda 12 pikselin altina dusuyor ve on yuz standardina aykiri. */
.dsv3-holiday__tab small { margin-top: 4px; color: var(--dsv3-muted); font-size: .75rem; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dsv3-holiday__tab[aria-current="true"] small { color: rgb(255 255 255 / .72); }
.dsv3-holiday__mobilecontrols { position: absolute; z-index: 4; top: 18px; right: 18px; display: flex; align-items: center; justify-content: center; gap: 7px; }
.dsv3-holiday__mobilecontrols button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgb(255 255 255 / .22); border-radius: 50%; color: #fff; background: rgb(5 46 43 / .34); backdrop-filter: blur(10px); }
.dsv3-holiday__mobilecontrols > span { display: inline-flex; min-width: 48px; min-height: 30px; align-items: center; justify-content: center; padding: 0 9px; border-radius: var(--dsv3-pill); color: #fff; background: rgb(5 46 43 / .34); text-align: center; font-size: .68rem; font-weight: 700; letter-spacing: .06em; backdrop-filter: blur(10px); }

.dsv3-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px,1fr); gap: 16px; overflow-x: auto; padding: 4px 0 18px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.dsv3-product { position: relative; min-height: 380px; overflow: hidden; border-radius: 20px; color: #fff; background: rgb(var(--dsv3-primary-900)); scroll-snap-align: start; box-shadow: var(--dsv3-shadow-md); }
.dsv3-product img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.dsv3-product:hover img { transform: scale(1.035); }
.dsv3-product::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgb(4 31 29 / .94),transparent 66%); }
.dsv3-product__copy { position: absolute; z-index: 1; right: 18px; bottom: 18px; left: 18px; }
.dsv3-product__meta { color: rgb(255 255 255 / .68); font-size: .7rem; }
/* Vitrin karosunun fiyati basligin altinda, meta seridiyle ayni sessiz tonda degil:
   karar veren sayi o. */
.dsv3-product__price { margin-top: 5px; color: #fff; font-size: .78rem; font-weight: 650; }
.dsv3-product h3 { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: 6px 0 0; font-size: 1.2rem; font-weight: 500; line-height: 1.14; letter-spacing: -.025em; }
.dsv3-product__price { display: block; margin-top: 8px; color: rgb(255 255 255 / .72); font-size: .74rem; }
.dsv3-product__price strong { color: #fff; font-size: .92rem; font-weight: 600; }
.dsv3-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.dsv3-grid2 .dsv3-product { min-height: 330px; }
.dsv3-sectionlink { display: inline-flex; align-items: center; gap: 7px; color: var(--dsv3-accent-strong); font-size: .82rem; font-weight: 700; white-space: nowrap; }
.dsv3-home-hotels, .dsv3-home-destinations { background: rgb(255 255 255 / .55); }
.dsv3-editorial { display: grid; min-height: 520px; grid-template-columns: 1.12fr .88fr; overflow: hidden; border-radius: 28px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-editorial__visual { position: relative; min-height: 420px; overflow: hidden; background: rgb(var(--dsv3-primary-900)); }
.dsv3-editorial__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-editorial__visual--default { display: grid; place-items: center; color: rgb(var(--dsv3-primary-200)); background: radial-gradient(circle at 72% 20%,rgb(var(--dsv3-primary-300) / .34),transparent 25%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-700))); }
.dsv3-editorial__copy { display: grid; align-content: center; justify-items: start; padding: clamp(30px,5vw,66px); }
.dsv3-editorial__copy h2 { max-width: 11ch; margin: 10px 0 18px; font-size: clamp(2.6rem,4.6vw,4.4rem); font-weight: 500; line-height: .96; letter-spacing: -.055em; }
.dsv3-editorial__copy p { max-width: 46ch; margin: 0 0 25px; color: var(--dsv3-muted); font-size: .9rem; line-height: 1.7; }
.dsv3-home-events { color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-home-events .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-home-events .dsv3-sectionhead p { color: rgb(255 255 255 / .67); }
.dsv3-eventgrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.dsv3-home-eventcard { position: relative; min-height: 390px; overflow: hidden; border-radius: 22px; color: #fff; background: rgb(var(--dsv3-primary-900)); box-shadow: 0 18px 44px -28px rgb(0 0 0 / .78); }
.dsv3-home-eventcard .dsv3-destinationmedia, .dsv3-home-eventcard .dsv3-destinationmedia img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.22,.78,.2,1); }
.dsv3-home-eventcard:hover .dsv3-destinationmedia { transform: scale(1.035); }
.dsv3-home-eventcard:nth-child(3n + 2) .dsv3-destinationmedia--default { background: radial-gradient(circle at 70% 22%,rgb(165 231 214 / .28),transparent 23%),linear-gradient(145deg,rgb(8 54 51),rgb(24 107 93)); }
.dsv3-home-eventcard:nth-child(3n + 3) .dsv3-destinationmedia--default { background: radial-gradient(circle at 22% 75%,rgb(225 211 174 / .18),transparent 27%),linear-gradient(140deg,rgb(3 37 36),rgb(19 78 70)); }
.dsv3-home-eventcard__wash { position: absolute; inset: 0; background: linear-gradient(0deg,rgb(3 28 26 / .94),rgb(3 28 26 / .1) 72%); }
.dsv3-home-eventcard__body { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 24px; }
.dsv3-home-eventcard__body small { display: block; margin-bottom: 9px; color: rgb(255 255 255 / .68); font-size: .66rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-home-eventcard__body strong { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 14px; font-size: clamp(1.25rem,2.15vw,1.85rem); font-weight: 620; line-height: 1.02; letter-spacing: -.04em; }

.dsv3-newsletter { padding-block: clamp(58px,7vw,96px); color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-newsletter__panel { display: grid; grid-template-columns: minmax(0,.85fr) minmax(460px,1.15fr); align-items: center; gap: clamp(38px,7vw,96px); padding: clamp(30px,5vw,64px); border: 1px solid rgb(255 255 255 / .1); border-radius: 30px; background: radial-gradient(circle at 10% 10%,rgb(var(--dsv3-primary-300) / .18),transparent 28%),rgb(255 255 255 / .06); box-shadow: var(--dsv3-shadow-lg); }
.dsv3-newsletter .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-newsletter__copy h2 { max-width: 10ch; margin: 11px 0 16px; font-size: clamp(2.5rem,4.7vw,4.5rem); font-weight: 520; line-height: .94; letter-spacing: -.055em; }
.dsv3-newsletter__copy > p { max-width: 48ch; margin: 0; color: rgb(255 255 255 / .68); font-size: .87rem; line-height: 1.65; }
.dsv3-newsletter__copy ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; }
.dsv3-newsletter__copy li { display: inline-flex; min-height: 34px; align-items: center; gap: 7px; padding: 0 11px; border-radius: var(--dsv3-pill); color: rgb(255 255 255 / .8); background: rgb(255 255 255 / .08); font-size: .68rem; }
.dsv3-newsletter__copy li svg { color: rgb(var(--dsv3-primary-200)); }
.dsv3-newsletter__form { position: relative; padding: 24px; border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-newsletter__control { display: grid; min-height: 58px; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 5px 5px 5px 16px; border: 1px solid var(--dsv3-line); border-radius: var(--dsv3-pill); color: var(--dsv3-accent); background: var(--dsv3-gray-50); }
.dsv3-newsletter__control:focus-within { border-color: rgb(var(--dsv3-primary-500)); box-shadow: 0 0 0 3px rgb(var(--dsv3-primary-100)); }
.dsv3-newsletter__control input { min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; color: var(--dsv3-ink); background: transparent; }
.dsv3-newsletter__control .dsv3-btn { min-height: 46px; }
.dsv3-newsletter__consent { margin: 13px 3px 0; color: var(--dsv3-muted); font-size: .65rem; line-height: 1.5; }
.dsv3-newsletter__outcome { margin: 13px 0 0; padding: 12px 14px; border-radius: 13px; color: rgb(var(--dsv3-primary-900)); background: var(--dsv3-soft); font-size: .72rem; line-height: 1.5; }

.dsv3-dream { position: relative; overflow: hidden; padding-block: clamp(70px,8vw,110px); color: #fff; background: linear-gradient(135deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-dream::before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: radial-gradient(circle at 18% 24%,rgb(var(--dsv3-primary-300) / .35),transparent 22%),radial-gradient(circle at 78% 72%,rgb(var(--dsv3-primary-200) / .18),transparent 24%),radial-gradient(rgb(255 255 255 / .15) 1px,transparent 1px); background-size: auto,auto,22px 22px; }
.dsv3-dream__route { position: absolute; inset: 8% -10% auto; height: 70%; opacity: .42; }
.dsv3-dream__route svg { width: 100%; height: 100%; fill: none; stroke: rgb(var(--dsv3-primary-200)); stroke-width: 2; stroke-dasharray: 5 10; }
.dsv3-dream__route circle { fill: rgb(var(--dsv3-primary-200)); stroke: none; filter: drop-shadow(0 0 8px rgb(var(--dsv3-primary-200) / .75)); }
.dsv3-dream__coordinate { position: absolute; z-index: 1; display: flex; align-items: center; gap: 7px; color: rgb(255 255 255 / .55); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; pointer-events: none; }
.dsv3-dream__coordinate::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: rgb(var(--dsv3-primary-200)); box-shadow: 0 0 0 5px rgb(var(--dsv3-primary-200) / .12); }
.dsv3-dream__coordinate--one { top: 28px; left: 42%; }
.dsv3-dream__coordinate--two { right: 34px; bottom: 24px; }
.dsv3-dream__dreams { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.dsv3-dream__dreams span { display: inline-flex; min-height: 30px; align-items: center; gap: 7px; padding: 0 10px; border-radius: 999px; color: rgb(255 255 255 / .74); background: rgb(255 255 255 / .08); font-size: .62rem; backdrop-filter: blur(8px); }
.dsv3-dream__dreams span:first-child { color: rgb(var(--dsv3-primary-950)); background: rgb(var(--dsv3-primary-200)); }
.dsv3-dream__inner { position: relative; display: grid; grid-template-columns: minmax(0,.8fr) minmax(460px,1.2fr); align-items: center; gap: clamp(40px,8vw,110px); }
.dsv3-dream .dsv3-kicker { text-transform: none; }
.dsv3-dream h2 { max-width: 10ch; margin: 10px 0 0; font-size: clamp(2.8rem,5.5vw,4.8rem); font-weight: 500; line-height: .98; letter-spacing: -.055em; }
.dsv3-dream h2 em { color: rgb(var(--dsv3-primary-200)); font-style: normal; }
.dsv3-dream__copy p { max-width: 46ch; margin: 20px 0 0; color: rgb(255 255 255 / .72); line-height: 1.65; }
.dsv3-dream__form { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 24px; border-radius: 22px; color: var(--dsv3-ink); background: rgb(255 255 255 / .96); box-shadow: var(--dsv3-shadow-lg); backdrop-filter: blur(14px); }
.dsv3-dream__form[data-ajax-state="leaving"] { pointer-events: none; animation: dsv3-dream-leave .18s ease both; }
.dsv3-dream__form[data-ajax-state="entering"] { animation: dsv3-dream-enter .34s cubic-bezier(.22,.78,.2,1) both; }
@keyframes dsv3-dream-leave { to { opacity: 0; transform: translateX(-18px) scale(.985); } }
@keyframes dsv3-dream-enter { from { opacity: 0; transform: translateX(22px) scale(.985); } to { opacity: 1; transform: none; } }
.dsv3-field { display: grid; gap: 7px; }
.dsv3-field--wide { grid-column: 1 / -1; }
.dsv3-field label, .dsv3-field > span { font-size: .75rem; font-weight: 650; }
.dsv3-field input, .dsv3-field select, .dsv3-field textarea { width: 100%; min-height: 48px; padding: 12px 13px; border: 1px solid var(--dsv3-line); border-radius: 12px; color: var(--dsv3-ink); background: #fff; }
.dsv3-field textarea { min-height: 108px; resize: vertical; }
.dsv3-field input:focus, .dsv3-field select:focus, .dsv3-field textarea:focus { border-color: rgb(var(--dsv3-primary-500)); outline: 3px solid rgb(var(--dsv3-primary-100)); }
.dsv3-formnote, .dsv3-formerror { grid-column: 1 / -1; margin: 0; font-size: .72rem; line-height: 1.45; }
.dsv3-formnote { color: var(--dsv3-muted); }
.dsv3-formerror { color: #9f1d1d; }
.dsv3-consent { grid-column: 1 / -1; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 9px; color: var(--dsv3-muted); font-size: .72rem; line-height: 1.5; }
.dsv3-dream__submit { grid-column: 1 / -1; width: 100%; }
.dsv3-hp { position: absolute; left: -9999px; }

.dsv3-spot { padding-block: clamp(60px,7vw,92px); }
.dsv3-spot--safari { color: #fff; background: linear-gradient(115deg,rgb(38 31 24),rgb(113 72 37)); }
.dsv3-spot__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(30px,7vw,90px); }
.dsv3-spot h2 { max-width: 12ch; margin: 8px 0 0; font-size: clamp(2.4rem,5vw,4.2rem); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
.dsv3-spot p { margin: 0; line-height: 1.7; }
.dsv3-spot__price { display: block; margin-top: 22px!important; color: rgb(var(--dsv3-primary-200)); font-size: clamp(1.45rem,2.5vw,2.1rem); font-weight: 700; }
.dsv3-owned-safari { padding-block: clamp(58px,7vw,86px); color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-owned-safari__grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(38px,6vw,78px); }
.dsv3-owned-safari__media { height: 500px; overflow: hidden; border-radius: 18px; }
.dsv3-owned-safari__media picture, .dsv3-owned-safari__media img { display: block; width: 100%; height: 100%; }
.dsv3-owned-safari__media img { object-fit: cover; }
.dsv3-owned-safari .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-owned-safari h2 { margin: 10px 0 0; font-size: clamp(2.35rem,4vw,3.8rem); font-weight: 500; line-height: 1.02; letter-spacing: -.045em; }
.dsv3-owned-safari__copy > p { margin: 16px 0 0; color: rgb(255 255 255 / .76); font-size: .97rem; line-height: 1.7; }
.dsv3-owned-safari__price { display: block; margin-top: 17px; color: rgb(255 255 255 / .68); font-size: .78rem; }
.dsv3-owned-safari__price strong { color: rgb(var(--dsv3-primary-200)); font-size: 1.08rem; }
.dsv3-safari-tiers { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.dsv3-safari-tier { display: block; padding: 18px; border-radius: 13px; color: inherit; background: rgb(255 255 255 / .09); text-align: left; transition: transform .28s ease,background .28s ease; }
.dsv3-safari-tier:hover { color: inherit; background: rgb(255 255 255 / .14); transform: translateY(-3px); }
.dsv3-safari-tier--gold { background: rgb(202 164 76 / .18); }
.dsv3-safari-tier--gold:hover { background: rgb(202 164 76 / .25); }
.dsv3-safari-tier span { font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.dsv3-safari-tier strong { display: block; margin-top: 8px; font-size: 1.04rem; font-weight: 600; }
.dsv3-safari-tier p { margin: 8px 0 0; color: rgb(255 255 255 / .7); font-size: .82rem; line-height: 1.5; }
.dsv3-safari-tier b { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; font-size: .84rem; font-weight: 600; }
.dsv3-home-regiongrid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }

.dsv3-home-regioncard { position: relative; min-width: 0; min-height: 235px; overflow: hidden; border-radius: 20px; color: #fff; background: rgb(var(--dsv3-primary-900)); }
.dsv3-home-regioncard > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.dsv3-home-regioncard:hover > img { transform: scale(1.04); }
.dsv3-home-regioncard__wash { position: absolute; inset: 28% 0 0; background: linear-gradient(transparent,rgb(0 0 0 / .78)); }
.dsv3-home-regioncard__copy { position: absolute; z-index: 1; right: 14px; bottom: 13px; left: 14px; }
.dsv3-home-regioncard__copy strong { display: block; font-weight: 600; }
.dsv3-home-regioncard__copy small { display: block; margin-top: 4px; color: rgb(255 255 255 / .82); font-size: .68rem; }
.dsv3-visa-home { padding-block: clamp(58px,7vw,84px); background: var(--dsv3-canvas); }
.dsv3-visa-home__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(34px,6vw,78px); }
.dsv3-visa-home h2 { margin: 9px 0 0; font-size: clamp(2.25rem,3.8vw,3.45rem); font-weight: 500; line-height: 1.04; letter-spacing: -.045em; }
.dsv3-visa-home p { max-width: 62ch; margin: 16px 0 0; color: var(--dsv3-muted); font-size: 1rem; line-height: 1.7; }
.dsv3-visa-home__intro { position: relative; padding-left: 72px; }
.dsv3-visa-home__intro > .dsv3-btn { margin-top: 22px; }
.dsv3-visa-home__mark { position: absolute; top: 0; left: 0; display: grid; width: 52px; height: 64px; place-items: center; border-radius: 8px 8px 12px 12px; color: #fff; background: rgb(var(--dsv3-primary-800)); box-shadow: 0 12px 28px rgb(5 46 43 / .18); }
.dsv3-visa-home__destinations { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dsv3-visa-home__destinations a { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; border-radius: 12px; background: #fff; box-shadow: 0 8px 28px rgb(5 46 43 / .06); font-size: .93rem; font-weight: 600; }
.dsv3-values { padding-block: 72px; background: #fff; }
.dsv3-values__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin: 0; padding: 0; list-style: none; text-align: center; }
.dsv3-values__grid li { display: grid; min-height: 170px; align-content: center; gap: 9px; padding: 22px; border-radius: 18px; background: var(--dsv3-gray-50); }
.dsv3-values__grid svg { margin-inline: auto; color: var(--dsv3-accent); }
.dsv3-values__grid strong { font-size: .9rem; }
.dsv3-values__grid p { margin: 0; color: var(--dsv3-muted); font-size: .7rem; line-height: 1.5; }
.dsv3-reviews { overflow: hidden; padding-block: 78px; background: var(--dsv3-canvas); }
.dsv3-reviews__head { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(560px,1.28fr); align-items: end; gap: clamp(30px,5vw,72px); }
.dsv3-reviews__head h2 { max-width: 12ch; margin: 10px 0 0; font-size: clamp(2.5rem,4.4vw,4.35rem); font-weight: 500; line-height: .96; letter-spacing: -.055em; }
.dsv3-reviews__head p { max-width: 56ch; margin: 17px 0 0; color: var(--dsv3-muted); font-size: .84rem; line-height: 1.65; }
.dsv3-reviews__sources { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.dsv3-reviews__source { display: grid; min-width: 0; min-height: 146px; align-content: space-between; gap: 7px; padding: 18px; border-radius: 18px; color: var(--dsv3-ink); background: #fff; box-shadow: 0 12px 36px rgb(5 46 43 / .07); transition: transform .2s ease,box-shadow .2s ease; }
a.dsv3-reviews__source:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgb(5 46 43 / .11); }
.dsv3-reviews__brand { display: flex; min-width: 0; align-items: center; gap: 8px; }
.dsv3-reviews__brand svg { flex: 0 0 auto; }
.dsv3-reviews__brand strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-reviews__score { display: flex; align-items: baseline; gap: 4px; margin-top: 9px; }
.dsv3-reviews__score strong { font-size: 2.35rem; font-weight: 550; line-height: .9; letter-spacing: -.06em; }
.dsv3-reviews__score small,.dsv3-reviews__count,.dsv3-reviews__source time,.dsv3-reviews__source-note { display: block; color: var(--dsv3-muted); font-size: .61rem; line-height: 1.4; }
.dsv3-reviews__source-note { margin-top: 21px; }
.dsv3-reviews__source time { opacity: .72; }
.dsv3-reviews__railhead { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 42px; }
.dsv3-reviews__railhead h3 { margin: 0; font-size: 1.35rem; font-weight: 600; letter-spacing: -.025em; }
.dsv3-reviews__railhead > div { display: flex; gap: 6px; }
.dsv3-reviews__railhead button { display: grid; width: 42px; height: 42px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: rgb(var(--dsv3-primary-900)); background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-reviews__rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(310px,31%); gap: 13px; overflow-x: auto; margin-top: 15px; padding: 2px 1px 20px; scroll-snap-type: x mandatory; scrollbar-color: rgb(var(--dsv3-primary-300)) transparent; }
.dsv3-reviewcard { display: grid; min-height: 310px; align-content: start; padding: 22px; border-radius: 20px; background: #fff; box-shadow: 0 12px 36px rgb(5 46 43 / .07); scroll-snap-align: start; }
.dsv3-reviewcard > header { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 10px; }
.dsv3-reviewcard__avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #fff; background: rgb(var(--dsv3-primary-800)); font-size: .82rem; font-weight: 700; }
.dsv3-reviewcard > header strong,.dsv3-reviewcard > header small { display: block; }
.dsv3-reviewcard > header strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-reviewcard > header small { margin-top: 2px; color: var(--dsv3-muted); font-size: .6rem; }
.dsv3-reviewcard__stars { display: flex; gap: 2px; margin-top: 18px; color: rgb(248 193 55); }
.dsv3-reviewcard__stars span { display: inline-flex; }
.dsv3-reviewcard__stars span[data-filled="true"] svg { fill: currentColor; }
.dsv3-reviewcard__stars span[data-filled="false"] { color: rgb(var(--dsv3-gray-300)); }
.dsv3-reviewcard h3 { margin: 12px 0 0; font-size: .88rem; }
.dsv3-reviewcard blockquote { display: -webkit-box; overflow: hidden; margin: 12px 0 0; color: var(--dsv3-muted); font-size: .72rem; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 6; line-clamp: 6; }
.dsv3-reviewcard footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 17px; color: var(--dsv3-muted); font-size: .61rem; }
.dsv3-reviewcard footer a { display: inline-flex; align-items: center; gap: 5px; color: var(--dsv3-accent-strong); font-weight: 700; }
.dsv3-reviews__actions { display: flex; justify-content: center; gap: 9px; margin-top: 18px; }
.dsv3-reviews__actions .dsv3-btn { gap: 8px; }
.dsv3-club { padding-block: 76px; background: var(--dsv3-canvas); }
.dsv3-club__panel { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; padding: clamp(28px,5vw,62px); border-radius: 28px; color: #fff; background: linear-gradient(135deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); box-shadow: var(--dsv3-shadow-lg); }
.dsv3-club__panel::after { content: ""; position: absolute; width: 460px; height: 460px; top: -280px; right: -130px; border-radius: 50%; background: radial-gradient(circle,rgb(var(--dsv3-primary-300) / .42),transparent 67%); }
.dsv3-club__logo { width: min(220px,70%); height: auto; }
.dsv3-club h2 { margin: 22px 0 0; font-size: clamp(2.2rem,4.5vw,3.8rem); font-weight: 500; line-height: 1; letter-spacing: -.045em; }
.dsv3-club p { max-width: 52ch; margin: 16px 0 0; color: rgb(255 255 255 / .72); line-height: 1.65; }
.dsv3-club__launch { display: grid; gap: 4px; margin-top: 16px!important; padding: 14px 16px; border-radius: 15px; background: rgb(255 255 255 / .09); }
.dsv3-club__launch strong, .dsv3-club__launch span { display: block; }
.dsv3-club__launch strong { color: rgb(var(--dsv3-primary-200)); font-size: .82rem; }
.dsv3-club__launch span { color: rgb(255 255 255 / .64); font-size: .7rem; }
.dsv3-club__points { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dsv3-club__ladder { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin: 22px 0 0; padding: 0; list-style: none; }
.dsv3-club__ladder li { display: grid; gap: 2px; padding: 14px 15px; border-radius: 15px; background: rgb(255 255 255 / .09); }
.dsv3-club__ladder strong { color: #fff; font-size: .82rem; font-weight: 620; }
.dsv3-club__ladder b { color: rgb(var(--dsv3-primary-200)); font-size: 1.45rem; font-weight: 500; letter-spacing: -.03em; }
.dsv3-club__ladder small { color: rgb(255 255 255 / .6); font-size: .61rem; }
.dsv3-club__maturity { font-size: .72rem; }
.dsv3-club__points div { padding: 20px; border-radius: 17px; background: rgb(255 255 255 / .1); }
.dsv3-club__points small, .dsv3-club__points strong { display: block; }
.dsv3-club__points small { color: rgb(255 255 255 / .62); }
.dsv3-club__points strong { margin-top: 8px; color: rgb(var(--dsv3-primary-200)); font-size: 1.7rem; }
.dsv3-clubintro-open { overflow: hidden; }
.dsv3-clubintro { position: fixed; z-index: 90; inset: 0; display: grid; place-items: center; padding: 18px; background: rgb(3 29 27 / .14); backdrop-filter: blur(2px); }
.dsv3-clubintro[hidden] { display: none; }
.dsv3-clubintro > section { position: relative; width: min(540px,100%); padding: 30px; overflow: hidden; border-radius: 28px; color: #fff; background: radial-gradient(circle at 92% 0,rgb(var(--dsv3-primary-300) / .36),transparent 34%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); box-shadow: 0 28px 90px rgb(3 29 27 / .3); animation: dsv3-clubintro-in .38s cubic-bezier(.22,.78,.2,1) both; }
.dsv3-clubintro > section > button { position: absolute; z-index: 2; top: 15px; right: 15px; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #fff; background: rgb(255 255 255 / .1); }
.dsv3-clubintro > section > img { width: 190px; max-width: 58%; height: 64px; object-fit: contain; object-position: left center; }
.dsv3-clubintro h2 { margin: 22px 0 0; font-size: clamp(2.3rem,6vw,3.6rem); font-weight: 600; line-height: .94; letter-spacing: -.055em; }
.dsv3-clubintro__offer { display: flex; flex-direction: column; gap: 8px; margin: 12px 0 24px; }
.dsv3-clubintro__offer p { max-width: 34ch; margin: 0; color: rgb(255 255 255 / .68); font-size: .86rem; line-height: 1.5; }
/* Miktar artık ortak para bicimlendiricisinden geliyor ("100,00 USD"), kisa bir "100$" değil.
   Sabit büyük punto uzun biçimde taşıyordu; genişliğe göre daralan clamp() ile satır her zaman
   içeride kalıyor. */
.dsv3-clubintro__offer strong { display: block; max-width: 100%; overflow-wrap: break-word; color: rgb(var(--dsv3-primary-200)); font-size: clamp(1.6rem,7vw,2.4rem); line-height: 1; letter-spacing: -.03em; }
.dsv3-clubintro .dsv3-btn { width: 100%; min-height: 58px; font-size: 1rem; }
@keyframes dsv3-clubintro-in { from { opacity: 0; transform: translateY(20px) scale(.98); } to { opacity: 1; transform: none; } }

.dsv3-destinationmedia { position: absolute; inset: 0; display: block; overflow: hidden; background: rgb(var(--dsv3-primary-900)); }
.dsv3-destinationmedia img { position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: cover; }
.dsv3-destinationmedia[data-media-state="loading"] { background: linear-gradient(135deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-destinationmedia[data-media-state="loading"]::after { position: absolute; z-index: 0; inset: -35% -65%; background: linear-gradient(105deg,transparent 36%,rgb(var(--dsv3-primary-300) / .08) 44%,rgb(var(--dsv3-primary-200) / .3) 51%,rgb(255 255 255 / .12) 56%,transparent 65%); content: ""; pointer-events: none; transform: translateX(-42%); animation: dsv3-media-shimmer 1.15s ease-in-out 6; }
.dsv3-destinationmedia[data-media-state="error"] { background: radial-gradient(circle at 78% 18%,rgb(var(--dsv3-primary-300) / .36),transparent 22%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-700))); }
.dsv3-destinationmedia[data-media-state="error"] > img { visibility: hidden; }
@keyframes dsv3-media-shimmer { to { transform: translateX(42%); } }
.dsv3-destinationmedia--default { background: radial-gradient(circle at 78% 18%,rgb(var(--dsv3-primary-300) / .5),transparent 22%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-700))); }
.dsv3-destinationmedia--default::before, .dsv3-destinationmedia--default::after, .dsv3-destinationmedia--default > span { content: ""; position: absolute; border-radius: 50%; }
.dsv3-destinationmedia--default::before { width: 64%; aspect-ratio: 1; top: -31%; right: -18%; border: 1px solid rgb(255 255 255 / .18); }
.dsv3-destinationmedia--default::after { width: 46%; aspect-ratio: 1; right: 8%; bottom: -28%; background: rgb(var(--dsv3-primary-300) / .13); }
.dsv3-destinationmedia--default > span { width: 7px; height: 7px; top: 22%; left: 19%; background: rgb(var(--dsv3-primary-200)); box-shadow: 41px 25px 0 -2px rgb(255 255 255 / .42),86px -14px 0 -1px rgb(255 255 255 / .35),132px 32px 0 -2px rgb(255 255 255 / .32); }
.dsv3-destinationcard { position: relative; min-width: 0; min-height: 340px; overflow: hidden; border-radius: 22px; color: #fff; background: rgb(var(--dsv3-primary-900)); box-shadow: var(--dsv3-shadow-md); scroll-snap-align: start; }
.dsv3-destinationcard .dsv3-destinationmedia img { transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.dsv3-destinationcard:hover .dsv3-destinationmedia img { transform: scale(1.04); }
.dsv3-destinationcard__wash { position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg,rgb(3 29 27 / .96),rgb(3 29 27 / .05) 72%); }
.dsv3-destinationcard__copy { position: absolute; z-index: 2; right: 18px; bottom: 18px; left: 18px; min-width: 0; }
.dsv3-destinationcard__eyebrow { display: block; margin-bottom: 7px; color: rgb(255 255 255 / .66); font-size: .72rem; }
.dsv3-destinationcard__copy strong { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; font-size: 1.18rem; font-weight: 600; line-height: 1.16; letter-spacing: -.025em; }
.dsv3-destinationcard__copy strong span { min-width: 0; }
.dsv3-destinationcard__copy small { display: block; margin-top: 8px; color: rgb(255 255 255 / .64); font-size: .72rem; line-height: 1.35; }
.dsv3-destinationcard[data-disabled="true"] { box-shadow: none; }
.dsv3-destinationcard[data-disabled="true"] .dsv3-destinationcard__copy { opacity: .78; }
.dsv3-destinationcard--compact { min-height: 238px; border-radius: 18px; }
.dsv3-destinationsection:nth-of-type(even) { background: rgb(255 255 255 / .55); }
.dsv3-destinationsection__head h2 { max-width: 18ch; }
.dsv3-destinationsection__aside { display: grid; justify-items: end; gap: 15px; }
.dsv3-sectionaction { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; color: var(--dsv3-accent-strong); font-size: .82rem; font-weight: 700; }
.dsv3-destinationrail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px,31%); gap: 13px; overflow-x: auto; padding: 3px 1px 21px; scroll-snap-type: x mandatory; scrollbar-color: rgb(var(--dsv3-primary-300)) transparent; }
.dsv3-destinationgrid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }

.dsv3-destindexhero { position: relative; min-height: 560px; overflow: hidden; color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-destindexhero__wash { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgb(5 31 29 / .92),rgb(5 31 29 / .42)); }
.dsv3-destindexhero__inner { position: relative; z-index: 2; display: grid; min-height: 560px; align-content: end; padding-block: 80px 58px; }
.dsv3-destindexcrumbs { margin: 0; }.dsv3-destindexcrumbs a,.dsv3-destindexcrumbs span { color: rgb(255 255 255 / .74); }
.dsv3-destindexhero h1 { max-width: 12ch; margin: 22px 0 0; font-size: clamp(3rem,6vw,5.5rem); line-height: .96; }
.dsv3-destindexhero p { max-width: 60ch; margin: 15px 0 0; color: rgb(255 255 255 / .76); }
.dsv3-destindexsearch { display: flex; width: min(100%,720px); gap: 8px; margin-top: 26px; padding: 7px; border-radius: 16px; background: #fff; }
.dsv3-destindexsearch input { min-width: 0; width: 100%; padding: 0 13px; border: 0; outline: 0; color: rgb(var(--dsv3-gray-950)); background: transparent; }
.dsv3-directoryfeatured { display: grid; grid-template-columns: 1.35fr .65fr .65fr; grid-template-rows: 270px 270px; grid-auto-rows: 270px; gap: 18px; }
.dsv3-directoryregion { position: relative; min-height: 0; height: 100%; overflow: hidden; border-radius: 20px; color: #fff; background: rgb(var(--dsv3-primary-900)); }
.dsv3-directoryregion:first-child { grid-row: span 2; }.dsv3-directoryregion:nth-child(4) { grid-column: span 2; }
.dsv3-directoryregion .dsv3-destinationmedia img { transition: transform .6s cubic-bezier(.2,.8,.2,1); }.dsv3-directoryregion:hover .dsv3-destinationmedia img { transform: scale(1.04); }
.dsv3-directoryregion__wash { position: absolute; inset: 28% 0 0; background: linear-gradient(transparent,rgb(0 0 0 / .78)); }
.dsv3-directoryregion__copy { position: absolute; z-index: 1; right: 14px; bottom: 13px; left: 14px; }
.dsv3-directoryregion__copy strong,.dsv3-directoryregion__copy small { display: block; }.dsv3-directoryregion__copy strong { font-weight: 600; }.dsv3-directoryregion__copy small { margin-top: 4px; color: rgb(255 255 255 / .82); font-size: .68rem; }
.dsv3-destinationstars { background: var(--dsv3-gray-50); }
.dsv3-directorycities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.dsv3-directorycity { position: relative; min-height: 310px; overflow: hidden; border-radius: 16px; color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-directorycity .dsv3-destinationmedia img { transition: transform .55s cubic-bezier(.2,.8,.2,1); }.dsv3-directorycity:hover .dsv3-destinationmedia img { transform: scale(1.04); }
.dsv3-directorycity__wash { position: absolute; inset: 35% 0 0; background: linear-gradient(transparent,rgb(0 0 0 / .8)); }
.dsv3-directorycity__copy { position: absolute; z-index: 1; right: 16px; bottom: 15px; left: 16px; display: grid; grid-template-columns: minmax(0,1fr) 30px; align-items: end; gap: 10px; }
.dsv3-directorycity__copy strong,.dsv3-directorycity__copy small { display: block; }.dsv3-directorycity__copy strong { font-size: 1.08rem; }.dsv3-directorycity__copy small { margin-top: 3px; color: rgb(255 255 255 / .76); font-size: .72rem; }.dsv3-directorycity__copy > svg { grid-column: 2; grid-row: 1; align-self: center; }
.dsv3-directorycity[data-disabled="true"] { opacity: .62; }
.dsv3-az { padding: clamp(24px,4vw,42px); border-radius: 27px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-az__jump { position: sticky; z-index: 2; top: 80px; display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 30px; padding: 10px; border-radius: 16px; background: rgb(255 255 255 / .92); backdrop-filter: blur(12px); }
.dsv3-az__jump a { display: grid; min-width: 38px; height: 38px; place-items: center; border-radius: 50%; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .78rem; font-weight: 700; }
.dsv3-az__groups { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 38px 25px; }
.dsv3-az__group { min-width: 0; scroll-margin-top: 158px; }
.dsv3-az__group h3 { margin: 0 0 12px; color: var(--dsv3-accent); font-size: 1.8rem; font-weight: 500; }
.dsv3-az__group > div { display: grid; gap: 3px; }
.dsv3-az__group a, .dsv3-az__disabled { display: grid; min-width: 0; min-height: 48px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 7px 4px; }
.dsv3-az__group a span, .dsv3-az__disabled span { overflow: hidden; font-size: .86rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-az__group small { grid-column: 1; color: var(--dsv3-muted); font-size: .66rem; }
.dsv3-az__disabled { opacity: .48; }
.dsv3-countryexplorer { overflow: hidden; border-radius: 22px; background: var(--dsv3-surface); box-shadow: 0 24px 70px rgb(5 46 43 / .1); }
.dsv3-countryexplorer__top { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,430px); align-items: end; gap: 34px; padding: 28px; color: white; background: rgb(var(--dsv3-primary-950)); }
.dsv3-countryexplorer__top h3 { margin: 0; font-size: clamp(1.55rem,2.6vw,2.35rem); }.dsv3-countryexplorer__top p { max-width: 58ch; margin: 8px 0 0; color: rgb(255 255 255 / .64); font-size: .73rem; line-height: 1.55; }
.dsv3-countrysearch { display: grid; min-height: 52px; grid-template-columns: 20px minmax(0,1fr); align-items: center; gap: 9px; padding: 0 15px; border-radius: 14px; color: rgb(var(--dsv3-primary-950)); background: white; }
.dsv3-countrysearch input { width: 100%; border: 0; outline: 0; color: inherit; background: transparent; font-size: .8rem; }
.dsv3-countryregions { display: flex; gap: 7px; overflow-x: auto; padding: 16px 28px; background: rgb(var(--dsv3-gray-50)); scrollbar-width: none; }.dsv3-countryregions::-webkit-scrollbar { display: none; }
.dsv3-countryregions button { min-height: 36px; flex: 0 0 auto; padding: 0 13px; border: 0; border-radius: var(--dsv3-pill); color: var(--dsv3-muted); background: white; font-size: .68rem; }.dsv3-countryregions button[aria-pressed="true"] { color: white; background: rgb(var(--dsv3-primary-800)); }
.dsv3-countryletters { display: flex; flex-wrap: wrap; gap: 6px; padding: 18px 28px 8px; }.dsv3-countryletters a { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: rgb(var(--dsv3-primary-800)); background: rgb(var(--dsv3-primary-50)); font-size: .69rem; font-weight: 700; }.dsv3-countryletters a[hidden] { display: none; }
.dsv3-countryaz { display: grid; gap: 0; padding: 10px 28px 30px; }.dsv3-countryletter { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 18px; padding: 20px 0; box-shadow: inset 0 1px rgb(var(--dsv3-gray-200)); scroll-margin-top: 154px; }.dsv3-countryletter[hidden] { display: none; }.dsv3-countryletter h3 { margin: 0; color: rgb(var(--dsv3-primary-800)); font-size: 1.6rem; }
.dsv3-countryletter__links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px 22px; }.dsv3-countrylink { display: grid; min-width: 0; min-height: 46px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 0 5px; color: var(--dsv3-ink); }.dsv3-countrylink[hidden] { display: none; }.dsv3-countrylink strong { display: block; font-size: .78rem; font-weight: 500; }.dsv3-countrylink small { display: block; margin-top: 2px; color: var(--dsv3-muted); font-size: .59rem; }.dsv3-countrylink svg { color: var(--dsv3-muted); transition: transform .18s ease; }.dsv3-countrylink:hover { color: rgb(var(--dsv3-primary-800)); }.dsv3-countrylink:hover svg { transform: translateX(3px); }.dsv3-countrylink--disabled { opacity: .48; }
.dsv3-countryempty { padding: 34px 28px; color: var(--dsv3-muted); text-align: center; }.dsv3-countryempty[hidden] { display: none; }
.dsv3-continentlist { display: grid; gap: 10px; }
.dsv3-continent { overflow: hidden; border-radius: 21px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-continent summary { display: flex; min-height: 92px; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 24px; list-style: none; }
.dsv3-continent summary::-webkit-details-marker { display: none; }
.dsv3-continent summary > span { display: grid; gap: 4px; }
.dsv3-continent summary small { color: var(--dsv3-muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-continent summary strong { font-size: 1.45rem; font-weight: 600; letter-spacing: -.03em; }
.dsv3-continent summary > span:last-child { display: flex; align-items: center; gap: 9px; color: var(--dsv3-muted); font-size: .78rem; }
.dsv3-continent summary svg { transition: transform .28s ease; }
.dsv3-continent[open] summary svg { transform: rotate(180deg); }
.dsv3-continent__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; padding: 0 12px 12px; animation: dsv3-continent-in .3s cubic-bezier(.22,.78,.2,1) both; }
@keyframes dsv3-continent-in { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: none; } }

.dsv3-desthero { position: relative; min-height: 680px; overflow: hidden; color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-desthero__backgrounds, .dsv3-desthero__bg, .dsv3-desthero__wash { position: absolute; inset: 0; }
.dsv3-desthero__bg { opacity: 0; transform: translateX(5%); transition: opacity .55s ease,transform .62s cubic-bezier(.22,.78,.2,1); }
.dsv3-desthero__bg[data-active="true"] { opacity: 1; transform: none; }
.dsv3-desthero__wash { z-index: 1; background: linear-gradient(90deg,rgb(4 33 31 / .98),rgb(4 33 31 / .73) 53%,rgb(4 33 31 / .26)),linear-gradient(0deg,rgb(4 33 31 / .58),transparent 58%); }
.dsv3-desthero__inner { position: relative; z-index: 2; display: grid; min-height: 680px; grid-template-columns: minmax(0,1fr) minmax(350px,430px); align-items: center; gap: clamp(42px,7vw,96px); padding-block: 72px 78px; }
.dsv3-desthero__copy { min-width: 0; }
.dsv3-desthero__crumbs ol { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 0 34px; padding: 0; list-style: none; color: rgb(255 255 255 / .66); font-size: .72rem; }
.dsv3-desthero__crumbs li { display: flex; min-width: 0; align-items: center; gap: 7px; }
.dsv3-desthero__crumbs a:hover { color: #fff; }
.dsv3-desthero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-desthero__title { display: flex; min-width: 0; align-items: center; gap: 14px; margin-top: 10px; }
.dsv3-desthero__title img { flex: none; width: 54px; height: 36px; object-fit: cover; border-radius: 7px; box-shadow: 0 8px 20px rgb(0 0 0 / .2); }
.dsv3-desthero h1 { max-width: 12ch; margin: 0; font-size: clamp(3.7rem,7vw,6.5rem); font-weight: 500; line-height: .9; letter-spacing: -.065em; }
.dsv3-desthero__copy > p { max-width: 58ch; margin: 23px 0 0; color: rgb(255 255 255 / .76); font-size: 1.02rem; line-height: 1.65; }
.dsv3-desthero__credit { display: block; margin-top: 10px; color: rgb(255 255 255 / .58); font-size: .64rem; }
.dsv3-desthero__pills { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 27px; }
.dsv3-desthero__pills a { display: inline-flex; min-height: 39px; align-items: center; padding: 0 13px; border-radius: var(--dsv3-pill); background: rgb(255 255 255 / .13); font-size: .73rem; font-weight: 650; backdrop-filter: blur(10px); }
.dsv3-desthero__slider { min-width: 0; }
.dsv3-desthero__stage { position: relative; height: 410px; }
.dsv3-desthero__story { position: absolute; inset: 0; overflow: hidden; border-radius: 24px; color: #fff; opacity: 0; pointer-events: none; transform: translateX(9%); box-shadow: var(--dsv3-shadow-lg); transition: opacity .42s ease,transform .55s cubic-bezier(.22,.78,.2,1); }
.dsv3-desthero__story[data-active="true"] { opacity: 1; pointer-events: auto; transform: none; }
.dsv3-desthero[data-direction="prev"] .dsv3-desthero__story:not([data-active="true"]) { transform: translateX(-9%); }
.dsv3-desthero__storywash { position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg,rgb(3 26 24 / .96),transparent 70%); }
.dsv3-desthero__storycopy { position: absolute; z-index: 2; right: 19px; bottom: 20px; left: 19px; }
.dsv3-desthero__storycopy small { color: rgb(255 255 255 / .68); font-size: .72rem; }
.dsv3-desthero__storycopy strong { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; margin-top: 7px; font-size: 1.35rem; line-height: 1.15; }
.dsv3-desthero__previewstage { position: relative; height: 82px; margin-top: 10px; }
.dsv3-desthero__preview { position: absolute; inset: 0; display: grid; min-width: 0; overflow: hidden; grid-template-columns: 105px minmax(0,1fr) auto; align-items: center; gap: 12px; padding-right: 15px; border-radius: 18px; color: var(--dsv3-ink); background: rgb(255 255 255 / .94); opacity: 0; pointer-events: none; transform: translateX(7%); transition: opacity .35s ease,transform .48s ease; }
.dsv3-desthero__preview[data-active="true"] { opacity: 1; pointer-events: auto; transform: none; }
.dsv3-desthero__preview .dsv3-destinationmedia { position: relative; height: 100%; }
.dsv3-desthero__preview span { min-width: 0; }
.dsv3-desthero__preview small, .dsv3-desthero__preview strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-desthero__preview small { color: var(--dsv3-muted); font-size: .65rem; }
.dsv3-desthero__preview strong { margin-top: 5px; font-size: .82rem; }
.dsv3-desthero__controls { display: flex; align-items: center; justify-content: end; gap: 7px; margin-top: 12px; }
.dsv3-desthero__controls > div { display: flex; margin-right: auto; gap: 5px; }
.dsv3-desthero__controls button { display: grid; width: 42px; height: 42px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #fff; background: rgb(255 255 255 / .14); }
.dsv3-desthero__controls [data-dsv3-hero-dot] { width: 24px; height: 4px; border-radius: 99px; background: rgb(255 255 255 / .32); }
.dsv3-desthero__controls [data-dsv3-hero-dot][aria-current="true"] { background: rgb(var(--dsv3-primary-200)); }
.dsv3-pagecrumbbar { position: relative; z-index: 4; color: var(--dsv3-muted); background: #fff; box-shadow: 0 1px 0 var(--dsv3-line); }
.dsv3-pagecrumbbar__inner { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 16px; }
.dsv3-pagecrumbs { min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: none; }
.dsv3-pagecrumbs::-webkit-scrollbar { display: none; }
.dsv3-pagecrumbs ol { display: flex; min-height: 52px; min-width: max-content; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: .72rem; }
.dsv3-pagecrumbs li { display: inline-flex; align-items: center; gap: 8px; }
.dsv3-pagecrumbs a { color: var(--dsv3-accent-strong); font-weight: 650; }
.dsv3-pagecrumbs [aria-current="page"] { color: var(--dsv3-ink); }
.dsv3-pagecrumbbar__inner > .dsv3-detailactions { flex: 0 0 auto; }
.dsv3-subnav { position: sticky; z-index: 58; top: 123px; overflow-x: auto; background: rgb(255 255 255 / .94); box-shadow: 0 10px 28px -25px rgb(5 46 43 / .45); backdrop-filter: blur(14px); transition: top .26s ease; }
.dsv3-root:has(.dsv3-header[data-shrunk="true"]) .dsv3-subnav { top: 68px; }
.dsv3-subnav .dsv3-shell { display: flex; gap: 25px; overflow-x: auto; scrollbar-width: none; }
.dsv3-subnav a { display: inline-flex; min-height: 51px; flex: none; align-items: center; color: var(--dsv3-muted); font-size: .76rem; font-weight: 650; }
.dsv3-subnav a:hover { color: var(--dsv3-accent-strong); }
.dsv3-destinationeditorial { padding-block: clamp(62px,8vw,108px); color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-destinationeditorial__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); align-items: start; gap: clamp(45px,8vw,100px); }
.dsv3-destinationeditorial .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-destinationeditorial h2 { max-width: 15ch; margin: 11px 0 0; font-size: clamp(2.8rem,5vw,4.8rem); font-weight: 500; line-height: .98; letter-spacing: -.055em; }
.dsv3-guide { position: relative; overflow: hidden; padding: 31px; border-radius: 27px; color: var(--dsv3-ink); background: linear-gradient(145deg,#fff,rgb(var(--dsv3-primary-50))); box-shadow: var(--dsv3-shadow-lg); }
.dsv3-guide::after { content: ""; position: absolute; width: 230px; height: 230px; top: -150px; right: -100px; border-radius: 50%; background: rgb(var(--dsv3-primary-200) / .38); }
.dsv3-guide__icon { position: relative; z-index: 1; display: grid; width: 56px; height: 56px; place-items: center; border-radius: 17px; color: rgb(var(--dsv3-primary-950)); background: rgb(var(--dsv3-primary-200)); }
.dsv3-guide small { display: block; margin-top: 25px; color: var(--dsv3-accent); font-size: .69rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.dsv3-guide h3 { margin: 9px 0 0; font-size: 1.7rem; font-weight: 600; line-height: 1.1; letter-spacing: -.035em; }
.dsv3-guide p { margin: 15px 0 24px; color: var(--dsv3-muted); line-height: 1.6; }
.dsv3-guide__status { display: inline-flex; min-height: 44px; align-items: center; padding: 0 14px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: rgb(var(--dsv3-primary-100)); font-size: .76rem; font-weight: 650; }
.dsv3-catalogue { --catalogue-glow: 126 225 202; position: relative; overflow: clip; }
.dsv3-catalogue::before { position: absolute; width: 460px; aspect-ratio: 1; top: -280px; right: -140px; border-radius: 50%; background: rgb(var(--catalogue-glow) / .12); content: ""; filter: blur(1px); }
.dsv3-catalogue--2 { --catalogue-glow: 227 177 110; }.dsv3-catalogue--3 { --catalogue-glow: 146 185 226; }.dsv3-catalogue--4 { --catalogue-glow: 222 148 156; }.dsv3-catalogue--5 { --catalogue-glow: 197 181 235; }.dsv3-catalogue--6 { --catalogue-glow: 174 213 143; }.dsv3-catalogue--7 { --catalogue-glow: 239 202 121; }.dsv3-catalogue--8 { --catalogue-glow: 113 205 204; }.dsv3-catalogue--9 { --catalogue-glow: 204 160 121; }.dsv3-catalogue--10 { --catalogue-glow: 178 196 229; }
.dsv3-catalogue__grid { position: relative; display: grid; grid-template-columns: minmax(240px,1fr) minmax(0,2fr) minmax(240px,1fr); grid-template-areas: "cover copy download"; align-items: center; gap: clamp(24px,3vw,40px); }
.dsv3-catalogue__cover { position: relative; grid-area: cover; min-height: 520px; overflow: hidden; border-radius: 18px; box-shadow: 0 25px 65px rgb(0 0 0 / .34); transform: rotate(-1.25deg); }
.dsv3-catalogue__cover .dsv3-destinationmedia { position: absolute; inset: 0; height: 100%; }.dsv3-catalogue__cover .dsv3-destinationmedia img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-catalogue__coverwash { position: absolute; inset: 0; background: linear-gradient(0deg,rgb(2 24 24 / .94),transparent 68%),linear-gradient(120deg,rgb(var(--catalogue-glow) / .12),transparent 50%); }
.dsv3-catalogue__edition { position: absolute; top: 15px; right: 15px; left: 15px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: rgb(255 255 255 / .76); font-size: .57rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.dsv3-catalogue__edition b { padding: 7px 9px; border-radius: var(--dsv3-pill); color: rgb(var(--dsv3-primary-950)); background: #fff; letter-spacing: .04em; }
.dsv3-catalogue__covercopy { position: absolute; right: 20px; bottom: 22px; left: 20px; }.dsv3-catalogue__covercopy small { color: rgb(var(--catalogue-glow)); font-size: .6rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }.dsv3-catalogue__covercopy strong { display: block; max-width: 12ch; margin-top: 8px; color: #fff; font-size: 1.65rem; line-height: .98; letter-spacing: -.045em; }
.dsv3-catalogue__copy { grid-area: copy; min-width: 0; }.dsv3-catalogue__copy h2 { max-width: 14ch; margin-top: 0; font-size: clamp(2.5rem,3.4vw,3.7rem); }.dsv3-catalogue__copy > p { max-width: 60ch; margin: 20px 0 0; color: rgb(255 255 255 / .7); font-size: .85rem; line-height: 1.7; }
.dsv3-catalogue__topics { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 17px; margin-top: 25px; }.dsv3-catalogue__topics span { display: flex; align-items: center; gap: 7px; color: rgb(255 255 255 / .82); font-size: .7rem; }.dsv3-catalogue__topics svg { flex: 0 0 auto; color: rgb(var(--catalogue-glow)); }
.dsv3-catalogue__download { display: grid; grid-area: download; min-width: 0; grid-template-columns: 52px minmax(0,1fr); align-content: start; align-items: center; gap: 14px 17px; padding: 25px; border-radius: 20px; background: rgb(255 255 255 / .09); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08); backdrop-filter: blur(14px); }.dsv3-catalogue__downloadicon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; color: rgb(var(--dsv3-primary-950)); background: #fff; box-shadow: 0 12px 28px rgb(0 0 0 / .2); }.dsv3-catalogue__download small,.dsv3-catalogue__download strong,.dsv3-catalogue__download em { display: block; }.dsv3-catalogue__download small { color: rgb(255 255 255 / .52); font-size: .59rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }.dsv3-catalogue__download strong { margin-top: 6px; font-size: .86rem; line-height: 1.4; }.dsv3-catalogue__download em { margin-top: 6px; color: rgb(255 255 255 / .48); font-size: .59rem; font-style: normal; }.dsv3-catalogue__download > p,.dsv3-catalogue__download .dsv3-btn,.dsv3-catalogue__download .dsv3-guide__status { grid-column: 1 / -1; }.dsv3-catalogue__download > p { color: rgb(255 255 255 / .66); font-size: .71rem; line-height: 1.6; }.dsv3-catalogue__download .dsv3-btn { width: 100%; justify-content: space-between; color: rgb(var(--dsv3-primary-950)); background: #fff; }
.dsv3-guidedialog { position: fixed; z-index: 180; inset: 0; display: none; width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 20px; border: 0; place-items: center; color: var(--dsv3-ink); background: rgb(2 28 26 / .72); backdrop-filter: blur(9px); }.dsv3-guidedialog[open] { display: grid; }.dsv3-guidedialog::backdrop { background: transparent; }.dsv3-guidedialog [hidden] { display: none; }.dsv3-guidedialog > section { width: min(100%,540px); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 28px; border-radius: 25px; background: #fff; box-shadow: 0 35px 100px rgb(0 0 0 / .35); animation: dsv3-guide-enter .32s cubic-bezier(.2,.8,.2,1) both; }.dsv3-guidedialog header { display: flex; align-items: start; justify-content: space-between; gap: 18px; }.dsv3-guidedialog header .dsv3-kicker { color: rgb(var(--dsv3-primary-800)); font-weight: 800; }.dsv3-guidedialog header h2 { margin: 7px 0 0; font-size: 1.8rem; }.dsv3-guidedialog header p { margin: 8px 0 0; color: var(--dsv3-muted); line-height: 1.5; }.dsv3-guidedialog header > button { display: grid; width: 42px; height: 42px; flex: 0 0 auto; padding: 0; place-items: center; border: 0; border-radius: 50%; background: var(--dsv3-soft); }.dsv3-guidedialog form { display: grid; gap: 14px; margin-top: 24px; }.dsv3-guidedialog form > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.dsv3-guidedialog label { display: grid; gap: 7px; color: var(--dsv3-muted); font-size: .7rem; }.dsv3-guidedialog input:not([type="checkbox"]) { width: 100%; min-height: 49px; padding: 0 14px; border: 0; border-radius: 14px; color: var(--dsv3-ink); background: var(--dsv3-soft); }.dsv3-guidedialog__consent { display: grid!important; grid-template-columns: 18px 1fr; align-items: start; }.dsv3-guidedialog__consent input { margin-top: 2px; }.dsv3-guidedialog [data-dsv3-guide-error] { color: #9e2d2d; font-size: .72rem; }.dsv3-guidedialog__success { min-height: 300px; place-items: center; align-content: center; gap: 12px; text-align: center; }.dsv3-guidedialog__success > svg { color: var(--dsv3-accent); }.dsv3-guidedialog__success h3 { font-size: 1.55rem; }.dsv3-guidedialog__success p { color: var(--dsv3-muted); }@keyframes dsv3-guide-enter { from { opacity:0; transform:translateY(18px) scale(.98) } to { opacity:1; transform:none } }
.dsv3-gatewaygrid { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,220px)); align-items: start; justify-content: start; gap: 8px; }
.dsv3-gatewaygrid a { display: grid; min-width: 0; min-height: 92px; grid-template-columns: minmax(0,1fr) auto; align-content: end; gap: 5px; padding: 14px; border-radius: 14px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-gatewaygrid a span, .dsv3-gatewaygrid a strong { grid-column: 1; }
.dsv3-gatewaygrid a span { color: var(--dsv3-muted); font-size: .72rem; }
.dsv3-gatewaygrid a strong { overflow-wrap: anywhere; font-size: .9rem; line-height: 1.3; }
.dsv3-gatewaygrid a svg { grid-column: 2; grid-row: 1 / 3; align-self: end; }

/* Tours and cruises: the catalogue and sales flow use the same borderless, image-led system. */
.dsv3-tourlisthead { position: relative; min-height: 390px; overflow: hidden; color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-tourlisthead > .dsv3-destinationmedia { position: absolute; inset: 0; }
.dsv3-tourlisthead > .dsv3-destinationmedia img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-tourlisthead:has(.dsv3-tourmonth[open]) { z-index: 5; overflow: visible; }
.dsv3-listinghero__wash { position: absolute; inset: 0; background: linear-gradient(90deg,rgb(3 28 26 / .9),rgb(3 28 26 / .53) 52%,rgb(3 28 26 / .2)),linear-gradient(0deg,rgb(3 28 26 / .78),transparent 58%); }
.dsv3-tourlisthead__inner { position: relative; z-index: 2; display: grid; min-height: 390px; align-content: start; padding-block: 46px 38px; }
.dsv3-tourcrumbbar { padding: 13px 0; background: #fff; box-shadow: 0 1px 0 var(--dsv3-line); }
.dsv3-tourcrumbbar .dsv3-tourcrumbs a,.dsv3-tourcrumbbar .dsv3-tourcrumbs span { color: var(--dsv3-muted); }
.dsv3-listinghero__copy h1 { margin: 0; font-size: clamp(3.35rem,6vw,5.2rem); font-weight: 500; line-height: .9; letter-spacing: -.065em; }
.dsv3-listinghero__copy p { max-width: 60ch; margin: 11px 0 0; color: rgb(255 255 255 / .76); font-size: .9rem; line-height: 1.5; }
.dsv3-listingsearch { display: grid; min-height: 78px; grid-template-columns: 1.15fr .9fr .75fr .9fr auto; align-items: stretch; margin-top: 27px; padding: 9px; border-radius: 19px; color: var(--dsv3-ink); background: #fff; box-shadow: 0 24px 64px rgb(2 24 22 / .28); }
.dsv3-listingfield { display: grid; min-width: 0; align-content: center; gap: 6px; padding: 6px 17px; box-shadow: -1px 0 0 var(--dsv3-line); }
.dsv3-listingfield:first-of-type { box-shadow: none; }
.dsv3-listingfield > span { color: var(--dsv3-muted); font-size: .63rem; font-weight: 700; letter-spacing: .04em; }
.dsv3-listingfield input, .dsv3-listingfield select { min-width: 0; width: 100%; padding: 0; border: 0; outline: 0; color: var(--dsv3-ink); background: transparent; font-size: .78rem; font-weight: 700; }
.dsv3-tourmonth { position: relative; min-width: 0; box-shadow: -1px 0 0 var(--dsv3-line); }
.dsv3-tourmonth > summary { display: flex; min-height: 60px; height: 100%; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 15px; list-style: none; cursor: pointer; }
.dsv3-tourmonth > summary::-webkit-details-marker { display: none; }
.dsv3-tourmonth > summary > span { min-width: 0; }
.dsv3-tourmonth > summary small,.dsv3-tourmonth > summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-tourmonth > summary small { color: var(--dsv3-muted); font-size: .63rem; font-weight: 700; letter-spacing: .04em; }
.dsv3-tourmonth > summary strong { margin-top: 6px; font-size: .75rem; }
.dsv3-tourmonth > summary > svg { flex: none; color: var(--dsv3-accent-strong); transition: transform .2s ease; transform: rotate(90deg); }
.dsv3-tourmonth[open] > summary > svg { transform: rotate(-90deg); }
.dsv3-tourmonth__panel { position: absolute; z-index: 25; top: calc(100% + 12px); left: 0; width: min(480px,calc(100vw - 32px)); padding: 16px; border: 1px solid var(--dsv3-line); border-radius: 18px; background: #fff; box-shadow: 0 24px 65px rgb(2 24 22 / .24); }
.dsv3-tourmonth__panel header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 2px 2px 12px; }
.dsv3-tourmonth__panel header strong { font-size: .8rem; }
.dsv3-tourmonth__panel header a { color: var(--dsv3-accent-strong); font-size: .68rem; font-weight: 750; }
.dsv3-tourmonth__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.dsv3-tourmonth__option { display: flex; min-height: 44px; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; padding: 0 11px; border-radius: 12px; color: var(--dsv3-ink); background: var(--dsv3-soft); font-size: .68rem; font-weight: 700; }
.dsv3-tourmonth__option > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-tourmonth__option small { display: grid; min-width: 21px; height: 21px; flex: none; place-items: center; border-radius: 50%; color: var(--dsv3-muted); background: #fff; font-size: .6rem; }
.dsv3-tourmonth__option:hover,.dsv3-tourmonth__option:focus-visible,.dsv3-tourmonth__option[aria-current="page"] { outline: 0; color: rgb(var(--dsv3-primary-950)); background: rgb(var(--dsv3-primary-100)); box-shadow: inset 0 0 0 1px rgb(var(--dsv3-primary-200)); }
.dsv3-tourmonth__option[aria-disabled="true"] { color: rgb(var(--dsv3-gray-500)); opacity: .52; cursor: not-allowed; }
.dsv3-listingsearch > .dsv3-btn { align-self: stretch; min-height: 60px; padding-inline: 24px; border-radius: 14px; }
.dsv3-tourcontrols { position: relative; z-index: 4; display: grid; grid-template-columns: minmax(0,1fr) auto; margin-top: 20px; color: var(--dsv3-ink); border-radius: 19px 19px 0 0; background: #fff; box-shadow: 0 24px 64px rgb(2 24 22 / .28); }
.dsv3-tourcontrols > .dsv3-listingsearch { grid-column: 1; grid-row: 1; margin-top: 0; border-radius: 19px 0 0 0; box-shadow: none; }
.dsv3-tourcontrols > .dsv3-tourfilter { display: contents; }
.dsv3-tourcontrols > .dsv3-tourfilter > summary { grid-column: 2; grid-row: 1; min-width: 196px; min-height: 78px; grid-template-columns: 1fr; padding: 10px 18px; border-radius: 0 19px 0 0; color: rgb(var(--dsv3-primary-800)); background: rgb(var(--dsv3-primary-100)); }
.dsv3-tourcontrols > .dsv3-tourfilter > summary > span { justify-content: center; white-space: nowrap; }
.dsv3-tourfilter__count { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 50%; color: rgb(var(--dsv3-primary-900)); background: #fff; font-size: .62rem; }
.dsv3-tourcontrols > .dsv3-tourfilter[open] > summary { color: #fff; background: rgb(var(--dsv3-primary-800)); }
.dsv3-tourcontrols > .dsv3-tourfilter > .dsv3-filter__reveal { grid-column: 1 / -1; grid-row: 2; border-radius: 0 0 19px 19px; background: #fff; }
.dsv3-listingfilterstage { padding: 1px 0 8px; background: var(--dsv3-canvas); }
.dsv3-listingfilterstage .dsv3-filter { margin-top: 14px; }
.dsv3-tourlisthead .dsv3-kicker, .dsv3-cruisehero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-cruisehero h1 { max-width: 10ch; margin: 12px 0 0; font-size: clamp(3.7rem,7vw,6.6rem); font-weight: 500; line-height: .92; letter-spacing: -.065em; }
.dsv3-cruisehero__inner > p { max-width: 58ch; margin: 22px 0 0; color: rgb(255 255 255 / .72); line-height: 1.65; }
.dsv3-monthrail { display: flex; gap: 8px; overflow-x: auto; margin-top: 22px; padding-bottom: 8px; scrollbar-width: thin; }
.dsv3-monthrail a { display: flex; min-height: 42px; flex: none; align-items: center; gap: 9px; padding: 0 14px; border-radius: var(--dsv3-pill); color: rgb(255 255 255 / .76); background: rgb(255 255 255 / .1); font-size: .76rem; font-weight: 650; }
.dsv3-monthrail a[aria-current="page"] { color: rgb(var(--dsv3-primary-950)); background: rgb(var(--dsv3-primary-200)); }
.dsv3-monthrail small { display: grid; min-width: 21px; height: 21px; place-items: center; border-radius: 50%; background: rgb(255 255 255 / .14); font-size: .62rem; }
.dsv3-filter { margin-top: 16px; color: var(--dsv3-ink); background: #fff; border-radius: 21px; box-shadow: var(--dsv3-shadow-md); }
.dsv3-filter > summary { display: grid; min-height: 62px; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 13px; padding: 0 20px; list-style: none; }
.dsv3-filter > summary::-webkit-details-marker { display: none; }
.dsv3-filter > summary > span { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; }
.dsv3-filter__hidelabel { display: none; }
.dsv3-filter[open] .dsv3-filter__showlabel { display: none; }
.dsv3-filter[open] .dsv3-filter__hidelabel { display: inline; }
.dsv3-filter > summary > small { color: var(--dsv3-muted); font-size: .72rem; }
.dsv3-filter > summary > svg { transition: transform .3s cubic-bezier(.22,.78,.2,1); }
.dsv3-filter[open] > summary > svg { transform: rotate(180deg); }
.dsv3-filter__reveal { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .48s cubic-bezier(.4,0,.2,1),opacity .28s ease; }
.dsv3-filter[open]:not([data-opening="true"]):not([data-closing="true"]) .dsv3-filter__reveal { grid-template-rows: 1fr; opacity: 1; }
.dsv3-filter__form { min-height: 0; overflow: hidden; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; padding: 0 20px 20px; }
.dsv3-filter__form label { display: grid; min-width: 0; gap: 7px; }
.dsv3-filter__form label > span { color: var(--dsv3-muted); font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.dsv3-filter__form select, .dsv3-filter__form input { width: 100%; min-height: 48px; padding: 0 13px; border: 0; border-radius: 13px; outline: 0; color: var(--dsv3-ink); background: var(--dsv3-gray-50); }
.dsv3-filter__form select:focus, .dsv3-filter__form input:focus { box-shadow: 0 0 0 3px rgb(var(--dsv3-primary-100)); }
.dsv3-filter__actions { grid-column: 1 / -1; display: flex; justify-content: end; gap: 8px; padding-top: 4px; }
.dsv3-filter__form--cruise { grid-template-columns: repeat(4,minmax(0,1fr)); }
.dsv3-tourresults { background: var(--dsv3-canvas); transition: opacity .22s ease,filter .22s ease; }
[data-dsv3-tour-index][data-busy="true"] .dsv3-tourresults { opacity: .55; filter: saturate(.72); pointer-events: none; }
.dsv3-tourresults__head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 28px; }
.dsv3-tourresults__head h2 { max-width: 16ch; margin: 8px 0 0; font-size: clamp(2.3rem,4vw,3.8rem); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.dsv3-listingchips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.dsv3-listingchip { display: inline-flex; min-height: 36px; align-items: center; gap: 7px; padding: 0 13px; border: 1px solid rgb(var(--dsv3-gray-200)); border-radius: var(--dsv3-pill); color: rgb(var(--dsv3-primary-900)); background: #fff; font-size: .74rem; font-weight: 600; }
.dsv3-listingchip:hover { border-color: rgb(var(--dsv3-primary-200)); background: var(--dsv3-soft); }
.dsv3-listingchip--clear { border-style: dashed; color: var(--dsv3-muted); font-weight: 500; }
.dsv3-tourtools { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; margin: -10px 0 24px; }
.dsv3-toursort { display: flex; min-width: 0; align-items: center; gap: 6px; overflow-x: auto; margin: 0; padding: 8px; border: 1px solid var(--dsv3-line); border-radius: var(--dsv3-pill); background: #fff; scrollbar-width: thin; }
.dsv3-toursort__item { display: inline-flex; min-height: 42px; flex: 0 0 auto; align-items: center; gap: 7px; padding: 0 13px; border-radius: var(--dsv3-pill); color: var(--dsv3-muted); font-size: .68rem; font-weight: 720; }
.dsv3-toursort__item:hover,.dsv3-toursort__item:focus-visible { outline: 0; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }
.dsv3-toursort__item[aria-current="page"] { color: var(--dsv3-accent-strong); background: var(--dsv3-soft); box-shadow: inset 0 0 0 1px rgb(var(--dsv3-primary-100)); }
.dsv3-toursort__item--price-desc svg { transform: rotate(180deg); }
.dsv3-tourquickfilters { display: flex; align-items: center; gap: 7px; }
.dsv3-tourquickfilters label { display: grid; min-width: 150px; min-height: 58px; align-content: center; gap: 4px; padding: 7px 13px; border: 1px solid var(--dsv3-line); border-radius: 15px; background: #fff; }
.dsv3-tourquickfilters label > span { color: var(--dsv3-muted); font-size: .58rem; font-weight: 740; letter-spacing: .04em; text-transform: uppercase; }
.dsv3-tourquickfilters select { min-width: 0; width: 100%; padding: 0 20px 0 0; border: 0; outline: 0; color: var(--dsv3-ink); background: transparent; font-size: .7rem; font-weight: 700; }
.dsv3-tourquickfilters label:focus-within { border-color: rgb(var(--dsv3-primary-300)); box-shadow: 0 0 0 3px rgb(var(--dsv3-primary-100)); }
.dsv3-tourgrid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.dsv3-tourcard { min-width: 0; overflow: hidden; border-radius: 21px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-tourcard__media { position: relative; display: block; height: auto; overflow: hidden; aspect-ratio: 3 / 2; background: rgb(var(--dsv3-primary-900)); }
.dsv3-tourcard__media .dsv3-destinationmedia, .dsv3-tourcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.dsv3-tourcard--cruise .dsv3-tourcard__media img { object-position: center 26%; }
.dsv3-cruiseflight { position: absolute; z-index: 2; right: 14px; top: 14px; display: inline-flex; min-height: 31px; align-items: center; gap: 6px; padding: 0 11px; border-radius: var(--dsv3-pill); color: rgb(var(--dsv3-primary-950)); background: rgb(255 255 255 / .92); font-size: .64rem; font-weight: 750; backdrop-filter: blur(9px); }
.dsv3-tourcard__media .dsv3-occasion + .dsv3-cruiseflight { top: 52px; }
.dsv3-tourcard:hover .dsv3-tourcard__media img { transform: scale(1.035); }
.dsv3-tourcard__wash { position: absolute; inset: 0; background: linear-gradient(0deg,rgb(4 31 29 / .7),transparent 58%); }
.dsv3-occasion { position: absolute; z-index: 2; top: 14px; left: 14px; display: inline-flex; min-height: 31px; align-items: center; padding: 0 11px; border-radius: var(--dsv3-pill); color: #fff; background: rgb(147 96 23 / .9); font-size: .66rem; font-weight: 750; backdrop-filter: blur(9px); }
.dsv3-occasion--national { background: rgb(181 30 43 / .92); }
.dsv3-occasion--religious { background: rgb(var(--dsv3-primary-800) / .94); }
.dsv3-tourcard__mediafacts { position: absolute; z-index: 2; right: 12px; bottom: 12px; left: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.dsv3-tourcard__mediafact,.dsv3-tourairline { display: inline-flex; min-height: 32px; max-width: 100%; align-items: center; gap: 7px; padding: 6px 10px; border-radius: var(--dsv3-pill); color: rgb(var(--dsv3-primary-950)); background: rgb(255 255 255 / .94); font-size: .62rem; font-weight: 760; line-height: 1.15; box-shadow: var(--dsv3-shadow-xs); backdrop-filter: blur(9px); }
.dsv3-tourairline { position: static; }
.dsv3-tourairline img { position: static!important; width: auto!important; max-width: 88px!important; height: 21px!important; object-fit: contain!important; transform: none!important; }
.dsv3-tourairline--fallback span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-tourcard__copy { padding: 16px; }
.dsv3-tourcard__labels,.dsv3-tourtitle__labels { display: flex; flex-wrap: wrap; gap: 6px; }
.dsv3-tourcard__labels { margin: 9px 0 2px; }
.dsv3-tourcard__labels span,.dsv3-tourtitle__labels span { display: inline-flex; min-height: 26px; align-items: center; padding: 5px 9px; border-radius: var(--dsv3-pill); color: rgb(var(--dsv3-primary-900)); background: rgb(var(--dsv3-primary-100)); font-size: .61rem; font-weight: 720; line-height: 1.2; }
.dsv3-tourtitle__labels { margin-top: 14px; }
.dsv3-tourtitle__labels span { min-height: 30px; padding-inline: 11px; font-size: .66rem; }
.dsv3-tourcard__brands { display: flex; min-width: 0; min-height: 25px; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgb(var(--dsv3-gray-100)); }
/* Gemi adi: rozet logo cizdiginde ad yalniz alt metninde kaliyor, ekranda gorunmuyor. Satir
   rozet seridinin altinda, cunku serit yalniz logoyu tasiyor. Ayni hattin iki turu listede bu
   satirla ayirt ediliyor. */
.dsv3-tourcard__ship { display: block; overflow: hidden; margin-top: 8px; color: var(--dsv3-muted); font-size: .68rem; font-weight: 650; letter-spacing: .01em; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-tourcard__brand { display: inline-flex; max-width: 100%; align-items: center; gap: 7px; color: var(--dsv3-muted); font-size: .65rem; }
.dsv3-tourcard__brand--fallback { padding: 4px 0; }
.dsv3-tourcard__brand--cruise { justify-content: flex-end; margin-left: auto; text-align: right; }
.dsv3-tourcard__brand img { width: auto; max-width: 82px; height: 20px; object-fit: contain; }
.dsv3-tourcard__brand span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-tourcard__title { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; margin-top: 14px; }
.dsv3-tourcard__title h2 { margin: 0; font-size: .94rem; font-weight: 650; line-height: 1.3; letter-spacing: -.02em; }
.dsv3-tourcard__title svg { margin-bottom: 2px; color: var(--dsv3-accent); }
.dsv3-tourcard__variants { margin-top: 12px; color: var(--dsv3-accent-strong); font-size: .64rem; font-weight: 720; line-height: 1.25; }
.dsv3-tourcard__variants > summary,.dsv3-tourcard__variants--static { display: flex; width: 100%; min-height: 44px; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 13px; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); cursor: pointer; }
.dsv3-tourcard__variants > summary { list-style: none; }
.dsv3-tourcard__variants > summary::-webkit-details-marker { display: none; }
.dsv3-tourcard__variants > summary span { min-width: 0; flex: 1; }
.dsv3-tourcard__variants > summary svg:last-child { flex: 0 0 auto; transition: transform .2s ease; }
.dsv3-tourcard__variants[open] > summary svg:last-child { transform: rotate(180deg); }
.dsv3-tourcard__variants > summary:hover,.dsv3-tourcard__variants > summary:focus-visible { outline: 0; box-shadow: inset 0 0 0 1px rgb(var(--dsv3-primary-300)),0 0 0 3px rgb(var(--dsv3-primary-100)); }
.dsv3-tourcard__variants--static { display: inline-flex; width: auto; max-width: 100%; cursor: default; }
.dsv3-tourcard__variantlist { display: grid; max-height: 272px; overflow-y: auto; gap: 5px; margin-top: 7px; padding: 5px; border: 1px solid rgb(var(--dsv3-primary-100)); border-radius: 13px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-tourcard__variant { display: grid; min-height: 48px; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 9px; color: var(--dsv3-ink); }
.dsv3-tourcard__variant:hover,.dsv3-tourcard__variant:focus-visible { outline: 0; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }
.dsv3-tourcard__variant > span { display: grid; min-width: 0; gap: 3px; }
.dsv3-tourcard__variant strong { font-size: .7rem; line-height: 1.25; }
.dsv3-tourcard__variant small { overflow: hidden; color: var(--dsv3-muted); font-size: .58rem; font-weight: 620; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-tourcard__variant .dsv3-tourcard__variantstatus { padding: 4px 6px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: var(--dsv3-soft); white-space: nowrap; }
.dsv3-tourcard__variant > svg { color: var(--dsv3-accent); }
.dsv3-tourcard__facts { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 15px; color: var(--dsv3-muted); font-size: .7rem; }
.dsv3-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 36px; }
.dsv3-pagination a, .dsv3-pagination span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #fff; font-size: .76rem; }
.dsv3-pagination a[aria-current="page"] { color: #fff; background: rgb(var(--dsv3-primary-800)); }
.dsv3-empty { padding: 58px 24px; border-radius: 25px; text-align: center; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-empty h2 { margin: 0; font-size: 2rem; font-weight: 550; }
.dsv3-empty p { color: var(--dsv3-muted); }
/* Satış kapalıyken çizilen kurtarma kutusu (\`src/ui/checkout-release.ts\`). \`.dsv3-empty\`in
   üstüne yalnız simgeyi ve ortalanmış ızgarayı ekliyor; kart, köşe ve gölge taban kuraldan. */
.dsv3-empty--release { display: grid; justify-items: center; gap: 12px; padding: 44px 24px; text-align: center; }
.dsv3-empty__icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }
.dsv3-empty--release h2 { margin: 0; color: var(--dsv3-ink); font-size: clamp(1.6rem, 3vw, 2.35rem); font-weight: 560; line-height: 1.05; }
.dsv3-empty--release p { max-width: 52ch; margin: 0; color: var(--dsv3-muted); line-height: 1.65; }
.dsv3-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
.dsv3-root main > .dsv3-empty--release { width: min(calc(100% - 32px), 720px); margin: clamp(48px, 8vw, 96px) auto; }
.dsv3-cruisehero { position: relative; min-height: 455px; overflow: hidden; color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-cruisehero > .dsv3-destinationmedia { position: absolute; inset: 0; }
.dsv3-cruisehero > .dsv3-destinationmedia img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.dsv3-cruisehero__wash { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgb(3 31 28 / .95),rgb(3 31 28 / .7) 48%,rgb(3 31 28 / .18)); }
.dsv3-cruisehero__inner { position: relative; z-index: 2; display: grid; min-height: 455px; align-content: center; padding-block: 54px 112px; }
.dsv3-cruisehero .dsv3-tourcrumbs { margin-bottom: 18px; color: rgb(255 255 255 / .7); }
.dsv3-cruisehero h1 { max-width: 10ch; margin-top: 18px; font-size: clamp(3.4rem,6vw,6rem); line-height: .94; letter-spacing: -.06em; }
.dsv3-cruisehero__inner > p { max-width: 58ch; margin-top: 18px; color: rgb(255 255 255 / .76); font-size: .9rem; line-height: 1.65; }
.dsv3-cruisefilter { position: relative; z-index: 4; margin-top: -59px; }
.dsv3-cruisefilters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) auto; gap: 6px; padding: 7px; border-radius: 18px; background: #fff; box-shadow: 0 18px 48px rgb(5 46 43 / .16); }
.dsv3-cruisefilters label { display: grid; min-width: 0; min-height: 60px; align-content: center; gap: 6px; padding: 0 14px; border-radius: 13px; background: var(--dsv3-gray-50); }
.dsv3-cruisefilters label > span { color: var(--dsv3-muted); font-size: .59rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.dsv3-cruisefilters select { min-width: 0; width: 100%; padding: 0; border: 0; outline: 0; color: var(--dsv3-ink); background: transparent; font-size: .73rem; font-weight: 700; }
.dsv3-cruisefilters > .dsv3-btn { min-height: 60px; padding-inline: 23px; border-radius: 13px; }
.dsv3-cruisestatus { width: fit-content; margin: -10px 0 22px; padding: 8px 12px; border-radius: var(--dsv3-pill); color: rgb(var(--dsv3-primary-800)); background: rgb(var(--dsv3-primary-50)); font-size: .66rem; font-weight: 720; }
.dsv3-cruisestatus:focus-visible { outline: 3px solid rgb(var(--dsv3-primary-200)); outline-offset: 3px; }
.dsv3-cruisestatus[data-state="loading"] { cursor: progress; }
.dsv3-cruisestatus[data-state="error"] { color: rgb(132 36 29); background: rgb(255 237 235); }
[data-dsv3-cruise-index] .dsv3-cruisefilters, [data-dsv3-cruise-index] .dsv3-tourresults { transition: opacity .2s ease,filter .2s ease; }
[data-dsv3-cruise-index][data-busy="true"] .dsv3-cruisefilters, [data-dsv3-cruise-index][data-busy="true"] .dsv3-tourresults { opacity: .55; filter: saturate(.72); pointer-events: none; }
.dsv3-includedgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.dsv3-includedgrid > span { display: grid; min-height: 60px; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 9px; padding: 11px 13px; border-radius: 13px; color: var(--dsv3-muted); background: var(--dsv3-gray-50); font-size: .69rem; line-height: 1.45; }
.dsv3-includedgrid svg { color: rgb(var(--dsv3-primary-700)); }
.dsv3-includedgrid strong { font-weight: 600; }
.dsv3-cruiseshipfacts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.dsv3-cruiseshipfacts article { min-height: 116px; padding: 17px; border-radius: 14px; background: var(--dsv3-gray-50); }
.dsv3-cruiseshipfacts span,.dsv3-cruiseshipfacts strong { display: block; }.dsv3-cruiseshipfacts span { color: var(--dsv3-muted); font-size: .62rem; }.dsv3-cruiseshipfacts strong { margin-top: 8px; font-size: .84rem; line-height: 1.35; }
.dsv3-cruiseflightpanel { display: grid; grid-template-columns: 155px minmax(0,1fr); align-items: center; gap: 22px; margin-top: 18px; padding: 20px; border-radius: 16px; background: rgb(var(--dsv3-primary-50)); }
.dsv3-cruiseflightpanel--yok { grid-template-columns: 25px minmax(0,1fr); gap: 16px; }
.dsv3-cruiseflightpanel > img { width: auto; max-width: 120px; max-height: 34px; object-fit: contain; }.dsv3-cruiseflightpanel > svg { color: rgb(var(--dsv3-primary-700)); }
.dsv3-cruiseflightpanel strong,.dsv3-cruiseflightpanel span { display: block; }.dsv3-cruiseflightpanel strong { font-size: .86rem; }.dsv3-cruiseflightpanel span { margin-top: 5px; color: var(--dsv3-muted); font-size: .68rem; line-height: 1.55; }
.dsv3-cruisedate { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; margin-bottom: 18px; padding: 15px; border-radius: 16px; background: rgb(var(--dsv3-primary-50)); }
.dsv3-cruisedate label { display: grid; gap: 7px; min-width: 0; }.dsv3-cruisedate label > span { color: rgb(var(--dsv3-primary-800)); font-size: .65rem; font-weight: 780; letter-spacing: .055em; text-transform: uppercase; }
.dsv3-cruisedate select { width: 100%; min-height: 48px; padding: 0 42px 0 14px; border: 1px solid rgb(var(--dsv3-primary-200)); border-radius: 12px; color: var(--dsv3-ink); background: #fff; font: inherit; font-size: .78rem; font-weight: 720; }
.dsv3-cruisedate > .dsv3-btn { min-height: 48px; border-radius: 12px; }.dsv3-cruisedate > p { grid-column: 1 / -1; margin: 0; color: var(--dsv3-muted); font-size: .65rem; line-height: 1.45; }

.dsv3-tourgallery { padding-block: 24px; background: var(--dsv3-canvas); }
.dsv3-tourgallery__mozaik { position: relative; display: grid; height: 480px; grid-template-columns: 1.6fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; overflow: hidden; border-radius: 24px; }
.dsv3-tourgallery__cell { position: relative; min-width: 0; overflow: hidden; background: rgb(var(--dsv3-primary-900)); }
.dsv3-tourgallery__cell--1 { grid-row: 1 / 3; }
.dsv3-tourgallery__cell .dsv3-destinationmedia, .dsv3-tourgallery__cell img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-tourgallery__mozaik[data-kare-sayisi="1"] { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.dsv3-tourgallery__mozaik[data-kare-sayisi="2"] { grid-template-columns: 1.6fr 1fr; grid-template-rows: 1fr; }
.dsv3-tourgallery__mozaik[data-kare-sayisi="2"] .dsv3-tourgallery__cell--1 { grid-row: 1; }
.dsv3-tourgallery__mozaik[data-kare-sayisi="3"] { grid-template-columns: 1.6fr 1fr; }
.dsv3-tourgallery__mozaik[data-kare-sayisi="4"] { grid-template-columns: 1fr 1fr; }
.dsv3-tourgallery__mozaik[data-kare-sayisi="4"] .dsv3-tourgallery__cell--1 { grid-row: auto; }
.dsv3-tourgallery__note { margin: 11px 0 0; color: var(--dsv3-muted); font-size: .68rem; line-height: 1.55; }
.dsv3-tourgallery__count { position: absolute; z-index: 2; bottom: 15px; left: 15px; padding: 9px 12px; border-radius: var(--dsv3-pill); color: #fff; background: rgb(5 46 43 / .72); font-size: .7rem; font-weight: 650; backdrop-filter: blur(10px); }
.dsv3-tourtitle { padding-block: 32px 45px; background: #fff; }
.dsv3-tourcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 0; padding: 0; list-style: none; color: var(--dsv3-muted); font-size: .7rem; }
.dsv3-tourcrumbs li { display: inline-flex; align-items: center; gap: 4px; }
.dsv3-tourtitle__grid { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 34px; margin-top: 27px; }
.dsv3-tourtitle h1 { max-width: 17ch; margin: 9px 0 0; font-size: clamp(2.8rem,5vw,5rem); font-weight: 500; line-height: .96; letter-spacing: -.058em; }
.dsv3-tourtitle__grid > div:first-child > p { max-width: 70ch; margin: 19px 0 0; color: var(--dsv3-muted); line-height: 1.65; }
.dsv3-tourtitle__facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.dsv3-tourtitle__facts > span { display: inline-flex; min-height: 39px; align-items: center; gap: 7px; padding: 0 12px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .73rem; font-weight: 650; }
.dsv3-tourtitle__marks { display: flex; align-items: center; gap: 10px; }
.dsv3-tourtitle__marks > img { width: auto; max-width: 100px; height: 30px; object-fit: contain; }
.dsv3-tourdetail { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 42px; padding-block: 56px 92px; }
.dsv3-tourdetail__main { min-width: 0; }
.dsv3-detailsection + .dsv3-detailsection { margin-top: 68px; }
.dsv3-detailsection { scroll-margin-top: 142px; }
.dsv3-detailsection h2 { max-width: 18ch; margin: 8px 0 0; font-size: clamp(2rem,3.5vw,3.2rem); font-weight: 500; line-height: 1; letter-spacing: -.045em; }
.dsv3-detailsection__lede { max-width: 55ch; margin: 13px 0 0; color: var(--dsv3-muted); line-height: 1.6; }
/*
 * Zengin metin karti. Tek bilesen, tek zemin: beyaz kart.
 *
 * Eskiden ayni sinif adi iki kez taniniyordu. Ilk tanim koyu editoryal bolum icin yazilmisti ve
 * metni beyaza (255 255 255 / .73) boyuyordu; ikinci tanim zemini beyaza cevirip rengi
 * sifirlamiyordu. Yalniz p kendi rengini aldigi icin kurtuluyordu; ul, li, strong, h2 ve h3
 * beyaz zeminde beyaz kaliyordu (olculdu 01.09.2026, otel aciklamasindaki olanak listesi).
 * Koyu zeminli kullanim aslinda hic yoktu: dsv3-destinationeditorial koyu, ama icinde
 * dsv3-prose hic gecmiyor. Bu yuzden koyu tanim silindi, geriye tek bilesen kaldi.
 *
 * Kural: bu blok butun metin turlerine acikca renk verir. Miras yoluyla renk beklenen tek yer
 * yok; yeni bir etiket eklenirse buraya da eklenmeli. Denetimi
 * tests/design-v3-metin-kontrasti.test.ts yapiyor: sinif adina degil, olculen kontrast oranina
 * bakiyor.
 */
.dsv3-prose { min-width: 0; max-width: 100%; margin-top: 24px; overflow-wrap: anywhere; padding: clamp(23px,4vw,38px); border-radius: 23px; color: var(--dsv3-muted); background: #fff; box-shadow: var(--dsv3-shadow-md); font-size: .97rem; line-height: 1.78; }
.dsv3-prose p, .dsv3-prose li, .dsv3-prose td, .dsv3-prose dd, .dsv3-prose blockquote, .dsv3-prose small { color: var(--dsv3-muted); }
.dsv3-prose h2, .dsv3-prose h3, .dsv3-prose h4, .dsv3-prose strong, .dsv3-prose b, .dsv3-prose em, .dsv3-prose i, .dsv3-prose th, .dsv3-prose dt { color: var(--dsv3-ink); }
.dsv3-prose p { margin: 0; }
.dsv3-prose p + p { margin-top: 16px; }
.dsv3-prose h2, .dsv3-prose h3, .dsv3-prose h4 { margin: 24px 0 9px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
.dsv3-prose h2 { font-size: 1.3rem; }
.dsv3-prose h3 { font-size: 1.1rem; }
.dsv3-prose h4 { font-size: 1rem; }
.dsv3-prose__heading:first-child { margin-top: 0; }
.dsv3-prose > :first-child { margin-top: 0; }
.dsv3-prose ul, .dsv3-prose ol { margin: 13px 0 0; padding-left: 21px; }
.dsv3-prose li + li { margin-top: 6px; }
.dsv3-prose strong, .dsv3-prose b { font-weight: 650; }
.dsv3-prose em, .dsv3-prose i { font-style: italic; }
.dsv3-prose a { color: var(--dsv3-accent-strong); text-decoration: underline; text-underline-offset: 3px; }
.dsv3-prose blockquote { margin: 17px 0 0; padding-left: 15px; border-left: 3px solid var(--dsv3-line); }
.dsv3-prose table { width: 100%; margin-top: 17px; border-collapse: collapse; }
.dsv3-prose th, .dsv3-prose td { padding: 9px 11px; border-bottom: 1px solid var(--dsv3-line); text-align: left; }
.dsv3-prose th { font-weight: 650; }
.dsv3-tourbooking { position: sticky; top: 92px; padding: 24px; border-radius: 24px; background: #fff; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-tourbooking h2 { margin: 9px 0 0; font-size: 1.18rem; line-height: 1.3; }
.dsv3-tourbooking__price small, .dsv3-tourbooking__price strong { display: block; }
.dsv3-tourbooking__price { margin: 25px 0 18px; }
.dsv3-tourbooking__price small { color: var(--dsv3-muted); font-size: .7rem; }
.dsv3-tourbooking__price strong { margin-top: 5px; font-size: 1.8rem; letter-spacing: -.04em; }
.dsv3-tourbooking__pending { margin: 23px 0 17px; color: var(--dsv3-muted); font-size: .82rem; line-height: 1.5; }
.dsv3-tourbooking__fxdate { margin: -12px 0 18px; color: var(--dsv3-muted); font-size: .68rem; }
.dsv3-tourbooking > .dsv3-btn { width: 100%; }
.dsv3-tourbooking__support { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding: 15px; border-radius: 15px; color: #fff; background: rgb(var(--dsv3-primary-800)); }
.dsv3-tourbooking__support span, .dsv3-tourbooking__support strong, .dsv3-tourbooking__support small { display: block; }
.dsv3-tourbooking__support strong { font-size: .78rem; }
.dsv3-tourbooking__support small { margin-top: 3px; color: rgb(255 255 255 / .67); font-size: .65rem; }
.dsv3-variants { display: grid; gap: 18px; margin-top: 24px; padding: 25px; border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-variants__axis { min-width: 0; }
.dsv3-variants__label { margin: 0 0 9px; color: var(--dsv3-muted); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.dsv3-variants__options { display: flex; flex-wrap: wrap; gap: 7px; }
.dsv3-variants a, .dsv3-variants span { display: inline-flex; min-height: 39px; align-items: center; padding: 0 12px; border-radius: var(--dsv3-pill); background: var(--dsv3-gray-50); font-size: .73rem; }
.dsv3-variants span[aria-current="true"] { gap: 6px; }
.dsv3-variants span[aria-current="true"] { color: #fff; background: rgb(var(--dsv3-primary-800)); }
.dsv3-detailrail, .dsv3-tourrail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(245px,1fr); gap: 12px; overflow-x: auto; margin-top: 24px; padding-bottom: 13px; scroll-snap-type: x proximity; }
.dsv3-detailmedia { position: relative; min-height: 315px; overflow: hidden; border-radius: 20px; color: #fff; background: rgb(var(--dsv3-primary-900)); scroll-snap-align: start; }
.dsv3-detailmedia .dsv3-destinationmedia, .dsv3-detailmedia img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-detailmedia__wash { position: absolute; inset: 0; background: linear-gradient(0deg,rgb(4 31 29 / .95),transparent 70%); }
.dsv3-detailmedia__copy { position: absolute; z-index: 2; right: 17px; bottom: 17px; left: 17px; }
.dsv3-detailmedia__copy small { color: rgb(255 255 255 / .69); font-size: .68rem; }
.dsv3-detailmedia__copy strong { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: 6px; font-size: 1rem; line-height: 1.28; }
.dsv3-detailsection__action { margin: 13px 0 0; }
.dsv3-detailsection__action a { display: inline-flex; align-items: center; gap: 8px; color: var(--dsv3-accent); font-size: .76rem; font-weight: 700; }
.dsv3-itinerary { display: grid; gap: 8px; margin-top: 25px; }
.dsv3-itinerary details { border-radius: 17px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-itinerary summary { display: grid; min-height: 66px; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 0 18px; list-style: none; }
.dsv3-itinerary summary::-webkit-details-marker { display: none; }
.dsv3-itinerary summary > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .68rem; font-weight: 750; }
.dsv3-itinerary summary > strong { font-size: .88rem; }
.dsv3-itinerary summary > svg { transition: transform .25s ease; }
.dsv3-itinerary details[open] summary > svg { transform: rotate(180deg); }
.dsv3-itinerary details > div { padding: 0 18px 20px 72px; }
.dsv3-itinerary details p { margin: 0; color: var(--dsv3-muted); font-size: .86rem; line-height: 1.7; }
.dsv3-itinerary details small { display: inline-flex; align-items: center; gap: 6px; margin-top: 13px; color: var(--dsv3-accent); }
.dsv3-stays { display: grid; gap: 8px; margin-top: 24px; }
.dsv3-stays article { display: grid; min-height: 78px; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 13px; padding: 15px 18px; border-radius: 17px; background: #fff; }
.dsv3-stays article > svg { color: var(--dsv3-accent); }
/* Konaklama etiketi ("Otel adı" / "Gemi adı", stays() içinde stay.label) - asıl değerin (strong)
   üstünde duran alan adı, ana metinden ayrı bir yardımcı ton istiyor. Sistemin her yerdeki eyebrow
   deseniyle (dsv3-kicker) aynı aile: küçük punto, büyük harf, aralıklı; yalnız bu satır içi bir
   kart etiketi olduğu için dsv3-kicker'ın tam boyutunu almıyor. min-width: 0 + text-overflow,
   uzun bir etiketin 390px'lik karttan taşmasını satır içinde durduruyor. */
.dsv3-stays strong, .dsv3-stays span, .dsv3-stays small { display: block; }
.dsv3-stays small { overflow: hidden; min-width: 0; margin-bottom: 3px; color: var(--dsv3-muted); font-size: .62rem; font-weight: 700; line-height: 1.3; letter-spacing: .04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.dsv3-stays strong { font-size: .88rem; }
.dsv3-stays span { margin-top: 5px; color: var(--dsv3-muted); font-size: .7rem; }
.dsv3-placechips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.dsv3-placechips > a, .dsv3-placechips > span { display: inline-flex; min-height: 43px; align-items: center; gap: 8px; padding: 0 13px; border-radius: var(--dsv3-pill); background: #fff; font-size: .76rem; }
.dsv3-placechips small { color: var(--dsv3-muted); font-size: .62rem; }
.dsv3-placechips a svg { color: var(--dsv3-accent); }
.dsv3-reviewgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.dsv3-reviewgrid article { padding: 22px; border-radius: 19px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-reviewgrid__stars { display: flex; gap: 3px; color: rgb(202 145 31); }
.dsv3-reviewgrid p { color: var(--dsv3-muted); font-size: .84rem; line-height: 1.65; }
.dsv3-reviewgrid footer { display: flex; justify-content: space-between; gap: 10px; font-size: .68rem; }
.dsv3-reviewgrid time { color: var(--dsv3-muted); }
.dsv3-related { background: rgb(255 255 255 / .55); }
.dsv3-tourrail { grid-auto-columns: minmax(280px,370px); }
.dsv3-prerequest { padding: clamp(22px,3vw,34px); border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-prerequest__reason { margin: 0 0 6px; color: rgb(var(--dsv3-primary-900)); font-weight: 650; }
.dsv3-prerequest .departures__empty { margin: 0 0 14px; color: var(--dsv3-muted); font-size: .82rem; }

.dsv3-prerequest h3 { margin: 0; font-size: clamp(1.35rem,2vw,1.75rem); letter-spacing: -.035em; }
.dsv3-prerequest > p { max-width: 66ch; margin: 8px 0 0; color: var(--dsv3-muted); font-size: .8rem; line-height: 1.6; }
.dsv3-prerequest__form { display: grid; gap: 16px; margin-top: 22px; }
.dsv3-prerequest__note { margin: 0; color: var(--dsv3-muted); font-size: .76rem; line-height: 1.55; }
.dsv3-prerequest__fields { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(120px,.55fr) minmax(190px,.8fr); gap: 12px; }
.dsv3-prerequest__form .dsv3-field { display: grid; min-width: 0; align-content: start; gap: 7px; }
.dsv3-prerequest__form .dsv3-field > label { display: block; margin: 0; padding: 0 2px; color: var(--dsv3-muted); font-size: .67rem; font-weight: 720; letter-spacing: .025em; }
.dsv3-prerequest__form .dsv3-field--icon { position: relative; min-width: 0; }
.dsv3-prerequest__form .dsv3-field__icon { position: absolute; z-index: 1; top: 50%; left: 15px; display: flex; align-items: center; color: var(--dsv3-accent); pointer-events: none; transform: translateY(-50%); }
.dsv3-prerequest__form .dsv3-field input { width: 100%; height: 54px; min-height: 54px; padding: 0 15px 0 46px; border: 1px solid rgb(var(--dsv3-gray-200)); border-radius: 14px; outline: 0; color: var(--dsv3-ink); background: rgb(var(--dsv3-gray-50)); box-shadow: none; font-size: .82rem; font-weight: 620; transition: border-color .18s ease,box-shadow .18s ease,background-color .18s ease; }
.dsv3-prerequest__form .dsv3-field input:hover { border-color: rgb(var(--dsv3-gray-300)); background: #fff; }
.dsv3-prerequest__form .dsv3-field input:focus-visible { border-color: rgb(var(--dsv3-primary-500)); background: #fff; box-shadow: 0 0 0 3px rgb(var(--dsv3-primary-500) / .16); }
.dsv3-prerequest__form .dsv3-field input[aria-invalid="true"] { border-color: rgb(181 55 46); box-shadow: 0 0 0 3px rgb(181 55 46 / .12); }
.dsv3-prerequest__banner { margin: 0; font-size: .67rem; line-height: 1.45; }
.dsv3-prerequest__banner--success { color: rgb(var(--dsv3-primary-800)); }
.dsv3-prerequest__actions { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 14px; }
.dsv3-prerequest__actions > .dsv3-btn { display: inline-flex; width: auto; min-width: 190px; min-height: 52px; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 0 22px; border: 0; border-radius: var(--dsv3-pill); color: #fff; background: var(--dsv3-button); box-shadow: var(--dsv3-shadow-sm); font-weight: 750; }
.dsv3-prerequest__fineprint { display: grid; gap: 3px; }
.dsv3-prerequest__fineprint .dsv3-prerequest__note { margin: 0; color: var(--dsv3-muted); font-size: .64rem; line-height: 1.5; }
.dsv3-mobilebooking { display: none; }

/* Existing, proven occupancy island inside the new visual language. */
.dsv3-detailsection .tourpick { margin-top: 25px; }
.dsv3-detailsection .tourpick__step--dates > .tourpick__step-title { display: none; }
.dsv3-detailsection .departures { display: grid; gap: 9px; }
.dsv3-detailsection .departure { overflow: hidden; border-radius: 18px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-detailsection .departure__head { display: grid; min-height: 68px; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; padding: 0 18px; list-style: none; }
.dsv3-detailsection .departure__head::-webkit-details-marker { display: none; }
.dsv3-detailsection .departure__when { display: flex; align-items: center; gap: 8px; font-size: .83rem; font-weight: 650; }
.dsv3-detailsection .departure__note { color: var(--dsv3-muted); font-size: .68rem; font-weight: 400; }
.dsv3-detailsection .departure__price { text-align: right; }
.dsv3-detailsection .departure__price span { display: block; }
.dsv3-detailsection .departure__price .price { font-size: .9rem; font-weight: 750; }
.dsv3-detailsection .departure__price-label { color: var(--dsv3-muted); font-size: .62rem; }
.dsv3-detailsection .departure__chevron { transition: transform .25s ease; }
.dsv3-detailsection .departure[open] .departure__chevron { transform: rotate(180deg); }
.dsv3-detailsection .departure__form { padding: 4px 18px 19px; }
.dsv3-detailsection .tourpick__steps { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.dsv3-detailsection .tourpick__step { min-width: 0; }
.dsv3-detailsection .tourpick__step-title { display: flex; align-items: center; gap: 8px; margin: 12px 0 9px; font-size: .78rem; }
.dsv3-detailsection .tourpick__step-no { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 9px; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .62rem; }
.dsv3-detailsection .tourpick__stays { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.dsv3-detailsection .tourpick__stay { padding: 12px; border-radius: 12px; background: var(--dsv3-gray-50); }
.dsv3-detailsection .tourpick__stay-hotel, .dsv3-detailsection .tourpick__stay-meta { display: block; }
.dsv3-detailsection .tourpick__stay-hotel { font-size: .76rem; font-weight: 650; }
.dsv3-detailsection .tourpick__stay-meta, .dsv3-detailsection .tourpick__note { margin-top: 4px; color: var(--dsv3-muted); font-size: .65rem; }
.dsv3-detailsection .btn { display: inline-flex; min-height: 47px; align-items: center; justify-content: center; gap: 8px; padding: 0 17px; border: 0; border-radius: var(--dsv3-pill); font-weight: 700; }
.dsv3-detailsection .btn--primary { color: #fff; background: var(--dsv3-button); }
.dsv3-detailsection .btn--block { width: 100%; margin-top: 15px; }
.dsv3-detailsection .occupancy, .dsv3-detailsection [class*="occupancy"] { max-width: 100%; }
.dsv3-detailsection .occupancy { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: start; gap: 13px; }
.dsv3-detailsection .occupancy__trigger { display: grid; width: 100%; min-height: 58px; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 8px 12px; border: 0; border-radius: 14px; color: var(--dsv3-ink); background: var(--dsv3-gray-50); text-align: left; }
.dsv3-detailsection .occupancy__trigger-text, .dsv3-detailsection .occupancy__trigger-label, .dsv3-detailsection .occupancy__trigger-value { display: block; }
.dsv3-detailsection .occupancy__trigger-label { color: var(--dsv3-muted); font-size: .63rem; }
.dsv3-detailsection .occupancy__trigger-value { margin-top: 2px; font-size: .78rem; font-weight: 700; }
.dsv3-detailsection .occupancy__cost { padding: 13px 15px; border-radius: 14px; background: var(--dsv3-soft); }
.dsv3-detailsection .occupancy__lines { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.dsv3-detailsection .occupancy__line { display: flex; justify-content: space-between; gap: 12px; font-size: .72rem; }
.dsv3-detailsection .occupancy__line-name { color: var(--dsv3-muted); }
.dsv3-detailsection .occupancy__line-count { margin-left: 4px; }
.dsv3-detailsection .occupancy__line-price { font-weight: 700; white-space: nowrap; }
.dsv3-detailsection .occupancy__total { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: 12px 0 0; padding-top: 11px; box-shadow: 0 -1px 0 rgb(var(--dsv3-primary-200)); }
.dsv3-detailsection .occupancy__total-label { font-size: .73rem; font-weight: 650; }
.dsv3-detailsection .occupancy__total-value { font-size: 1rem; font-weight: 800; }
.dsv3-detailsection .occupancy__total-note { margin: 8px 0 0; color: var(--dsv3-muted); font-size: .62rem; line-height: 1.45; }
.dsv3-detailsection .occupancy__panel { width: min(calc(100vw - 28px),430px); max-height: min(680px,calc(100vh - 36px)); overflow: auto; margin: auto; padding: 0; border: 0; border-radius: 21px; color: var(--dsv3-ink); background: #fff; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-detailsection .occupancy__panel::backdrop { background: rgb(5 46 43 / .48); backdrop-filter: blur(3px); }
.dsv3-detailsection .panel__head { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 12px; padding: 0 18px; box-shadow: 0 1px 0 var(--dsv3-line); }
.dsv3-detailsection .panel__title { margin: 0; font-size: 1rem; }
.dsv3-detailsection .panel__close { display: grid; width: 40px; height: 40px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: var(--dsv3-gray-50); }
.dsv3-detailsection .occupancy__body { padding: 8px 18px 18px; }
.dsv3-detailsection .occupancy__row { display: grid; min-height: 74px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; padding-block: 10px; box-shadow: 0 1px 0 var(--dsv3-line); }
.dsv3-detailsection .occupancy__row-title, .dsv3-detailsection .occupancy__row-note { display: block; }
.dsv3-detailsection .occupancy__row-title { font-size: .83rem; font-weight: 700; }
.dsv3-detailsection .occupancy__row-note { margin-top: 3px; color: var(--dsv3-muted); font-size: .67rem; }
.dsv3-detailsection .occupancy__stepper { display: grid; grid-template-columns: 38px 38px 38px; align-items: center; }
.dsv3-detailsection .occupancy__step { width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: 1.15rem; }
.dsv3-detailsection .occupancy__step:disabled { opacity: .35; }
.dsv3-detailsection .occupancy__count { width: 38px; min-height: 38px; padding: 0; border: 0; outline: 0; background: transparent; text-align: center; -moz-appearance: textfield; }
.dsv3-detailsection .occupancy__count::-webkit-inner-spin-button { appearance: none; }
.dsv3-detailsection .occupancy__reason { grid-column: 1 / -1; margin: 0; color: rgb(185 55 46); font-size: .68rem; }
.dsv3-detailsection .occupancy__agent { margin-top: 14px; padding: 15px; border-radius: 14px; background: var(--dsv3-soft); }
.dsv3-detailsection .occupancy__agent-title { margin: 0; font-weight: 750; }
.dsv3-detailsection .occupancy__agent-body { color: var(--dsv3-muted); font-size: .72rem; line-height: 1.5; }
.dsv3-detailsection .occupancy__agent-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.dsv3-detailsection .occupancy__done { margin-top: 15px; }
.dsv3-detailsection .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dsv3-detailsection input, .dsv3-detailsection select, .dsv3-detailsection button { font: inherit; }

.dsv3-vibes { padding-block: clamp(54px,7vw,92px); background: var(--dsv3-canvas); }
.dsv3-vibes__layout { display: grid; grid-template-columns: minmax(250px,.58fr) minmax(0,1.42fr); align-items: start; gap: clamp(34px,6vw,76px); }
.dsv3-vibes__intro { position: sticky; top: 96px; }
.dsv3-vibes__intro h1 { max-width: 8ch; margin: 10px 0 0; font-size: clamp(3rem,5vw,4.9rem); font-weight: 500; line-height: .95; letter-spacing: -.055em; }
.dsv3-vibes__intro > p { max-width: 38ch; margin: 20px 0 0; color: var(--dsv3-muted); line-height: 1.65; }
.dsv3-vibes__status { padding: 12px 14px; border-radius: 13px; color: var(--dsv3-accent-strong)!important; background: var(--dsv3-soft); font-size: .82rem; }
.dsv3-vibes__form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.dsv3-vibes__cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.dsv3-vibecard { position: relative; min-width: 0; overflow: hidden; border-radius: 19px; color: #fff; background: rgb(var(--dsv3-primary-900)); aspect-ratio: 4 / 3; box-shadow: var(--dsv3-shadow-sm); }
.dsv3-vibecard input { position: absolute; z-index: 3; top: 12px; right: 12px; width: 20px; height: 20px; margin: 0; accent-color: rgb(var(--dsv3-primary-300)); }
.dsv3-vibecard__media, .dsv3-vibecard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-vibecard__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgb(3 28 26 / .92),transparent 72%); }
.dsv3-vibecard strong { position: absolute; z-index: 2; right: 14px; bottom: 13px; left: 14px; font-size: 1.04rem; }
.dsv3-vibecard:has(input:checked) { box-shadow: inset 0 0 0 4px rgb(var(--dsv3-primary-300)),var(--dsv3-shadow-md); }
.dsv3-vibes__foot { position: sticky; z-index: 5; bottom: 0; display: flex; align-items: center; justify-content: end; gap: 9px; margin-top: 14px; padding: 12px; border-radius: 18px; background: rgb(255 255 255 / .94); box-shadow: var(--dsv3-shadow-md); backdrop-filter: blur(14px); }
.dsv3-vibes__foot output { margin-right: auto; padding-left: 8px; color: var(--dsv3-muted); font-size: .78rem; white-space: nowrap; }
.dsv3-vibeready { min-height: 66vh; display: grid; place-items: center; padding-block: 72px; background: radial-gradient(circle at 50% 0,rgb(var(--dsv3-primary-100)),transparent 48%),var(--dsv3-canvas); }
.dsv3-vibeready__card { max-width: 820px; padding: clamp(34px,7vw,76px); border-radius: 30px; text-align: center; background: #fff; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-vibeready__mark { display: grid; width: 62px; height: 62px; margin: 0 auto 22px; place-items: center; border-radius: 50%; color: rgb(var(--dsv3-primary-950)); background: rgb(var(--dsv3-primary-200)); }
.dsv3-vibeready h1 { max-width: 13ch; margin: 12px auto 0; font-size: clamp(2.6rem,5vw,4.6rem); font-weight: 500; line-height: .98; letter-spacing: -.055em; }
.dsv3-vibeready p { max-width: 58ch; margin: 18px auto 0; color: var(--dsv3-muted); line-height: 1.65; }
.dsv3-vibeready__chosen { color: var(--dsv3-accent-strong)!important; font-size: 1.16rem; font-weight: 700; }
.dsv3-vibeready__trim { padding: 10px 12px; border-radius: 12px; background: var(--dsv3-soft); font-size: .82rem; }
.dsv3-vibeready__progress { height: 7px; max-width: 520px; overflow: hidden; margin: 27px auto 0; border-radius: var(--dsv3-pill); background: rgb(var(--dsv3-gray-200)); }
.dsv3-vibeready__progress span { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,rgb(var(--dsv3-primary-400)),rgb(var(--dsv3-primary-700))); transform: scaleX(0); transform-origin: left; animation: dsv3-vibeready-load 3s linear forwards; }
.dsv3-vibeready__wait { margin-top: 12px!important; font-size: .72rem; }
.dsv3-vibeready__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 27px; }
@keyframes dsv3-vibeready-load { to { transform: scaleX(1); } }

.dsv3-assist { color: #fff; background: rgb(var(--dsv3-primary-700)); }
.dsv3-assist__inner { display: grid; min-height: 142px; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 16px; }
.dsv3-assist h2 { margin: 0; font-size: clamp(1.7rem,3vw,2.5rem); font-weight: 500; letter-spacing: -.035em; }
.dsv3-assist p { margin: 9px 0 0; color: rgb(255 255 255 / .72); }
.dsv3-footer { color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-footer__main { display: grid; grid-template-columns: 1.25fr repeat(4,1fr); gap: 34px; padding-block: 62px; }
.dsv3-footer__brand img { width: 145px; height: auto; filter: brightness(0) invert(1); }
.dsv3-footer__brand p { max-width: none; margin: 18px 0 0; color: rgb(255 255 255 / .62); font-size: clamp(.62rem,.72vw,.72rem); line-height: 1.4; white-space: nowrap; }
.dsv3-footer__col { display: grid; align-content: start; gap: 10px; }
.dsv3-footer__col h3 { margin: 0 0 6px; color: rgb(var(--dsv3-primary-200)); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-footer__col a { color: rgb(255 255 255 / .7); font-size: .82rem; }
.dsv3-footer__legal { background: rgb(var(--dsv3-primary-800)); }
.dsv3-footer__legalinner { display: flex; min-height: 116px; align-items: center; justify-content: space-between; gap: 30px; padding-block: 22px; }
.dsv3-footer__legal p { max-width: 900px; margin: 0; color: rgb(255 255 255 / .72); font-size: .72rem; line-height: 1.55; }
.dsv3-footer__credits { display: flex; gap: 16px; margin-top: 8px; color: rgb(255 255 255 / .58); font-size: .67rem; }
.dsv3-social { display: flex; gap: 7px; }
.dsv3-social a { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: rgb(255 255 255 / .1); }
.dsv3-floats { position: fixed; z-index: 60; right: max(16px,env(safe-area-inset-right)); bottom: max(16px,env(safe-area-inset-bottom)); display: grid; gap: 9px; }
.dsv3-floats a, .dsv3-floats button { display: grid; width: 50px; height: 50px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-floats button { opacity: 0; pointer-events: none; background: rgb(var(--dsv3-primary-900)); transform: translateY(8px); transition: .25s ease; }
.dsv3-floats button[data-visible="true"] { opacity: 1; pointer-events: auto; transform: none; }
.dsv3-floats a { background: #25d366; }
/* Corporate: about, documents, schengen, visa advisory, support, group requests, careers. */
.dsv3-corporate { padding-block: 30px 92px; background: var(--dsv3-canvas); }
.dsv3-corporate__layout { display: grid; grid-template-columns: 252px minmax(0,1fr); align-items: start; gap: clamp(26px,4vw,58px); }
.dsv3-corporate__main { min-width: 0; }
.dsv3-corporate__rail { position: sticky; top: 96px; min-width: 0; align-self: start; max-height: calc(100vh - 118px); overflow: auto; }
.dsv3-corpnav { display: grid; gap: 22px; padding: 20px 18px; border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-corpnav__heading { margin: 0 0 9px; color: var(--dsv3-muted); font-size: .64rem; font-weight: 780; letter-spacing: .09em; text-transform: uppercase; }
.dsv3-corpnav ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.dsv3-corpnav__link { display: flex; min-height: 38px; align-items: center; padding: 0 11px; border-radius: 11px; color: var(--dsv3-muted); font-size: .79rem; font-weight: 600; }
.dsv3-corpnav__link:hover, .dsv3-corpnav__link:focus-visible { color: var(--dsv3-accent-strong); background: var(--dsv3-gray-50); }
.dsv3-corpnav__link[data-current="true"] { color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-weight: 750; }
.dsv3-corphead { margin-bottom: 26px; }
.dsv3-corphead h1 { max-width: 18ch; margin: 8px 0 0; font-size: clamp(2.2rem,4vw,3.5rem); font-weight: 500; line-height: 1; letter-spacing: -.048em; }
.dsv3-corphead > p { max-width: 58ch; margin: 14px 0 0; color: var(--dsv3-muted); line-height: 1.65; }
.dsv3-corphero { display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,.42fr); align-items: end; gap: clamp(20px,3vw,38px); padding: clamp(26px,4vw,44px); border-radius: 26px; color: #fff; background: linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-corphero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-corphero h1 { max-width: 16ch; margin: 10px 0 0; font-size: clamp(2.1rem,3.8vw,3.3rem); font-weight: 500; line-height: 1.02; letter-spacing: -.05em; }
.dsv3-corphero p { max-width: 52ch; margin: 16px 0 0; color: rgb(255 255 255 / .74); line-height: 1.65; }
.dsv3-corphero__badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.dsv3-corphero__badges li { display: inline-flex; min-height: 38px; align-items: center; gap: 7px; padding: 0 13px; border-radius: var(--dsv3-pill); color: rgb(var(--dsv3-primary-100)); background: rgb(255 255 255 / .1); font-size: .72rem; font-weight: 650; }
.dsv3-corphero__card { display: grid; gap: 5px; padding: 18px; border-radius: 19px; background: rgb(255 255 255 / .12); }
.dsv3-corphero__card strong { font-size: 1.5rem; font-weight: 700; letter-spacing: -.03em; }
.dsv3-corphero__card small { color: rgb(255 255 255 / .72); font-size: .68rem; line-height: 1.45; }
.dsv3-corpfacts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.dsv3-corpfacts li { display: grid; align-content: start; gap: 4px; padding: 18px 16px; border-radius: 18px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-corpfacts strong { font-size: 1.7rem; font-weight: 700; letter-spacing: -.04em; }
.dsv3-corpfacts span { font-size: .79rem; font-weight: 650; }
.dsv3-corpfacts small { color: var(--dsv3-muted); font-size: .63rem; line-height: 1.4; }
/* Bolum basligi ile govdenin arasi: dsv3-detailsection kendi h2'sinden sonra bosluk
   birakmiyor, aradaki ara baslik ona yapisik duruyordu. */
.dsv3-corpstory__title { margin: 14px 0 0; font-size: 1.15rem; font-weight: 650; }
/* Ilk bolum de ustundeki parcadan ayrilsin: .dsv3-detailsection + .dsv3-detailsection
   yalnizca ardisik bolumleri ayiriyor, sayfanin ilk bolumunu degil. */
.dsv3-corporate__main > * + .dsv3-detailsection { margin-top: 68px; }
.dsv3-corppeople { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 24px; }
.dsv3-corpperson { min-width: 0; padding: 18px; border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-corpperson__portrait { position: relative; display: grid; overflow: hidden; place-items: center; margin-bottom: 15px; border-radius: 18px; background: var(--dsv3-soft); aspect-ratio: 4 / 5; }
.dsv3-corpperson__portrait img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-corpperson__initials { color: var(--dsv3-accent-strong); font-size: 2.3rem; font-weight: 700; letter-spacing: -.03em; }
.dsv3-corpperson__link { position: absolute; right: 10px; bottom: 10px; display: inline-flex; min-height: 34px; align-items: center; gap: 6px; padding: 0 11px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: rgb(255 255 255 / .93); font-size: .68rem; font-weight: 700; }
.dsv3-corpperson h3 { margin: 0; font-size: .98rem; font-weight: 700; }
.dsv3-corpperson > span { display: block; margin-top: 3px; color: var(--dsv3-accent); font-size: .72rem; font-weight: 650; }
.dsv3-corpperson p { margin: 11px 0 0; color: var(--dsv3-muted); font-size: .78rem; line-height: 1.6; }
.dsv3-corpbenefits { margin-top: 24px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.dsv3-corplicences { display: grid; grid-template-columns: repeat(auto-fit,minmax(168px,1fr)); gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.dsv3-corplicences li { display: grid; gap: 5px; padding: 16px; border-radius: 17px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-corplicences strong { color: var(--dsv3-accent-strong); font-size: .84rem; font-weight: 750; }
.dsv3-corplicences span { color: var(--dsv3-muted); font-size: .7rem; line-height: 1.45; }
.dsv3-corppress { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.dsv3-corppress li { min-width: 0; border-radius: 17px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-corppress li > *, .dsv3-corppress li > a { display: grid; gap: 7px; padding: 16px; }
.dsv3-corppress strong { color: var(--dsv3-accent-strong); font-size: .86rem; font-weight: 750; }
.dsv3-corppress__logo { width: auto; max-height: 26px; }
.dsv3-corppress span { color: var(--dsv3-muted); font-size: .73rem; line-height: 1.5; }
.dsv3-corppress li[data-link="true"]:hover { box-shadow: var(--dsv3-shadow-md); }
.dsv3-corppress__note { margin-top: 14px; }
.dsv3-corppartner { margin-top: 68px; padding: clamp(24px,4vw,40px); border-radius: 26px; color: #fff; background: rgb(var(--dsv3-primary-900)); }
.dsv3-corppartner .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-corppartner h2 { max-width: 20ch; margin: 9px 0 0; font-size: clamp(1.5rem,2.6vw,2.1rem); font-weight: 500; letter-spacing: -.035em; }
.dsv3-corppartner p { max-width: 62ch; margin: 13px 0 0; color: rgb(255 255 255 / .74); line-height: 1.65; }
.dsv3-corppartner__action { margin: 18px 0 0; }
.dsv3-corppartner .dsv3-btn { color: var(--dsv3-accent-strong); background: #fff; }
.dsv3-corpoffice { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: start; gap: 14px; margin-top: 24px; }
.dsv3-corpoffice[data-solo="true"] { grid-template-columns: minmax(0,1fr); }
.dsv3-corpoffice__card { padding: clamp(20px,3vw,28px); border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-corpoffice__card h3 { margin: 0 0 15px; font-size: 1.05rem; font-weight: 650; }
.dsv3-corpoffice__card ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.dsv3-corpoffice__card li { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: start; gap: 4px 11px; }
.dsv3-corpoffice__card li > svg { grid-row: 1 / span 2; margin-top: 3px; color: var(--dsv3-accent); }
.dsv3-corpoffice__card small { color: var(--dsv3-muted); font-size: .64rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.dsv3-corpoffice__card li > span, .dsv3-corpoffice__card li > a { overflow-wrap: anywhere; font-size: .82rem; font-weight: 600; }
.dsv3-corpoffice__card li > a { color: var(--dsv3-accent-strong); text-decoration: underline; text-underline-offset: 3px; }
.dsv3-corpoffice__action { margin: 18px 0 0; }
.dsv3-corpmap { overflow: hidden; border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-corpmap iframe { display: block; width: 100%; min-height: 330px; border: 0; }
.dsv3-corppolicy { margin-top: 4px; }
.dsv3-corpmeta { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 20px; padding: 0; list-style: none; }
.dsv3-corpmeta li { display: grid; gap: 2px; padding: 11px 15px; border-radius: 14px; background: var(--dsv3-soft); }
.dsv3-corpmeta small { color: var(--dsv3-accent); font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dsv3-corpmeta strong { font-size: .82rem; font-weight: 650; }
.dsv3-corpclause { max-width: 68ch; margin-top: 30px; }
.dsv3-corpclause h2 { margin: 0 0 10px; font-size: 1.12rem; font-weight: 700; letter-spacing: -.01em; }
.dsv3-corpclause p, .dsv3-corpclause li { color: var(--dsv3-muted); font-size: .88rem; line-height: 1.75; }
.dsv3-corpclause p { margin: 0 0 11px; }
.dsv3-corpclause ul { margin: 0; padding-left: 20px; }
.dsv3-corpclause li + li { margin-top: 6px; }
.dsv3-corpsteps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; counter-reset: none; }
.dsv3-corpsteps li { display: grid; align-content: start; gap: 8px; padding: 16px; border-radius: 20px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-corpsteps figure { margin: 0 0 4px; overflow: hidden; border-radius: 14px; background: var(--dsv3-soft); aspect-ratio: 4 / 3; }
.dsv3-corpsteps figure img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-corpsteps li > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 10px; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .64rem; font-weight: 750; }
.dsv3-corpsteps strong { font-size: .88rem; font-weight: 700; }
.dsv3-corpsteps p { margin: 0; color: var(--dsv3-muted); font-size: .76rem; line-height: 1.6; }
.dsv3-corpactions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.dsv3-corpactions .dsv3-btn--ghost { background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-corpform { margin-top: 24px; padding: clamp(22px,3.4vw,34px); border-radius: 26px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-corpform__lead h2 { margin: 0; font-size: 1.35rem; font-weight: 600; letter-spacing: -.02em; }
.dsv3-corpform__lead p { max-width: 62ch; margin: 9px 0 0; color: var(--dsv3-muted); font-size: .85rem; line-height: 1.6; }
.dsv3-corpform__form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 22px; }
.dsv3-corpform__form > .dsv3-btn, .dsv3-corpform__form > .dsv3-formnote, .dsv3-corpform__form > .dsv3-corpform__outcome, .dsv3-corpform__form > .dsv3-corpform__invite { grid-column: 1 / -1; }
.dsv3-corpform__form > .dsv3-btn { justify-self: start; padding-inline: 26px; }
/* Native okun kendi alanı ve en uzun konu metni aynı kutuya sığsın: konu listesi her zaman tam
   satır (dsv3-field--wide) ve metin kesilmiyor. Konuyu küçültmek ya da üç noktayla kesmek,
   müşteriye seçtiği şeyi yarım göstermek olurdu. */
.dsv3-corpform__form select { appearance: auto; min-width: 0; max-width: 100%; padding-right: 3rem; }
.dsv3-corpform__outcome { margin: 0; padding: 13px 15px; border-radius: 14px; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .82rem; line-height: 1.5; }
.dsv3-corpform__outcome[data-tone="error"] { color: #8e2c27; background: #fff0ef; }
.dsv3-corpjobs { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.dsv3-corpjobs li { padding: clamp(18px,2.6vw,26px); border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-corpjobs h2 { margin: 0 0 12px; font-size: 1.25rem; font-weight: 650; letter-spacing: -.02em; }
.dsv3-corpjobs h2 a:hover, .dsv3-corpjobs h2 a:focus-visible { color: var(--dsv3-accent-strong); }
.dsv3-corpjobs .dsv3-placechips { margin-top: 0; }
/* Haplar kartin kendi zemininde: beyaz kartin uzerinde beyaz hap gorunmuyordu. */
.dsv3-corpjobs .dsv3-placechips > span { color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }
.dsv3-corpjobs .dsv3-prose { margin-top: 14px; padding: 0; box-shadow: none; background: transparent; font-size: .85rem; }
.dsv3-corpjob__closing { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin: 14px 0 0; }
.dsv3-corpjob__closing small { color: var(--dsv3-muted); font-size: .64rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.dsv3-corpjob__closing span { font-size: .82rem; font-weight: 650; }

/* Hotels: live catalogue and detail family. */
.dsv3-hotellisthead { padding: 68px 0 34px; color: #fff; background: radial-gradient(circle at 86% 12%,rgb(var(--dsv3-primary-500) / .26),transparent 29%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-hotellisthead .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-hotellisthead h1 { max-width: 13ch; margin: 10px 0 0; font-size: clamp(3.4rem,6.2vw,5.35rem); font-weight: 500; line-height: .95; letter-spacing: -.058em; }
.dsv3-hotellisthead > .dsv3-shell > p { max-width: 54ch; margin: 20px 0 28px; color: rgb(255 255 255 / .72); font-size: 1.03rem; line-height: 1.62; }
.dsv3-hotellisthead--catalogue { position: relative; min-height: 510px; overflow: visible; padding: 0; background: rgb(var(--dsv3-primary-950)); }
.dsv3-hotellisthead--catalogue > .dsv3-destinationmedia { position: absolute; inset: 0; }
.dsv3-hotellisthead--catalogue > .dsv3-destinationmedia img { width: 100%; height: 100%; object-fit: cover; }
/* Perde gorselin ustunde: .dsv3-destinationmedia img z-index 1 tasiyor, listinghero__wash ise auto; olculdu (12.09.2026), perde hic boyanmiyordu ve acik renkli kahramanda baslik gokyuzunun ustunde kaliyordu. Oteki kahramanlarin perdesiyle ayni deger (desthero__wash, hotelbrandhero__wash: 1). Kapsam yalniz otel katalogu; tur listesi onayli goruntusuyle duruyor. */
.dsv3-hotellisthead--catalogue > .dsv3-listinghero__wash { z-index: 1; }
.dsv3-hotellisthead__inner { position: relative; z-index: 2; display: grid; min-height: 510px; align-content: start; padding-block: 76px 42px; }
.dsv3-hotellisthead--catalogue .dsv3-listinghero__copy h1 { max-width: none; margin: 0; }
.dsv3-hotellisthead--catalogue .dsv3-listinghero__copy p { margin-bottom: 0; }
.dsv3-hotelcontrols { position: relative; z-index: 4; display: grid; grid-template-columns: minmax(0,1fr) auto; margin-top: 24px; color: var(--dsv3-ink); background: #fff; border-radius: 18px; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-hotelcontrols > .dsv3-hotelfilter { display: contents; }
.dsv3-hotelsearch { position: relative; z-index: 4; display: grid; min-height: 78px; grid-template-columns: minmax(230px,1.3fr) minmax(220px,1fr) minmax(190px,.85fr) auto; align-items: stretch; gap: 8px; padding: 10px 0 10px 10px; border-radius: 18px 0 0 0; color: var(--dsv3-ink); background: #fff; box-shadow: none; }
.dsv3-hotelsearch__where { position: relative; display: grid; min-width: 0; min-height: 58px; grid-template-columns: 22px minmax(0,1fr); align-items: center; gap: 9px; padding: 8px 12px; border-radius: 12px; background: var(--dsv3-gray-50); }
.dsv3-hotelsearch__where > label { position: absolute; top: 10px; left: 43px; color: var(--dsv3-muted); font-size: .63rem; }
.dsv3-hotelsearch__where svg { margin-top: 10px; color: var(--dsv3-accent-strong); }
.dsv3-hotelsearch__where input, .dsv3-hotelsearch__where select { min-width: 0; width: 100%; height: 38px; margin-top: 12px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--dsv3-ink); font-size: .79rem; font-weight: 550; }
.dsv3-hotelsearch__dates, .dsv3-hotelsearch__guests { min-width: 0; min-height: 58px; border-radius: 12px; background: var(--dsv3-gray-50); box-shadow: none; }
.dsv3-hotelsearch > .dsv3-btn { align-self: stretch; min-height: 58px; padding-inline: 24px; border-radius: 14px; white-space: nowrap; }
.dsv3-hotelsearch__error { grid-column: 1 / -1; margin: 0 4px; padding: 10px 13px; border-radius: 11px; color: rgb(139 43 37); background: rgb(255 237 235); font-size: .7rem; line-height: 1.4; }
.dsv3-hotelsearch__error[hidden] { display: none; }
.dsv3-hotelsearch .dsv3-range[aria-invalid="true"] { box-shadow: inset 0 0 0 2px rgb(181 55 46 / .58); }
.dsv3-hotelsearch__hint { margin: 13px 4px 0!important; color: rgb(255 255 255 / .62)!important; font-size: .74rem!important; }
.dsv3-hotelsearch .dsv3-range, .dsv3-hotelsearch .dsv3-range__controls { height: 100%; margin: 0; border: 0; }
.dsv3-hotelsearch .dsv3-range__label, .dsv3-hotelsearch .dsv3-traveller__label { top: 10px; left: 43px; padding: 0; background: transparent; font-size: .63rem; }
.dsv3-hotelsearch .dsv3-range__icon { left: 13px; color: var(--dsv3-accent-strong); }
.dsv3-hotelsearch .dsv3-range:not([data-range-state="full"]) .dsv3-range__separator,
.dsv3-hotelsearch .dsv3-range:not([data-range-state="full"]) .dsv3-range__part:last-child { display: none; }
.dsv3-hotelsearch .dsv3-traveller { height: 100%; }
.dsv3-hotelsearch .dsv3-traveller__trigger { height: 100%; min-height: 58px; padding: 14px 12px 0; }
.dsv3-hotelsearch .dsv3-traveller__icon > svg { color: var(--dsv3-accent-strong); }
.dsv3-hotelcontrols > .dsv3-hotelfilter > summary { grid-column: 2; grid-row: 1; width: 78px; min-width: 78px; min-height: 78px; grid-template-columns: 1fr; padding: 10px; border-radius: 0 18px 18px 0; color: rgb(var(--dsv3-primary-800)); background: rgb(var(--dsv3-primary-100)); cursor: pointer; }
.dsv3-hotelcontrols > .dsv3-hotelfilter > summary > span { justify-content: center; white-space: nowrap; }
.dsv3-hotelfilter__count { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 50%; color: rgb(var(--dsv3-primary-900)); background: #fff; font-size: .62rem; }
.dsv3-hotelcontrols > .dsv3-hotelfilter[open] > summary { color: #fff; background: rgb(var(--dsv3-primary-800)); }
.dsv3-hotelcontrols > .dsv3-hotelfilter > .dsv3-filter__reveal { grid-column: 1 / -1; grid-row: 2; border-radius: 0 0 18px 18px; background: #fff; }
.dsv3-livesuggest--hotel { position: absolute; z-index: 18; top: calc(100% + 9px); left: 0; width: min(650px,calc(100vw - 32px)); max-height: min(570px,72vh); overflow: auto; padding: 20px; border: 1px solid rgb(var(--dsv3-primary-100)); border-radius: 19px; color: var(--dsv3-ink); background: rgb(255 255 255 / .985); box-shadow: 0 28px 70px -24px rgb(5 46 43 / .46); backdrop-filter: blur(18px); }
.dsv3-hotelsuggest__default { display: grid; gap: 19px; }
.dsv3-hotelsuggest__default > section + section { padding-top: 17px; box-shadow: 0 -1px 0 var(--dsv3-line); }
.dsv3-hotelsuggest__default h3 { margin: 0 0 11px; color: var(--dsv3-muted); font-size: .67rem; font-weight: 780; letter-spacing: .09em; text-transform: uppercase; }
.dsv3-hotelsuggest__popular > div { display: flex; flex-wrap: wrap; gap: 7px; }
.dsv3-hotelsuggest__popular a { display: inline-flex; min-height: 38px; align-items: center; padding: 0 13px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .7rem; font-weight: 720; }
.dsv3-hotelsuggest__popular a:hover,.dsv3-hotelsuggest__popular a:focus-visible { outline: 2px solid rgb(var(--dsv3-primary-300)); outline-offset: 1px; }
.dsv3-hotelsuggest__destinations > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.dsv3-hotelsuggest__destinations a { display: grid; min-width: 0; gap: 3px; padding: 10px 11px; border-radius: 12px; background: var(--dsv3-gray-50); }
.dsv3-hotelsuggest__destinations a:hover,.dsv3-hotelsuggest__destinations a:focus-visible,.dsv3-hotelsuggest__hotels a:hover,.dsv3-hotelsuggest__hotels a:focus-visible { outline: 0; background: var(--dsv3-soft); box-shadow: inset 0 0 0 1px rgb(var(--dsv3-primary-100)); }
.dsv3-hotelsuggest__destinations a > span { display: flex; min-width: 0; align-items: center; gap: 7px; color: var(--dsv3-accent-strong); }
.dsv3-hotelsuggest__destinations strong { overflow: hidden; color: var(--dsv3-ink); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-hotelsuggest__destinations small { overflow: hidden; color: var(--dsv3-muted); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-hotelsuggest__hotels > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.dsv3-hotelsuggest__hotels a { display: grid; min-width: 0; min-height: 64px; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 6px; border-radius: 13px; background: var(--dsv3-gray-50); }
.dsv3-hotelsuggest__hotels img,.dsv3-hotelsuggest__placeholder { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 10px; color: var(--dsv3-accent-strong); background: rgb(var(--dsv3-primary-100)); object-fit: cover; }
.dsv3-hotelsuggest__hotels a > span:nth-child(2) { min-width: 0; }
.dsv3-hotelsuggest__hotels strong,.dsv3-hotelsuggest__hotels small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-hotelsuggest__hotels strong { font-size: .71rem; }.dsv3-hotelsuggest__hotels small { margin-top: 4px; color: var(--dsv3-muted); font-size: .61rem; }
.dsv3-hotelsuggest__hotels a > svg { color: var(--dsv3-accent-strong); }
.dsv3-hotelfilter { margin-top: 0; border-radius: 0 0 18px 18px; color: var(--dsv3-ink); background: #fff; }
.dsv3-hotelfilter__form { min-height: 0; overflow: hidden; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 22px; padding: 22px; }
.dsv3-hotelfilter fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.dsv3-hotelfilter legend { display: block; margin-bottom: 11px; color: var(--dsv3-muted); font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-hotelfilter__checks { display: grid; align-content: start; gap: 5px; }
.dsv3-hotelfilter__amenities .dsv3-hotelfilter__checks { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dsv3-hotelfilter__checks label { display: grid; min-height: 39px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 10px; background: var(--dsv3-gray-50); font-size: .74rem; }
.dsv3-hotelfilter__checks label[data-disabled="true"] { opacity: .42; }
.dsv3-hotelfilter__checks input { accent-color: var(--dsv3-accent); }
.dsv3-hotelfilter__checks small { color: var(--dsv3-muted); }
.dsv3-hotelfilter .dsv3-filter__actions { grid-column: auto; padding: 0; white-space: nowrap; }
.dsv3-hotelresults { background: var(--dsv3-canvas); }
.dsv3-hoteltools { grid-template-columns: auto; justify-content: start; }
.dsv3-hotelgrid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.dsv3-hotelcard { min-width: 0; overflow: hidden; border-radius: 21px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
/* Kart medyasi kendi yigin baglamini kurar (isolation): rozetin z-index'i (2) kartin disina, sayfa kokune kacmasin. Kacinca "Nereye?" oneri paneli, hotellisthead__inner'in z-index 2 baglaminda kaldigi icin, DOM'da sonra gelen rozetlerin arkasina dusuyordu (11.09.2026; tests/otel-arama-kusurlari-2026-09-12.test.ts). */
.dsv3-hotelcard__media { position: relative; display: block; height: 235px; overflow: hidden; isolation: isolate; background: rgb(var(--dsv3-primary-900)); }
.dsv3-hotelcard__media .dsv3-destinationmedia, .dsv3-hotelcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.dsv3-hotelcard:hover .dsv3-hotelcard__media img { transform: scale(1.035); }
.dsv3-hotelcard__wash { position: absolute; inset: 0; background: linear-gradient(0deg,rgb(4 31 29 / .48),transparent 58%); }
.dsv3-hotelcard__class { position: absolute; z-index: 2; top: 14px; left: 14px; display: inline-flex; min-height: 30px; align-items: center; padding: 0 10px; border-radius: var(--dsv3-pill); color: #fff; background: rgb(5 46 43 / .68); font-size: .65rem; font-weight: 700; backdrop-filter: blur(10px); }
.dsv3-hotelcard__copy { position: relative; min-height: 132px; padding: 17px; }
.dsv3-hotelcard__place { display: flex; min-width: 0; align-items: center; gap: 6px; color: var(--dsv3-muted); font-size: .68rem; }
.dsv3-hotelcard__title { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 11px; margin-top: 11px; }
.dsv3-hotelcard__title h3 { min-width: 0; margin: 0; font-size: 1.16rem; font-weight: 650; line-height: 1.18; letter-spacing: -.025em; }
.dsv3-hotelcard__arrow { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }
.dsv3-hotelcard__chain { width: auto; max-width: 92px; height: 22px; margin-top: 13px; object-fit: contain; object-position: left center; }
.dsv3-hotelcard__copy > p { margin: 14px 0 0; color: var(--dsv3-muted); font-size: .72rem; line-height: 1.45; }
.dsv3-hotelcard__offer { display: grid; gap: 3px; margin-top: 14px; padding-top: 13px; border-top: 1px solid rgb(var(--dsv3-gray-200)); }
.dsv3-hotelcard__offer strong { color: rgb(var(--dsv3-primary-900)); font-size: 1rem; line-height: 1.15; }
.dsv3-hotelcard__offer span, .dsv3-hotelcard__offer small { color: var(--dsv3-muted); font-size: .69rem; line-height: 1.4; }
.dsv3-hotelcard__offer[data-state="available"] { border-color: rgb(var(--dsv3-primary-200)); }
.dsv3-hotelcard__offer[data-state="unavailable"] { padding: 10px 11px; border: 0; border-radius: 11px; background: var(--dsv3-gray-50); }

.dsv3-staysearch__form { margin-top: 26px; }
.dsv3-staysearch__nationality { display: flex; grid-column: 1 / -1; align-items: center; justify-content: flex-end; gap: 9px; padding: 10px 8px 0; color: var(--dsv3-muted); font-size: .7rem; }
.dsv3-staysearch__nationality select { min-height: 36px; padding: 0 32px 0 11px; border: 0; border-radius: var(--dsv3-pill); color: var(--dsv3-ink); background: var(--dsv3-gray-50); font-weight: 650; }
.dsv3-staysearch__errors { grid-column: 1 / -1; margin-top: 5px; padding: 14px 16px; border-radius: 14px; color: #7a271a; background: #fff2ef; }
.dsv3-staysearch__errors strong { display: block; font-size: .78rem; }
.dsv3-staysearch__errors ul { display: grid; gap: 4px; margin: 7px 0 0; padding-left: 18px; font-size: .72rem; line-height: 1.45; }
.dsv3-staysearch__prompt { background: #fff; }
.dsv3-staysearch__grid { display: grid; gap: 16px; }
.dsv3-staysearchcard { display: grid; min-height: 305px; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); overflow: hidden; border-radius: 23px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-staysearchcard__media { position: relative; display: block; min-height: 305px; overflow: hidden; background: rgb(var(--dsv3-primary-900)); }
.dsv3-staysearchcard__media .dsv3-destinationmedia, .dsv3-staysearchcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-staysearchcard__copy { display: flex; min-width: 0; justify-content: center; flex-direction: column; padding: 24px; }
.dsv3-staysearchcard__copy .dsv3-hotelcard__chain { margin-top: 14px; }
.dsv3-staysearchcard__segment { align-self: flex-start; margin-top: 12px; padding: 6px 9px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .63rem; font-weight: 700; }
.dsv3-staysearchcard__quote { min-height: 136px; margin-top: 18px; overflow: hidden; border-radius: 16px; background: var(--dsv3-gray-50); }
.dsv3-staysearchcard__quote .quote { display: flex; justify-content: center; flex-direction: column; background: var(--dsv3-gray-50); }
.dsv3-staysearchcard__quote .quote--slot { position: relative; width: 100%; min-height: 136px; overflow: hidden; }
.dsv3-staysearchcard__quote .quote__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; }
.dsv3-staysearchcard__quote .quote__wait { margin: 0; padding: 18px; color: var(--dsv3-muted); font-size: .78rem; }

.dsv3-hotelbrandhero { position: relative; min-height: 600px; overflow: hidden; color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-hotelbrandhero > .dsv3-destinationmedia { position: absolute; inset: 0; }
.dsv3-hotelbrandhero > .dsv3-destinationmedia img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-hotelbrandhero__wash { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgb(4 33 31 / .98),rgb(4 33 31 / .74) 58%,rgb(4 33 31 / .3)),linear-gradient(0deg,rgb(4 33 31 / .6),transparent 54%); }
.dsv3-hotelbrandhero__inner { position: relative; z-index: 2; display: grid; min-height: 600px; grid-template-columns: minmax(0,1fr) 330px; align-items: end; gap: 70px; padding-block: 74px; }
.dsv3-hotelbrandhero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-hotelbrandhero__inner > div:first-child > img { width: auto; max-width: 180px; height: 54px; margin-top: 31px; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.dsv3-hotelbrandhero h1 { max-width: 11ch; margin: 16px 0 0; font-size: clamp(4.1rem,8vw,7.5rem); font-weight: 500; line-height: .86; letter-spacing: -.07em; }
.dsv3-hotelbrandhero__inner > div:first-child > p { margin: 20px 0 26px; color: rgb(255 255 255 / .7); }
.dsv3-hotelbrandhero__mark { display: grid; align-content: end; min-height: 250px; padding: 27px; border-radius: 24px; background: rgb(255 255 255 / .11); backdrop-filter: blur(14px); }
.dsv3-hotelbrandhero__mark span { color: rgb(var(--dsv3-primary-200)); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.dsv3-hotelbrandhero__mark strong { margin-top: 10px; font-size: 2rem; line-height: .96; letter-spacing: -.045em; }
.dsv3-hotelbrandhero__mark small { margin-top: 45px; color: rgb(255 255 255 / .64); font-size: .7rem; }
.dsv3-hotelbrandabout { color: #fff; background: rgb(var(--dsv3-primary-900)); }
.dsv3-hotelbrandabout .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-hotelbrandabout__grid { display: grid; grid-template-columns: minmax(240px,.65fr) minmax(0,1.35fr); gap: clamp(45px,9vw,130px); }
.dsv3-hotelbrandabout h2 { max-width: 10ch; margin: 10px 0 0; font-size: clamp(3.2rem,6vw,6rem); font-weight: 500; line-height: .88; letter-spacing: -.06em; }
.dsv3-hotelbrandabout__grid > div:last-child p { max-width: 68ch; margin: 0 0 18px; color: rgb(255 255 255 / .7); font-size: .95rem; line-height: 1.75; }
.dsv3-hotelbrandabout__grid > div:last-child a { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; color: rgb(var(--dsv3-primary-200)); font-size: .78rem; font-weight: 750; }

.dsv3-stayhandover { min-height: 72vh; padding-block: 38px 88px; background: radial-gradient(circle at 80% 8%,rgb(var(--dsv3-primary-300) / .12),transparent 24%),var(--dsv3-gray-50); }
.dsv3-stayhandover > .dsv3-shell > .dsv3-iconicdetail__back { color: var(--dsv3-accent-strong); }
.dsv3-stayhandover__card { display: grid; min-height: 590px; grid-template-columns: minmax(0,1fr) minmax(340px,.82fr); gap: 48px; margin-top: 28px; padding: clamp(31px,5vw,66px); border-radius: 31px; color: #fff; background: radial-gradient(circle at 13% 12%,rgb(var(--dsv3-primary-300) / .2),transparent 25%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); box-shadow: var(--dsv3-shadow-lg); }
.dsv3-stayhandover__copy { display: flex; align-items: start; justify-content: center; flex-direction: column; }
.dsv3-stayhandover__copy .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-stayhandover h1 { max-width: 10ch; margin: 14px 0 0; font-size: clamp(3.6rem,6.5vw,6.6rem); font-weight: 500; line-height: .87; letter-spacing: -.068em; }
.dsv3-stayhandover__copy > p { max-width: 52ch; margin: 23px 0 0; color: rgb(255 255 255 / .7); line-height: 1.65; }
.dsv3-stayhandover__copy > small { max-width: 58ch; margin-top: 19px; color: rgb(255 255 255 / .5); font-size: .65rem; line-height: 1.55; }
.dsv3-stayhandover__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.dsv3-stayhandover__facts { display: grid; align-content: center; gap: 7px; }
.dsv3-stayhandover__facts article { display: grid; min-height: 82px; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 12px; padding: 14px 16px; border-radius: 17px; background: rgb(255 255 255 / .1); }
.dsv3-stayhandover__facts article > svg { color: rgb(var(--dsv3-primary-200)); }
.dsv3-stayhandover__facts span, .dsv3-stayhandover__facts strong { display: block; }
.dsv3-stayhandover__facts span { color: rgb(255 255 255 / .5); font-size: .6rem; letter-spacing: .07em; text-transform: uppercase; }
.dsv3-stayhandover__facts strong { margin-top: 5px; font-size: .78rem; line-height: 1.35; }

.dsv3-systemnotice { min-height: 70vh; padding: 64px 0 96px; background: radial-gradient(circle at 78% 12%,rgb(var(--dsv3-primary-300) / .12),transparent 23%),var(--dsv3-gray-50); }
.dsv3-systemnotice__card { display: flex; min-height: 520px; align-items: center; justify-content: center; flex-direction: column; padding: clamp(34px,7vw,82px); border-radius: 30px; text-align: center; background: #fff; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-systemnotice__icon { display: grid; width: 76px; height: 76px; margin-bottom: 24px; place-items: center; border-radius: 50%; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }
.dsv3-systemnotice__card[data-tone="attention"] .dsv3-systemnotice__icon { color: #9c3327; background: #fff0ed; }
.dsv3-systemnotice h1 { max-width: 13ch; margin: 12px 0 0; font-size: clamp(3.2rem,6vw,6.4rem); font-weight: 500; line-height: .9; letter-spacing: -.065em; }
.dsv3-systemnotice p { max-width: 54ch; margin: 24px 0 28px; color: var(--dsv3-muted); font-size: .95rem; line-height: 1.65; }

.dsv3-notfound { background: var(--dsv3-canvas); }
.dsv3-notfound__hero { padding: 66px 0 78px; color: #fff; background: radial-gradient(circle at 82% 18%,rgb(var(--dsv3-primary-400) / .26),transparent 26%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-notfound__grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: end; gap: clamp(45px,9vw,130px); }
.dsv3-notfound__code { display: block; color: rgb(var(--dsv3-primary-200) / .58); font-size: .72rem; font-weight: 800; letter-spacing: .22em; }
.dsv3-notfound .dsv3-kicker { margin-top: 9px; color: rgb(var(--dsv3-primary-200)); }
.dsv3-notfound h1 { max-width: 11ch; margin: 13px 0 0; font-size: clamp(4rem,8vw,7.6rem); font-weight: 500; line-height: .85; letter-spacing: -.07em; }
.dsv3-notfound__hero p { max-width: 54ch; margin: 24px 0 0; color: rgb(255 255 255 / .68); line-height: 1.65; }
.dsv3-notfound__search { display: grid; max-width: 650px; min-height: 62px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; margin-top: 28px; padding: 7px 7px 7px 18px; border-radius: 20px; color: var(--dsv3-ink); background: #fff; }
.dsv3-notfound__search > svg { color: var(--dsv3-muted); }
.dsv3-notfound__search input { min-width: 0; height: 46px; border: 0; outline: 0; background: transparent; font-size: .86rem; }
.dsv3-notfound__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }
.dsv3-notfound__actions .dsv3-btn--ghost { color: #fff; background: rgb(255 255 255 / .09); }
.dsv3-notfound__grid aside { display: grid; min-height: 260px; align-content: end; padding: 28px; border-radius: 25px; background: rgb(255 255 255 / .1); backdrop-filter: blur(12px); }
.dsv3-notfound__grid aside span { color: rgb(var(--dsv3-primary-200)); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.dsv3-notfound__grid aside strong { max-width: 10ch; margin-top: 12px; font-size: 2rem; line-height: .96; letter-spacing: -.045em; }
.dsv3-notfound__cities { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.dsv3-notfound__city { min-width: 0; overflow: hidden; border-radius: 19px; background: rgb(var(--dsv3-primary-900)); }
.dsv3-notfound__city > a { position: relative; display: block; height: 270px; overflow: hidden; color: #fff; }
.dsv3-notfound__city .dsv3-destinationmedia, .dsv3-notfound__city img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-notfound__city > a > span { position: absolute; inset: 0; background: linear-gradient(0deg,rgb(3 31 29 / .84),transparent 65%); }
.dsv3-notfound__city > a > div { position: absolute; z-index: 2; right: 17px; bottom: 17px; left: 17px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 5px 8px; }
.dsv3-notfound__city small { grid-column: 1 / -1; color: rgb(255 255 255 / .62); font-size: .62rem; }
.dsv3-notfound__city strong { font-size: 1.22rem; line-height: 1.05; }

.dsv3-hotelgallery { padding-top: 24px; background: #fff; }
.dsv3-hotelgallery > .dsv3-shell { position: relative; display: grid; height: 500px; grid-template-columns: 1.45fr .72fr .72fr; grid-template-rows: 1fr 1fr; gap: 7px; overflow: hidden; border-radius: 24px; }
.dsv3-hotelgallery__cell { position: relative; overflow: hidden; background: rgb(var(--dsv3-primary-900)); }
.dsv3-hotelgallery__cell--1 { grid-row: 1 / 3; }
.dsv3-hotelgallery__cell .dsv3-destinationmedia, .dsv3-hotelgallery__cell img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-hotelgallery__count { position: absolute; z-index: 2; right: 16px; bottom: 16px; padding: 9px 12px; border-radius: var(--dsv3-pill); color: #fff; background: rgb(5 46 43 / .72); font-size: .7rem; font-weight: 700; backdrop-filter: blur(10px); }
/* Buyutulebilir goz bir <button>: gorunusu <span> haliyle ayni kalmak zorunda - kare dugmeye
   degil fotografa benziyor, tiklanabilirligini imlec ve odak halkasi soyluyor. */
.dsv3-hotelgallery__cell--zoom { padding: 0; border: 0; cursor: zoom-in; }
.dsv3-hotelgallery__note { width: min(calc(100% - 48px), 1240px); margin: 10px auto 0; color: var(--dsv3-muted); font-size: .78rem; }
/* Otel turu etiketleri: olanaklarin altinda, kendi basligiyla. Cip degil sinif: bunlar
   otelin konumlandirmasi, tesisin bir ozelligi degil. */
.dsv3-hotelthemes { margin-top: 22px; }
.dsv3-hotelthemes h3 { margin: 0 0 10px; color: var(--dsv3-muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.dsv3-hotelthemes ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dsv3-hotelthemes li { padding: 7px 13px; border: 1px solid var(--dsv3-line); border-radius: var(--dsv3-pill); font-size: .74rem; }
/* Buradan yuruyerek: ad solda, mesafe sagda. Mesafe kararin kendisi, o yuzden ayri sutun. */
.dsv3-hotelwalkable { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.dsv3-hotelwalkable li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--dsv3-line); }
.dsv3-hotelwalkable li:last-child { border-bottom: 0; }
.dsv3-hotelwalkable a { display: inline-flex; align-items: center; gap: 7px; font-weight: 650; }
.dsv3-hotelwalkable span { color: var(--dsv3-muted); font-size: .76rem; white-space: nowrap; }
.dsv3-hoteltitle { padding: 28px 0 34px; background: #fff; }
.dsv3-hotelcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; color: var(--dsv3-muted); font-size: .7rem; }
.dsv3-hotelcrumbs li { display: inline-flex; align-items: center; gap: 5px; }
.dsv3-hotelcrumbs li:last-child { max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-hoteltitle__grid { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 30px; margin-top: 26px; }
.dsv3-hoteltitle__name { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dsv3-hoteltitle__name h1 { max-width: 18ch; margin: 8px 0 0; font-size: clamp(3rem,5.2vw,4.8rem); font-weight: 500; line-height: .96; letter-spacing: -.055em; }
.dsv3-hoteltitle__name img { width: auto; max-width: 150px; height: 42px; object-fit: contain; }
.dsv3-hoteltitle__grid > div > p { margin: 17px 0 0; color: var(--dsv3-muted); }
/* Kaydet/paylaş çifti (\`src/site/design-v3/share.ts\`). Kural 12.09.2026'ya kadar legacy
   \`.pageaction\`/\`.sharepanel\` sınıflarını iki kapsayıcının içinde geçersiz kılıyordu; bileşen
   Design V3'e taşınınca aynı ölçüler tek yerde ve kendi adıyla duruyor. İki kapsayıcı
   (\`__actions\`, \`detailactions\`) yalnız yerleşim; görünüm bileşenin kendisinde. */
.dsv3-hoteltitle__actions, .dsv3-detailactions, .dsv3-pageactions { display: flex; align-items: center; gap: 8px; }
/* Kaydet bir formun içinde. Form kendi kutusunu açmasın diye satırın parçası kalıyor. */
.dsv3-pageactions__form { display: contents; }
.dsv3-pageaction { display: inline-flex; min-height: 43px; align-items: center; gap: 7px; padding: 0 14px; border: 0; border-radius: var(--dsv3-pill); color: var(--dsv3-ink); background: var(--dsv3-gray-50); font: inherit; font-size: .72rem; font-weight: 650; cursor: pointer; }
.dsv3-pageaction:hover { background: var(--dsv3-soft); text-decoration: none; }
/* Basılı kalp doluyor. Rengi vurgu, uyarı değil: kaydetmek bir hata durumu değil. */
.dsv3-pageaction--save[aria-pressed="true"] { color: var(--dsv3-accent-strong); }
.dsv3-pageaction--save[aria-pressed="true"] svg { fill: currentColor; }
/* Panel tetikleyicinin altında değil, tarayıcının \`popover\` katmanında ortada. Kırıntı satırı
   telefonda kayan bir kutu ve \`anchor\` konumlaması Safari'de yok; ortadaki panel üç tarayıcıda
   da aynı yerde açılıyor. Görünümü \`dsv3-guidedialog\` kalıbı: beyaz kart, büyük gölge. */
.dsv3-sharepanel { width: min(390px,calc(100vw - 24px)); padding: 17px; border: 0; border-radius: 18px; color: var(--dsv3-ink); background: #fff; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-sharepanel::backdrop { background: rgb(2 27 25 / .42); }
.dsv3-sharepanel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dsv3-sharepanel__title { margin: 0; font-weight: 700; }
.dsv3-sharepanel__close { display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: var(--dsv3-ink); background: var(--dsv3-gray-50); cursor: pointer; }
.dsv3-sharepanel__targets { display: grid; gap: 6px; margin-top: 12px; }
.dsv3-sharepanel__target { display: flex; min-height: 46px; align-items: center; gap: 10px; padding: 0 12px; border: 0; border-radius: 11px; color: var(--dsv3-ink); background: var(--dsv3-gray-50); font: inherit; font-size: .75rem; font-weight: 650; cursor: pointer; }
.dsv3-sharepanel__target:hover { background: var(--dsv3-soft); text-decoration: none; }
.dsv3-activityhero__actions { margin-top: 18px; }
.dsv3-hoteltrip { display: inline-flex; align-items: center; gap: 9px; margin-top: 16px; padding: 9px 12px; border-radius: 13px; background: var(--dsv3-soft); }
.dsv3-hoteltrip span, .dsv3-hoteltrip strong, .dsv3-hoteltrip small { display: block; }
.dsv3-hoteltrip strong { font-size: .92rem; }
.dsv3-hoteltrip small { margin-top: 2px; color: var(--dsv3-muted); font-size: .62rem; }
.dsv3-hotelstay { margin-top: 32px; }
.dsv3-stayform { margin: 0; }
.dsv3-staybar { display: grid; min-height: 84px; grid-template-columns: .8fr 1.1fr .85fr auto; align-items: stretch; gap: 0; padding: 12px; border-radius: 22px; background: rgb(var(--dsv3-gray-50)); }
.dsv3-staybar__cell { min-width: 0; background: #fff; box-shadow: -1px 0 0 var(--dsv3-line); }
.dsv3-staybar__cell:first-child { box-shadow: none; }
.dsv3-staybar__submit { align-self: center; min-height: 56px; justify-content: center; padding-inline: 24px; border: 0; border-radius: var(--dsv3-pill); color: #fff; background: var(--dsv3-button); font-weight: 700; }
.dsv3-stayplace { position: relative; height: 100%; }
.dsv3-stayplace > label { position: absolute; z-index: 1; top: 8px; left: 48px; color: var(--dsv3-muted); font-size: .64rem; }
.dsv3-stayplace__icon { position: absolute; top: 50%; left: 17px; display: flex; color: var(--dsv3-muted); transform: translateY(-50%); }
.dsv3-stayplace > input[type="text"] { width: 100%; height: 100%; min-height: 60px; padding: 15px 12px 0 48px; border: 0; outline: 0; color: var(--dsv3-ink); background: transparent; font-weight: 650; }
.dsv3-stayform__errors { margin: 0 0 10px; padding: 11px 14px 11px 32px; border-radius: 12px; color: rgb(181 55 46); background: rgb(255 238 235); font-size: .74rem; }
.dsv3-stayform__note { margin: 9px 2px 0; color: var(--dsv3-muted); font-size: .72rem; }
.dsv3-hoteldetail { padding-bottom: 90px; }
.dsv3-hotelbooking { position: sticky; top: 138px; padding: 24px; border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-hotelbooking h2 { margin: 9px 0 0; font-size: 1.25rem; line-height: 1.15; }
.dsv3-hotelbooking dl { display: grid; gap: 0; margin: 20px 0; }
.dsv3-hotelbooking dl div { padding: 12px 0; box-shadow: 0 1px 0 var(--dsv3-line); }
.dsv3-hotelbooking dt { color: var(--dsv3-muted); font-size: .65rem; }
.dsv3-hotelbooking dd { margin: 4px 0 0; font-size: .78rem; font-weight: 700; }
.dsv3-hotelbooking > .dsv3-btn { width: 100%; }
.dsv3-hotelbooking__price { display: block; width: 100%; height: 124px; margin: 0 0 14px; border: 0; }
/*
 * Otelin kendi başlangıç fiyatı — sunucuda çizilen satır (bulgu B3, 09.09.2026).
 *
 * Tek başınayken kutunun fiyatı odur ve büyük durur. Canlı çerçeve de varsa kademe **CSS'te**
 * çözülüyor: bitişik kardeş seçicisi (__price + .dsv3-hotelfrom) satırı küçültüyor ve kenarlığın altına
 * alıyor, yani tam fiyat üstte lider, ölçülmüş başlangıç fiyatı altta referans. Betik yok;
 * çerçevenin içine bakmak da gerekmiyor, sırası yeterli.
 */
.dsv3-hotelfrom { display: grid; gap: 3px; margin: 0 0 14px; }
.dsv3-hotelfrom strong { font-size: 1.02rem; line-height: 1.2; }
.dsv3-hotelfrom small { color: var(--dsv3-muted); font-size: .65rem; line-height: 1.35; }
.dsv3-hotelfrom--ask { margin: 0 0 14px; color: var(--dsv3-muted); font-size: .72rem; }
.dsv3-hotelbooking__price + .dsv3-hotelfrom { margin-top: 2px; padding-top: 11px; box-shadow: 0 -1px 0 var(--dsv3-line); }
.dsv3-hotelbooking__price + .dsv3-hotelfrom strong { font-size: .8rem; font-weight: 600; color: var(--dsv3-muted); }
.dsv3-hotelbooking__price + .dsv3-hotelfrom .dsv3-kicker { display: none; }
.dsv3-hotelsection header > p { max-width: 55ch; }
.dsv3-hotelrooms { overflow: hidden; border-radius: 20px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-hotelrooms iframe { display: block; width: 100%; min-height: 720px; border: 0; }
.dsv3-hotelrooms__empty { display: grid; min-height: 280px; place-items: center; padding: 34px; border-radius: 20px; text-align: center; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-hotelrooms__empty svg { color: var(--dsv3-accent); }
.dsv3-hotelrooms__empty h3 { max-width: 18ch; margin: 8px 0 0; font-size: 1.5rem; }
.dsv3-hotelrooms__empty p { max-width: 46ch; margin: 3px 0 16px; color: var(--dsv3-muted); line-height: 1.55; }
.dsv3-facilities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.dsv3-facilities span { display: flex; min-height: 52px; align-items: center; gap: 9px; padding: 12px 14px; border-radius: 13px; background: #fff; font-size: .74rem; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-facilities svg { flex: 0 0 auto; color: var(--dsv3-accent); }
.dsv3-hotelmap { overflow: hidden; margin: 0; border-radius: 20px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-hotelmap iframe, .dsv3-hotelmap > img { display: block; width: 100%; height: 440px; border: 0; object-fit: cover; }
.dsv3-hotelmap figcaption { padding: 9px 12px; color: var(--dsv3-muted); font-size: .58rem; }
.dsv3-hotelmap__address { display: flex; min-height: 140px; align-items: center; gap: 14px; padding: 24px; border-radius: 18px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-hotelmap__address p { margin: 0; }
.dsv3-transfergrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dsv3-transfergrid article { display: flex; align-items: center; gap: 13px; min-height: 92px; padding: 18px; border-radius: 15px; background: #fff; }
.dsv3-transfergrid svg { flex: 0 0 auto; color: var(--dsv3-accent); }
.dsv3-transfergrid p { margin: 0; font-size: .78rem; line-height: 1.48; }
.dsv3-hotelfacts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dsv3-hotelfacts article { display: flex; align-items: center; gap: 13px; min-height: 76px; padding: 16px 18px; border-radius: 15px; background: #fff; }
.dsv3-hotelfacts svg { flex: 0 0 auto; color: var(--dsv3-accent); }
.dsv3-hotelfacts p { margin: 0; font-size: .78rem; line-height: 1.48; }
.dsv3-hotelthemes { margin-top: 16px; }
.dsv3-hotelthemes h3 { margin: 0 0 9px; font-size: .82rem; font-weight: 600; }
.dsv3-hotelthemes ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dsv3-hotelthemes li { padding: 7px 13px; border: 1px solid var(--dsv3-line); border-radius: 999px; background: #fff; font-size: .74rem; }
.dsv3-hotelwalkable { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dsv3-hotelwalkable li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-radius: 15px; background: #fff; font-size: .8rem; }
.dsv3-hotelwalkable a { color: var(--dsv3-ink); font-weight: 600; }
.dsv3-hotelwalkable span { color: var(--dsv3-muted); font-size: .74rem; white-space: nowrap; }
.dsv3-climatestrip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(78px,1fr); gap: 7px; overflow-x: auto; padding-bottom: 7px; scrollbar-width: thin; }
.dsv3-climatestrip article { display: grid; min-height: 112px; place-items: center; padding: 13px 8px; border-radius: 14px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-climatestrip span { color: var(--dsv3-muted); font-size: .65rem; }
.dsv3-climatestrip strong { font-size: 1.35rem; }
.dsv3-climatestrip small { color: var(--dsv3-muted); }
.dsv3-cityguide { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 27px; }
.dsv3-cityguide > .dsv3-destinationmedia { min-height: 420px; overflow: hidden; border-radius: 20px; }
.dsv3-cityguide > .dsv3-destinationmedia img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-cityguide > div { min-width: 0; }
.dsv3-cityguide .dsv3-prose { margin-top: 0; overflow-wrap: anywhere; }
.dsv3-cityguide--text { grid-template-columns: minmax(0,1fr); }
.dsv3-cityguide--text > div { width: 100%; }
.dsv3-cityguide--text .dsv3-prose { max-width: none; }
.dsv3-cityguide--text > div > ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
.dsv3-cityguide > div > ul { display: grid; gap: 7px; margin: 22px 0 0; padding: 0; list-style: none; }
.dsv3-cityguide > div > ul > li { padding: 13px 15px; border-radius: 12px; background: #fff; }
.dsv3-cityguide > div > ul > li strong, .dsv3-cityguide > div > ul > li span { display: block; }
.dsv3-cityguide > div > ul > li strong { color: var(--dsv3-ink); }
.dsv3-cityguide > div > ul > li span { margin-top: 5px; color: var(--dsv3-muted); font-size: .74rem; line-height: 1.5; }
.dsv3-hotelreviews { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.dsv3-hotelreviews__sources { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 13px; }
.dsv3-hotelreviewsource { display: inline-flex; min-height: 58px; align-items: center; gap: 10px; padding: 10px 13px; border-radius: 14px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-hotelreviewsource > svg { flex: 0 0 auto; }
.dsv3-hotelreviewsource span, .dsv3-hotelreviewsource strong, .dsv3-hotelreviewsource small { display: block; }
.dsv3-hotelreviewsource span { min-width: 145px; }
.dsv3-hotelreviewsource small { margin-top: 2px; color: var(--dsv3-muted); font-size: .61rem; }
/* TripAdvisor kabarcık görseli: ölçü şarttan geliyor, en az 55 piksel genişlik ve en az 20 piksel
   yükseklik (docs/suppliers/tripadvisor.md, gösterim şartları 2 ve 3). Görsel tedarikçinin kendi
   adresinden iniyor; bu yüzden kopyalanamayacağı gibi ölçüsü de burada sabit tutuluyor. */
.dsv3-tripbubbles { display: block; width: 128px; height: 20px; flex: 0 0 auto; }
.dsv3-hotelreviews__note { margin: 12px 0 0; color: var(--dsv3-muted); font-size: .68rem; line-height: 1.5; }
.dsv3-hotelreviews article { overflow: hidden; border-radius: 16px; background: #fff; }
.dsv3-hotelreview__card { display: flex; min-height: 100%; flex-direction: column; padding: 19px; }
.dsv3-hotelreview__stars { display: flex; gap: 2px; color: rgb(177 124 27); }
.dsv3-hotelreviews h3 { margin: 12px 0 0; font-size: .8rem; }
.dsv3-hotelreviews p { margin: 14px 0; color: var(--dsv3-muted); font-size: .78rem; line-height: 1.55; }
.dsv3-hotelreviews footer { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px; }
.dsv3-hotelreviews footer > svg { flex: 0 0 auto; }
.dsv3-hotelreviews footer span, .dsv3-hotelreviews footer strong, .dsv3-hotelreviews footer small { display: block; }
.dsv3-hotelreviews footer span { min-width: 0; margin-right: auto; }
.dsv3-hotelreviews footer strong { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-hotelreviews footer small { margin-top: 2px; color: var(--dsv3-muted); font-size: .59rem; }
.dsv3-hotelneighbours { background: #fff; }
.dsv3-hotelrail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(270px,1fr); gap: 12px; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; }
.dsv3-hotelrail__card { position: relative; min-height: 270px; overflow: hidden; border-radius: 19px; color: #fff; background: rgb(var(--dsv3-primary-900)); scroll-snap-align: start; }
.dsv3-hotelrail__card > .dsv3-destinationmedia, .dsv3-hotelrail__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-hotelrail__card > span:last-child { position: absolute; z-index: 2; right: 17px; bottom: 16px; left: 17px; }
.dsv3-hotelrail__card small { color: rgb(255 255 255 / .72); }
.dsv3-hotelrail__card strong { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; margin-top: 6px; font-size: 1.12rem; line-height: 1.15; }

/* Konaklama denetimleri: tarih aralığı, sayaç, yolcu grubu ve yolcu açılırı (design-v3).
   12.09.2026'ya kadar bu yüzey legacy kütüphanenin .range/.counter/.field/.traveller
   sınıflarını taşıyordu ve kural iki yerde (DATE_RANGE_CSS + buradaki ezmeler) duruyordu.
   Ürün Sahibi yalnız design-v3 görmek istiyor; işaretleme src/ui/design-v3/stay-controls.ts,
   boya burada. Ölçüler değişmedi: dokunma hedefi 44 piksel, panel alana demirli. */
.dsv3-range { position: relative; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.dsv3-range__icon { position: absolute; z-index: 1; top: 50%; left: 13px; display: flex; color: var(--dsv3-accent-strong); pointer-events: none; transform: translateY(-50%); }
.dsv3-range__label { position: absolute; z-index: 1; top: 10px; left: 43px; color: var(--dsv3-muted); font-size: .63rem; line-height: 1; }
.dsv3-range__controls { position: relative; display: flex; min-height: 58px; align-items: center; flex-wrap: nowrap; padding: 15px 10px 0 43px; }
.dsv3-range__part { position: relative; display: block; flex: 0 1 auto; min-width: 0; }
.dsv3-range__separator { flex: 0 0 auto; color: var(--dsv3-muted); }
.dsv3-range__input, .dsv3-range__display { box-sizing: border-box; width: 100%; min-height: 2.75rem; padding: .5rem 0; border: 0; outline: 0; color: var(--dsv3-ink); background: transparent; font: inherit; font-size: .82rem; font-weight: 650; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dsv3-range__input { position: relative; }
.dsv3-range__input::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.dsv3-range__display { cursor: pointer; }
.dsv3-range__display[hidden], .dsv3-range__panel[hidden], .dsv3-range__scrim[hidden] { display: none; }
.dsv3-range__display:focus-visible, .dsv3-range__link:focus-visible, .dsv3-range__done:focus-visible { outline: 2px solid var(--dsv3-accent); outline-offset: 2px; }
/* Panel sabit katmanda ama alana DEMİRLİ: konumu betik alanın getBoundingClientRect'inden
   hesaplıyor. Karar Ürün Sahibi'nin (23.08.2026): masaüstünde karartmasız, alana bağlı panel;
   telefonda alttan yükselen sayfa. z 550/540: üst şeridin (500) ve mega menünün (450) üstünde.
   right/bottom/margin/padding sıfırlanıyor: popover varsayılanı inset:0 + margin:auto. */
.dsv3-range__panel { position: fixed; z-index: 550; top: 0; right: auto; bottom: auto; left: 0; box-sizing: border-box; width: max-content; max-width: calc(100vw - 1rem); max-height: calc(100dvh - 2rem); margin: 0; padding: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--dsv3-line); border-radius: var(--dsv3-r-lg); color: var(--dsv3-ink); background: #fff; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-range__scrim { position: fixed; z-index: 540; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: rgb(5 46 43 / .5); }
.dsv3-range__calendar { padding: .75rem 1.25rem .25rem; }
.dsv3-range__footer { display: flex; align-items: center; gap: 1.25rem; padding: .25rem 1.25rem 1rem; }
.dsv3-range__link { padding: .25rem 0; border: 0; background: transparent; color: var(--dsv3-accent); font: inherit; font-size: .9375rem; font-weight: 600; cursor: pointer; }
.dsv3-range__link:hover { text-decoration: underline; }
.dsv3-range__done { margin-left: auto; min-height: 2.5rem; padding: .5rem 1.25rem; border: 0; border-radius: var(--dsv3-r-md); color: #fff; background: var(--dsv3-button); font: inherit; font-size: .9375rem; font-weight: 700; cursor: pointer; }
/* Oklar: design-v3'ün tek chevron'u aşağı bakıyor, yön çeyrek dönüşle veriliyor. */
.dsv3-range__nav { display: inline-flex; }
.dsv3-range__nav--prev svg { transform: rotate(90deg); }
.dsv3-range__nav--next svg { transform: rotate(-90deg); }
/* Cally'nin teması tamamen bizim jetonlarımız: kaba ayar iki özel özellik, ince ayar ::part. */
calendar-range { display: block; --color-accent: var(--dsv3-accent); --color-text-on-accent: #fff; }
calendar-range::part(months) { display: grid; grid-template-columns: minmax(0,1fr); }
calendar-range::part(previous), calendar-range::part(next) { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 8px; color: var(--dsv3-accent); background: transparent; cursor: pointer; }
calendar-range::part(previous):hover, calendar-range::part(next):hover { background: var(--dsv3-soft); }
calendar-range::part(disabled) { color: var(--dsv3-muted); opacity: .45; cursor: default; }
calendar-range::part(previous):focus-visible, calendar-range::part(next):focus-visible, calendar-month::part(day):focus-visible { outline: 2px solid var(--dsv3-accent); outline-offset: 2px; }
calendar-month { width: 100%; }
calendar-month::part(table) { width: 100%; }
calendar-month::part(heading) { display: block; margin: -2.35rem auto .9rem; text-align: center; font-size: 1rem; font-weight: 750; }
calendar-month::part(weekday) { color: var(--dsv3-muted); font-size: .6875rem; font-weight: 750; }
calendar-month::part(day) { min-width: 2.75rem; height: 2.75rem; border-radius: 8px; color: var(--dsv3-ink); font-size: .8125rem; }
calendar-month::part(day):hover { color: var(--dsv3-accent); background: var(--dsv3-soft); }
calendar-month::part(disallowed) { opacity: .35; cursor: not-allowed; }
calendar-month::part(outside) { color: var(--dsv3-muted); opacity: .5; }
calendar-month::part(today) { font-weight: 750; }
calendar-month::part(range-inner) { border-radius: 8px; color: var(--dsv3-accent); background: var(--dsv3-soft); }
calendar-month::part(range-start), calendar-month::part(range-end) { border-radius: 8px; color: #fff; background: var(--dsv3-accent); }
@media (prefers-reduced-motion: no-preference) {
  .dsv3-range__panel { animation: dsv3-range-panel-in .14s ease-out; }
  @keyframes dsv3-range-panel-in { from { opacity: 0; transform: translateY(.25rem); } to { opacity: 1; transform: none; } }
}
/* Sayaç: eksi, sayı, artı. Düğmeler betik gelene kadar gizli; sayı alanı tek başına çalışıyor. */
.dsv3-counter { display: flex; min-height: 2.75rem; align-items: center; justify-content: space-between; gap: 1rem; }
.dsv3-counter__label { margin: 0; padding: 0; color: var(--dsv3-ink); font-size: .9375rem; font-weight: 600; }
.dsv3-counter__control { display: grid; flex: 0 0 auto; grid-template-columns: 2rem 2.5rem 2rem; align-items: center; gap: .25rem; }
.dsv3-counter__input { width: 2.5rem; height: 2rem; min-height: 0; padding: 0; border: 0; outline: 0; color: var(--dsv3-ink); background: transparent; text-align: center; font-size: .9375rem; }
.dsv3-counter__step[hidden] { display: none; }
.dsv3-counter__step:not([hidden]) { display: grid; width: 2rem; height: 2rem; padding: 0; place-items: center; border: 0; border-radius: 50%; color: var(--dsv3-accent); background: var(--dsv3-soft); font-size: 1rem; }
.dsv3-party { margin: 0; padding: 0; border: 0; }
.dsv3-party > .dsv3-counter { padding: .25rem 0; }
.dsv3-party__note { margin: .125rem 0 0; color: var(--dsv3-muted); font-size: .75rem; }
.dsv3-party__ages { display: grid; gap: 7px; margin-top: .75rem; }
.dsv3-party__age { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; font-size: .8rem; }
.dsv3-party__age select { min-height: 38px; padding: 0 9px; border: 0; border-radius: 10px; color: var(--dsv3-ink); background: rgb(var(--dsv3-gray-50)); }
/* Yolcu ve oda: tek tetik, tarayıcının popover katmanında açılan panel. Açma-kapama betiksiz. */
.dsv3-traveller { position: relative; height: 100%; }
.dsv3-traveller__trigger { anchor-name: --dsv3-traveller; display: flex; width: 100%; height: 100%; min-height: 3.375rem; align-items: center; gap: .75rem; padding: 0 1rem; border: 0; color: var(--dsv3-ink); background: transparent; text-align: left; }
.dsv3-traveller__icon { display: inline-flex; color: var(--dsv3-muted); }
.dsv3-traveller__text { min-width: 0; }
.dsv3-traveller__label { position: absolute; z-index: 1; top: -.4375rem; left: .875rem; padding: 0 .375rem; color: var(--dsv3-muted); background: #fff; font-size: .6875rem; font-weight: 600; line-height: 1; }
.dsv3-traveller__trigger strong { display: block; max-width: 14rem; overflow: hidden; font-size: .875rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-traveller__badge { display: inline-grid; flex: 0 0 auto; min-width: 1.35rem; height: 1.35rem; margin-left: auto; padding: 0 .35rem; place-items: center; border-radius: var(--dsv3-pill); color: #fff; background: rgb(var(--dsv3-primary-700)); font-size: .72rem; font-weight: 600; line-height: 1; }
.dsv3-traveller__panel { position: absolute; position-anchor: --dsv3-traveller; z-index: 560; inset: auto; top: anchor(bottom); right: anchor(right); left: anchor(left); width: auto; max-height: calc(100dvh - 2rem); margin: .5rem 0 0; padding: 1rem 1.25rem 1.25rem; overflow: auto; border: 0; border-radius: 18px; color: var(--dsv3-ink); background: #fff; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-traveller__panel::backdrop { background: transparent; }
.dsv3-traveller__rooms { padding: .25rem 0; }
.dsv3-traveller__addroom { display: block; margin: .25rem 0 .5rem auto; padding: .5rem 0; border: 0; background: transparent; color: var(--dsv3-accent); font-weight: 750; }
.dsv3-traveller__addroom[hidden] { display: none; }
.dsv3-traveller__actions { display: flex; padding-top: .75rem; }
.dsv3-traveller__actions .dsv3-btn { flex: 1 1 auto; min-height: 44px; justify-content: center; border: 0; border-radius: var(--dsv3-pill); color: #fff; background: var(--dsv3-button); font-weight: 700; }

/* Experience atlas and detail — taxonomy becomes a visual discovery surface, not a text index. */
.dsv3-experienceindex__hero { padding: 78px 0 56px; color: #fff; background: radial-gradient(circle at 82% 20%,rgb(109 214 190 / .22),transparent 28%),linear-gradient(130deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-experienceindex__hero h1 { max-width: 790px; margin: 11px 0 15px; font-size: clamp(3.6rem,7.2vw,7.8rem); line-height: .86; letter-spacing: -.07em; }
.dsv3-experienceindex__hero > .dsv3-shell > p { max-width: 650px; color: rgb(255 255 255 / .72); font-size: 1rem; line-height: 1.7; }
.dsv3-experiencefilters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 36px; }
.dsv3-experiencefilter { position: relative; color: var(--dsv3-ink); }
.dsv3-experiencefilter summary { display: grid; min-height: 64px; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; padding: 0 17px; border-radius: 16px; background: #fff; box-shadow: var(--dsv3-shadow-sm); list-style: none; cursor: pointer; }
.dsv3-experiencefilter summary::-webkit-details-marker { display: none; }
.dsv3-experiencefilter summary > span { font-weight: 780; }
.dsv3-experiencefilter summary > small { max-width: 150px; overflow: hidden; color: var(--dsv3-muted); text-overflow: ellipsis; white-space: nowrap; }
.dsv3-experiencefilter[open] summary svg { transform: rotate(180deg); }
.dsv3-experiencefilter > div { position: absolute; z-index: 20; top: calc(100% + 7px); right: 0; left: 0; max-height: 360px; overflow-y: auto; padding: 8px; border-radius: 16px; background: #fff; box-shadow: var(--dsv3-shadow-lg); animation: dsv3-reveal .22s ease both; }
.dsv3-experiencefilter > div a { display: grid; min-height: 43px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 0 10px; border-radius: 11px; color: var(--dsv3-ink); font-size: .79rem; }
.dsv3-experiencefilter > div a:hover, .dsv3-experiencefilter > div a[aria-current="page"], .dsv3-experiencefilter > div a[aria-pressed="true"] { color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }
.dsv3-experiencefilter > div a small { color: var(--dsv3-muted); }
.dsv3-experiencefilters__active { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.dsv3-experiencefilters__active a { display: inline-flex; min-height: 36px; align-items: center; gap: 7px; padding: 0 12px; border-radius: var(--dsv3-pill); color: #fff; background: rgb(255 255 255 / .11); font-size: .72rem; }
.dsv3-experienceindex__results { background: var(--dsv3-gray-50); }
[data-dsv3-experience-index] .dsv3-experienceindex__hero,
[data-dsv3-experience-index] .dsv3-experienceindex__results { transition: opacity .2s ease,filter .2s ease; }
[data-dsv3-experience-index][data-busy="true"] .dsv3-experienceindex__hero,
[data-dsv3-experience-index][data-busy="true"] .dsv3-experienceindex__results { opacity: .58; filter: saturate(.72); pointer-events: none; }
.dsv3-experiencegrid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.dsv3-experiencegrid .dsv3-destinationcard:nth-child(7n + 1), .dsv3-experiencegrid .dsv3-destinationcard:nth-child(7n + 6) { grid-column: span 2; }
.dsv3-experiencegrid .dsv3-destinationcard:nth-child(4n + 2) .dsv3-destinationmedia--default { background: radial-gradient(circle at 22% 24%,rgb(198 226 210 / .32),transparent 24%),linear-gradient(145deg,rgb(20 77 71),rgb(9 42 40)); }
.dsv3-experiencegrid .dsv3-destinationcard:nth-child(4n + 3) .dsv3-destinationmedia--default { background: radial-gradient(circle at 76% 72%,rgb(170 205 196 / .25),transparent 28%),linear-gradient(155deg,rgb(8 49 48),rgb(40 93 84)); }
.dsv3-experiencegrid .dsv3-destinationcard:nth-child(4n + 4) .dsv3-destinationmedia--default { background: radial-gradient(circle at 34% 78%,rgb(226 211 177 / .2),transparent 26%),linear-gradient(145deg,rgb(24 62 59),rgb(6 33 32)); }

.dsv3-experiencehero { position: relative; min-height: 690px; overflow: hidden; color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-experiencehero > .dsv3-destinationmedia, .dsv3-experiencehero > .dsv3-destinationmedia img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-experiencehero__wash { position: absolute; inset: 0; background: linear-gradient(90deg,rgb(2 27 25 / .92) 0%,rgb(2 27 25 / .72) 46%,rgb(2 27 25 / .26) 75%),linear-gradient(0deg,rgb(2 27 25 / .68),transparent 54%); }
.dsv3-experiencehero .dsv3-destinationmedia--default { background: radial-gradient(circle at 82% 20%,rgb(123 225 201 / .24),transparent 21%),radial-gradient(circle at 72% 92%,rgb(221 205 164 / .14),transparent 24%),linear-gradient(125deg,rgb(2 31 30),rgb(15 94 83)); }
.dsv3-experiencehero__top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.dsv3-experiencehero__top .dsv3-experiencecrumbs { min-width: 0; }
.dsv3-experiencehero__top .dsv3-detailactions { flex: 0 0 auto; }
.dsv3-experiencecrumbs a, .dsv3-experiencecrumbs span { color: rgb(255 255 255 / .7); }
.dsv3-experiencecrumbs li:last-child span { color: rgb(255 255 255 / .88); }
.dsv3-experiencehero__inner { position: relative; z-index: 2; display: grid; min-height: 690px; grid-template-columns: minmax(0,1fr) minmax(290px,.42fr); align-items: end; gap: 62px; padding-block: 94px 70px; }
.dsv3-experiencehero__inner > div:first-child { max-width: 820px; }
.dsv3-experiencehero h1 { max-width: 850px; margin: 17px 0 19px; font-size: clamp(4rem,7.4vw,8.6rem); line-height: .82; letter-spacing: -.075em; }
.dsv3-experiencehero__inner > div:first-child > p { max-width: 660px; color: rgb(255 255 255 / .78); font-size: 1.02rem; line-height: 1.65; }
.dsv3-experiencefacts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 26px; }
.dsv3-experiencefacts > span { display: grid; min-height: 58px; grid-template-columns: auto auto; grid-template-rows: auto auto; align-items: center; column-gap: 8px; padding: 9px 13px; border-radius: 14px; background: rgb(255 255 255 / .1); backdrop-filter: blur(12px); }
.dsv3-experiencefacts svg { grid-row: 1 / 3; color: var(--dsv3-mint); }
.dsv3-experiencefacts small { color: rgb(255 255 255 / .58); font-size: .58rem; text-transform: uppercase; letter-spacing: .1em; }
.dsv3-experiencefacts strong { max-width: 190px; font-size: .71rem; line-height: 1.25; }
/* Ödünç fotoğrafın kaynağını söyleyen etiket — legacy .ehero__source ile aynı gerekçe: bir
   bölge manzarasını deneyimin kendi fotoğrafı gibi sunmamak (Ürün Sahibi, 21.08.2026). */
.dsv3-experiencehero__source { display: inline-flex; width: fit-content; align-items: center; margin: 14px 0 0; padding: 6px 12px; border-radius: 999px; border: 1px solid rgb(255 255 255 / .28); background: rgb(0 0 0 / .38); color: rgb(255 255 255 / .88); font-size: .68rem; }
.dsv3-experiencehero__card { padding: 25px; border-radius: 22px; color: var(--dsv3-ink); background: rgb(255 255 255 / .94); box-shadow: var(--dsv3-shadow-lg); backdrop-filter: blur(16px); }
.dsv3-experiencehero__card > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 50%; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }
.dsv3-experiencehero__card h2 { margin: 18px 0 9px; font-size: 1.65rem; line-height: 1; letter-spacing: -.035em; }
.dsv3-experiencehero__card p { margin: 0 0 18px; color: var(--dsv3-muted); font-size: .78rem; line-height: 1.55; }
.dsv3-experiencehero__card .dsv3-btn { width: 100%; }
.dsv3-experiencehero__whatsapp { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 7px; width: 100%; margin-top: 7px; color: var(--dsv3-accent-strong); font-size: .76rem; font-weight: 750; }
.dsv3-experienceabout { background: #fff; }
.dsv3-experienceabout > .dsv3-shell { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 70px; align-items: start; }
.dsv3-experienceabout h2 { max-width: 540px; margin-top: 9px; font-size: clamp(2.5rem,4.3vw,5rem); line-height: .94; letter-spacing: -.055em; }
.dsv3-experienceabout p { margin: 5px 0 0; color: var(--dsv3-muted); font-size: 1.02rem; line-height: 1.9; }
.dsv3-experiencephotos { background: var(--dsv3-gray-50); }
.dsv3-experienceposts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.dsv3-experiencepost { overflow: hidden; border-radius: 20px; background: #fff; box-shadow: var(--dsv3-shadow-sm); }
.dsv3-experiencepost header { display: grid; min-height: 62px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px 13px; }
.dsv3-experiencepost__avatar { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: #fff; background: rgb(var(--dsv3-primary-800)); font-size: .72rem; font-weight: 800; }
.dsv3-experiencepost header strong, .dsv3-experiencepost header small { display: block; }
.dsv3-experiencepost header strong { font-size: .74rem; }.dsv3-experiencepost header small { margin-top: 2px; color: var(--dsv3-muted); font-size: .61rem; }
.dsv3-experiencepost__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: rgb(var(--dsv3-primary-900)); }
.dsv3-experiencepost__media .dsv3-destinationmedia, .dsv3-experiencepost__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-experiencepost:nth-child(2) .dsv3-destinationmedia--default { background: radial-gradient(circle at 30% 30%,rgb(135 218 200 / .32),transparent 22%),linear-gradient(155deg,rgb(7 46 44),rgb(35 105 91)); }
.dsv3-experiencepost:nth-child(3) .dsv3-destinationmedia--default { background: radial-gradient(circle at 70% 24%,rgb(228 213 181 / .2),transparent 24%),linear-gradient(145deg,rgb(25 67 62),rgb(3 35 34)); }
.dsv3-experiencepost footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px; }
.dsv3-experiencepost footer strong { font-size: .78rem; }.dsv3-experiencepost footer span { color: var(--dsv3-muted); font-size: .64rem; }
.dsv3-experiencerailgroup { min-width: 0; }
.dsv3-experiencerailhead { display: flex; min-height: 44px; align-items: center; gap: 16px; margin-bottom: 14px; }
.dsv3-experiencerailhead h3 { margin: 0; font-size: 1.2rem; }
.dsv3-experiencerailcontrols { display: flex; align-items: center; gap: 7px; margin-left: auto; }
.dsv3-experiencerailcontrols button { display: grid; width: 44px; height: 44px; flex: none; place-items: center; padding: 0; border: 1px solid var(--dsv3-line); border-radius: 50%; color: rgb(var(--dsv3-primary-800)); background: #fff; box-shadow: var(--dsv3-shadow-sm); cursor: pointer; transition: color .2s ease,background .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease; }
.dsv3-experiencerailcontrols button:first-child svg { transform: rotate(180deg); }
.dsv3-experiencerailcontrols button:hover:not(:disabled) { border-color: rgb(var(--dsv3-primary-300)); color: rgb(var(--dsv3-primary-950)); background: var(--dsv3-soft); transform: translateY(-1px); }
.dsv3-experiencerailcontrols button:focus-visible { outline: 2px solid rgb(var(--dsv3-primary-400)); outline-offset: 3px; }
.dsv3-experiencerailcontrols button:disabled { opacity: .34; box-shadow: none; cursor: not-allowed; }
.dsv3-experiencerail { display: grid; width: 100%; min-width: 0; max-width: 100%; grid-auto-flow: column; grid-auto-columns: 360px; gap: 11px; overflow-x: auto; padding: 0 0 12px; scroll-behavior: smooth; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; touch-action: pan-x pinch-zoom; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: rgb(var(--dsv3-primary-300)) transparent; cursor: grab; }
.dsv3-experiencerail:active { cursor: grabbing; }
.dsv3-experiencerail::-webkit-scrollbar { height: 5px; }
.dsv3-experiencerail::-webkit-scrollbar-thumb { border-radius: 999px; background: rgb(var(--dsv3-primary-300)); }
.dsv3-experiencerail:focus-visible { outline: 2px solid rgb(var(--dsv3-primary-400)); outline-offset: 5px; }
.dsv3-experiencerail .dsv3-destinationcard { scroll-snap-align: start; }
.dsv3-experiencecity { display: grid; min-width: 0; gap: 42px; }.dsv3-experiencecity > div { min-width: 0; }
.dsv3-experiencegateway { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.dsv3-experiencegateway a { display: grid; min-height: 170px; grid-template-columns: auto minmax(0,1fr) auto; align-content: space-between; gap: 10px; padding: 18px; border-radius: 17px; color: var(--dsv3-ink); background: var(--dsv3-gray-50); }
.dsv3-experiencegateway a > svg:first-child { color: var(--dsv3-accent-strong); }.dsv3-experiencegateway a > svg:last-child { align-self: end; }
.dsv3-experiencegateway a span { align-self: end; }.dsv3-experiencegateway a strong, .dsv3-experiencegateway a small { display: block; }
.dsv3-experiencegateway a small { margin-top: 5px; color: var(--dsv3-muted); font-size: .64rem; line-height: 1.4; }
.dsv3-experiencegateway__pills { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.dsv3-experiencegateway__pills span { padding: 3px 8px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .6rem; font-weight: 650; }

/* Search page mirrors the header disclosure: one input, one answer surface, no modal. */
.dsv3-searchpage { min-height: 70vh; padding-block: 70px 90px; background: var(--dsv3-gray-50); }
.dsv3-searchpage__inner { max-width: 980px; }
.dsv3-searchpage__form { display: grid; min-height: 70px; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 8px 8px 8px 20px; border-radius: 999px; background: #fff; box-shadow: var(--dsv3-shadow-md); }
.dsv3-searchpage__form > svg { color: var(--dsv3-muted); }.dsv3-searchpage__form label { height: 100%; }
.dsv3-searchpage__form input { width: 100%; height: 100%; padding: 0; border: 0; outline: 0; background: transparent; font-size: 1rem; }
.dsv3-searchpage__form .dsv3-btn { min-height: 54px; border-radius: 999px; }
.dsv3-searchdiscovery { display: grid; gap: 30px; margin-top: 26px; padding: 27px; border-radius: 24px; background: #fff; box-shadow: var(--dsv3-shadow-sm); }
.dsv3-searchdiscovery__group h2, .dsv3-searchdiscovery__products h2 { margin: 0 0 12px; color: var(--dsv3-muted); font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; }
.dsv3-searchdiscovery__group > p { margin: 0; color: var(--dsv3-muted); font-size: .78rem; }
.dsv3-searchchips { display: flex; flex-wrap: wrap; gap: 7px; }
.dsv3-searchchips a { display: inline-flex; min-height: 39px; align-items: center; gap: 8px; padding: 0 13px; border-radius: var(--dsv3-pill); background: var(--dsv3-soft); font-size: .76rem; }
.dsv3-searchdiscovery__destinations { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.dsv3-searchdiscovery__destinations .dsv3-destinationcard { min-height: 190px; }
.dsv3-searchdiscovery__products { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dsv3-searchdiscovery__products section > div { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.dsv3-searchdiscovery__products .dsv3-destinationcard { min-height: 210px; }
.dsv3-searchpage--results > .dsv3-shell > h1 { margin: 10px 0 25px; font-size: clamp(3rem,6vw,6rem); line-height: .9; letter-spacing: -.06em; }
.dsv3-searchresults { display: grid; gap: 60px; margin-top: 60px; }
.dsv3-searchresults--empty { display: block; }
.dsv3-searchresults--empty .dsv3-empty { width: 100%; max-width: none; margin: 0; }
.dsv3-searchresults__section > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 19px; }
.dsv3-searchresults__section h2 { margin-top: 7px; font-size: 2.4rem; line-height: .95; letter-spacing: -.045em; }
.dsv3-searchresults__section > header > a { display: inline-flex; flex: none; align-items: center; gap: 7px; color: var(--dsv3-accent-strong); font-size: .74rem; font-weight: 750; }
.dsv3-searchresults__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.dsv3-searchresults__grid .dsv3-destinationcard { min-height: 240px; }

.dsv3-activityindex { background: var(--dsv3-gray-50); }
.dsv3-activityindex__hero { padding-block: 76px 72px; color: #fff; background: radial-gradient(circle at 84% 24%,rgb(var(--dsv3-primary-300) / .2),transparent 27%),linear-gradient(135deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-activityindex__hero .dsv3-tourcrumbs { margin-bottom: 54px; }.dsv3-activityindex__hero .dsv3-tourcrumbs a, .dsv3-activityindex__hero .dsv3-tourcrumbs span { color: rgb(255 255 255 / .66); }
.dsv3-activityindex__hero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-activityindex__hero h1 { max-width: 12ch; margin: 14px 0 17px; font-size: clamp(4rem,8vw,8.3rem); font-weight: 560; line-height: .84; letter-spacing: -.07em; }
.dsv3-activityindex__hero p { max-width: 55ch; margin: 0; color: rgb(255 255 255 / .7); font-size: .98rem; line-height: 1.65; }
.dsv3-activitygrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.dsv3-activitycard { position: relative; min-height: 390px; overflow: hidden; border-radius: 21px; color: #fff; background: rgb(var(--dsv3-primary-900)); box-shadow: var(--dsv3-shadow-sm); }
.dsv3-activitycard:nth-child(7n + 1), .dsv3-activitycard:nth-child(7n + 5) { grid-column: span 2; }
.dsv3-activitycard .dsv3-destinationmedia, .dsv3-activitycard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.22,.78,.2,1); }
.dsv3-activitycard:hover .dsv3-destinationmedia, .dsv3-activitycard:hover img { transform: scale(1.025); }
.dsv3-activitycard:nth-child(4n + 2) .dsv3-destinationmedia--default { background: radial-gradient(circle at 70% 22%,rgb(165 231 214 / .28),transparent 23%),linear-gradient(145deg,rgb(8 54 51),rgb(24 107 93)); }
.dsv3-activitycard:nth-child(4n + 3) .dsv3-destinationmedia--default { background: radial-gradient(circle at 22% 75%,rgb(225 211 174 / .18),transparent 27%),linear-gradient(140deg,rgb(3 37 36),rgb(19 78 70)); }
.dsv3-activitycard__wash { position: absolute; inset: 0; background: linear-gradient(0deg,rgb(3 31 29 / .92),transparent 68%); }
.dsv3-activitycard__body { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 24px; }
.dsv3-activitycard__body > small { display: block; margin-bottom: 8px; color: rgb(255 255 255 / .62); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-activitycard__body > strong { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; font-size: clamp(1.2rem,2vw,1.75rem); font-weight: 630; line-height: 1.02; letter-spacing: -.035em; }
.dsv3-activitycard__body > span { display: -webkit-box; overflow: hidden; margin-top: 11px; color: rgb(255 255 255 / .65); font-size: .67rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.dsv3-activityhero { position: relative; min-height: 690px; overflow: hidden; color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-activityhero > .dsv3-destinationmedia, .dsv3-activityhero > .dsv3-destinationmedia img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-activityhero .dsv3-destinationmedia--default { background: radial-gradient(circle at 78% 18%,rgb(105 220 192 / .24),transparent 23%),radial-gradient(circle at 22% 88%,rgb(218 203 166 / .12),transparent 28%),linear-gradient(135deg,rgb(3 34 32),rgb(13 94 82)); }
.dsv3-activityhero__wash { position: absolute; inset: 0; background: linear-gradient(90deg,rgb(2 27 25 / .94) 0%,rgb(2 27 25 / .73) 52%,rgb(2 27 25 / .26) 80%),linear-gradient(0deg,rgb(2 27 25 / .67),transparent 55%); }
.dsv3-activityhero__inner { position: relative; z-index: 2; display: grid; min-height: 690px; grid-template-columns: minmax(0,1fr) minmax(290px,.4fr); align-items: end; gap: 60px; padding-block: 82px 64px; }
.dsv3-activityhero__inner > div { min-width: 0; }.dsv3-activityhero .dsv3-activitycrumbs { margin-bottom: 27px; }
.dsv3-activityhero .dsv3-activitycrumbs a, .dsv3-activityhero .dsv3-activitycrumbs span { color: rgb(255 255 255 / .66); }
.dsv3-activityhero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-activityhero h1 { max-width: 12ch; margin: 14px 0 18px; font-size: clamp(3.7rem,6.6vw,7.8rem); font-weight: 570; line-height: .84; letter-spacing: -.07em; }
.dsv3-activityhero__inner > div > p { max-width: 60ch; margin: 0; color: rgb(255 255 255 / .72); font-size: .92rem; line-height: 1.65; }
.dsv3-activityfacts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 26px; }
.dsv3-activityfacts > span { display: grid; min-height: 58px; grid-template-columns: auto auto; grid-template-rows: auto auto; align-items: center; column-gap: 8px; padding: 9px 13px; border-radius: 14px; background: rgb(255 255 255 / .1); backdrop-filter: blur(12px); }
.dsv3-activityfacts svg { grid-row: 1 / 3; color: rgb(var(--dsv3-primary-200)); }.dsv3-activityfacts small { color: rgb(255 255 255 / .56); font-size: .58rem; text-transform: uppercase; letter-spacing: .09em; }.dsv3-activityfacts strong { max-width: 220px; font-size: .7rem; line-height: 1.3; }
.dsv3-activitybooking { align-self: end; padding: 25px; border-radius: 22px; color: var(--dsv3-ink); background: rgb(255 255 255 / .95); box-shadow: var(--dsv3-shadow-lg); backdrop-filter: blur(16px); }
.dsv3-activitybooking h2 { margin: 16px 0 20px; font-size: 1.7rem; line-height: .98; letter-spacing: -.04em; }.dsv3-activitybooking .dsv3-kicker { color: var(--dsv3-accent); }
.dsv3-activitybooking__price { margin-bottom: 17px; }.dsv3-activitybooking__price small, .dsv3-activitybooking__price strong { display: block; }.dsv3-activitybooking__price small { color: var(--dsv3-muted); font-size: .63rem; }.dsv3-activitybooking__price strong { margin-top: 4px; font-size: 1.75rem; }
.dsv3-activitybooking .dsv3-btn { width: 100%; }.dsv3-activitybooking__support { display: inline-flex; width: 100%; min-height: 42px; align-items: center; justify-content: center; gap: 7px; margin-top: 7px; color: var(--dsv3-accent-strong); font-size: .73rem; font-weight: 750; }
.dsv3-activitydetail__content { background: var(--dsv3-gray-50); }.dsv3-activitydetail__grid { display: grid; grid-template-columns: minmax(0,860px); justify-content: center; }
.dsv3-activityprose { margin-top: 23px; color: var(--dsv3-muted); font-size: .93rem; line-height: 1.85; }.dsv3-activityprose h3 { margin: 34px 0 10px; color: var(--dsv3-ink); font-size: 1.35rem; line-height: 1.1; }.dsv3-activityprose p, .dsv3-activityprose ul, .dsv3-activityprose ol { margin-block: 11px; }
.dsv3-activityphotos { display: grid; height: 540px; grid-template-columns: 1.2fr .8fr .8fr; grid-template-rows: 1fr 1fr; gap: 7px; margin-top: 24px; }
.dsv3-activityphotos figure { position: relative; min-width: 0; min-height: 0; overflow: hidden; margin: 0; border-radius: 15px; background: rgb(var(--dsv3-primary-900)); }.dsv3-activityphotos figure:first-child { grid-row: 1 / 3; }.dsv3-activityphotos .dsv3-destinationmedia, .dsv3-activityphotos img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-activitysessions { display: grid; gap: 7px; margin-top: 23px; }.dsv3-activitysessions > div { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 15px; border-radius: 15px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }.dsv3-activitysessions span { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; align-items: center; gap: 2px 9px; }.dsv3-activitysessions svg { grid-row: 1 / 3; color: var(--dsv3-accent); }.dsv3-activitysessions strong { font-size: .78rem; }.dsv3-activitysessions small { color: var(--dsv3-muted); font-size: .65rem; }.dsv3-activitysessions b { font-size: .78rem; white-space: nowrap; }
.dsv3-activitysessions__more { margin: 12px 3px 0; color: var(--dsv3-muted); font-size: .69rem; }
.dsv3-activitydate, .dsv3-activityorder { display: grid; align-items: end; gap: 10px; margin-top: 23px; padding: 18px; border-radius: 20px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }.dsv3-activitydate { grid-template-columns: minmax(0,1fr) auto; }.dsv3-activityorder { grid-template-columns: repeat(3,minmax(0,1fr)) auto; }
.dsv3-activitydate label, .dsv3-activityorder label { display: grid; gap: 7px; }.dsv3-activitydate label span, .dsv3-activityorder label span { color: var(--dsv3-muted); font-size: .64rem; font-weight: 700; }.dsv3-activitydate input, .dsv3-activityorder input, .dsv3-activityorder select { width: 100%; min-height: 52px; padding: 0 14px; border: 0; border-radius: 14px; outline: 0; background: rgb(var(--dsv3-gray-50)); }
.dsv3-activityquote { width: 100%; min-height: 155px; margin-top: 10px; border: 0; border-radius: 18px; background: #fff; }.dsv3-inlineaction { display: inline-flex; align-items: center; gap: 7px; margin-top: 13px; color: var(--dsv3-accent-strong); font-size: .74rem; font-weight: 750; }
.dsv3-activitypurchase { --activity-surface: #fff; }.dsv3-activitypurchase > h2 { max-width: 15ch; }.dsv3-activitypurchase[aria-busy="true"] { cursor: progress; }
.dsv3-activitysteps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin: 24px 0 0; padding: 0; list-style: none; }.dsv3-activitysteps li { position: relative; display: grid; min-width: 0; grid-template-columns: 31px minmax(0,1fr); align-items: center; gap: 9px; color: var(--dsv3-muted); font-size: .68rem; }.dsv3-activitysteps li:not(:last-child)::after { position: absolute; z-index: 0; top: 15px; right: -4px; width: calc(100% - 38px); height: 2px; background: rgb(var(--dsv3-primary-200)); content: ''; transform: translateX(100%); }.dsv3-activitysteps li > span { position: relative; z-index: 1; display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: rgb(var(--dsv3-gray-50)); font-size: .65rem; font-weight: 800; }.dsv3-activitysteps li strong { min-width: 0; font-weight: 700; line-height: 1.2; }.dsv3-activitysteps li[data-state="current"], .dsv3-activitysteps li[data-state="complete"] { color: var(--dsv3-accent-strong); }.dsv3-activitysteps li[data-state="current"] > span { color: #fff; background: var(--dsv3-button); box-shadow: 0 7px 20px rgb(var(--dsv3-primary-700) / .2); }.dsv3-activitysteps li[data-state="complete"] > span { background: var(--dsv3-soft); }
.dsv3-activitypurchase__status { min-height: 0; margin-top: 12px; color: var(--dsv3-muted); font-size: .72rem; }.dsv3-activitypurchase__status:empty { display: none; }.dsv3-activitypurchase__status[data-state="loading"]::before { display: inline-block; width: 12px; height: 12px; margin-right: 7px; border-radius: 50%; background: var(--dsv3-accent); content: ''; vertical-align: -2px; animation: dsv3-activity-pulse .9s ease-in-out infinite alternate; }.dsv3-activitypurchase__status[data-state="error"] { color: #9d332d; }
.dsv3-activitypurchase__panel { margin-top: 13px; }.dsv3-activitypurchase__panel[data-state="leaving"] { opacity: 0; transform: translateY(-8px); transition: opacity .14s ease,transform .14s ease; }.dsv3-activitypurchase__panel[data-state="entering"] { animation: dsv3-activity-enter .34s cubic-bezier(.2,.8,.2,1) both; }
.dsv3-activitypurchase__step { padding: 22px; border-radius: 24px; background: var(--activity-surface); box-shadow: var(--dsv3-shadow-md); }.dsv3-activitypurchase__step > header { margin-top: 24px; }.dsv3-activitypurchase__step > header h3 { max-width: 18ch; margin: 7px 0 0; outline: 0; font-size: clamp(1.65rem,3vw,2.35rem); font-weight: 550; line-height: 1; letter-spacing: -.04em; }
.dsv3-activityslots { margin-top: 20px; }.dsv3-activityslots fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }.dsv3-activityslots legend { margin-bottom: 12px; color: var(--dsv3-muted); font-size: .68rem; font-weight: 700; }.dsv3-activityslots__group + .dsv3-activityslots__group { margin-top: 16px; }.dsv3-activityslots__group h4 { margin: 0 0 8px; font-size: .85rem; }.dsv3-activityslots__group > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.dsv3-activitytimes { display: flex; gap: 7px; overflow-x: auto; margin: 0 -4px 18px; padding: 4px 4px 8px; scrollbar-width: thin; scroll-snap-type: x proximity; }.dsv3-activitytimes button { flex: 0 0 auto; min-width: 72px; min-height: 43px; padding: 0 14px; border: 0; border-radius: var(--dsv3-pill); color: var(--dsv3-ink); background: rgb(var(--dsv3-gray-50)); font-size: .7rem; font-weight: 750; cursor: pointer; scroll-snap-align: start; }.dsv3-activitytimes button[aria-selected="true"] { color: #fff; background: var(--dsv3-button); box-shadow: 0 8px 22px -12px rgb(var(--dsv3-primary-950)); }.dsv3-activitytimes button:focus-visible { outline: 3px solid rgb(var(--dsv3-primary-300)); outline-offset: 2px; }
.dsv3-activityslot { position: relative; display: grid; min-height: 76px; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; background: rgb(var(--dsv3-gray-50)); cursor: pointer; transition: color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease; }.dsv3-activityslot:hover { transform: translateY(-2px); box-shadow: var(--dsv3-shadow-xs); }.dsv3-activityslot:has(input:checked) { color: var(--dsv3-accent-strong); background: var(--dsv3-soft); box-shadow: inset 0 0 0 2px rgb(var(--dsv3-primary-500)); }.dsv3-activityslot input { width: 18px; height: 18px; margin: 0; accent-color: rgb(var(--dsv3-primary-700)); }.dsv3-activityslot span, .dsv3-activityslot strong, .dsv3-activityslot small { display: block; min-width: 0; }.dsv3-activityslot strong { font-size: .75rem; line-height: 1.25; }.dsv3-activityslot small { margin-top: 4px; color: var(--dsv3-muted); font-size: .62rem; }.dsv3-activityslot b { font-size: .73rem; white-space: nowrap; }
.dsv3-activityslots__footer { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: 18px; padding-top: 18px; box-shadow: 0 -1px 0 var(--dsv3-line); }.dsv3-activityslots__footer label { display: grid; gap: 6px; }.dsv3-activityslots__footer label span { color: var(--dsv3-muted); font-size: .64rem; font-weight: 700; }.dsv3-activityslots__footer input { width: 112px; min-height: 50px; padding: 0 14px; border: 0; border-radius: 14px; outline: 0; background: rgb(var(--dsv3-gray-50)); }
.dsv3-activitypurchase__back { display: inline-flex; min-height: 42px; align-items: center; gap: 6px; margin-top: 12px; padding: 0 4px; border: 0; color: var(--dsv3-accent-strong); background: transparent; font-size: .7rem; font-weight: 750; cursor: pointer; }.dsv3-activitypurchase__back svg { transform: rotate(90deg); }.dsv3-activitypurchase__empty { margin-top: 18px; padding: 20px; border-radius: 18px; background: var(--dsv3-soft); }.dsv3-activitypurchase__empty strong { font-size: 1rem; }.dsv3-activitypurchase__empty p { color: var(--dsv3-muted); font-size: .75rem; line-height: 1.5; }
.dsv3-activitycheckout { margin-top: 20px; }.dsv3-activitycheckout__grid { display: grid; grid-template-columns: minmax(250px,.75fr) minmax(0,1.25fr); gap: 12px; }.dsv3-activitycheckout__summary, .dsv3-activitycheckout__contact { padding: 20px; border-radius: 18px; }.dsv3-activitycheckout__summary { align-self: start; background: rgb(var(--dsv3-primary-950)); color: #fff; }.dsv3-activitycheckout__summary .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }.dsv3-activitycheckout__summary h4 { margin: 9px 0 7px; font-size: 1.25rem; line-height: 1.1; }.dsv3-activitycheckout__summary > p { margin: 0; color: rgb(255 255 255 / .7); font-size: .7rem; }.dsv3-activitycheckout__summary > label { display: grid; gap: 6px; margin-top: 18px; }.dsv3-activitycheckout__summary > label span { color: rgb(255 255 255 / .7); font-size: .63rem; }.dsv3-activitycheckout__summary input { width: 100%; min-height: 48px; padding: 0 13px; border: 0; border-radius: 13px; outline: 0; background: rgb(255 255 255 / .12); color: #fff; }.dsv3-activitycheckout__summary dl { margin: 18px 0 0; }.dsv3-activitycheckout__summary dl > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; box-shadow: 0 1px 0 rgb(255 255 255 / .14); }.dsv3-activitycheckout__summary dt { color: rgb(255 255 255 / .67); font-size: .65rem; }.dsv3-activitycheckout__summary dd { margin: 0; font-size: .76rem; font-weight: 750; }.dsv3-activitycheckout__summary .dsv3-activitycheckout__total dd { color: rgb(var(--dsv3-primary-200)); font-size: 1.08rem; }.dsv3-activitycheckout__summary > small { display: block; margin-top: 14px; color: rgb(255 255 255 / .6); font-size: .6rem; line-height: 1.45; }
.dsv3-activitycheckout__contact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 12px; background: rgb(var(--dsv3-gray-50)); }.dsv3-activitycheckout__contact .dsv3-field { display: grid; gap: 6px; }.dsv3-activitycheckout__contact .dsv3-field--wide, .dsv3-activitycheckout__error, .dsv3-activitycheckout__privacy, .dsv3-activitycheckout__contact > .dsv3-btn { grid-column: 1 / -1; }.dsv3-activitycheckout__contact .dsv3-field > span { color: var(--dsv3-muted); font-size: .63rem; font-weight: 700; }.dsv3-activitycheckout__contact input, .dsv3-activitycheckout__contact textarea { width: 100%; min-height: 50px; padding: 11px 13px; border: 0; border-radius: 13px; outline: 0; background: #fff; box-shadow: var(--dsv3-shadow-xs); resize: vertical; }.dsv3-activitycheckout__contact input:focus, .dsv3-activitycheckout__contact textarea:focus { box-shadow: 0 0 0 3px rgb(var(--dsv3-primary-300)); }.dsv3-activitycheckout__phone { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(90px,.35fr) minmax(0,1fr); gap: 8px; }.dsv3-activitycheckout__error { padding: 12px 14px; border-radius: 12px; color: #8e2c27; background: #fff0ef; font-size: .7rem; line-height: 1.45; }.dsv3-activitycheckout__privacy { margin: -2px 0 0; color: var(--dsv3-muted); font-size: .62rem; }.dsv3-activitycheckout__contact > .dsv3-btn { width: 100%; }
@keyframes dsv3-activity-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes dsv3-activity-pulse { from { opacity: .35; transform: scale(.7); } to { opacity: 1; transform: scale(1); } }
.dsv3-activityrequest { padding: 28px; border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-sm); }.dsv3-activityempty { color: var(--dsv3-muted); }
.dsv3-activitybar { display: none; }

.dsv3-iconicindex__intro { padding: clamp(82px,10vw,145px) 0 clamp(72px,9vw,125px); color: #fff; background: radial-gradient(circle at 78% 18%,rgb(var(--dsv3-primary-300) / .35),transparent 23%),radial-gradient(circle at 18% 88%,rgb(255 255 255 / .08),transparent 30%),linear-gradient(138deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-700))); }
.dsv3-iconicindex__intro h1 { max-width: 11ch; margin: 18px 0 20px; font-size: clamp(4.4rem,8vw,8.3rem); font-weight: 520; line-height: .84; letter-spacing: -.07em; }
.dsv3-iconicindex__intro p { max-width: 58ch; margin: 0 0 27px; color: rgb(255 255 255 / .72); line-height: 1.7; }
.dsv3-iconicindex__anchors { background: var(--dsv3-canvas); }
.dsv3-iconicgrid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.dsv3-iconicgrid .dsv3-destinationcard { min-height: 340px; }
.dsv3-iconicatlas { background: #fff; }
.dsv3-iconicatlas__rails { display: grid; gap: 46px; }
.dsv3-iconicrail > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.dsv3-iconicrail > header h3 { margin: 0; font-size: 1.45rem; font-weight: 620; letter-spacing: -.03em; }.dsv3-iconicrail > header span { color: var(--dsv3-muted); font-size: .7rem; }
.dsv3-iconicrail__track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.dsv3-iconicdetail__hero { padding: 24px 0 54px; background: #fff; }
.dsv3-iconicdetail__back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 21px; color: var(--dsv3-muted); font-size: .72rem; font-weight: 650; }.dsv3-iconicdetail__backicon { transform: rotate(180deg); }
.dsv3-iconicdetail__hero-grid { display: grid; min-height: 580px; grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr); overflow: hidden; border-radius: 30px; background: rgb(var(--dsv3-primary-950)); box-shadow: var(--dsv3-shadow-lg); }
.dsv3-iconicdetail__media { position: relative; min-height: 580px; }.dsv3-iconicdetail__media .dsv3-destinationmedia, .dsv3-iconicdetail__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dsv3-iconicdetail__heading { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: clamp(38px,5vw,76px); color: #fff; }
.dsv3-iconicdetail__heading .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }.dsv3-iconicdetail__heading h1 { max-width: 12ch; margin: 18px 0 20px; font-size: clamp(3.2rem,5.7vw,6rem); font-weight: 520; line-height: .88; letter-spacing: -.06em; }
.dsv3-iconicdetail__heading > p { max-width: 40ch; margin: 0; color: rgb(255 255 255 / .7); line-height: 1.65; }.dsv3-iconicdetail__heading > .dsv3-btn { margin-top: 27px; }
.dsv3-iconicdetail__place { display: inline-flex; align-items: center; gap: 7px; margin-top: 19px; color: rgb(255 255 255 / .78); font-size: .76rem; }
.dsv3-iconicdetail__story { background: var(--dsv3-canvas); }.dsv3-iconicdetail__story-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); align-items: start; gap: clamp(32px,6vw,85px); }
.dsv3-iconicdetail__story article > h2 { max-width: 13ch; margin: 15px 0 27px; font-size: clamp(2.6rem,4.8vw,5rem); font-weight: 520; line-height: .94; letter-spacing: -.055em; }
.dsv3-iconicrequest { position: sticky; top: 138px; padding: 28px; border-radius: 25px; background: #fff; box-shadow: var(--dsv3-shadow-lg); }.dsv3-iconicrequest > h2 { margin: 10px 0 8px; font-size: 1.75rem; letter-spacing: -.04em; }.dsv3-iconicrequest > p { margin: 0 0 20px; color: var(--dsv3-muted); font-size: .78rem; line-height: 1.55; }
.dsv3-iconicrequest .prerequest { display: grid; gap: 12px; }.dsv3-iconicrequest .bookingcard__note { margin: 0; color: var(--dsv3-muted); font-size: .68rem; line-height: 1.5; }.dsv3-iconicrequest .prerequest__fields { display: grid; gap: 11px; }.dsv3-iconicrequest .field { display: grid; gap: 7px; }.dsv3-iconicrequest .field__label { margin: 0; padding: 0 2px; color: var(--dsv3-muted); font-size: .67rem; font-weight: 700; letter-spacing: .02em; text-transform: none; }.dsv3-iconicrequest .field--icon { position: relative; }.dsv3-iconicrequest .field__icon { position: absolute; z-index: 1; top: 50%; left: 14px; display: flex; align-items: center; color: var(--dsv3-accent); pointer-events: none; transform: translateY(-50%); }.dsv3-iconicrequest .input { width: 100%; height: 52px; min-height: 52px; padding: 0 14px 0 44px; border: 1px solid rgb(var(--dsv3-gray-200)); border-radius: 13px; outline: 0; background: rgb(var(--dsv3-gray-50)); }.dsv3-iconicrequest .input:focus-visible { border-color: rgb(var(--dsv3-primary-500)); background: #fff; box-shadow: 0 0 0 3px rgb(var(--dsv3-primary-500) / .16); }.dsv3-iconicrequest .field__error, .dsv3-iconicrequest .notice { margin: 0; color: rgb(155 48 42); font-size: .68rem; }.dsv3-iconicrequest .notice--success { color: rgb(var(--dsv3-primary-800)); }.dsv3-iconicrequest .prerequest__actions { display: grid; gap: 9px; }.dsv3-iconicrequest .prerequest__fineprint { display: grid; gap: 3px; }.dsv3-iconicrequest .btn { display: inline-flex; width: 100%; min-height: 52px; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 0 20px; border: 0; border-radius: var(--dsv3-pill); color: #fff; background: var(--dsv3-button); box-shadow: var(--dsv3-shadow-sm); font-weight: 720; }.dsv3-iconicrequest .hp { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.dsv3-iconicrelated { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.dsv3-iconicmore { margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--dsv3-line); }
.dsv3-iconicmore > strong { display: block; margin-bottom: 9px; color: var(--dsv3-muted); font-size: .68rem; font-weight: 620; letter-spacing: .06em; text-transform: uppercase; }
.dsv3-iconicmore > div { display: flex; flex-wrap: wrap; gap: 6px 9px; }
.dsv3-iconicmore a { padding: 6px 11px; border: 1px solid var(--dsv3-line); border-radius: 999px; background: #fff; font-size: .72rem; }.dsv3-iconicgateway { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }.dsv3-iconicgateway__card { display: grid; min-height: 160px; grid-template-columns: 42px minmax(0,1fr); align-items: start; gap: 12px; padding: 22px; border-radius: 20px; background: #fff; box-shadow: var(--dsv3-shadow-sm); }.dsv3-iconicgateway__card > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }.dsv3-iconicgateway__card h3 { margin: 2px 0 8px; font-size: .94rem; }.dsv3-iconicgateway__card p { margin: 0; color: var(--dsv3-muted); font-size: .71rem; line-height: 1.5; }.dsv3-iconicgateway__card strong { display: inline-flex; align-items: center; gap: 6px; margin-top: 17px; color: var(--dsv3-accent-strong); font-size: .7rem; }

.dsv3-auth { position: relative; display: grid; min-height: 100svh; grid-template-columns: minmax(360px,.86fr) minmax(520px,1.14fr); background: #fff; }
.dsv3-auth__story { position: relative; display: grid; min-height: 100svh; align-content: space-between; overflow: hidden; padding: clamp(34px,5vw,72px); color: #fff; background: radial-gradient(circle at 88% 10%,rgb(116 224 200 / .28),transparent 25%),radial-gradient(circle at 12% 92%,rgb(189 231 218 / .14),transparent 28%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-auth__story::after { position: absolute; right: -14%; bottom: -19%; width: min(52vw,680px); aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle,rgb(255 255 255 / .055) 0 2px,transparent 2px 25px); content: ""; }
.dsv3-auth__story > * { position: relative; z-index: 1; }
.dsv3-auth__brand { position: absolute; z-index: 3; top: clamp(28px,4vw,58px); left: clamp(28px,4vw,58px); display: block; width: min(260px,20vw); }
.dsv3-auth__brand img { display: block; width: 100%; height: auto; }
.dsv3-auth__story > div { max-width: 570px; align-self: end; }
.dsv3-auth__story .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-auth__story h2 { max-width: 9ch; margin: 18px 0 23px; font-size: clamp(3rem,5.7vw,6.8rem); font-weight: 560; line-height: .87; letter-spacing: -.065em; }
.dsv3-auth__story h2 em { color: rgb(var(--dsv3-primary-200)); font-style: normal; }
.dsv3-auth__story > div > p { max-width: 45ch; margin: 0; color: rgb(255 255 255 / .7); font-size: .94rem; line-height: 1.7; }
.dsv3-auth__story ul { display: grid; gap: 7px; max-width: 520px; margin: 31px 0 0; padding: 0; list-style: none; }
.dsv3-auth__story li { display: grid; min-height: 66px; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 10px; padding: 10px 13px; border-radius: 17px; background: rgb(255 255 255 / .08); backdrop-filter: blur(12px); }
.dsv3-auth__story li > svg { margin-inline: auto; color: rgb(var(--dsv3-primary-200)); }
.dsv3-auth__story li strong, .dsv3-auth__story li small { display: block; }
.dsv3-auth__story li strong { font-size: .8rem; }.dsv3-auth__story li small { margin-top: 3px; color: rgb(255 255 255 / .58); font-size: .66rem; line-height: 1.45; }
.dsv3-auth__panel { display: grid; min-height: 100svh; place-items: center; padding: clamp(28px,5vw,72px); background: radial-gradient(circle at 82% 20%,rgb(var(--dsv3-primary-50)),transparent 32%),#fff; }
.dsv3-auth__card { width: min(100%,470px); }
.dsv3-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-bottom: 38px; padding: 5px; border-radius: var(--dsv3-pill); background: rgb(var(--dsv3-gray-100)); }
.dsv3-auth__tabs a { display: grid; min-height: 42px; place-items: center; border-radius: var(--dsv3-pill); color: var(--dsv3-muted); font-size: .75rem; font-weight: 700; }
.dsv3-auth__tabs a[aria-current="page"] { color: var(--dsv3-accent-strong); background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-auth__card header h1 { margin: 0; font-size: clamp(2.6rem,4vw,4.35rem); font-weight: 570; line-height: .91; letter-spacing: -.06em; }
.dsv3-auth__card header p { max-width: 42ch; margin: 14px 0 31px; color: var(--dsv3-muted); font-size: .86rem; line-height: 1.65; }
.dsv3-auth__form { display: grid; gap: 12px; }
.dsv3-auth__field { display: grid; gap: 7px; }
.dsv3-auth__field span { padding-left: 4px; color: var(--dsv3-muted); font-size: .67rem; font-weight: 680; letter-spacing: .03em; }
.dsv3-auth__field input { width: 100%; min-height: 54px; padding: 0 17px; border: 0; border-radius: 15px; outline: 0; color: var(--dsv3-ink); background: rgb(var(--dsv3-gray-50)); box-shadow: inset 0 0 0 1px transparent; }
.dsv3-auth__field input:focus { background: var(--dsv3-soft); box-shadow: inset 0 0 0 2px rgb(var(--dsv3-primary-300)); }
.dsv3-auth__options { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 2px 1px 8px; font-size: .7rem; }
.dsv3-auth__options > a { color: var(--dsv3-accent-strong); font-weight: 700; }
.dsv3-auth__check { display: inline-flex; align-items: flex-start; gap: 8px; color: var(--dsv3-muted); font-size: .7rem; line-height: 1.45; }
.dsv3-auth__check input { width: 17px; height: 17px; flex: none; margin: 1px 0 0; accent-color: rgb(var(--dsv3-primary-700)); }
.dsv3-auth__form > .dsv3-btn { width: 100%; min-height: 54px; margin-top: 3px; }
.dsv3-auth__passwordnote { margin: -3px 3px 0; color: var(--dsv3-muted); font-size: .65rem; line-height: 1.45; }
.dsv3-auth__error { margin: 0 0 16px; padding: 12px 14px; border-radius: 13px; color: rgb(139 43 37); background: rgb(255 237 235); font-size: .74rem; }
.dsv3-auth__social { margin-top: 25px; }
.dsv3-auth__social > p { display: flex; align-items: center; gap: 12px; margin: 0 0 13px; color: var(--dsv3-muted); font-size: .65rem; }
.dsv3-auth__social > p::before, .dsv3-auth__social > p::after { height: 1px; flex: 1; background: rgb(var(--dsv3-gray-200)); content: ""; }
.dsv3-auth__social > div { display: grid; gap: 7px; }
.dsv3-auth__sociallink { display: grid; min-height: 50px; grid-template-columns: 23px minmax(0,1fr) 23px; align-items: center; gap: 8px; padding: 0 15px; border-radius: 14px; background: rgb(var(--dsv3-gray-50)); font-size: .75rem; font-weight: 700; text-align: center; }
.dsv3-auth__sociallink > span { grid-column: 2; }.dsv3-auth__sociallink > svg { grid-column: 1; grid-row: 1; }
.dsv3-auth__guest, .dsv3-auth__switch { color: var(--dsv3-muted); font-size: .67rem; line-height: 1.5; text-align: center; }
.dsv3-auth__guest { margin: 19px 0 0; }.dsv3-auth__switch { margin: 9px 0 0; }.dsv3-auth__switch a { color: var(--dsv3-accent-strong); font-weight: 750; }

.dsv3-checkout { min-height: 72vh; padding-block: 42px 90px; background: var(--dsv3-gray-50); }
.dsv3-journey { position: relative; margin-bottom: 46px; padding: 18px 22px; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-journey ol { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.dsv3-journey ol::before { position: absolute; top: 17px; right: 9%; left: 9%; height: 2px; background: rgb(var(--dsv3-gray-200)); content: ""; }
.dsv3-journey li { position: relative; z-index: 1; display: grid; justify-items: center; gap: 8px; color: var(--dsv3-muted); text-align: center; }
.dsv3-journey li > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: rgb(var(--dsv3-gray-100)); box-shadow: 0 0 0 7px #fff; font-size: .69rem; font-weight: 800; }
.dsv3-journey li > strong { font-size: .66rem; font-weight: 720; }
.dsv3-journey li[data-state="complete"] > span, .dsv3-journey li[data-state="current"] > span { color: #fff; background: rgb(var(--dsv3-primary-700)); }
.dsv3-journey li[data-state="current"] > strong, .dsv3-journey li[data-state="complete"] > strong { color: var(--dsv3-ink); }
.dsv3-journey li[data-state="error"] > span { color: #fff; background: rgb(174 57 49); }
.dsv3-journey li[data-state="error"] > strong { color: rgb(139 43 37); }
.dsv3-checkout__head { max-width: 860px; margin-bottom: 31px; }
.dsv3-checkout__head h1 { margin: 10px 0 15px; font-size: clamp(3.4rem,6vw,6.4rem); font-weight: 560; line-height: .87; letter-spacing: -.065em; }
.dsv3-checkout__head > p { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 24px; margin: 0; color: var(--dsv3-muted); font-size: .77rem; }
.dsv3-checkout__head > p a { display: inline-flex; align-items: center; gap: 7px; color: var(--dsv3-accent-strong); font-weight: 750; }
.dsv3-checkout__layout, .dsv3-cart__layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,360px); align-items: start; gap: 22px; }
.dsv3-checkoutform { display: grid; gap: 13px; }
.dsv3-checkoutcard, .dsv3-checkoutaside, .dsv3-checkoutextra, .dsv3-cartitem, .dsv3-paymentresult__card { border-radius: 24px; background: #fff; box-shadow: var(--dsv3-shadow-sm); }
.dsv3-checkoutcard { padding: 28px; }
.dsv3-checkoutcard h2, .dsv3-checkoutaside h2 { margin: 8px 0 10px; font-size: 1.65rem; line-height: 1; letter-spacing: -.04em; }
.dsv3-checkoutcard > p, .dsv3-checkoutaside p, .dsv3-checkoutcard > small { color: var(--dsv3-muted); font-size: .72rem; line-height: 1.6; }
.dsv3-checkoutfields { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin: 22px 0 13px; }
.dsv3-checkoutfield { display: grid; gap: 7px; }.dsv3-checkoutfield > span { padding-left: 3px; color: var(--dsv3-muted); font-size: .64rem; font-weight: 700; }
.dsv3-checkoutfield input { width: 100%; min-height: 54px; padding: 0 15px; border: 0; border-radius: 14px; outline: 0; color: var(--dsv3-ink); background: rgb(var(--dsv3-gray-100)); box-shadow: inset 0 0 0 1px transparent; }
.dsv3-checkoutfield input:focus { background: var(--dsv3-soft); box-shadow: inset 0 0 0 2px rgb(var(--dsv3-primary-300)); }
.dsv3-checkoutfield small { color: rgb(139 43 37); font-size: .62rem; }
.dsv3-checkoutphone { display: grid; grid-template-columns: minmax(105px,.34fr) minmax(0,1fr); gap: 9px; }
.dsv3-checkoutdiscount { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.dsv3-checkoutbalance { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px; }
.dsv3-checkoutbalance > span { padding: 14px; border-radius: 15px; background: var(--dsv3-soft); }.dsv3-checkoutbalance small, .dsv3-checkoutbalance strong { display: block; }.dsv3-checkoutbalance small { color: var(--dsv3-muted); font-size: .61rem; }.dsv3-checkoutbalance strong { margin-top: 4px; font-size: 1.1rem; }
.dsv3-checkouterror { margin-bottom: 2px; padding: 17px 19px; border-radius: 17px; color: rgb(112 32 26); background: rgb(255 237 235); font-size: .72rem; }.dsv3-checkouterror ul { margin: 9px 0 0; padding-left: 18px; }
.dsv3-checkoutpolicy { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: start; gap: 10px; margin: 18px 0; padding: 14px; border-radius: 15px; color: var(--dsv3-muted); background: var(--dsv3-soft); }.dsv3-checkoutpolicy svg { color: var(--dsv3-accent); }.dsv3-checkoutpolicy p { margin: 0; font-size: .7rem; line-height: 1.55; }
.dsv3-checkoutcard--pay .dsv3-btn { width: 100%; }
.dsv3-checkoutaside { position: sticky; top: 156px; display: grid; gap: 19px; padding: 23px; }
.dsv3-checkoutaside > .dsv3-btn { width: 100%; }
.dsv3-checkouttotal { display: grid; gap: 5px; padding: 19px; border-radius: 18px; color: #fff; background: linear-gradient(135deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-700))); }
.dsv3-checkouttotal span, .dsv3-checkouttotal small { color: rgb(255 255 255 / .63); font-size: .62rem; }.dsv3-checkouttotal strong { font-size: 2rem; line-height: 1; letter-spacing: -.04em; }
.dsv3-checkoutaside > div:last-child > .dsv3-btn { width: 100%; margin-top: 12px; }
.dsv3-checkoutextra { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 13px; padding: 17px 20px; }.dsv3-checkoutextra p { flex: 1; margin: 0; color: var(--dsv3-muted); font-size: .7rem; }.dsv3-checkoutextra a { display: inline-flex; flex: none; align-items: center; gap: 7px; color: var(--dsv3-accent-strong); font-size: .69rem; font-weight: 750; }
.dsv3-cart__layout > div:first-child { display: grid; gap: 9px; }
.dsv3-cartitem { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 20px 22px; }.dsv3-cartitem > div { min-width: 0; }.dsv3-cartitem a { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; font-size: 1rem; font-weight: 750; }.dsv3-cartitem span { display: block; margin-top: 7px; color: var(--dsv3-muted); font-size: .68rem; }.dsv3-cartitem > strong { white-space: nowrap; }
.dsv3-empty { max-width: 720px; padding: 44px; border-radius: 25px; background: #fff; box-shadow: var(--dsv3-shadow-sm); }.dsv3-empty h2 { margin: 0 0 12px; font-size: 2.5rem; line-height: .95; }.dsv3-empty p { margin: 0 0 23px; color: var(--dsv3-muted); }
.dsv3-paymentresult { min-height: 72vh; padding-block: 42px 90px; background: var(--dsv3-gray-50); }
.dsv3-paymentresult__card { max-width: 760px; margin-inline: auto; padding: clamp(32px,6vw,72px); text-align: center; }
.dsv3-paymentresult__icon { display: grid; width: 70px; height: 70px; place-items: center; margin: 0 auto 22px; border-radius: 50%; color: #fff; background: rgb(var(--dsv3-primary-700)); }.dsv3-paymentresult__card[data-outcome="failure"] .dsv3-paymentresult__icon { background: rgb(174 57 49); }
.dsv3-paymentresult__card h1 { margin: 12px 0 16px; font-size: clamp(3rem,6vw,5.8rem); font-weight: 560; line-height: .88; letter-spacing: -.06em; }.dsv3-paymentresult__card > p { max-width: 52ch; margin: 0 auto; color: var(--dsv3-muted); line-height: 1.65; }
.dsv3-paymentresult__reference { display: inline-grid; gap: 3px; margin-top: 24px; padding: 12px 18px; border-radius: 14px; background: var(--dsv3-soft); }.dsv3-paymentresult__reference small { color: var(--dsv3-muted); font-size: .62rem; }.dsv3-paymentresult__reference strong { letter-spacing: .06em; }
.dsv3-paymentresult__gone { max-width: 52ch; margin: 18px auto 0; color: var(--dsv3-muted); font-size: .82rem; line-height: 1.6; }
.dsv3-paymentresult__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 28px; }

.dsv3-journey--hotel ol { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dsv3-journey--hotel ol::before { right: 16%; left: 16%; }
.dsv3-hotelcheckout .dsv3-checkoutcard > .dsv3-btn { width: 100%; min-height: 56px; }
.dsv3-hotelcheckout__repriced { margin-bottom: 14px; padding: 17px 20px; border-radius: 18px; color: rgb(112 73 17); background: rgb(255 246 219); }
.dsv3-hotelcheckout__repriced strong { font-size: .78rem; }.dsv3-hotelcheckout__repriced p { margin: 5px 0 0; font-size: .7rem; line-height: 1.5; }
.dsv3-hotelcheckout__summary > div:first-child p { margin: 6px 0 0; }
.dsv3-hotelcheckout__summary dl { display: grid; gap: 0; margin: 0; }
.dsv3-hotelcheckout__summary dl > div { padding: 12px 0; box-shadow: 0 1px 0 rgb(var(--dsv3-gray-200)); }
.dsv3-hotelcheckout__summary dt { color: var(--dsv3-muted); font-size: .61rem; }
.dsv3-hotelcheckout__summary dd { display: flex; align-items: flex-start; gap: 8px; margin: 5px 0 0; font-size: .7rem; font-weight: 700; line-height: 1.45; }
.dsv3-hotelcheckout__summary dd svg { flex: none; color: var(--dsv3-accent); }
.dsv3-hotelcheckout__summary > a { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--dsv3-accent-strong); font-size: .7rem; font-weight: 750; }
.dsv3-hotelcheckout__validity { display: flex; align-items: flex-start; gap: 8px; padding: 12px 13px; border-radius: 14px; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .65rem; line-height: 1.45; }
.dsv3-hotelcheckout__validity svg { flex: none; }
.dsv3-hotelcheckout__help { grid-column: 1; padding: 21px 24px; border-radius: 21px; background: #fff; box-shadow: var(--dsv3-shadow-sm); }
.dsv3-hotelcheckout__help p { margin: 8px 0 15px; color: var(--dsv3-muted); font-size: .7rem; line-height: 1.55; }

.dsv3-portal { min-height: 78vh; background: var(--dsv3-gray-50); }
.dsv3-portalhero { color: #fff; background: radial-gradient(circle at 84% 10%,rgb(var(--dsv3-primary-300) / .22),transparent 24%),linear-gradient(140deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-portalhero > .dsv3-shell { min-height: 360px; padding-block: 78px 58px; }
.dsv3-portalhero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-portalhero h1 { max-width: 15ch; margin: 14px 0 18px; font-size: clamp(3.7rem,7vw,7rem); font-weight: 550; line-height: .87; letter-spacing: -.065em; }
.dsv3-portalhero p { max-width: 54ch; margin: 0; color: rgb(255 255 255 / .66); font-size: .82rem; line-height: 1.65; }
.dsv3-portalbar { position: sticky; z-index: 58; top: 123px; overflow-x: auto; background: rgb(255 255 255 / .95); box-shadow: 0 12px 28px -26px rgb(5 46 43 / .5); backdrop-filter: blur(15px); transition: top .26s ease; }
body:has(.dsv3-header[data-shrunk="true"]) .dsv3-portalbar { top: 82px; }
.dsv3-portalnav { display: grid; grid-template-columns: repeat(6,minmax(max-content,1fr)); gap: 3px; min-width: 700px; padding-block: 8px; }
.dsv3-portalnav a { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 7px; padding: 0 13px; border-radius: var(--dsv3-pill); color: var(--dsv3-muted); font-size: .68rem; font-weight: 700; }
.dsv3-portalnav a[aria-current="page"] { color: var(--dsv3-accent-strong); background: var(--dsv3-soft); }
.dsv3-portalbody { display: grid; gap: 16px; padding-block: 35px 90px; }
.dsv3-portaloverview, .dsv3-portalsupport { display: grid; gap: 16px; }
.dsv3-portaloverview__top { display: grid; grid-template-columns: 1.1fr .9fr; gap: 13px; }
.dsv3-portalpoint, .dsv3-portaltier { min-height: 265px; padding: 29px; border-radius: 25px; box-shadow: var(--dsv3-shadow-sm); }
.dsv3-portalpoint { color: #fff; background: radial-gradient(circle at 90% 8%,rgb(var(--dsv3-primary-300) / .25),transparent 29%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-700))); }
.dsv3-portalpoint .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }.dsv3-portalpoint h2, .dsv3-portaltier h2 { margin: 10px 0 25px; font-size: 1.55rem; line-height: .95; letter-spacing: -.04em; }
.dsv3-portalpoint > div { display: grid; gap: 5px; }.dsv3-portalpoint > div > strong { color: rgb(var(--dsv3-primary-200)); font-size: clamp(3.4rem,7vw,6rem); line-height: .8; letter-spacing: -.06em; }.dsv3-portalpoint > div > span, .dsv3-portalpoint > div > small { color: rgb(255 255 255 / .65); font-size: .68rem; }.dsv3-portalpoint > div > small { margin-top: 8px; }
.dsv3-portalpoint footer { display: flex; align-items: center; gap: 8px; margin-top: 28px; color: rgb(255 255 255 / .58); font-size: .63rem; }
/* Bir sonraki seviye blogu: baslik, cubuk, olcek ve cikis. Cubugun orani aria-valuenow ile
   de yazili, renk tek basina bilgi tasimasin. */
.dsv3-portalnext { display: grid; gap: 11px; padding: 19px; border: 1px solid var(--dsv3-line); border-radius: var(--dsv3-r-lg); background: var(--dsv3-soft); }
.dsv3-portalnext__headline { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 650; }
.dsv3-portalnext__bar { height: 8px; overflow: hidden; border-radius: var(--dsv3-pill); background: rgb(var(--dsv3-primary-100)); }
.dsv3-portalnext__bar > span { display: block; height: 100%; border-radius: var(--dsv3-pill); background: rgb(var(--dsv3-primary-700)); }
.dsv3-portalnext__scale { display: flex; justify-content: space-between; gap: 16px; margin: 0; color: var(--dsv3-muted); font-size: .72rem; }
.dsv3-portalnext__detail { margin: 0; color: var(--dsv3-muted); font-size: .78rem; line-height: 1.5; }
.dsv3-portalnext .dsv3-btn { justify-self: start; }
/* Vadesi yaklasan puan uyarisi ile onun iyi haber karsiligi. Uyari kendi rengiyle okunuyor:
   kaybedilmek uzere olan bir sey, kalan bakiyeyle ayni tonda yazilirsa uyari olmaz. */
.dsv3-portalpoint__expiring, .dsv3-portalpoint__calm, .dsv3-portalpoint__empty { display: flex; align-items: center; gap: 7px; margin: 14px 0 0; font-size: .7rem; line-height: 1.35; }
.dsv3-portalpoint__expiring { color: rgb(var(--dsv3-primary-100)); font-weight: 650; }
.dsv3-portalpoint__calm, .dsv3-portalpoint__empty { color: rgb(255 255 255 / .6); }
.dsv3-portaltier { background: #fff; }.dsv3-portaltier h2 { font-size: 3rem; }.dsv3-portaltier > strong { display: inline-block; padding: 8px 11px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .68rem; }.dsv3-portaltier p, .dsv3-portaltier small { color: var(--dsv3-muted); font-size: .68rem; line-height: 1.55; }.dsv3-portaltier small { display: block; margin-top: 18px; }
.dsv3-portalsection, .dsv3-portalsupport > .supportform { padding: 28px; border-radius: 25px; background: #fff; box-shadow: var(--dsv3-shadow-sm); }
.dsv3-portalsection > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }.dsv3-portalsection > header h2 { margin: 0; font-size: 2.25rem; line-height: .94; letter-spacing: -.045em; }.dsv3-portalsection > header p { max-width: 54ch; margin: 0; color: var(--dsv3-muted); font-size: .68rem; line-height: 1.55; }
.dsv3-portalorders { display: grid; gap: 7px; }.dsv3-portalorder { display: grid; min-height: 105px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 17px 19px; border-radius: 17px; background: rgb(var(--dsv3-gray-50)); }.dsv3-portalorder > div:first-child { min-width: 0; }.dsv3-portalorder small, .dsv3-portalorder span { color: var(--dsv3-muted); font-size: .63rem; }.dsv3-portalorder > div:first-child > strong, .dsv3-portalorder > div:first-child > span { display: block; }.dsv3-portalorder > div:first-child > strong { margin: 5px 0; font-size: .92rem; }.dsv3-portalorder p { margin: 7px 0 0; color: var(--dsv3-muted); font-size: .63rem; line-height: 1.45; }.dsv3-portalorder > div:last-child { display: grid; justify-items: end; gap: 7px; }.dsv3-portalorder > div:last-child > strong { font-size: .82rem; }
.dsv3-portalstatus { padding: 6px 9px; border-radius: var(--dsv3-pill); background: rgb(var(--dsv3-gray-100)); }.dsv3-portalstatus[data-state="paid"] { color: rgb(16 104 70); background: rgb(225 249 237); }.dsv3-portalstatus[data-state="closed"] { color: rgb(139 43 37); background: rgb(255 237 235); }
.dsv3-portalproducts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }.dsv3-portalproduct { display: grid; min-height: 170px; align-content: end; gap: 8px; padding: 20px; border-radius: 19px; color: #fff; background: linear-gradient(150deg,rgb(var(--dsv3-primary-900)),rgb(var(--dsv3-primary-600))); }.dsv3-portalproduct > span { color: rgb(255 255 255 / .58); font-size: .62rem; }.dsv3-portalproduct > strong { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 9px; font-size: 1.05rem; line-height: 1.1; }
.dsv3-portalempty { display: grid; justify-items: start; gap: 9px; padding: 26px; border-radius: 19px; background: rgb(var(--dsv3-gray-50)); }.dsv3-portalempty svg { color: var(--dsv3-accent); }.dsv3-portalempty h3, .dsv3-portalempty p { margin: 0; }.dsv3-portalempty h3 { font-size: 1.35rem; }.dsv3-portalempty p { max-width: 55ch; color: var(--dsv3-muted); font-size: .7rem; line-height: 1.55; }.dsv3-portalempty .dsv3-btn { margin-top: 5px; }
.dsv3-portalladder { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }.dsv3-portalladder li { display: grid; min-height: 78px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px 15px; border-radius: 16px; background: rgb(var(--dsv3-gray-50)); }.dsv3-portalladder li > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: rgb(var(--dsv3-gray-100)); font-size: .65rem; font-weight: 800; }.dsv3-portalladder li[data-state="complete"] > span, .dsv3-portalladder li[data-state="current"] > span { color: #fff; background: rgb(var(--dsv3-primary-700)); }.dsv3-portalladder strong, .dsv3-portalladder small { display: block; }.dsv3-portalladder small { margin-top: 4px; color: var(--dsv3-muted); font-size: .62rem; }.dsv3-portalladder em { color: var(--dsv3-accent-strong); font-size: .78rem; font-style: normal; font-weight: 800; }
.dsv3-portalrules { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.dsv3-portalrules li { padding: 13px 15px; border-radius: 15px; color: var(--dsv3-muted); background: rgb(var(--dsv3-gray-50)); font-size: .7rem; line-height: 1.55; }
.dsv3-portalclaim { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 9px; }.dsv3-portalclaim label, .dsv3-portalreview label { display: grid; gap: 7px; }.dsv3-portalclaim label span, .dsv3-portalreview label span { color: var(--dsv3-muted); font-size: .63rem; font-weight: 700; }.dsv3-portalclaim input, .dsv3-portalreview input, .dsv3-portalreview select, .dsv3-portalreview textarea, .dsv3-portalnotify input, .dsv3-portal .supportform .input { width: 100%; min-height: 52px; padding: 0 14px; border: 0; border-radius: 14px; outline: 0; background: rgb(var(--dsv3-gray-100)); }.dsv3-portalreview textarea, .dsv3-portal .supportform textarea.input { padding-block: 13px; resize: vertical; }
.dsv3-portalreviews { display: grid; gap: 9px; }.dsv3-portalreview { padding: 19px; border-radius: 17px; background: rgb(var(--dsv3-gray-50)); }.dsv3-portalreview h3 { margin: 0 0 13px; }.dsv3-portalreview > p { color: var(--dsv3-muted); font-size: .68rem; }.dsv3-portalreview form { display: grid; gap: 10px; }.dsv3-portalreview__requests { display: grid; gap: 6px; margin-top: 15px; }.dsv3-portalreview details { padding: 11px 13px; border-radius: 13px; background: #fff; }.dsv3-portalreview summary { cursor: pointer; font-size: .68rem; font-weight: 700; }.dsv3-portalreview details form { margin-top: 12px; }
.dsv3-portalfavorites, .dsv3-portalrequests { display: grid; gap: 7px; }.dsv3-portalfavorites > a { display: grid; min-height: 67px; grid-template-columns: 26px minmax(0,1fr) 20px; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 15px; background: rgb(var(--dsv3-gray-50)); }.dsv3-portalfavorites > a > svg:first-child { color: var(--dsv3-accent); }.dsv3-portalfavorites strong, .dsv3-portalfavorites small { display: block; }.dsv3-portalfavorites small { margin-top: 4px; color: var(--dsv3-muted); font-size: .6rem; }
.dsv3-portalrequests article { display: grid; grid-template-columns: minmax(145px,.5fr) minmax(0,1fr) auto; gap: 12px; padding: 14px 16px; border-radius: 15px; background: rgb(var(--dsv3-gray-50)); font-size: .7rem; }.dsv3-portalrequests small { color: var(--dsv3-muted); }.dsv3-portalstale { grid-column: 1 / -1; color: var(--dsv3-accent-strong); font-size: .63rem; font-style: normal; }
.dsv3-searchvisits__clear { justify-self: start; margin-top: 10px; }
.dsv3-searchvisits h2, .dsv3-searchvisits h3 { margin-bottom: 9px; }
.dsv3-portalprofile { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 20px; }.dsv3-portalprofile dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }.dsv3-portalprofile dl div { padding: 15px; border-radius: 15px; background: rgb(var(--dsv3-gray-50)); }.dsv3-portalprofile dt { color: var(--dsv3-muted); font-size: .61rem; }.dsv3-portalprofile dd { margin: 5px 0 0; font-size: .78rem; font-weight: 700; }
.dsv3-portalnotify label { display: flex; align-items: flex-start; gap: 11px; }.dsv3-portalnotify input { width: 20px; height: 20px; flex: none; padding: 0; accent-color: rgb(var(--dsv3-primary-700)); }.dsv3-portalnotify strong, .dsv3-portalnotify small { display: block; }.dsv3-portalnotify small { max-width: 65ch; margin-top: 5px; color: var(--dsv3-muted); font-size: .66rem; line-height: 1.5; }.dsv3-portalnotify .dsv3-btn { margin-top: 17px; }.dsv3-portalnotify > p { color: rgb(16 104 70); font-size: .68rem; }
.dsv3-portalsupport > .supportform .supportform__lead h2 { margin: 0; font-size: 2.25rem; letter-spacing: -.04em; }.dsv3-portalsupport > .supportform .supportform__lead p { max-width: 58ch; color: var(--dsv3-muted); font-size: .7rem; line-height: 1.55; }
.dsv3-portal .supportform__form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }.dsv3-portal .supportform__field { display: grid; gap: 7px; margin: 0; }.dsv3-portal .supportform__field > label { color: var(--dsv3-muted); font-size: .63rem; font-weight: 700; }.dsv3-portal .supportform__field--wide, .dsv3-portal .supportform__actions, .dsv3-portal .supportform__outcome { grid-column: 1 / -1; }.dsv3-portal .supportform__actions { display: flex; align-items: center; gap: 13px; }.dsv3-portal .supportform__actions .btn { min-height: 52px; padding: 0 21px; border: 0; border-radius: var(--dsv3-pill); color: #fff; background: var(--dsv3-button); font-weight: 750; }.dsv3-portal .supportform__note { color: var(--dsv3-muted); font-size: .63rem; }.dsv3-portal .supportform__outcome { margin: 0; padding: 13px 15px; border-radius: 14px; color: rgb(16 104 70); background: rgb(225 249 237); font-size: .7rem; }.dsv3-portal .supportform__outcome--error, .dsv3-portal .supportform__error { color: rgb(139 43 37); }.dsv3-portal .supportform__error { font-size: .61rem; }.dsv3-portal .hp { position: absolute; left: -9999px; }
.dsv3-portalnote { margin: 0; color: var(--dsv3-muted); font-size: .7rem; }

.dsv3-safarihero { position: relative; min-height: 660px; overflow: hidden; color: #fff; background: radial-gradient(circle at 76% 25%,rgb(237 188 104 / .23),transparent 18%),linear-gradient(148deg,rgb(3 35 33),rgb(12 91 78) 58%,rgb(111 79 48)); }
.dsv3-safarihero__sun { position: absolute; top: 15%; right: 16%; width: 150px; aspect-ratio: 1; border-radius: 50%; background: rgb(239 197 123 / .88); box-shadow: 0 0 90px 30px rgb(239 197 123 / .17); }
.dsv3-safarihero__dunes, .dsv3-safarihero__dunes::before, .dsv3-safarihero__dunes::after { position: absolute; right: -8%; bottom: -27%; width: 75%; height: 62%; border-radius: 50% 50% 0 0; content: ""; transform: rotate(-8deg); }
.dsv3-safarihero__dunes { background: linear-gradient(160deg,rgb(227 178 110 / .45),rgb(44 67 55)); }.dsv3-safarihero__dunes::before { right: 48%; bottom: -14%; width: 96%; height: 92%; background: linear-gradient(165deg,rgb(22 101 86),rgb(5 46 43)); }.dsv3-safarihero__dunes::after { right: -42%; bottom: -5%; width: 87%; height: 78%; background: linear-gradient(150deg,rgb(189 137 78 / .55),rgb(20 70 60)); }
.dsv3-safarihero__inner { position: relative; z-index: 2; display: grid; min-height: 660px; grid-template-columns: minmax(0,1fr) 340px; align-items: end; gap: 70px; padding-block: 65px; }
.dsv3-safarihero .dsv3-tourcrumbs { margin-bottom: 45px; }.dsv3-safarihero .dsv3-tourcrumbs a, .dsv3-safarihero .dsv3-tourcrumbs span { color: rgb(255 255 255 / .68); }.dsv3-safarihero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-safarihero h1 { max-width: 9ch; margin: 14px 0 18px; font-size: clamp(4.6rem,8.5vw,9.3rem); font-weight: 550; line-height: .82; letter-spacing: -.075em; }
.dsv3-safarihero p { max-width: 56ch; margin: 0 0 27px; color: rgb(255 255 255 / .74); font-size: 1rem; line-height: 1.65; }.dsv3-safarihero p strong { color: rgb(var(--dsv3-primary-200)); font-size: 1.12em; }
.dsv3-safarihero__promise { display: block; margin-top: 8px; color: #fff; font-weight: 650; }
.dsv3-safarihero__facts { display: grid; gap: 8px; align-self: end; }
.dsv3-safarihero__facts > span { display: grid; min-height: 76px; grid-template-columns: 42px minmax(0,1fr); grid-template-rows: auto auto; align-items: center; column-gap: 10px; padding: 13px 15px; border-radius: 18px; background: rgb(255 255 255 / .1); backdrop-filter: blur(14px); }
.dsv3-safarihero__facts svg { grid-row: 1 / 3; color: rgb(var(--dsv3-primary-200)); }.dsv3-safarihero__facts small { align-self: end; color: rgb(255 255 255 / .54); font-size: .59rem; letter-spacing: .09em; text-transform: uppercase; }.dsv3-safarihero__facts strong { align-self: start; font-size: .77rem; }
.dsv3-safariwork { background: var(--dsv3-gray-50); }
.dsv3-safarierror { margin-bottom: 17px; padding: 18px 21px; border-radius: 18px; color: rgb(112 32 26); background: rgb(255 237 235); }.dsv3-safarierror p { margin: 6px 0 0; font-size: .74rem; }
.dsv3-safariform { display: grid; grid-template-columns: minmax(0,1fr) 350px; align-items: start; gap: 22px; }
.dsv3-safariform__main { display: grid; gap: 11px; }.dsv3-safariform__aside { position: sticky; top: 158px; }
.dsv3-safaristep { min-width: 0; margin: 0; padding: 27px; border: 0; border-radius: 23px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-safaristep legend { display: flex; align-items: center; gap: 10px; margin-bottom: 21px; padding: 0; font-size: 1.28rem; font-weight: 740; letter-spacing: -.035em; }.dsv3-safaristep legend > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .64rem; letter-spacing: 0; }
.dsv3-safaristep > p { margin: 11px 0 0; color: var(--dsv3-muted); font-size: .68rem; line-height: 1.55; }
.dsv3-safariguests, .dsv3-safaricontact { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.dsv3-safaricontact { margin-top: 6px; }.dsv3-safaricontact > .dsv3-safarifield:last-child { grid-column: 1 / -1; }
.dsv3-safariphone { display: grid; grid-template-columns: minmax(110px,.35fr) minmax(0,1fr); gap: 8px; }
.dsv3-safarifield, .dsv3-safariselect { display: grid; gap: 7px; }.dsv3-safarifield > span, .dsv3-safariselect > span { padding-left: 3px; color: var(--dsv3-muted); font-size: .63rem; font-weight: 700; }
.dsv3-safarifield input, .dsv3-safariselect select { width: 100%; min-height: 54px; padding: 0 15px; border: 0; border-radius: 14px; outline: 0; color: var(--dsv3-ink); background: rgb(var(--dsv3-gray-100)); }.dsv3-safarifield input:focus, .dsv3-safariselect select:focus { background: var(--dsv3-soft); box-shadow: inset 0 0 0 2px rgb(var(--dsv3-primary-300)); }
.dsv3-safaricamps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.dsv3-safaricamp { position: relative; display: grid; min-height: 160px; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; overflow: hidden; padding: 17px; border-radius: 17px; background: linear-gradient(150deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); color: #fff; cursor: pointer; }.dsv3-safaricamp::before { position: absolute; top: -40px; right: -40px; width: 110px; height: 110px; border-radius: 50%; background: rgb(var(--dsv3-primary-200) / .13); content: ""; }
.dsv3-safaricamp input, .dsv3-safarimode input { position: absolute; opacity: 0; pointer-events: none; }.dsv3-safaricamp span, .dsv3-safaricamp > svg { position: relative; z-index: 1; }.dsv3-safaricamp small, .dsv3-safaricamp strong, .dsv3-safaricamp em { display: block; }.dsv3-safaricamp small { color: rgb(var(--dsv3-primary-200)); font-size: .58rem; letter-spacing: .11em; }.dsv3-safaricamp strong { margin-top: 6px; font-size: 1rem; line-height: 1.05; }.dsv3-safaricamp em { margin-top: 9px; color: rgb(255 255 255 / .58); font-size: .61rem; font-style: normal; line-height: 1.35; }
.dsv3-safaricamp[data-selected="true"] { background: linear-gradient(145deg,rgb(var(--dsv3-primary-700)),rgb(var(--dsv3-primary-500))); box-shadow: 0 14px 30px -22px rgb(var(--dsv3-primary-950)); }.dsv3-safaricamp[data-disabled="true"] { color: var(--dsv3-muted); background: rgb(var(--dsv3-gray-100)); cursor: not-allowed; }.dsv3-safaricamp[data-disabled="true"] small, .dsv3-safaricamp[data-disabled="true"] em { color: var(--dsv3-muted); }
.dsv3-safarimodes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.dsv3-safarimode { position: relative; display: grid; min-height: 88px; align-items: center; padding: 15px 17px; border-radius: 16px; background: var(--dsv3-soft); cursor: pointer; }.dsv3-safarimode:has(input:checked) { color: #fff; background: rgb(var(--dsv3-primary-800)); }.dsv3-safarimode strong, .dsv3-safarimode small { display: block; }.dsv3-safarimode strong { font-size: .84rem; }.dsv3-safarimode small { margin-top: 5px; color: var(--dsv3-muted); font-size: .63rem; line-height: 1.4; }.dsv3-safarimode:has(input:checked) small { color: rgb(255 255 255 / .65); }.dsv3-safarimode[data-disabled="true"] { opacity: .48; cursor: not-allowed; }
.dsv3-safariempty { margin: 0!important; padding: 18px; border-radius: 15px; background: rgb(var(--dsv3-gray-100)); }
.dsv3-safarirefresh { justify-self: start; }.dsv3-safaripurchase { display: grid; gap: 11px; margin-top: 34px; padding-top: 34px; box-shadow: 0 -1px 0 rgb(var(--dsv3-gray-200)); }
.dsv3-safaribuy { width: 100%; min-height: 58px; }.dsv3-safaribuy:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.dsv3-safariquote { display: grid; gap: 13px; padding: 25px; border-radius: 23px; color: #fff; background: radial-gradient(circle at 90% 5%,rgb(var(--dsv3-primary-300) / .21),transparent 25%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); box-shadow: var(--dsv3-shadow-md); }.dsv3-safariquote .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }.dsv3-safariquote h2 { margin: 1px 0 0; color: rgb(var(--dsv3-primary-200)); font-size: 2.8rem; line-height: .88; letter-spacing: -.055em; }.dsv3-safariquote > p { margin: 0 0 6px; color: rgb(255 255 255 / .65); font-size: .7rem; line-height: 1.55; }
.dsv3-safariquote > div:not(.dsv3-safariquote__line):not(.dsv3-safariquote__total) { display: grid; grid-template-columns: 31px minmax(0,1fr); align-items: center; gap: 8px; padding: 11px; border-radius: 14px; background: rgb(255 255 255 / .08); }.dsv3-safariquote > div svg { grid-row: 1 / 3; color: rgb(var(--dsv3-primary-200)); }.dsv3-safariquote small, .dsv3-safariquote strong { display: block; }.dsv3-safariquote > div small { color: rgb(255 255 255 / .52); font-size: .58rem; }.dsv3-safariquote > div strong { margin-top: 2px; font-size: .72rem; }
.dsv3-safariquote__line { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 12px; box-shadow: 0 1px 0 rgb(255 255 255 / .11); }.dsv3-safariquote__line span { min-width: 0; }.dsv3-safariquote__line b { flex: none; font-size: .75rem; }.dsv3-safariquote__total { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-top: 11px; }.dsv3-safariquote__total span { color: rgb(255 255 255 / .58); font-size: .65rem; }.dsv3-safariquote__total strong { color: rgb(var(--dsv3-primary-200)); font-size: 1.6rem; }

.dsv3-visahero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 84% 13%,rgb(var(--dsv3-primary-300) / .19),transparent 24%),linear-gradient(140deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
.dsv3-visahero::after { position: absolute; right: -8%; bottom: -53%; width: min(61vw,760px); aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle,rgb(255 255 255 / .045) 0 2px,transparent 2px 23px); content: ""; }
.dsv3-visahero__inner { position: relative; z-index: 1; display: grid; min-height: 570px; grid-template-columns: minmax(0,1fr) minmax(300px,.43fr); align-items: end; gap: 70px; padding-block: 70px; }
.dsv3-visahero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-visahero h1 { max-width: 11ch; margin: 15px 0 20px; font-size: clamp(4.2rem,7.5vw,8.4rem); font-weight: 550; line-height: .84; letter-spacing: -.07em; }.dsv3-visahero__inner > div:first-child > p { max-width: 58ch; margin: 0; color: rgb(255 255 255 / .68); font-size: .92rem; line-height: 1.7; }
.dsv3-visahero__card { display: grid; align-self: end; padding: 28px; border-radius: 24px; background: rgb(255 255 255 / .1); box-shadow: var(--dsv3-shadow-md); backdrop-filter: blur(14px); }.dsv3-visahero__card > svg { color: rgb(var(--dsv3-primary-200)); }.dsv3-visahero__card span { margin-top: 39px; color: rgb(var(--dsv3-primary-200)); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }.dsv3-visahero__card strong { max-width: 11ch; margin-top: 9px; font-size: 2.05rem; line-height: .94; letter-spacing: -.045em; }.dsv3-visahero__card small { margin-top: 17px; color: rgb(255 255 255 / .57); font-size: .68rem; }
.dsv3-visahero__prices { display: grid; align-self: end; gap: 17px; padding: 25px; border-radius: 24px; background: rgb(255 255 255 / .1); box-shadow: var(--dsv3-shadow-md); backdrop-filter: blur(14px); }.dsv3-visahero__prices ul { display: grid; margin: 0; padding: 0; list-style: none; }.dsv3-visahero__prices li { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; padding: 12px 0; box-shadow: 0 1px 0 rgb(255 255 255 / .12); }.dsv3-visahero__prices li:last-child { box-shadow: none; }.dsv3-visahero__prices li > strong { min-width: 0; font-size: .7rem; line-height: 1.35; }.dsv3-visahero__prices li > span { display: grid; min-width: 68px; gap: 2px; color: rgb(var(--dsv3-primary-100)); font-size: .72rem; font-weight: 800; text-align: right; }.dsv3-visahero__prices li small { color: rgb(255 255 255 / .52); font-size: .52rem; font-weight: 650; text-transform: uppercase; }.dsv3-visahero__prices > small { color: rgb(255 255 255 / .55); font-size: .61rem; }
.dsv3-root .dsv3-visacrumbbar .dsv3-tourcrumbs { margin: 0; }
.dsv3-visawork, .dsv3-visastatus { min-height: 70vh; padding-block: 46px 88px; background: var(--dsv3-gray-50); }
.dsv3-visajourney { margin-bottom: 46px; padding: 17px 23px; border-radius: 22px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }.dsv3-visajourney ol { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }.dsv3-visajourney ol::before { position: absolute; top: 17px; right: 16%; left: 16%; height: 2px; background: rgb(var(--dsv3-gray-200)); content: ""; }.dsv3-visajourney li { position: relative; z-index: 1; display: grid; justify-items: center; gap: 8px; color: var(--dsv3-muted); text-align: center; }.dsv3-visajourney li > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: rgb(var(--dsv3-gray-100)); box-shadow: 0 0 0 7px #fff; font-size: .68rem; font-weight: 800; }.dsv3-visajourney li > strong { font-size: .65rem; }.dsv3-visajourney li[data-state="current"] > span, .dsv3-visajourney li[data-state="complete"] > span { color: #fff; background: rgb(var(--dsv3-primary-700)); }.dsv3-visajourney li[data-state="current"] > strong, .dsv3-visajourney li[data-state="complete"] > strong { color: var(--dsv3-ink); }
.dsv3-visasetup { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(110px,.42fr) minmax(110px,.42fr) auto; align-items: end; gap: 9px; margin-bottom: 19px; padding: 15px; border-radius: 21px; background: #fff; box-shadow: var(--dsv3-shadow-sm); }.dsv3-visasetup .dsv3-btn { min-height: 54px; }.dsv3-visasetup > p { grid-column: 1 / -1; margin: 3px 3px 0; color: var(--dsv3-muted); font-size: .64rem; line-height: 1.5; }
.dsv3-visaerror { margin: 0 0 16px; padding: 17px 20px; border-radius: 17px; color: rgb(112 32 26); background: rgb(255 237 235); font-size: .75rem; line-height: 1.55; }
.dsv3-visaform { display: grid; grid-template-columns: minmax(0,1fr) 350px; align-items: start; gap: 22px; }.dsv3-visaform__main { display: grid; gap: 12px; }.dsv3-visaform__aside { position: sticky; top: 158px; }
.dsv3-visaapplicant, .dsv3-visaconsents, .dsv3-visastatuscard, .dsv3-visastatussearch { margin: 0; padding: 28px; border: 0; border-radius: 23px; background: #fff; box-shadow: var(--dsv3-shadow-xs); }.dsv3-visaapplicant--error { box-shadow: inset 0 0 0 2px rgb(181 55 46 / .45),var(--dsv3-shadow-xs); }
.dsv3-visaapplicant legend { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; padding: 0; font-size: 1.35rem; font-weight: 740; letter-spacing: -.035em; }.dsv3-visaapplicant legend span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .62rem; }.dsv3-visaapplicant__rule { margin: -9px 0 18px; color: var(--dsv3-muted); font-size: .66rem; line-height: 1.5; }
.dsv3-visafields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.dsv3-visafield { display: grid; min-width: 0; gap: 7px; }.dsv3-visafield > span { padding-left: 3px; color: var(--dsv3-muted); font-size: .63rem; font-weight: 700; }.dsv3-visafield input, .dsv3-visafield select { width: 100%; min-height: 54px; padding: 0 14px; border: 0; border-radius: 14px; outline: 0; color: var(--dsv3-ink); background: rgb(var(--dsv3-gray-100)); }.dsv3-visafield input:focus, .dsv3-visafield select:focus { background: var(--dsv3-soft); box-shadow: inset 0 0 0 2px rgb(var(--dsv3-primary-300)); }
.dsv3-visaphone { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 8px; }
.dsv3-visaguardian, .dsv3-visaapplicant__contact { margin-top: 18px; padding: 19px; border-radius: 18px; background: var(--dsv3-soft); }.dsv3-visaguardian[hidden] { display: none; }.dsv3-visaguardian > p, .dsv3-visaapplicant__contact > p { margin: 10px 0 0; color: var(--dsv3-muted); font-size: .65rem; line-height: 1.5; }
.dsv3-visacheck, .dsv3-visaconsent { display: flex; min-height: 54px; align-items: flex-start; gap: 10px; cursor: pointer; }.dsv3-visacheck { margin-top: 16px; padding: 12px 14px; border-radius: 15px; background: rgb(var(--dsv3-gray-100)); }.dsv3-visacheck input, .dsv3-visaconsent input { width: 19px; height: 19px; flex: none; margin: 1px 0 0; accent-color: rgb(var(--dsv3-primary-700)); }.dsv3-visacheck strong, .dsv3-visacheck small { display: block; }.dsv3-visacheck strong { font-size: .72rem; }.dsv3-visacheck small { margin-top: 3px; color: var(--dsv3-muted); font-size: .63rem; }
.dsv3-visaconsents legend { margin-bottom: 20px; padding: 0; font-size: 1.25rem; font-weight: 740; letter-spacing: -.03em; }.dsv3-visaconsent { min-height: 62px; padding: 11px 0; color: var(--dsv3-muted); font-size: .7rem; line-height: 1.5; box-shadow: 0 1px 0 rgb(var(--dsv3-gray-200)); }.dsv3-visaconsents > p { margin: 17px 0 0; color: var(--dsv3-muted); font-size: .66rem; }.dsv3-visaconsents a { display: inline-flex; align-items: center; gap: 5px; color: var(--dsv3-accent-strong); font-weight: 750; }
.dsv3-visasubmit { width: 100%; min-height: 58px; }
.dsv3-visaprice { display: grid; gap: 12px; padding: 25px; border-radius: 23px; color: #fff; background: radial-gradient(circle at 90% 6%,rgb(var(--dsv3-primary-300) / .22),transparent 28%),linear-gradient(145deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); box-shadow: var(--dsv3-shadow-md); }.dsv3-visaprice .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }.dsv3-visaprice h2 { margin: 2px 0 6px; font-size: 1.7rem; line-height: .95; letter-spacing: -.04em; }.dsv3-visaprice > p { min-height: 18px; margin: 0; color: rgb(255 255 255 / .56); font-size: .65rem; }.dsv3-visaprice > div { display: grid; gap: 5px; margin-top: 7px; padding: 17px; border-radius: 16px; background: rgb(255 255 255 / .09); }.dsv3-visaprice > div span { color: rgb(255 255 255 / .55); font-size: .62rem; }.dsv3-visaprice > div strong { color: rgb(var(--dsv3-primary-200)); font-size: 2rem; line-height: 1; }.dsv3-visaprice > small { color: rgb(255 255 255 / .55); font-size: .63rem; line-height: 1.5; }
.dsv3-visaempty { min-height: 60vh; padding-block: 80px; background: var(--dsv3-gray-50); }.dsv3-visaempty h1 { max-width: 12ch; font-size: clamp(3.5rem,7vw,7rem); line-height: .87; letter-spacing: -.06em; }
.dsv3-visastatus .dsv3-checkout__head > p { display: block; max-width: 62ch; line-height: 1.6; }.dsv3-visastatussearch { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 9px; max-width: 820px; margin-bottom: 20px; }.dsv3-visastatussearch .dsv3-btn { min-height: 54px; }
.dsv3-visastatusgrid { display: grid; gap: 12px; }.dsv3-visastatuscard header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }.dsv3-visastatuscard h2 { margin: 7px 0 0; font-size: 1.85rem; line-height: .96; letter-spacing: -.04em; }.dsv3-visastatusbadge { padding: 8px 12px; border-radius: var(--dsv3-pill); color: var(--dsv3-accent-strong); background: var(--dsv3-soft); font-size: .63rem; font-weight: 750; }.dsv3-visastatusbadge[data-status="APPROVED"] { color: rgb(16 104 70); background: rgb(225 249 237); }.dsv3-visastatusbadge[data-status="REJECTED"] { color: rgb(139 43 37); background: rgb(255 237 235); }
.dsv3-visatracking { display: inline-grid; gap: 3px; margin-top: 20px; padding: 11px 14px; border-radius: 13px; background: rgb(var(--dsv3-gray-100)); }.dsv3-visatracking small { color: var(--dsv3-muted); font-size: .6rem; }.dsv3-visatracking strong { letter-spacing: .07em; }.dsv3-visastatusnote { padding: 13px 15px; border-radius: 14px; color: var(--dsv3-muted); background: var(--dsv3-soft); font-size: .68rem; }
.dsv3-visastatuscard ul { display: grid; gap: 7px; margin: 22px 0 0; padding: 0; list-style: none; }.dsv3-visadocument { display: grid; min-height: 70px; grid-template-columns: minmax(0,1fr) minmax(190px,.7fr) auto; align-items: center; gap: 10px; padding: 10px 13px; border-radius: 15px; background: rgb(var(--dsv3-gray-50)); }.dsv3-visadocument strong, .dsv3-visadocument small { display: block; }.dsv3-visadocument strong { font-size: .74rem; }.dsv3-visadocument small { margin-top: 3px; color: var(--dsv3-muted); font-size: .62rem; }.dsv3-visadocument input { min-width: 0; font-size: .65rem; }.dsv3-visadocument .visa-document__message { grid-column: 1 / -1; color: var(--dsv3-muted); font-size: .64rem; }

/* Region and holiday-type discovery pages. */
.dsv3-regionhero { position: relative; min-height: 590px; overflow: hidden; color: #fff; background: rgb(var(--dsv3-primary-950)); }
.dsv3-regionhero > .dsv3-destinationmedia { position: absolute; inset: 0; }
.dsv3-regionhero > .dsv3-destinationmedia img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-regionhero__wash { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgb(4 33 31 / .97),rgb(4 33 31 / .73) 54%,rgb(4 33 31 / .3)),linear-gradient(0deg,rgb(4 33 31 / .62),transparent 55%); }
.dsv3-regionhero__inner { position: relative; z-index: 2; display: grid; min-height: 590px; grid-template-columns: minmax(0,1fr) minmax(330px,410px); align-items: end; gap: clamp(45px,8vw,105px); padding-block: 75px; }
.dsv3-regionhero__crumbs ol { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 0 48px; padding: 0; list-style: none; color: rgb(255 255 255 / .62); font-size: .7rem; }
.dsv3-regionhero__crumbs li { display: inline-flex; min-width: 0; align-items: center; gap: 7px; }
.dsv3-regionhero__crumbs a:hover { color: #fff; }
.dsv3-regionhero .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); }
.dsv3-regionhero h1 { max-width: 11ch; margin: 12px 0 0; font-size: clamp(4rem,7.7vw,7.3rem); font-weight: 500; line-height: .87; letter-spacing: -.068em; }
.dsv3-regionhero__inner > div:first-child > p { max-width: 58ch; margin: 23px 0 0; color: rgb(255 255 255 / .73); font-size: 1rem; line-height: 1.65; }
.dsv3-regionhero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 28px; }
.dsv3-regionhero__quiet { color: rgb(255 255 255 / .72); font-size: .76rem; font-weight: 700; }
.dsv3-regionhero__side { display: grid; align-self: end; gap: 8px; }
.dsv3-regionhero__experience { position: relative; min-height: 285px; overflow: hidden; border-radius: 23px; color: #fff; box-shadow: var(--dsv3-shadow-lg); }
.dsv3-regionhero__experience > .dsv3-destinationmedia, .dsv3-regionhero__experience > span { position: absolute; inset: 0; }
.dsv3-regionhero__experience > span { background: linear-gradient(0deg,rgb(3 27 25 / .96),transparent 72%); }
.dsv3-regionhero__experience > div { position: absolute; z-index: 2; right: 18px; bottom: 18px; left: 18px; }
.dsv3-regionhero__experience small, .dsv3-regionhero__experience strong, .dsv3-regionhero__experience em { display: block; }
.dsv3-regionhero__experience small { color: rgb(255 255 255 / .68); font-size: .68rem; }
.dsv3-regionhero__experience strong { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; margin-top: 7px; font-size: 1.2rem; line-height: 1.15; }
.dsv3-regionhero__experience em { margin-top: 7px; color: rgb(255 255 255 / .64); font-size: .65rem; font-style: normal; }
.dsv3-regionhero__stats { display: grid; align-self: end; gap: 7px; }
.dsv3-regionhero__stats[data-with-experience="true"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dsv3-regionhero__stats[data-with-experience="true"] .dsv3-regionhero__stat { min-height: 86px; grid-template-columns: 1fr; align-content: center; justify-items: start; gap: 4px; padding: 12px; }
.dsv3-regionhero__stats[data-with-experience="true"] .dsv3-regionhero__stat strong { font-size: 1.85rem; }
.dsv3-regionhero__stats[data-with-experience="true"] .dsv3-regionhero__stat span { font-size: .58rem; }
.dsv3-regionhero__stats[data-with-experience="true"] .dsv3-regionhero__stat svg { display: none; }
.dsv3-regionhero__stat { display: grid; min-height: 94px; grid-template-columns: 88px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 15px 18px; border-radius: 19px; background: rgb(255 255 255 / .11); backdrop-filter: blur(13px); }
.dsv3-regionhero__stat strong { color: rgb(var(--dsv3-primary-200)); font-size: 2.35rem; font-weight: 500; line-height: 1; letter-spacing: -.06em; }
.dsv3-regionhero__stat span { color: rgb(255 255 255 / .72); font-size: .73rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.dsv3-regionhero__stat svg { color: rgb(var(--dsv3-primary-200)); }
.dsv3-regiongrid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.dsv3-regiongrid .dsv3-destinationcard { min-height: 300px; }
.dsv3-regionrail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(270px,31%); gap: 13px; overflow-x: auto; padding: 2px 1px 20px; scroll-snap-type: x mandatory; }
.dsv3-regionpage .dsv3-destinationsection:nth-of-type(even) { background: rgb(255 255 255 / .52); }
.dsv3-holidaytypepage .dsv3-regionhero__stats { align-self: end; }
.dsv3-holidaytypepage .dsv3-regionhero__stat { min-height: 142px; grid-template-columns: 112px minmax(0,1fr) auto; }
.dsv3-holidaytypepage .dsv3-regionhero__stat strong { font-size: 3.4rem; }

@media (max-width: 1080px) {
  /* Kurumsal: gezinti yukarı çıkıyor, sütun tek kalıyor; tek sütunda yapışkan ray içeriğin
     üstüne biner, o yüzden akışa dönüyor.

     Gezinti dikey liste değil yatay hap şeridi: on beş satırlık dikey bir liste dar ekranda ilk
     ekranın tamamını yer ve okuyucu sayfanın kendisini hiç görmeden kaydırmak zorunda kalır.
     Açılır bir menü daha derli toplu görünürdü ama bir tıklama daha ister; bu gezinti sayfanın
     ikincil yolu, birincil yol üst bilgide. */
  .dsv3-corporate__layout { grid-template-columns: minmax(0,1fr); }
  .dsv3-corporate__rail { position: static; max-height: none; overflow: visible; }
  .dsv3-corpnav { display: flex; align-items: center; gap: 10px; overflow-x: auto; padding: 11px 12px; scrollbar-width: none; }
  .dsv3-corpnav::-webkit-scrollbar { display: none; }
  .dsv3-corpnav__group { display: flex; align-items: center; gap: 7px; }
  .dsv3-corpnav__heading { margin: 0; white-space: nowrap; }
  .dsv3-corpnav ul { display: flex; gap: 6px; }
  .dsv3-corpnav__link { padding: 0 13px; border-radius: var(--dsv3-pill); background: var(--dsv3-gray-50); white-space: nowrap; }
  .dsv3-corpfacts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-corpsteps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-corpbenefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-corpoffice { grid-template-columns: minmax(0,1fr); }
  .dsv3-mainhead__inner { grid-template-columns: 112px minmax(230px,1fr) auto; }
  .dsv3-mainnav { display: none; }
  .dsv3-regions { overflow-x: auto; scrollbar-width: none; }
  .dsv3-hero__inner { grid-template-columns: 1fr .8fr; gap: 38px; }
  .dsv3-holiday__tabs { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 172px; }
  .dsv3-vibes__cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-destinationgrid, .dsv3-continent__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-az__groups { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dsv3-desthero__inner { grid-template-columns: minmax(0,1fr) minmax(320px,.72fr); gap: 38px; }
  .dsv3-catalogue__grid { grid-template-columns: 240px minmax(0,1fr); grid-template-areas: "cover copy" "download download"; gap: 24px 36px; }.dsv3-catalogue__cover { min-height: 460px; }.dsv3-catalogue__download { grid-template-columns: 52px minmax(0,1fr); }.dsv3-catalogue__download > p,.dsv3-catalogue__download .dsv3-btn,.dsv3-catalogue__download .dsv3-guide__status { grid-column: 1 / -1; grid-row: auto; }
  .dsv3-gatewaygrid { grid-template-columns: repeat(auto-fit,minmax(180px,220px)); }
  .dsv3-home-regiongrid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dsv3-listingsearch { grid-template-columns: repeat(2,minmax(0,1fr)) auto; }
  .dsv3-listingsearch > .dsv3-btn { grid-column: 3; grid-row: 1 / 3; }
  .dsv3-tourgrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-cruisefilters { grid-template-columns: 1fr 1fr; }
  .dsv3-cruisefilters > .dsv3-btn { grid-column: 1 / -1; }
  .dsv3-regiongrid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dsv3-regionhero__inner { grid-template-columns: minmax(0,1fr) minmax(290px,.65fr); gap: 34px; }
  .dsv3-filter__form { grid-template-columns: repeat(3,minmax(0,1fr)); }
  /* 820px kabulünde dört alanlı arama ile 78px detay düğmesi aynı satıra sıkışıp Ara'nın üstüne
     biniyordu. Tablet, alanları iki sütuna indirir; detay düğmesi ve açılan panel ayrı akış
     satırlarına geçer. Böylece görünür ürün sırası değişmeden her hedef tek başına kalır. */
  .dsv3-hotelcontrols { grid-template-columns: 1fr; }
  .dsv3-hotelcontrols > .dsv3-hotelsearch { grid-column: 1; grid-row: 1; border-radius: 18px 18px 0 0; }
  .dsv3-hotelsearch { grid-template-columns: 1fr 1fr; gap: 1px; padding: 10px; }
  .dsv3-hotelcontrols > .dsv3-hotelfilter > summary { grid-column: 1; grid-row: 2; width: 58px; min-width: 58px; min-height: 58px; justify-self: end; border-radius: 0 0 18px 18px; }
  .dsv3-hotelcontrols > .dsv3-hotelfilter > .dsv3-filter__reveal { grid-column: 1; grid-row: 3; }
  .dsv3-tourdetail { grid-template-columns: minmax(0,1fr) 300px; gap: 25px; }
  .dsv3-activitygrid { grid-template-columns: repeat(2,minmax(0,1fr)); }.dsv3-activitycard:nth-child(7n + 1), .dsv3-activitycard:nth-child(7n + 5) { grid-column: auto; }
  .dsv3-activityhero__inner { grid-template-columns: minmax(0,1fr) 300px; gap: 30px; }.dsv3-activityorder { grid-template-columns: 1fr 1fr; }
  .dsv3-auth { grid-template-columns: minmax(330px,.8fr) minmax(470px,1.2fr); }
  .dsv3-auth__story { padding: 36px; }
  .dsv3-checkout__layout, .dsv3-cart__layout { grid-template-columns: minmax(0,1fr) 300px; }
  .dsv3-safarihero__inner { grid-template-columns: minmax(0,1fr) 300px; gap: 35px; }.dsv3-safariform { grid-template-columns: minmax(0,1fr) 300px; }.dsv3-safaricamps { grid-template-columns: 1fr; }.dsv3-safaricamp { min-height: 105px; }
  .dsv3-visahero__inner { grid-template-columns: minmax(0,1fr) 300px; gap: 35px; }.dsv3-visaform { grid-template-columns: minmax(0,1fr) 300px; }
}

/* 14 inç dizüstü görünümünde kimlik akışı tek ekranlık bir ürün yüzeyidir. */
@media (min-width: 781px) and (max-height: 960px) {
  html.dsv3-auth-page, body.dsv3-auth-page { height: 100%; overflow: hidden; }
  .dsv3-auth, .dsv3-auth__story { height: 100%; min-height: 0; overflow: hidden; }
  .dsv3-auth__story { align-content: end; padding: clamp(24px,3.5vw,42px); }
  .dsv3-auth__brand { top: 24px; left: clamp(24px,3.5vw,42px); width: min(220px,19vw); }
  .dsv3-auth__story h2 { margin: 10px 0 13px; font-size: clamp(2.55rem,4.4vw,3.9rem); }
  .dsv3-auth__story > div > p { font-size: .78rem; line-height: 1.45; }
  .dsv3-auth__story ul { gap: 5px; margin-top: 15px; }
  .dsv3-auth__story li { min-height: 51px; grid-template-columns: 34px minmax(0,1fr); padding: 7px 10px; border-radius: 14px; }
  .dsv3-auth__story li strong { font-size: .72rem; }
  .dsv3-auth__story li small { margin-top: 1px; font-size: .59rem; line-height: 1.3; }
  .dsv3-auth__panel { height: 100%; min-height: 0; align-items: safe center; justify-items: center; overflow-x: hidden; overflow-y: auto; padding: 14px clamp(24px,4vw,52px); overscroll-behavior: contain; }
  .dsv3-auth__card { width: min(100%,440px); }
  .dsv3-auth__tabs { margin-bottom: 14px; padding: 4px; }
  .dsv3-auth__tabs a { min-height: 36px; }
  .dsv3-auth__card header h1 { font-size: clamp(2.35rem,3.5vw,3.4rem); }
  .dsv3-auth__card header p { margin: 7px 0 13px; font-size: .73rem; line-height: 1.4; }
  .dsv3-auth__form { gap: 7px; }
  .dsv3-auth__field { gap: 4px; }
  .dsv3-auth__field input { min-height: 43px; border-radius: 12px; }
  .dsv3-auth__options { margin: 0 1px 2px; }
  .dsv3-auth__form > .dsv3-btn { min-height: 44px; margin-top: 0; }
  .dsv3-auth__passwordnote { margin-top: -2px; font-size: .59rem; }
  .dsv3-auth__social { margin-top: 11px; }
  .dsv3-auth__social > p { margin-bottom: 7px; }
  .dsv3-auth__social > div { gap: 5px; }
  .dsv3-auth__sociallink { min-height: 40px; border-radius: 12px; }
  .dsv3-auth__guest { margin-top: 8px; }
  .dsv3-auth__switch { margin-top: 4px; }
}

@media (max-width: 780px) {
  .dsv3-corphero { grid-template-columns: minmax(0,1fr); }
  .dsv3-corppeople { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-corpform__form { grid-template-columns: minmax(0,1fr); }
  .dsv3-corpform__form > .dsv3-btn { width: 100%; }
  .dsv3-prerequest__fields { grid-template-columns: 1fr 1fr; }
  .dsv3-prerequest__fields > .dsv3-field:first-child { grid-column: 1 / -1; }
  .dsv3-prerequest__actions { grid-template-columns: 1fr; align-items: stretch; }
  .dsv3-prerequest__actions > .dsv3-btn { width: 100%; }
  .dsv3-countryexplorer__top { grid-template-columns: 1fr; gap: 20px; padding: 23px 18px; }
  .dsv3-countryregions, .dsv3-countryletters, .dsv3-countryaz { padding-inline: 18px; }
  .dsv3-countryletter { grid-template-columns: 42px minmax(0,1fr); gap: 10px; }
  .dsv3-countryletter__links { grid-template-columns: 1fr; }
  .dsv3-directoryfeatured { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 220px 220px; grid-auto-rows: 220px; }
  .dsv3-directoryregion:first-child { grid-column: span 2; grid-row: auto; }
  .dsv3-directoryregion:nth-child(4) { grid-column: span 2; }
  .dsv3-shell { width: min(calc(100% - 28px),1240px); }
  .dsv3-utility, .dsv3-mainhead { display: none; }
  .dsv3-mobilebar { display: grid; min-height: 62px; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 14px; background: #fff; box-shadow: 0 1px 0 rgb(0 0 0 / .06); }
  .dsv3-mobilebar .dsv3-logo { grid-column: 2; width: 108px; }
  .dsv3-mobilebar__actions { grid-column: 3; display: flex; justify-content: end; gap: 4px; }
  .dsv3-mobilebar .dsv3-iconbtn { min-height: 44px; width: 44px; background: transparent; }
  .dsv3-mobilemenu { position: fixed; z-index: 100; inset: 0; display: block; overflow: auto; color: var(--dsv3-ink); background: #fff; animation: dsv3-drawer-in .3s cubic-bezier(.22,.78,.2,1) both; }
  .dsv3-mobilemenu[hidden] { display: none; }
  .dsv3-mobilemenu__head { position: sticky; z-index: 2; top: 0; display: grid; min-height: 66px; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 14px; background: rgb(255 255 255 / .94); backdrop-filter: blur(14px); }
  .dsv3-mobilemenu__head .dsv3-logo { grid-column: 2; width: 106px; }
  .dsv3-mobilemenu__close { grid-column: 3; justify-self: end; }
  .dsv3-mobilemenu__style { grid-column: 1; grid-row: 1; display: inline-flex; width: max-content; min-height: 45px; align-items: center; gap: 5px; padding: 0 8px 0 0; border: 0; color: inherit; background: transparent; font-size: .78rem; font-weight: 650; }
  .dsv3-mobilemenu__style svg { transition: transform .28s cubic-bezier(.22,.78,.2,1); }
  .dsv3-mobilemenu__style[aria-expanded="true"] svg { transform: rotate(180deg); }
  .dsv3-mobilemenu__panel[hidden] { display: none; }
  .dsv3-mobilemenu__body { padding: 22px 14px max(32px,env(safe-area-inset-bottom)); }
  .dsv3-mobilemenu__search { display: flex; width: 100%; min-height: 52px; align-items: center; gap: 10px; padding: 0 15px; border: 0; border-radius: var(--dsv3-pill); color: inherit; background: var(--dsv3-gray-50); font-size: .84rem; text-align: left; }
  .dsv3-mobilemenu__primary { display: grid; margin-top: 16px; }
  .dsv3-mobilemenu__primary a { display: flex; min-height: 50px; align-items: center; justify-content: space-between; font-size: 1rem; font-weight: 600; }
  .dsv3-mobilemenu__regions { margin-top: 24px; }
  .dsv3-mobilemenu__region { border-top: 1px solid var(--dsv3-line); }
  .dsv3-mobilemenu__region > button { display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: space-between; padding: 0; border: 0; color: var(--dsv3-ink); background: transparent; appearance: none; font-weight: 650; text-align: left; }
  .dsv3-mobilemenu__region > button svg { transition: transform .28s ease; }
  .dsv3-mobilemenu__region > button[aria-expanded="true"] svg { transform: rotate(180deg); }
  .dsv3-mobilemenu__regioncontent { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s cubic-bezier(.22,.78,.2,1); }
  .dsv3-mobilemenu__region > button[aria-expanded="true"] + .dsv3-mobilemenu__regioncontent { grid-template-rows: 1fr; }
  .dsv3-mobilemenu__regioninner { min-height: 0; overflow: hidden; }
  .dsv3-mobilemenu__countries { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 12px; }
  .dsv3-mobilemenu__country { position: relative; isolation: isolate; display: flex; flex: 0 0 148px; min-height: 112px; align-items: end; overflow: hidden; padding: 12px; border-radius: 14px; color: #fff; background: rgb(var(--dsv3-primary-900)); }
  .dsv3-mobilemenu__countrymedia, .dsv3-mobilemenu__countrymedia img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .dsv3-mobilemenu__country::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg,rgb(3 28 26 / .9),rgb(3 28 26 / .08) 75%); content: ""; }
  .dsv3-mobilemenu__country strong { position: relative; z-index: 2; min-width: 0; font-size: .84rem; line-height: 1.2; }
  .dsv3-mobilemenu__country--text { min-height: 52px; align-items: center; color: var(--dsv3-ink); background: var(--dsv3-soft); }
  .dsv3-mobilemenu__country--text::after { display: none; }
  .dsv3-mobilemenu__experiences { display: grid; gap: 2px; padding: 5px 0 14px; }
  .dsv3-mobilemenu__experiences h4 { margin: 0 0 4px; color: var(--dsv3-muted); font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
  .dsv3-mobilemenu__experiences a { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 8px; font-size: .78rem; }
  .dsv3-mobilemenu__club { margin-top: 24px; padding: 21px; border-radius: 20px; color: #fff; background: linear-gradient(135deg,rgb(var(--dsv3-primary-950)),rgb(var(--dsv3-primary-800))); }
  .dsv3-mobilemenu__club img { width: 142px; height: auto; object-fit: contain; object-position: left center; }
  .dsv3-mobilemenu__club strong { display: block; margin-top: 18px; font-size: 1.45rem; }
  .dsv3-mobilemenu__club p { margin: 7px 0 15px; color: rgb(255 255 255 / .7); font-size: .75rem; line-height: 1.45; }
  .dsv3-mobilemenu__footer { margin-top: 18px; }
  .dsv3-mobilemenu__footer .dsv3-social { margin-top: 16px; }
  .dsv3-mobilemenu__panel--style { padding: 20px 14px 0; }
  .dsv3-stylepicker fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
  .dsv3-stylepicker legend { padding: 0; font-size: 1.55rem; font-weight: 650; letter-spacing: -.035em; }
  .dsv3-stylepicker fieldset > p { margin: 7px 0 17px; color: var(--dsv3-muted); font-size: .84rem; }
  .dsv3-stylepicker__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding-bottom: 104px; }
  .dsv3-stylecard { position: relative; min-width: 0; overflow: hidden; border-radius: 16px; color: #fff; background: rgb(var(--dsv3-primary-900)); aspect-ratio: 4 / 3; }
  .dsv3-stylecard input { position: absolute; z-index: 3; top: 10px; right: 10px; width: 19px; height: 19px; margin: 0; accent-color: rgb(var(--dsv3-primary-300)); }
  .dsv3-stylecard__media, .dsv3-stylecard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .dsv3-stylecard__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgb(3 28 26 / .9),transparent 72%); }
  .dsv3-stylecard strong { position: absolute; z-index: 2; right: 10px; bottom: 10px; left: 10px; font-size: .9rem; }
  .dsv3-stylecard:has(input:checked) { box-shadow: inset 0 0 0 3px rgb(var(--dsv3-primary-300)); }
  .dsv3-stylepicker__foot { position: sticky; z-index: 4; right: -14px; bottom: 0; left: -14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-inline: -14px; padding: 13px 14px max(13px,env(safe-area-inset-bottom)); background: rgb(255 255 255 / .96); box-shadow: 0 -12px 30px rgb(5 46 43 / .09); backdrop-filter: blur(14px); }
  .dsv3-stylepicker__foot output { color: var(--dsv3-muted); font-size: .75rem; white-space: nowrap; }
  .dsv3-stylepicker__foot .dsv3-btn { min-height: 44px; padding-inline: 15px; font-size: .76rem; }
  .dsv3-mobilesearch { position: fixed; z-index: 110; inset: 0; overflow: auto; color: var(--dsv3-ink); background: #fff; animation: dsv3-drawer-in .28s cubic-bezier(.22,.78,.2,1) both; }
  .dsv3-mobilesearch[hidden] { display: none; }
  .dsv3-mobilesearch__head { position: sticky; z-index: 3; top: 0; display: grid; min-height: 66px; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 14px; background: rgb(255 255 255 / .95); box-shadow: 0 1px 0 var(--dsv3-line); backdrop-filter: blur(14px); }
  .dsv3-mobilesearch__head .dsv3-logo { grid-column: 2; width: 106px; }
  .dsv3-mobilesearch__head button { grid-column: 3; justify-self: end; }
  .dsv3-mobilesearch__body { padding: 18px 14px max(38px,env(safe-area-inset-bottom)); }
  .dsv3-mobilesearch__form { display: grid; min-height: 54px; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 0 5px 0 15px; border-radius: var(--dsv3-pill); background: var(--dsv3-gray-50); }
  .dsv3-mobilesearch__form:focus-within { box-shadow: 0 0 0 3px rgb(var(--dsv3-primary-100)); }
  .dsv3-mobilesearch__form input { min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: transparent; }
  .dsv3-mobilesearch__form .dsv3-btn { min-height: 44px; }
  .dsv3-mobilesearch__group { margin-top: 27px; }
  .dsv3-mobilesearch__group h2 { margin: 0 0 11px; color: var(--dsv3-muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
  .dsv3-mobilesearch__chips { display: flex; flex-wrap: wrap; gap: 7px; }
  .dsv3-mobilesearch__chips a { padding: 9px 12px; border-radius: var(--dsv3-pill); background: var(--dsv3-soft); font-size: .79rem; }
  .dsv3-mobilesearch__products { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .dsv3-mobilesearch__list { display: grid; }
  .dsv3-mobilesearch__list a { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 9px 0; font-size: .78rem; line-height: 1.3; }
  .dsv3-mobilesearch__body[data-suggesting="true"] > :not(.dsv3-mobilesearch__form):not(.dsv3-livesuggest) { display: none; }
  .dsv3-mobilesearch__body > .dsv3-livesuggest { margin-top: 18px; padding: 4px; }
  @keyframes dsv3-drawer-in { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
  .dsv3-hero, .dsv3-hero__inner { min-height: auto; }
  .dsv3-hero__inner { grid-template-columns: 1fr; gap: 34px; padding-block: 54px 62px; }
  .dsv3-hero h1 { font-size: clamp(2.8rem,12vw,4.2rem); }
  .dsv3-hero__stage { height: 390px; }
  .dsv3-hero__nextstage, .dsv3-hero__next { min-height: 74px; }
  .dsv3-holiday__card { grid-template-columns: 1fr; gap: 19px; padding: 20px; }
  .dsv3-holiday__visual { min-height: 330px; }
  /* En dar ekranda sekme 172 pikselin altina inmiyor. Iki sekmeyi zorla sigdirmak, dar telefonda
     sekmeyi okunamayacak kadar daraltiyordu. Bir sekme ve sonrakinin bir kismi gorunur; bu ayni
     zamanda seridin kaydirilabilir oldugunu anlatiyor (Frontend Master, 01.09.2026). */
  .dsv3-holiday__tabs { grid-column: auto; grid-auto-columns: max(172px, calc((100% - 8px)/2)); scrollbar-width: none; }
  .dsv3-holiday__tabs::-webkit-scrollbar { display: none; }
  .dsv3-holiday__mobilecontrols { top: 12px; right: 12px; gap: 6px; }
  .dsv3-holiday__mobilecontrols button { width: 38px; height: 38px; padding: 0; }
  .dsv3-holiday__mobilecontrols button:disabled { opacity: .35; }
  .dsv3-holiday__mobilecontrols span { min-width: 48px; color: #fff; font-size: .68rem; font-variant-numeric: tabular-nums; }
  .dsv3-holiday--hint .dsv3-holiday__tabs { animation: dsv3-holiday-hint .82s cubic-bezier(.22,.78,.2,1); }
  @keyframes dsv3-holiday-hint { 0%,100% { transform: translateX(0); } 32% { transform: translateX(-18px); } 62% { transform: translateX(8px); } }
  .dsv3-sectionhead { align-items: start; flex-direction: column; gap: 13px; }
  .dsv3-sectionhead .dsv3-sectionlink { margin-top: 3px; }
  .dsv3-owned-safari__grid { grid-template-columns: 1fr; gap: 28px; }
  .dsv3-owned-safari__media { height: 390px; }
  .dsv3-safari-tiers { grid-template-columns: 1fr 1fr; }
  .dsv3-editorial { min-height: auto; grid-template-columns: 1fr; }
  .dsv3-editorial__visual { min-height: 360px; }
  .dsv3-editorial__copy { padding: 28px 22px 32px; }
  .dsv3-editorial__copy h2 { font-size: 2.65rem; }
  .dsv3-eventgrid { grid-template-columns: 1fr; }
  .dsv3-home-eventcard { min-height: 340px; }
  .dsv3-newsletter__panel { grid-template-columns: 1fr; gap: 30px; padding: 28px 22px; }
  .dsv3-newsletter__copy h2 { font-size: 3.25rem; }
  .dsv3-grid2 { gap: 10px; }
  .dsv3-grid2 .dsv3-product { min-height: 280px; }
  .dsv3-product h3 { font-size: 1rem; }
  .dsv3-dream__inner { grid-template-columns: 1fr; gap: 34px; }
  .dsv3-home-regiongrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-home-regioncard { min-height: 240px; }
  .dsv3-visa-home__grid { grid-template-columns: 1fr; }
  .dsv3-visa-home__intro { padding-top: 78px; padding-left: 0; }
  .dsv3-dream h2 { font-size: 3.4rem; }
  .dsv3-spot__inner, .dsv3-club__panel { grid-template-columns: 1fr; }
  .dsv3-vibes__layout { grid-template-columns: 1fr; gap: 24px; }
  .dsv3-destinationrail { grid-auto-columns: 72%; }
  .dsv3-destinationgrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-destinationcard { min-height: 285px; }
  .dsv3-destinationcard--compact { min-height: 220px; }
  .dsv3-az { padding: 20px 16px; }
  .dsv3-az__jump { top: 71px; overflow-x: auto; flex-wrap: nowrap; margin-inline: -5px; padding-inline: 5px; scrollbar-width: none; }
  .dsv3-az__groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-continent summary { min-height: 78px; padding: 16px; }
  .dsv3-continent__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-desthero, .dsv3-desthero__inner { min-height: auto; }
  .dsv3-desthero__inner { grid-template-columns: 1fr; gap: 35px; padding-block: 48px 58px; }
  .dsv3-desthero__crumbs ol { margin-bottom: 25px; }
  .dsv3-desthero h1 { font-size: clamp(3.2rem,14vw,5rem); }
  .dsv3-desthero__stage { height: 390px; }
  .dsv3-subnav, .dsv3-root:has(.dsv3-header[data-shrunk="true"]) .dsv3-subnav { top: 62px; }
  .dsv3-destinationeditorial__grid { grid-template-columns: 1fr; gap: 38px; }
  .dsv3-catalogue__grid { grid-template-columns: 1fr; grid-template-areas: "cover" "copy" "download"; gap: 28px; }.dsv3-catalogue__cover { width: min(100%,340px); min-height: 420px; justify-self: center; transform: none; }.dsv3-catalogue__copy h2 { font-size: 3rem; }.dsv3-catalogue__download { grid-template-columns: 52px minmax(0,1fr); }.dsv3-catalogue__download > p,.dsv3-catalogue__download .dsv3-btn,.dsv3-catalogue__download .dsv3-guide__status { grid-column: 1 / -1; grid-row: auto; }.dsv3-guidedialog { align-items: end; padding: 0; }.dsv3-guidedialog > section { padding: 25px 18px max(25px,env(safe-area-inset-bottom)); border-radius: 25px 25px 0 0; }.dsv3-guidedialog form > div { grid-template-columns: 1fr; }
  .dsv3-gatewaygrid { grid-template-columns: repeat(auto-fit,minmax(180px,220px)); }
  .dsv3-tourlisthead { min-height: auto; }
  .dsv3-tourlisthead__inner { min-height: 0; padding-block: 34px 26px; }
  .dsv3-tourlisthead h1, .dsv3-cruisehero h1 { font-size: clamp(3.1rem,13vw,5rem); }
  .dsv3-tourcontrols { grid-template-columns: 1fr; }
  .dsv3-tourcontrols > .dsv3-listingsearch { grid-column: 1; grid-row: 1; border-radius: 19px 19px 0 0; }
  .dsv3-tourcontrols > .dsv3-tourfilter > summary { grid-column: 1; grid-row: 2; min-height: 58px; border-radius: 0; }
  .dsv3-tourcontrols > .dsv3-tourfilter > .dsv3-filter__reveal { grid-column: 1; grid-row: 3; }
  .dsv3-listingsearch { grid-template-columns: 1fr 1fr; }
  .dsv3-listingsearch > .dsv3-btn { grid-column: 1 / -1; grid-row: auto; width: 100%; }
  .dsv3-listingfield:nth-of-type(odd) { box-shadow: none; }
  .dsv3-tourmonth__panel { left: 0; }
  .dsv3-tourtools { grid-template-columns: 1fr; align-items: stretch; }
  .dsv3-tourquickfilters { display: grid; grid-template-columns: 1fr 1fr; }
  .dsv3-tourquickfilters label { min-width: 0; }
  .dsv3-filter__form, .dsv3-filter__form--cruise { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-tourgrid { grid-template-columns: 1fr; gap: 13px; }
  .dsv3-tourcard { display: grid; grid-template-columns: minmax(150px,.85fr) minmax(0,1.15fr); }
  .dsv3-tourcard__media { align-self: start; width: 100%; height: auto; min-height: 0; aspect-ratio: 3 / 2; }
  .dsv3-cruisehero, .dsv3-cruisehero__inner { min-height: 540px; }
  .dsv3-cruisehero__inner { padding-block: 54px 76px; }
  .dsv3-cruisehero > .dsv3-destinationmedia img { object-position: 62% 24%; }
  .dsv3-cruisefilter { margin-top: -74px; }
  .dsv3-cruisefilters { grid-template-columns: 1fr; }
  .dsv3-cruisefilters > .dsv3-btn { grid-column: auto; width: 100%; }
  .dsv3-includedgrid,.dsv3-cruiseshipfacts { grid-template-columns: 1fr; }
  .dsv3-cruiseflightpanel { grid-template-columns: 1fr; gap: 12px; }
  .dsv3-cruisedate { grid-template-columns: 1fr; }.dsv3-cruisedate > .dsv3-btn { width: 100%; }.dsv3-cruisedate > p { grid-column: auto; }
  .dsv3-tourgallery__mozaik { height: 390px; grid-template-columns: 1.45fr 1fr; }
  .dsv3-tourgallery__cell--5 { display: none; }
  .dsv3-tourtitle__grid { grid-template-columns: 1fr; }
  .dsv3-tourtitle__marks { grid-row: 1; justify-content: end; }
  .dsv3-tourdetail { grid-template-columns: 1fr; padding-bottom: 118px; }
  .dsv3-tourbooking { display: none; }
  .dsv3-hotelsearch { grid-template-columns: 1fr 1fr; gap: 1px; }
  .dsv3-hotelsearch__where, .dsv3-hotelsearch__dates, .dsv3-hotelsearch__guests { min-height: 68px; box-shadow: 0 0 0 1px var(--dsv3-line); }
  .dsv3-hotelsearch > .dsv3-btn { min-height: 68px; border-radius: 0 13px 13px 0; }
  .dsv3-hotelfilter__form { grid-template-columns: 1fr; }
  .dsv3-hotelfilter .dsv3-filter__actions { grid-column: 1 / -1; }
  .dsv3-hotelgrid { grid-template-columns: 1fr 1fr; }
  .dsv3-staysearchcard { grid-template-columns: minmax(240px,.72fr) minmax(0,1.28fr); }
  .dsv3-hotelbrandhero__inner { grid-template-columns: minmax(0,1fr) 290px; gap: 35px; }
  .dsv3-stayhandover__card { grid-template-columns: minmax(0,1fr) 320px; gap: 30px; }
  .dsv3-hotelgallery > .dsv3-shell { height: 410px; grid-template-columns: 1.45fr 1fr; }
  .dsv3-hotelgallery__cell--5 { display: none; }
  .dsv3-hoteltitle__grid { grid-template-columns: 1fr; }
  .dsv3-hoteltitle__actions { grid-row: 1; justify-content: end; }
  .dsv3-staybar { grid-template-columns: 1fr 1fr; gap: 1px; }
  .dsv3-staybar__submit { min-height: 64px; }
  .dsv3-hotelbooking { display: none; }
  .dsv3-cityguide { grid-template-columns: 1fr; }
  .dsv3-cityguide > .dsv3-destinationmedia { min-height: 340px; }
  .dsv3-hotelbrandhero, .dsv3-hotelbrandhero__inner { min-height: 650px; }
  .dsv3-hotelbrandhero__inner { grid-template-columns: 1fr; align-content: end; gap: 25px; padding-block: 58px 34px; }
  .dsv3-hotelbrandhero__mark { min-height: 105px; grid-template-columns: minmax(0,1fr) auto; align-items: end; padding: 19px; }
  .dsv3-hotelbrandhero__mark span { grid-column: 1 / -1; }
  .dsv3-hotelbrandhero__mark strong { font-size: 1.45rem; }
  .dsv3-hotelbrandhero__mark small { margin-top: 0; }
  .dsv3-hotelbrandabout__grid { grid-template-columns: 1fr; gap: 28px; }
  .dsv3-stayhandover__card { min-height: 0; grid-template-columns: 1fr; }
  .dsv3-mobilebooking { position: fixed; z-index: 59; right: 0; bottom: 0; left: 0; display: grid; min-height: 76px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); background: rgb(255 255 255 / .96); box-shadow: 0 -14px 32px rgb(5 46 43 / .13); backdrop-filter: blur(14px); }
  body:has(.dsv3-mobilebooking) .dsv3-floats { bottom: max(94px,calc(84px + env(safe-area-inset-bottom))); }
  .dsv3-mobilebooking small, .dsv3-mobilebooking strong { display: block; }
  .dsv3-mobilebooking small { color: var(--dsv3-muted); font-size: .65rem; }
  .dsv3-mobilebooking strong { margin-top: 3px; font-size: .9rem; }
  .dsv3-detailsection { scroll-margin-top: 124px; }
  .dsv3-vibes__intro { z-index: 6; top: 62px; margin-inline: -14px; padding: 20px 14px 15px; background: rgb(247 249 248 / .94); backdrop-filter: blur(14px); }
  .dsv3-vibes__intro h1 { max-width: none; font-size: 2.65rem; }
  .dsv3-vibes__intro > p { margin-top: 10px; font-size: .82rem; }
  .dsv3-values__grid { grid-template-columns: 1fr 1fr; }
  .dsv3-experiencegrid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dsv3-experiencegrid .dsv3-destinationcard:nth-child(7n + 1), .dsv3-experiencegrid .dsv3-destinationcard:nth-child(7n + 6) { grid-column: auto; }
  .dsv3-experiencehero__inner { grid-template-columns: minmax(0,1fr) 300px; gap: 28px; }
  .dsv3-experiencegateway { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dsv3-searchresults__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dsv3-regionhero, .dsv3-regionhero__inner { min-height: 680px; }
  .dsv3-regionhero__inner { grid-template-columns: 1fr; align-content: end; gap: 27px; padding-block: 62px 34px; }
  .dsv3-regionhero__crumbs ol { margin-bottom: 32px; }
  .dsv3-regionhero__stats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .dsv3-regionhero__stat, .dsv3-holidaytypepage .dsv3-regionhero__stat { min-height: 92px; grid-template-columns: 1fr; align-content: center; justify-items: start; gap: 5px; padding: 13px; }
  .dsv3-regionhero__stat strong, .dsv3-holidaytypepage .dsv3-regionhero__stat strong { font-size: 2.25rem; }
  .dsv3-regionhero__stat span { font-size: .6rem; }
  .dsv3-regionhero__stat svg { display: none; }
  .dsv3-holidaytypepage .dsv3-regionhero__stats { grid-template-columns: minmax(0,1fr); }
  .dsv3-regiongrid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .dsv3-regionrail { grid-auto-columns: 72%; }
  .dsv3-notfound__grid { grid-template-columns: 1fr; }
  .dsv3-notfound__grid aside { display: none; }
  .dsv3-notfound__cities { grid-template-columns: 1fr 1fr; }
  .dsv3-assist__inner { grid-template-columns: 1fr 1fr; padding-block: 30px; }
  .dsv3-assist__copy { grid-column: 1 / -1; }
  .dsv3-footer__main { grid-template-columns: 1fr 1fr; gap: 30px 18px; }
  .dsv3-footer__brand { grid-column: 1 / -1; }
  .dsv3-footer__legalinner { align-items: start; flex-direction: column; }
}

@media (max-width: 520px) {
  .dsv3-corpfacts, .dsv3-corpsteps, .dsv3-corpbenefits, .dsv3-corppeople { grid-template-columns: minmax(0,1fr); }
  .dsv3-corporate { padding-block: 22px 64px; }
  .dsv3-prerequest { padding: 20px 16px; }
  .dsv3-prerequest__fields { grid-template-columns: 1fr; }
  .dsv3-prerequest__fields > .dsv3-field:first-child { grid-column: auto; }
  .dsv3-activitysteps { gap: 3px; }.dsv3-activitysteps li { grid-template-columns: 27px minmax(0,1fr); gap: 5px; font-size: .56rem; }.dsv3-activitysteps li > span { width: 27px; height: 27px; }.dsv3-activitysteps li:not(:last-child)::after { top: 13px; }.dsv3-activitypurchase__step { margin-inline: -5px; padding: 17px 13px; border-radius: 20px; }.dsv3-activityslots__footer { align-items: stretch; flex-direction: column; }.dsv3-activityslots__footer input { width: 100%; }.dsv3-activityslots__footer .dsv3-btn { width: 100%; }.dsv3-activitycheckout__summary, .dsv3-activitycheckout__contact { padding: 16px 13px; }.dsv3-activitycheckout__contact { grid-template-columns: 1fr; }.dsv3-activitycheckout__contact .dsv3-field--wide, .dsv3-activitycheckout__error, .dsv3-activitycheckout__privacy, .dsv3-activitycheckout__contact > .dsv3-btn { grid-column: auto; }.dsv3-activitycheckout__phone { grid-column: auto; grid-template-columns: 95px minmax(0,1fr); }
  .dsv3-safari-tiers { grid-template-columns: 1fr; }
  .dsv3-shell { width: min(calc(100% - 22px),1240px); }
  .dsv3-section { padding-block: 58px; }
  .dsv3-notfound__hero { padding-block: 48px 58px; }
  .dsv3-notfound h1 { font-size: 3.65rem; }
  .dsv3-notfound__search { grid-template-columns: auto minmax(0,1fr); padding: 10px 12px; border-radius: 18px; }
  .dsv3-notfound__search .dsv3-btn { grid-column: 1 / -1; width: 100%; }
  .dsv3-notfound__actions { display: grid; grid-template-columns: 1fr; }
  .dsv3-notfound__actions .dsv3-btn { width: 100%; }
  .dsv3-notfound__cities { grid-template-columns: 1fr; }
  .dsv3-regionhero, .dsv3-regionhero__inner { min-height: 650px; }
  .dsv3-regionhero h1 { font-size: 3.7rem; }
  .dsv3-regionhero__inner > div:first-child > p { font-size: .83rem; }
  .dsv3-regionhero__actions { gap: 12px; }
  .dsv3-regionhero__actions .dsv3-btn { width: 100%; }
  .dsv3-regionhero__quiet { width: 100%; text-align: center; }
  .dsv3-regiongrid { gap: 7px; }
  .dsv3-regiongrid .dsv3-destinationcard { min-height: 230px; }
  .dsv3-regionrail { grid-auto-columns: 82%; }
  .dsv3-hero__inner { padding-block: 46px 56px; }
  .dsv3-hero__actions { display: grid; grid-template-columns: 1fr; }
  .dsv3-hero__actions .dsv3-btn { width: 100%; }
  .dsv3-hero__stage { height: 338px; }
  .dsv3-hero__cardcopy { right: 17px; bottom: 17px; left: 17px; }
  .dsv3-hero__cardcopy h2 { font-size: 1.34rem; }
  .dsv3-holiday__panel { padding: 19px; }
  .dsv3-holiday__panel h3 { font-size: 1.22rem; }
  .dsv3-holiday__bottom { align-items: start; flex-direction: column; }
  .dsv3-holiday__cta { max-width: 100%; white-space: normal; }
  .dsv3-holiday__flag { width: 66px; height: 44px; }
  .dsv3-rail { grid-auto-columns: 79%; }
  .dsv3-grid2 .dsv3-product { min-height: 245px; }
  .dsv3-newsletter__panel { padding: 23px 17px; border-radius: 22px; }
  .dsv3-newsletter__copy h2 { font-size: 2.75rem; }
  .dsv3-newsletter__form { padding: 15px; }
  .dsv3-newsletter__control { grid-template-columns: 20px minmax(0,1fr); padding: 10px 12px; border-radius: 17px; }
  .dsv3-newsletter__control .dsv3-btn { grid-column: 1 / -1; width: 100%; }
  .dsv3-product__copy { right: 13px; bottom: 14px; left: 13px; }
  .dsv3-dream h2 { font-size: 2.9rem; }
  .dsv3-dream__coordinate { display: none; }
  .dsv3-dream__form { grid-template-columns: 1fr; padding: 18px; }
  .dsv3-field--wide, .dsv3-formnote, .dsv3-formerror, .dsv3-consent, .dsv3-dream__submit { grid-column: auto; }
  .dsv3-visa-home__destinations { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .dsv3-visa-home__destinations a { min-height: 68px; gap: 7px; padding: 11px; font-size: .76rem; }
  .dsv3-club { padding-block: 58px; }
  .dsv3-club__panel { padding: 24px 20px; }
  .dsv3-club__ladder { grid-template-columns: 1fr; }
  .dsv3-clubintro { align-items: start; padding: 78px 12px 18px; }
  .dsv3-clubintro > section { padding: 24px 20px 22px; border-radius: 24px; }
  .dsv3-clubintro > section > img { width: 168px; height: 55px; }
  .dsv3-clubintro h2 { margin-top: 18px; font-size: 2.35rem; }
  .dsv3-clubintro__offer { gap: 8px; margin-bottom: 20px; }
  .dsv3-clubintro__offer p { font-size: .78rem; }
  .dsv3-destinationsection__aside { justify-items: start; }
  .dsv3-destinationrail { grid-auto-columns: 82%; }
  .dsv3-destinationgrid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .dsv3-destinationcard { min-height: 245px; border-radius: 17px; }
  .dsv3-destinationcard--compact { min-height: 190px; }
  .dsv3-destinationcard__copy { right: 13px; bottom: 14px; left: 13px; }
  .dsv3-destinationcard__copy strong { font-size: .94rem; }
  .dsv3-destinationcard__copy small { font-size: .65rem; }
  .dsv3-az__groups { grid-template-columns: 1fr 1fr; gap: 28px 14px; }
  .dsv3-az__group a, .dsv3-az__disabled { min-height: 44px; }
  .dsv3-continent summary > span:last-child { font-size: .68rem; }
  .dsv3-continent__grid { grid-template-columns: 1fr 1fr; gap: 7px; padding: 0 7px 7px; }
  .dsv3-desthero__title { align-items: flex-start; flex-direction: column; }
  .dsv3-desthero__title img { width: 48px; height: 32px; }
  .dsv3-desthero h1 { font-size: 3.5rem; }
  .dsv3-desthero__stage { height: 350px; }
  .dsv3-desthero__preview { grid-template-columns: 88px minmax(0,1fr) auto; }
  .dsv3-desthero__storycopy strong { font-size: 1.16rem; }
  .dsv3-destinationeditorial h2 { font-size: 3rem; }
  .dsv3-guide { padding: 24px 20px; }
  .dsv3-gatewaygrid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .dsv3-gatewaygrid a { min-height: 96px; padding: 13px; }
  .dsv3-tourlisthead h1, .dsv3-cruisehero h1 { font-size: 3.35rem; }
  .dsv3-hotellisthead:not(.dsv3-hotellisthead--catalogue) { padding-top: 48px; }
  .dsv3-hotellisthead--catalogue, .dsv3-hotellisthead__inner { min-height: 650px; }
  .dsv3-hotellisthead__inner { padding-block: 48px 30px; }
  .dsv3-hotellisthead h1 { font-size: 3.25rem; }
  .dsv3-hotelbrandhero h1 { font-size: 4rem; }
  .dsv3-hotelbrandhero__inner > div:first-child > img { max-width: 145px; height: 44px; margin-top: 22px; }
  .dsv3-hotelbrandabout h2 { font-size: 3.5rem; }
  .dsv3-stayhandover { padding-block: 24px 62px; }
  .dsv3-stayhandover__card { margin-top: 20px; padding: 30px 18px; border-radius: 22px; }
  .dsv3-stayhandover h1 { font-size: 3.7rem; }
  .dsv3-stayhandover__actions { display: grid; width: 100%; grid-template-columns: 1fr; }
  .dsv3-stayhandover__actions .dsv3-btn { width: 100%; }
  .dsv3-hotelsearch { grid-template-columns: 1fr; gap: 1px; padding: 10px; }
  .dsv3-hotelcontrols { grid-template-columns: 1fr; }
  .dsv3-hotelcontrols > .dsv3-hotelsearch { grid-column: 1; grid-row: 1; border-radius: 18px 18px 0 0; }
  .dsv3-hotelcontrols > .dsv3-hotelfilter > summary { grid-column: 1; grid-row: 2; width: 58px; min-width: 58px; min-height: 58px; justify-self: end; border-radius: 0 0 18px 18px; }
  .dsv3-hotelcontrols > .dsv3-hotelfilter > .dsv3-filter__reveal { grid-column: 1; grid-row: 3; }
  .dsv3-hotelsearch > .dsv3-btn { width: 100%; min-height: 54px; border-radius: var(--dsv3-pill); }
  .dsv3-hotelsearch .dsv3-range__controls { min-height: 66px; }
  .dsv3-livesuggest--hotel { top: calc(100% + 6px); left: -10px; width: calc(100% + 20px); max-height: 58vh; }
  .dsv3-hotelsuggest__destinations > div,.dsv3-hotelsuggest__hotels > div { grid-template-columns: 1fr; }
  .dsv3-hotelfilter__form { grid-template-columns: 1fr; padding-inline: 15px; }
  .dsv3-hotelfilter__amenities .dsv3-hotelfilter__checks { grid-template-columns: 1fr; }
  .dsv3-hotelfilter .dsv3-filter__actions { display: grid; grid-template-columns: 1fr; }
  .dsv3-hotelgrid { grid-template-columns: 1fr; }
  .dsv3-staysearch__nationality { justify-content: space-between; padding-inline: 3px; }
  .dsv3-staysearchcard { grid-template-columns: 1fr; }
  .dsv3-staysearchcard__media { min-height: 245px; }
  .dsv3-staysearchcard__copy { padding: 19px; }
  .dsv3-hotelcard__media { height: 245px; }
  .dsv3-hotelgallery > .dsv3-shell { height: 330px; grid-template-columns: 1fr 1fr; grid-template-rows: 1.45fr .8fr; border-radius: 18px; }
  .dsv3-hotelgallery__cell--1 { grid-column: 1 / 3; grid-row: 1; }
  .dsv3-hotelgallery__cell--4, .dsv3-hotelgallery__cell--5 { display: none; }
  .dsv3-hoteltitle { padding-top: 20px; }
  .dsv3-hoteltitle__grid { margin-top: 20px; }
  .dsv3-hoteltitle__name { align-items: flex-start; flex-direction: column-reverse; gap: 10px; }
  .dsv3-hoteltitle__name h1 { font-size: 2.7rem; }
  .dsv3-hoteltitle__name img { max-width: 105px; height: 30px; }
  .dsv3-hoteltitle__actions { justify-content: start; }
  // Paylaş ve kaydet düğmeleri dsv3 bileşenine geçti (.dsv3-pageaction); otel tarih şeridi de
  // dsv3'e geçti (.dsv3-staybar). İki dal aynı blokta buluştu, ikisinin de yeni adı alındı.
  .dsv3-hoteltitle__actions .dsv3-pageaction span, .dsv3-detailactions .dsv3-pageaction span { display: none; }
  .dsv3-hoteltitle__actions .dsv3-pageaction, .dsv3-detailactions .dsv3-pageaction { width: 43px; padding: 0; justify-content: center; }
  .dsv3-staybar { grid-template-columns: 1fr; padding: 10px; }
  .dsv3-staybar__cell { min-height: 66px; box-shadow: 0 -1px 0 var(--dsv3-line); }
  .dsv3-staybar__cell:first-child { box-shadow: none; }
  .dsv3-staybar__submit { width: 100%; min-height: 52px; }
  .dsv3-facilities { grid-template-columns: 1fr 1fr; gap: 7px; }
  .dsv3-transfergrid { grid-template-columns: 1fr; }
  .dsv3-hotelfacts { grid-template-columns: 1fr; }
  .dsv3-hotelmap iframe, .dsv3-hotelmap > img { height: 330px; }
  .dsv3-cityguide > .dsv3-destinationmedia { min-height: 300px; }
  .dsv3-cityguide--text > div > ul { grid-template-columns: 1fr; }
  .dsv3-hotelreviews { grid-template-columns: 1fr; }
  .dsv3-hotelrail { grid-auto-columns: 82%; }
  .dsv3-hotelrooms iframe { min-height: 660px; }
  .dsv3-experienceindex__hero { padding-top: 52px; }
  .dsv3-experienceindex__hero h1 { font-size: 3.35rem; }
  .dsv3-experiencefilters { grid-template-columns: 1fr; }
  .dsv3-experiencefilter > div { position: static; margin-top: 7px; }
  .dsv3-experiencegrid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .dsv3-experiencehero { min-height: auto; }
  .dsv3-experiencehero__inner { min-height: 650px; grid-template-columns: 1fr; align-content: end; gap: 24px; padding-block: 74px 34px; }
  .dsv3-experiencecrumbs li:last-child { display: none; }
  .dsv3-experiencehero h1 { max-width: 12ch; font-size: clamp(2.65rem,11vw,3.2rem); line-height: .88; letter-spacing: -.06em; }
  .dsv3-experiencehero__card { max-width: 520px; }
  .dsv3-experienceabout > .dsv3-shell { grid-template-columns: 1fr; gap: 24px; }
  .dsv3-experienceposts { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 78%; overflow-x: auto; padding-bottom: 9px; scroll-snap-type: x mandatory; }
  .dsv3-experiencepost { scroll-snap-align: start; }
  .dsv3-experiencegateway { grid-template-columns: 1fr 1fr; }
  .dsv3-experiencerail { grid-auto-columns: 82%; }
  .dsv3-searchpage { padding-block: 38px 64px; }
  .dsv3-searchpage__form { min-height: 62px; padding-left: 15px; }
  .dsv3-searchpage__form .dsv3-btn { min-height: 48px; padding-inline: 16px; }
  .dsv3-searchdiscovery { padding: 18px; border-radius: 20px; }
  .dsv3-searchdiscovery__destinations { grid-template-columns: 1fr 1fr; }
  .dsv3-searchdiscovery__products { grid-template-columns: 1fr; }
  .dsv3-searchresults__grid { grid-template-columns: 1fr 1fr; }
  .dsv3-activityindex__hero { padding-block: 48px 52px; }.dsv3-activityindex__hero .dsv3-tourcrumbs { margin-bottom: 34px; }.dsv3-activityindex__hero h1 { font-size: 3.5rem; }
  .dsv3-activitygrid { grid-template-columns: 1fr 1fr; gap: 8px; }.dsv3-activitycard { min-height: 300px; border-radius: 16px; }.dsv3-activitycard__body { padding: 16px; }.dsv3-activitycard__body > strong { font-size: 1.08rem; }
  .dsv3-activityhero { min-height: auto; }.dsv3-activityhero__inner { min-height: 660px; grid-template-columns: 1fr; align-content: end; gap: 24px; padding-block: 72px 32px; }.dsv3-activityhero .dsv3-activitycrumbs li:last-child { display: none; }.dsv3-activityhero h1 { max-width: 13ch; font-size: clamp(2.65rem,11vw,3.2rem); line-height: .88; }.dsv3-activitybooking { max-width: 520px; }
  .dsv3-activityphotos { height: 430px; grid-template-columns: 1.2fr .8fr; }.dsv3-activityphotos figure:nth-child(n + 4) { display: none; }.dsv3-activitydate, .dsv3-activityorder { grid-template-columns: 1fr; }.dsv3-activitydate .dsv3-btn, .dsv3-activityorder .dsv3-btn { width: 100%; }.dsv3-activityslots__group > div, .dsv3-activitycheckout__grid { grid-template-columns: 1fr; }
  .dsv3-activitybar { position: fixed; z-index: 64; right: 0; bottom: 0; left: 0; display: grid; min-height: 76px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 9px max(14px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); background: rgb(255 255 255 / .96); box-shadow: 0 -15px 35px -28px rgb(5 46 43 / .6); backdrop-filter: blur(15px); }.dsv3-activitybar > span { min-width: 0; overflow: hidden; color: var(--dsv3-muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }.dsv3-activitybar small, .dsv3-activitybar strong { display: block; }.dsv3-activitybar strong { margin-top: 2px; color: var(--dsv3-ink); font-size: .9rem; }.dsv3-activitybar .dsv3-btn { min-height: 48px; padding-inline: 15px; font-size: .72rem; }
  body:has(.dsv3-activitybar) .dsv3-floats { bottom: max(94px,calc(84px + env(safe-area-inset-bottom))); }
  body:has(.dsv3-activitybar) .dsv3-footer { padding-bottom: 78px; }
  .dsv3-iconicindex__intro { padding-block: 62px 70px; }.dsv3-iconicindex__intro h1 { font-size: 4.3rem; }.dsv3-iconicindex__intro p { font-size: .82rem; }
  .dsv3-iconicgrid { grid-template-columns: 1fr 1fr; gap: 7px; }.dsv3-iconicgrid .dsv3-destinationcard { min-height: 250px; border-radius: 16px; }.dsv3-iconicgrid .dsv3-destinationcard__copy { padding: 14px; }.dsv3-iconicgrid .dsv3-destinationcard__copy strong { font-size: .93rem; }
  .dsv3-iconicrail__track { display: grid; grid-auto-flow: column; grid-auto-columns: 82%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }.dsv3-iconicrail__track > * { scroll-snap-align: start; }.dsv3-iconicrail__track::-webkit-scrollbar { display: none; }
  .dsv3-iconicdetail__hero { padding: 14px 0 30px; }.dsv3-iconicdetail__hero-grid { min-height: 0; grid-template-columns: 1fr; border-radius: 21px; }.dsv3-iconicdetail__media { min-height: 360px; }.dsv3-iconicdetail__heading { padding: 30px 20px 34px; }.dsv3-iconicdetail__heading h1 { font-size: 3.25rem; }.dsv3-iconicdetail__heading > .dsv3-btn { width: 100%; }.dsv3-iconicdetail__story-grid { grid-template-columns: 1fr; }.dsv3-iconicdetail__story article > h2 { font-size: 3rem; }.dsv3-iconicrequest { position: static; padding: 22px 17px; border-radius: 20px; }.dsv3-iconicrelated { display: grid; grid-auto-flow: column; grid-auto-columns: 82%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }.dsv3-iconicrelated > * { scroll-snap-align: start; }.dsv3-iconicgateway { grid-template-columns: 1fr; }
  .dsv3-auth { display: block; min-height: 100svh; background: #fff; }
  .dsv3-auth__story { display: none; }
  .dsv3-auth__panel { display: block; min-height: 100svh; padding: 126px 20px 42px; }
  .dsv3-auth__brand { position: absolute; top: 24px; left: 50%; width: min(250px,72vw); padding: 14px 18px; border-radius: 18px; background: rgb(var(--dsv3-primary-950)); transform: translateX(-50%); }
  .dsv3-auth__card { margin-inline: auto; }
  .dsv3-auth__tabs { margin-bottom: 31px; }
  .dsv3-auth__card header h1 { font-size: 3rem; }
  .dsv3-auth__card header p { margin-bottom: 26px; }
  .dsv3-checkout, .dsv3-paymentresult { padding-block: 25px 62px; }
  .dsv3-journey { margin-bottom: 32px; padding: 14px 9px; border-radius: 18px; }
  .dsv3-journey ol::before { top: 15px; right: 10%; left: 10%; }
  .dsv3-journey li { gap: 6px; }.dsv3-journey li > span { width: 31px; height: 31px; box-shadow: 0 0 0 5px #fff; }.dsv3-journey li > strong { font-size: .56rem; }
  .dsv3-checkout__head h1 { font-size: 3.25rem; }.dsv3-checkout__head > p { align-items: flex-start; flex-direction: column; gap: 9px; }
  .dsv3-checkout__layout, .dsv3-cart__layout { grid-template-columns: 1fr; }
  .dsv3-checkoutaside { position: static; grid-row: 1; }
  .dsv3-hotelcheckout__help { grid-row: auto; }
  .dsv3-portalhero > .dsv3-shell { min-height: 310px; padding-block: 55px 42px; }.dsv3-portalhero h1 { font-size: 3.25rem; }.dsv3-portalbar { top: 61px; }.dsv3-portalnav { justify-content: start; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: max-content; min-width: 0; padding-inline: 10px; }.dsv3-portalnav a { min-height: 44px; padding-inline: 12px; }.dsv3-portalbody { padding-block: 22px 62px; }.dsv3-portaloverview__top { grid-template-columns: 1fr; }.dsv3-portalpoint, .dsv3-portaltier, .dsv3-portalsection, .dsv3-portalsupport > .supportform { padding: 21px 17px; border-radius: 20px; }.dsv3-portalsection > header { align-items: flex-start; flex-direction: column; gap: 8px; }.dsv3-portalsection > header h2, .dsv3-portalsupport > .supportform .supportform__lead h2 { font-size: 1.75rem; }.dsv3-portalproducts { grid-template-columns: 1fr; }.dsv3-portalorder { align-items: start; grid-template-columns: 1fr; }.dsv3-portalorder > div:last-child { grid-auto-flow: column; justify-content: start; justify-items: start; align-items: center; }.dsv3-portalclaim, .dsv3-portalprofile, .dsv3-portalprofile dl { grid-template-columns: 1fr; }.dsv3-portalclaim .dsv3-btn { width: 100%; }.dsv3-portalrequests article { grid-template-columns: 1fr; }.dsv3-portal .supportform__form { grid-template-columns: 1fr; }.dsv3-portal .supportform__field--wide, .dsv3-portal .supportform__actions, .dsv3-portal .supportform__outcome { grid-column: auto; }.dsv3-portal .supportform__actions { align-items: flex-start; flex-direction: column; }.dsv3-portal .supportform__actions .btn { width: 100%; }
  .dsv3-checkoutfields { grid-template-columns: 1fr; }.dsv3-checkoutdiscount { grid-template-columns: 1fr; }
  .dsv3-checkoutextra { align-items: flex-start; flex-direction: column; gap: 9px; }
  .dsv3-cartitem { align-items: start; grid-template-columns: 1fr; }.dsv3-cartitem > strong { justify-self: start; }
  .dsv3-paymentresult__card { padding: 38px 20px; }.dsv3-paymentresult__actions { display: grid; grid-template-columns: 1fr; }.dsv3-paymentresult__actions .dsv3-btn { width: 100%; }
  .dsv3-safarihero, .dsv3-safarihero__inner { min-height: 670px; }.dsv3-safarihero__inner { grid-template-columns: 1fr; align-content: end; gap: 26px; padding-block: 62px 34px; }.dsv3-safarihero__sun { top: 12%; right: 11%; width: 104px; }.dsv3-safarihero__dunes { right: -35%; bottom: -8%; width: 135%; height: 48%; }.dsv3-safarihero .dsv3-tourcrumbs { margin-bottom: 34px; }.dsv3-safarihero h1 { max-width: 8ch; font-size: 4.15rem; }.dsv3-safarihero__facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }.dsv3-safarihero__facts > span { min-height: 92px; grid-template-columns: 1fr; grid-template-rows: 25px auto auto; align-content: center; padding: 10px; }.dsv3-safarihero__facts svg { grid-row: auto; }.dsv3-safarihero__facts small, .dsv3-safarihero__facts strong { font-size: .57rem; }
  .dsv3-safariform { grid-template-columns: 1fr; }.dsv3-safariform__aside { position: static; grid-row: 1; }.dsv3-safaristep { padding: 21px 17px; }.dsv3-safariguests, .dsv3-safaricontact { grid-template-columns: 1fr; }.dsv3-safaricontact > .dsv3-safarifield:last-child { grid-column: auto; }.dsv3-safaricamps { grid-template-columns: 1fr; }.dsv3-safaricamp { min-height: 112px; }.dsv3-safarimodes { grid-template-columns: 1fr 1fr; }.dsv3-safariphone { grid-template-columns: 105px minmax(0,1fr); }.dsv3-safarirefresh { width: 100%; }.dsv3-safaripurchase { margin-top: 22px; padding-top: 24px; }
  .dsv3-visahero__inner { min-height: 650px; grid-template-columns: 1fr; align-content: end; gap: 25px; padding-block: 64px 34px; }.dsv3-visahero h1 { font-size: 3.75rem; }.dsv3-visahero__prices { padding: 19px; }
  .dsv3-visawork, .dsv3-visastatus { padding-block: 28px 62px; }.dsv3-visajourney { margin-bottom: 31px; padding: 14px 8px; }.dsv3-visajourney ol::before { top: 15px; }.dsv3-visajourney li > span { width: 31px; height: 31px; box-shadow: 0 0 0 5px #fff; }.dsv3-visajourney li > strong { font-size: .56rem; }.dsv3-visasetup { grid-template-columns: 1fr; }.dsv3-visasetup .dsv3-btn { width: 100%; }.dsv3-visaform { grid-template-columns: 1fr; }.dsv3-visaform__aside { position: static; grid-row: 1; }.dsv3-visaapplicant, .dsv3-visaconsents, .dsv3-visastatuscard { padding: 21px 17px; }.dsv3-visafields { grid-template-columns: 1fr; }.dsv3-visaphone { grid-template-columns: 105px minmax(0,1fr); }.dsv3-visastatussearch { grid-template-columns: 1fr; padding: 17px; }.dsv3-visastatussearch .dsv3-btn { width: 100%; }.dsv3-visastatuscard header { align-items: flex-start; flex-direction: column; }.dsv3-visadocument { grid-template-columns: 1fr; }.dsv3-visadocument .dsv3-btn { width: 100%; }
  .dsv3-tourlisthead { min-height: auto; }
  .dsv3-tourlisthead__inner { min-height: 0; padding-block: 29px 22px; }
  .dsv3-listingsearch { grid-template-columns: 1fr; padding: 9px; }
  .dsv3-listingfield, .dsv3-listingfield:nth-of-type(odd) { min-height: 57px; box-shadow: 0 -1px 0 var(--dsv3-line); }
  .dsv3-listingfield:first-of-type { box-shadow: none; }
  .dsv3-listingsearch > .dsv3-btn { grid-column: auto; }
  .dsv3-tourmonth { min-height: 57px; box-shadow: 0 -1px 0 var(--dsv3-line); }
  .dsv3-tourmonth__panel { width: calc(100vw - 40px); }
  .dsv3-tourmonth__grid { grid-template-columns: 1fr 1fr; }
  .dsv3-filter > summary { padding-inline: 15px; }
  .dsv3-filter__form, .dsv3-filter__form--cruise { grid-template-columns: 1fr; padding-inline: 15px; }
  .dsv3-filter__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .dsv3-filter__actions .dsv3-btn { min-width: 0; padding-inline: 10px; font-size: .72rem; }
  .dsv3-tourcard { display: block; }
  .dsv3-tourcard__media { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
  .dsv3-tourgallery__mozaik { height: 330px; grid-template-columns: 1fr 1fr; grid-template-rows: 1.45fr .8fr; border-radius: 18px; }
  .dsv3-tourgallery__cell--1 { grid-column: 1 / 3; grid-row: 1; }
  .dsv3-tourgallery__cell--4, .dsv3-tourgallery__cell--5 { display: none; }
  .dsv3-tourtitle { padding-top: 20px; }
  .dsv3-tourtitle__grid { margin-top: 20px; }
  .dsv3-tourtitle h1 { font-size: 2.75rem; }
  .dsv3-tourtitle__marks { justify-content: start; }
  .dsv3-detailsection + .dsv3-detailsection { margin-top: 54px; }
  .dsv3-detailrail { grid-auto-columns: 82%; }
  .dsv3-itinerary summary { grid-template-columns: 38px minmax(0,1fr) auto; padding-inline: 12px; }
  .dsv3-itinerary details > div { padding: 0 13px 17px 62px; }
  .dsv3-reviewgrid { grid-template-columns: 1fr; }
  .dsv3-detailsection .departure__head { grid-template-columns: minmax(0,1fr) auto; padding-inline: 13px; }
  .dsv3-detailsection .departure__chevron { display: none; }
  .dsv3-detailsection .departure__form { padding-inline: 13px; }
  .dsv3-detailsection .occupancy { grid-template-columns: 1fr; }
  .dsv3-tourrail { grid-auto-columns: 82%; }
  .dsv3-vibes { padding-top: 0; }
  .dsv3-vibes__cards { gap: 8px; }
  .dsv3-vibecard { border-radius: 15px; }
  .dsv3-vibes__foot { margin-inline: -3px; padding: 10px; }
  .dsv3-vibes__foot .dsv3-btn--ghost { display: none; }
  .dsv3-vibes__foot .dsv3-btn { min-height: 44px; padding-inline: 14px; font-size: .76rem; }
  .dsv3-vibeready__card { width: min(calc(100% - 22px),820px); padding: 38px 21px; }
  .dsv3-vibeready__actions { display: grid; grid-template-columns: 1fr; }
  .dsv3-assist__inner { gap: 8px; }
  .dsv3-assist .dsv3-btn { min-width: 0; padding-inline: 11px; font-size: .75rem; }
  .dsv3-footer__main { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsv3-footer__brand { grid-column: 1 / -1; }
  .dsv3-footer__credits { align-items: start; flex-direction: column; gap: 4px; }
}

/* Production acceptance floor: readable decision copy and finger-sized controls.
 * Decorative legal copy in the footer is intentionally excluded; all interactive metadata and
 * product helpers stay at least 13px, while icon-only actions expose a 44px hit area. */
.dsv3-root small,
.dsv3-root .dsv3-kicker,
.dsv3-root .dsv3-hero__mode,
.dsv3-root .dsv3-searchpanel h3,
.dsv3-root .dsv3-livesuggest h3,
.dsv3-root .dsv3-subnav a,
.dsv3-root .dsv3-desthero__crumbs ol,
.dsv3-root .dsv3-tourcrumbs ol,
.dsv3-root .dsv3-hotelcrumbs ol,
.dsv3-root .dsv3-regionhero__crumbs ol,
.dsv3-root .dsv3-filter__form label > span,
.dsv3-root .dsv3-hotelfilter legend,
.dsv3-root .dsv3-hotelfilter__sort > span,
.dsv3-root .dsv3-hotelfilter__checks label,
.dsv3-root .dsv3-hotelcard__place,
.dsv3-root .dsv3-hotelcard__copy > p,
.dsv3-root .dsv3-experiencefacts strong,
.dsv3-root .dsv3-experiencepost header strong,
.dsv3-root .dsv3-experiencepost footer strong,
.dsv3-root .dsv3-experiencegateway a small,
.dsv3-root .dsv3-activitybar > span,
.dsv3-root .dsv3-journey li > strong,
.dsv3-root .dsv3-visajourney li > strong,
.dsv3-root .dsv3-regionhero__stat span,
.dsv3-root .dsv3-detailsection .tourpick__step-title,
.dsv3-root .dsv3-detailsection .tourpick__stay-hotel,
.dsv3-root .dsv3-detailsection .tourpick__stay-meta,
.dsv3-root .dsv3-detailsection .tourpick__note,
.dsv3-root .dsv3-detailsection .occupancy__trigger-label,
.dsv3-root .dsv3-detailsection .occupancy__line,
.dsv3-root .dsv3-detailsection .occupancy__total-label,
.dsv3-root .dsv3-detailsection .occupancy__total-note,
.dsv3-root .dsv3-detailsection .occupancy__row-note,
.dsv3-root .dsv3-detailsection .occupancy__reason,
.dsv3-root .dsv3-detailsection .occupancy__agent-body,
.dsv3-root .dsv3-safarihero__facts strong,
.dsv3-root .dsv3-safarifield > span,
.dsv3-root .dsv3-safariselect > span,
.dsv3-root .dsv3-visafield > span,
.dsv3-root .dsv3-visaconsent,
.dsv3-root .dsv3-visastatusnote,
.dsv3-root .dsv3-visadocument input {
  font-size: .8125rem;
}
.dsv3-root .dsv3-formnote,
.dsv3-root .dsv3-formerror,
.dsv3-root .dsv3-consent,
.dsv3-root .dsv3-hotelsearch__hint,
.dsv3-root .dsv3-safaristep > p,
.dsv3-root .dsv3-safariquote > p,
.dsv3-root .dsv3-safaricamp em,
.dsv3-root .dsv3-visaguardian > p,
.dsv3-root .dsv3-visaapplicant__contact > p,
.dsv3-root .dsv3-visaconsents > p,
.dsv3-root .dsv3-visaerror {
  font-size: .8125rem!important;
}

/* Consent strip is injected after the Design V3 root, so it intentionally is not root-scoped. */
.consent-strip { position: sticky; z-index: 90; bottom: 0; color: var(--dsv3-ink); background: rgb(255 255 255 / .97); box-shadow: 0 -12px 38px rgb(5 46 43 / .13); backdrop-filter: blur(16px); }
.consent-strip__inner { display: grid; max-width: var(--dsv3-shell); min-height: 62px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 22px; margin: 0 auto; padding: 8px var(--dsv3-gutter); }
.consent-strip__text { min-width: 0; }.consent-strip__summary { cursor: pointer; }.consent-strip__summary::marker { color: rgb(var(--dsv3-primary-600)); }.consent-strip__lead { display: block; overflow: hidden; color: var(--dsv3-muted); font-size: .68rem; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }.consent-strip__heading { color: var(--dsv3-ink); font-weight: 780; }
.consent-strip__detail { padding: 8px 0 3px; }.consent-strip__body,.consent-strip__note { margin: 0; color: var(--dsv3-muted); font-size: .64rem; line-height: 1.5; }.consent-strip__note { margin-top: 4px; }.consent-strip__link { color: var(--dsv3-accent-strong); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.consent-strip__choices { display: flex; gap: 7px; }.consent-strip__choice { min-height: 44px; padding: 0 17px; border: 0; border-radius: var(--dsv3-pill); color: #fff; background: var(--dsv3-button); font: inherit; font-size: .68rem; font-weight: 760; cursor: pointer; box-shadow: var(--dsv3-shadow-xs); }.consent-strip__choice:hover { filter: brightness(.97); }.consent-strip__choice:focus-visible,.consent-strip__summary:focus-visible { outline: 3px solid rgb(var(--dsv3-primary-300)); outline-offset: 2px; }
@media (max-width:760px) { .consent-strip__inner { min-height: 0; grid-template-columns: 1fr; gap: 8px; padding-block: 10px max(10px,env(safe-area-inset-bottom)); }.consent-strip__lead { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }.consent-strip__choices { width: 100%; }.consent-strip__choice { flex: 1 1 0; } }
.dsv3-root .dsv3-experiencehero__card p,
.dsv3-root .dsv3-transfergrid p {
  font-size: .875rem;
}
.dsv3-root .dsv3-hotelmap figcaption { font-size: .8125rem; }

.dsv3-root .dsv3-portalsection > header p,
.dsv3-root .dsv3-portalorder small,
.dsv3-root .dsv3-portalorder span,
.dsv3-root .dsv3-portalorder p,
.dsv3-root .dsv3-portalempty p,
.dsv3-root .dsv3-portalladder small,
.dsv3-root .dsv3-portalladder em,
.dsv3-root .dsv3-portalrules li,
.dsv3-root .dsv3-portalclaim label span,
.dsv3-root .dsv3-portalreview label span,
.dsv3-root .dsv3-portalreview > p,
.dsv3-root .dsv3-portalreview summary,
.dsv3-root .dsv3-portalfavorites small,
.dsv3-root .dsv3-portalrequests article,
.dsv3-root .dsv3-portalrequests small,
.dsv3-root .dsv3-portalprofile dt,
.dsv3-root .dsv3-portalprofile dd,
.dsv3-root .dsv3-portalnotify small,
.dsv3-root .dsv3-portalnotify > p,
.dsv3-root .dsv3-portalsupport > .supportform .supportform__lead p,
.dsv3-root .dsv3-portal .supportform__field > label,
.dsv3-root .dsv3-portal .supportform__note,
.dsv3-root .dsv3-portal .supportform__outcome,
.dsv3-root .dsv3-portal .supportform__error,
.dsv3-root .dsv3-portalnote {
  font-size: .8125rem;
}

.dsv3-root .dsv3-dot {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 0;
  background: transparent;
  transition: none;
}
.dsv3-root .dsv3-dot::after {
  width: 8px;
  height: 8px;
  border-radius: var(--dsv3-pill);
  background: rgb(255 255 255 / .32);
  transition: width .25s ease,background .25s ease;
  content: "";
}
.dsv3-root .dsv3-dot[aria-current="true"] { width: 44px; background: transparent; }
.dsv3-root .dsv3-dot[aria-current="true"]::after { width: 26px; background: rgb(var(--dsv3-primary-200)); }
.dsv3-root .dsv3-dots { gap: 0; }

.dsv3-root .dsv3-desthero__controls button { width: 44px; height: 44px; }
.dsv3-root .dsv3-desthero__controls [data-dsv3-hero-dot] {
  width: 44px;
  height: 44px;
  border-radius: 0;
  background: transparent;
}
.dsv3-root .dsv3-desthero__controls [data-dsv3-hero-dot]::after {
  width: 24px;
  height: 4px;
  border-radius: var(--dsv3-pill);
  background: rgb(255 255 255 / .32);
  content: "";
}
.dsv3-root .dsv3-desthero__controls [data-dsv3-hero-dot][aria-current="true"] { background: transparent; }
.dsv3-root .dsv3-desthero__controls [data-dsv3-hero-dot][aria-current="true"]::after { background: rgb(var(--dsv3-primary-200)); }
.dsv3-root .dsv3-desthero__controls > div { gap: 0; }

.dsv3-root .dsv3-social a,
.dsv3-root .dsv3-az__jump a,
.dsv3-root .dsv3-hotelcard__arrow,
.dsv3-root .dsv3-pagination a,
.dsv3-root .dsv3-pagination span,
.dsv3-root .dsv3-hoteltitle__actions .dsv3-pageaction,
.dsv3-root .dsv3-hoteltitle__actions .dsv3-sharepanel__close {
  min-width: 44px;
  width: 44px;
  min-height: 44px;
  height: 44px;
}
.dsv3-root .dsv3-holiday__cta,
.dsv3-root .dsv3-desthero__pills a,
.dsv3-root .dsv3-tourtitle__facts > span,
.dsv3-root .dsv3-variants a,
.dsv3-root .dsv3-variants span,
.dsv3-root .dsv3-experiencefilter > div a,
.dsv3-root .dsv3-experiencefilters__active a,
.dsv3-root .dsv3-experiencehero__whatsapp {
  min-height: 44px;
}
.dsv3-root .dsv3-detailsection .occupancy__stepper { grid-template-columns: 44px 44px 44px; }
.dsv3-root .dsv3-detailsection .occupancy__step { width: 44px; height: 44px; }
.dsv3-root .dsv3-traveller__panel .dsv3-counter__control { grid-template-columns: 44px 40px 44px; }
.dsv3-root .dsv3-traveller__panel .dsv3-counter__step:not([hidden]) { width: 44px; height: 44px; }

/* Dubai Safari onaylı lab sözleşmesi: fotoğraflı kahraman, tarife kartı ve dört-adımlı akış. */
.dsv3-root .dsv3-safari-page { background: rgb(var(--dsv3-gray-50)); }
.dsv3-root .dsv3-safarihero { min-height: 590px; background: rgb(var(--dsv3-primary-950)); }
.dsv3-root .dsv3-safarihero__media, .dsv3-root .dsv3-safarihero__shade { position: absolute; inset: 0; }
.dsv3-root .dsv3-safarihero__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); }
.dsv3-root .dsv3-safarihero__shade { background: linear-gradient(90deg,rgb(5 35 32 / .93) 0%,rgb(5 35 32 / .69) 52%,rgb(5 35 32 / .26) 100%); }
.dsv3-root .dsv3-safarihero__inner { min-height: 590px; grid-template-columns: minmax(0,1fr) 310px; align-items: end; gap: 70px; padding-block: 82px 58px; }
.dsv3-root .dsv3-safarihero__copy { max-width: 790px; }
.dsv3-root .dsv3-safarihero h1 { max-width: 12ch; margin: 0; font-size: clamp(3.25rem,6vw,5.8rem); line-height: .94; letter-spacing: -.06em; }
.dsv3-root .dsv3-safarihero__copy > p { max-width: 64ch; margin: 18px 0 0; color: rgb(255 255 255 / .76); font-size: .96rem; line-height: 1.7; }
.dsv3-root .dsv3-safarihero__facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.dsv3-root .dsv3-safarihero__facts > span { display: inline-flex; min-height: 34px; grid-template: none; align-items: center; gap: 7px; padding: 0 12px; border-radius: var(--dsv3-pill); background: rgb(255 255 255 / .12); font-size: .67rem; backdrop-filter: blur(8px); }
.dsv3-root .dsv3-safarihero__facts svg { grid-row: auto; color: rgb(var(--dsv3-primary-200)); }
.dsv3-root .dsv3-safarihero__tariff { padding: 22px; border-radius: 18px; background: rgb(5 46 43 / .74); box-shadow: 0 24px 60px rgb(0 0 0 / .22); backdrop-filter: blur(14px); }
.dsv3-root .dsv3-safarihero__tariff small { display: block; color: rgb(255 255 255 / .54); font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }
.dsv3-root .dsv3-safarihero__tariff > span { display: block; margin-top: 12px; color: rgb(var(--dsv3-primary-200)); font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.dsv3-root .dsv3-safarihero__tariff strong { display: block; max-width: 10ch; margin-top: 6px; font-size: 1.85rem; line-height: 1.02; letter-spacing: -.04em; text-wrap: balance; }
.dsv3-root .dsv3-safarihero__tariff strong b { display: block; color: rgb(var(--dsv3-primary-200)); font-weight: inherit; white-space: nowrap; }
.dsv3-root .dsv3-safarihero__tariff em { display: block; margin-top: 7px; color: white; font-size: .78rem; font-style: normal; font-weight: 600; }
.dsv3-root .dsv3-safarihero__tariff p { margin: 8px 0 0; color: rgb(255 255 255 / .68); font-size: .69rem; line-height: 1.55; }
.dsv3-root .dsv3-safaricrumbbar .dsv3-tourcrumbs { margin: 0; }
.dsv3-root .dsv3-safariwork { padding-block: 56px 82px; }
.dsv3-root .dsv3-safariwork__head { display: grid; grid-template-columns: minmax(0,1fr) 390px; align-items: end; gap: 40px; margin-bottom: 30px; }
.dsv3-root .dsv3-safariwork__head h2 { max-width: 15ch; margin: 8px 0 0; font-size: clamp(2.35rem,4vw,4rem); line-height: 1; }
.dsv3-root .dsv3-safariwork__head > p { margin: 0; color: var(--dsv3-muted); font-size: .82rem; line-height: 1.68; }
.dsv3-root .dsv3-safariprogress { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin-bottom: 16px; }
.dsv3-root .dsv3-safariprogress__item { display: grid; min-width: 0; min-height: 58px; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px 12px; border-radius: 13px; color: var(--dsv3-muted); background: white; box-shadow: 0 8px 26px rgb(5 46 43 / .04); }
.dsv3-root .dsv3-safariprogress__item > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: rgb(var(--dsv3-primary-800)); background: rgb(var(--dsv3-primary-50)); font-size: .68rem; font-weight: 700; }
.dsv3-root .dsv3-safariprogress__item small, .dsv3-root .dsv3-safariprogress__item strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-root .dsv3-safariprogress__item small { font-size: .58rem; line-height: 1.25; text-transform: uppercase; }
.dsv3-root .dsv3-safariprogress__item strong { margin-top: 3px; color: var(--dsv3-ink); font-size: .72rem; line-height: 1.3; }
.dsv3-root .dsv3-safariform { grid-template-columns: minmax(0,1fr) 342px; gap: 18px; }
.dsv3-root .dsv3-safariform__main { gap: 12px; }
.dsv3-root .dsv3-safariform__aside { top: 96px; }
.dsv3-root .dsv3-safaristep { padding: 26px; border-radius: 18px; box-shadow: 0 12px 38px rgb(5 46 43 / .055); }
.dsv3-root .dsv3-safaristep__head { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: start; gap: 13px; }
.dsv3-root .dsv3-safaristep__number { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: white; background: rgb(var(--dsv3-primary-800)); font-size: .72rem; font-weight: 700; }
.dsv3-root .dsv3-safaristep__head h3 { margin: 0; font-size: 1.28rem; }
.dsv3-root .dsv3-safaristep__head p { margin: 4px 0 0; color: var(--dsv3-muted); font-size: .7rem; line-height: 1.5; }
.dsv3-root .dsv3-safaricounters { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.dsv3-root .dsv3-safaricounter { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; border-radius: 14px; background: rgb(var(--dsv3-gray-50)); }
.dsv3-root .dsv3-safaricounter strong, .dsv3-root .dsv3-safaricounter small { display: block; }
.dsv3-root .dsv3-safaricounter strong { font-size: .79rem; line-height: 1.3; }.dsv3-root .dsv3-safaricounter small { margin-top: 3px; color: var(--dsv3-muted); font-size: .61rem; line-height: 1.35; }
.dsv3-root .dsv3-safaricounter__control { display: grid; grid-template-columns: 30px 26px 30px; align-items: center; gap: 4px; }
.dsv3-root .dsv3-safaricounter__control button { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; border: 0; border-radius: 50%; color: rgb(var(--dsv3-primary-900)); background: white; box-shadow: var(--dsv3-shadow-xs); }
.dsv3-root .dsv3-safaricounter__control output { text-align: center; font-size: .82rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.dsv3-root .dsv3-safarifield input, .dsv3-root .dsv3-safariselect select { min-height: 50px; border-radius: 14px; background: rgb(var(--dsv3-gray-50)); }
.dsv3-root .dsv3-safarisession { margin-top: 20px; }
.dsv3-root .dsv3-safaridatetime { display: grid; gap: 18px; }
.dsv3-root .dsv3-safaridatetime__label { display: block; color: var(--dsv3-muted); font-size: .7rem; }
.dsv3-root .dsv3-safaridatetime .dsv3-safarioptions { margin-top: 8px; }
.dsv3-root .dsv3-safaritime { min-height: 108px; }
.dsv3-root .dsv3-safarioptions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 20px; }
.dsv3-root .dsv3-safarioption { position: relative; display: block; min-width: 0; min-height: 116px; padding: 16px; border-radius: 15px; color: var(--dsv3-ink); background: rgb(var(--dsv3-gray-50)); cursor: pointer; transition: transform .2s ease,background .2s ease,box-shadow .2s ease,opacity .2s ease; }
.dsv3-root .dsv3-safarioption:hover:not([data-disabled="true"]) { transform: translateY(-2px); box-shadow: 0 12px 28px rgb(5 46 43 / .09); }
.dsv3-root .dsv3-safarioption::before { display: none; }
.dsv3-root .dsv3-safarioption input { position: absolute; opacity: 0; pointer-events: none; }
.dsv3-root .dsv3-safarioption__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dsv3-root .dsv3-safarioption__top > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: rgb(var(--dsv3-primary-800)); background: white; }
.dsv3-root .dsv3-safarioption__top small { color: var(--dsv3-muted); font-size: .59rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.dsv3-root .dsv3-safarioption > strong { display: block; margin-top: 12px; font-size: .92rem; line-height: 1.3; }
.dsv3-root .dsv3-safarioption > p { margin: 5px 0 0; color: var(--dsv3-muted); font-size: .64rem; line-height: 1.45; }
.dsv3-root .dsv3-safarioption__reason { display: block; margin-top: 8px; color: rgb(181 55 46); font-size: .6rem; font-style: normal; font-weight: 600; line-height: 1.4; }
.dsv3-root .dsv3-safarioption:is([data-selected="true"],:has(input:checked)) { color: rgb(var(--dsv3-primary-950)); background: rgb(var(--dsv3-primary-100)); box-shadow: inset 0 0 0 2px rgb(var(--dsv3-primary-500)); }
.dsv3-root .dsv3-safarioption[data-disabled="true"] { cursor: not-allowed; opacity: .58; }
.dsv3-root .dsv3-safariops { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }.dsv3-root .dsv3-safarifield--wide { grid-column: 1 / -1; }
.dsv3-root .dsv3-safariquote { gap: 0; overflow: hidden; padding: 0; border-radius: 20px; background: rgb(var(--dsv3-primary-950)); box-shadow: 0 24px 60px rgb(5 46 43 / .2); }
.dsv3-root .dsv3-safariquote > div.dsv3-safariquote__media { display: block; height: 145px; grid-template-columns: none; align-items: normal; gap: 0; padding: 0; border-radius: 0; background: transparent; }.dsv3-root .dsv3-safariquote__media img { width: 100%; height: 100%; object-fit: cover; }
.dsv3-root .dsv3-safariquote > div.dsv3-safariquote__body { display: block; grid-template-columns: none; align-items: normal; gap: 0; padding: 22px; border-radius: 0; background: transparent; }.dsv3-root .dsv3-safariquote__body > .dsv3-kicker { color: rgb(var(--dsv3-primary-200)); font-size: .61rem; }
.dsv3-root .dsv3-safariquote h2 { margin-top: 6px; color: white; font-size: 1.25rem; line-height: 1.1; }
.dsv3-root .dsv3-safariquote__selection { display: grid; gap: 6px; margin-top: 17px; padding: 13px; border-radius: 12px; background: rgb(255 255 255 / .07); }
.dsv3-root .dsv3-safariquote__selection span { display: flex; justify-content: space-between; gap: 12px; color: rgb(255 255 255 / .62); font-size: .64rem; }.dsv3-root .dsv3-safariquote__selection strong { color: white; font-weight: 500; text-align: right; }
.dsv3-root .dsv3-safariquote__breakdown { display: grid; gap: 2px; margin-top: 20px; }.dsv3-root .dsv3-safariquote__breakdown > small { margin-bottom: 4px; color: rgb(255 255 255 / .48); font-size: .57rem; text-transform: uppercase; }
.dsv3-root .dsv3-safariquote__total { margin-top: 14px; padding-top: 18px; box-shadow: inset 0 1px rgb(255 255 255 / .11); }.dsv3-root .dsv3-safariquote__total strong { color: white; }
.dsv3-root .dsv3-safariquote__cta { width: 100%; margin-top: 18px; }.dsv3-root .dsv3-safariquote__note { display: flex; gap: 7px; margin: 12px 0 0; color: rgb(255 255 255 / .54); font-size: .58rem; line-height: 1.45; }
.dsv3-root .dsv3-safariform[data-enhanced="true"] .dsv3-safarirefresh { display: none; }
.dsv3-root .dsv3-safariform__main, .dsv3-root .dsv3-safariform__aside { transition: opacity .16s ease,filter .16s ease; }
.dsv3-root .dsv3-safariform[data-busy="true"] { cursor: progress; }
.dsv3-root .dsv3-safariform[data-busy="true"] .dsv3-safariform__main, .dsv3-root .dsv3-safariform[data-busy="true"] .dsv3-safariform__aside { opacity: .56; pointer-events: none; filter: saturate(.72); }

/* Üye portalı: onaylı labdaki iki kolon kahraman ve altı rotalı sekme şeridi. */
.dsv3-root .dsv3-portalhero { padding: 42px 0 34px; background: rgb(var(--dsv3-primary-950)); }
.dsv3-root .dsv3-portalhero > .dsv3-shell { min-height: 0; padding-block: 0; }
.dsv3-root .dsv3-portalhero__inner { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: end; gap: 36px; }
.dsv3-root .dsv3-portalhero h1 { max-width: 13ch; margin: 9px 0 0; font-size: clamp(2.45rem,5vw,4.6rem); line-height: .98; letter-spacing: -.055em; }
.dsv3-root .dsv3-portalhero p { max-width: 58ch; margin-top: 13px; font-size: .8rem; }
.dsv3-root .dsv3-portalhero__points { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 9px; border-radius: 17px; background: rgb(255 255 255 / .08); }
.dsv3-root .dsv3-portalhero__points > div { min-width: 0; padding: 15px; border-radius: 12px; background: rgb(255 255 255 / .07); }
.dsv3-root .dsv3-portalhero__points small { display: block; min-height: 2.4em; color: rgb(255 255 255 / .52); font-size: .59rem; line-height: 1.25; }
.dsv3-root .dsv3-portalhero__points strong { display: block; overflow: hidden; margin-top: 6px; font-size: 1.22rem; text-overflow: ellipsis; white-space: nowrap; }
.dsv3-root .dsv3-portalhero__points span { display: block; margin-top: 3px; color: rgb(var(--dsv3-primary-200)); font-size: .57rem; }
.dsv3-root .dsv3-portalbar { box-shadow: 0 10px 28px rgb(5 46 43 / .07); }
.dsv3-root .dsv3-portalnav { display: flex; min-width: max-content; gap: 28px; padding: 0; }
.dsv3-root .dsv3-portalnav a { position: relative; min-height: 55px; justify-content: flex-start; padding: 0; border-radius: 0; background: transparent; font-size: .72rem; }
.dsv3-root .dsv3-portalnav a svg { display: none; }
.dsv3-root .dsv3-portalnav a[aria-current="page"] { color: var(--dsv3-ink); background: transparent; font-weight: 650; }
.dsv3-root .dsv3-portalnav a[aria-current="page"]::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; border-radius: 2px; background: rgb(var(--dsv3-primary-600)); content: ""; }
.dsv3-root .dsv3-portalbody { padding-block: 34px 72px; }
.dsv3-root .dsv3-portalsection, .dsv3-root .dsv3-portalsupport > .supportform { border-radius: 19px; }

@media (max-width: 1080px) and (min-width: 781px) {
  .dsv3-reviews__head { grid-template-columns: 1fr; }
  .dsv3-reviews__head h2 { max-width: 15ch; }
  .dsv3-reviews__rail { grid-auto-columns: minmax(310px,44%); }
  .dsv3-root .dsv3-safarihero__inner { grid-template-columns: minmax(0,1fr) 280px; gap: 38px; }
  .dsv3-root .dsv3-safariprogress { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dsv3-root .dsv3-safariform { grid-template-columns: minmax(0,1fr) 310px; }
}
@media (max-width: 780px) {
  .dsv3-reviews { padding-block: 58px; }
  .dsv3-reviews__head { grid-template-columns: 1fr; gap: 27px; }
  .dsv3-reviews__head h2 { font-size: 2.75rem; }
  .dsv3-reviews__sources { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(210px,76%); overflow-x: auto; padding: 2px 1px 14px; scroll-snap-type: x proximity; }
  .dsv3-reviews__source { scroll-snap-align: start; }
  .dsv3-reviews__rail { grid-auto-columns: 86%; }
  .dsv3-reviews__actions { align-items: stretch; flex-direction: column; }
  .dsv3-reviews__actions .dsv3-btn { width: 100%; }
  .dsv3-root .dsv3-safarihero, .dsv3-root .dsv3-safarihero__inner { min-height: 650px; }
  .dsv3-root .dsv3-safarihero__inner { grid-template-columns: minmax(0,1fr); align-content: end; gap: 20px; padding-block: 58px 28px; }
  .dsv3-root .dsv3-safarihero__copy, .dsv3-root .dsv3-safarihero__tariff { min-width: 0; }
  .dsv3-root .dsv3-safarihero__eyebrow { margin-top: 34px; }
  .dsv3-root .dsv3-safarihero h1 { max-width: 11ch; font-size: clamp(3rem,13vw,4.15rem); }
  .dsv3-root .dsv3-safarihero__facts { display: flex; gap: 6px; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  .dsv3-root .dsv3-safarihero__facts > span { min-width: max-content; min-height: 34px; padding-inline: 10px; }
  .dsv3-root .dsv3-safarihero__tariff { padding: 17px; }
  .dsv3-root .dsv3-safarihero__tariff strong { max-width: none; font-size: 1.55rem; }
  .dsv3-root .dsv3-safariwork { padding-block: 38px 65px; }
  .dsv3-root .dsv3-safariwork__head { grid-template-columns: 1fr; gap: 12px; }
  .dsv3-root .dsv3-safariprogress { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(160px,72%); overflow-x: auto; padding-bottom: 5px; scroll-snap-type: x proximity; }
  .dsv3-root .dsv3-safariprogress__item { scroll-snap-align: start; }
  .dsv3-root .dsv3-safariform { grid-template-columns: 1fr; }
  .dsv3-root .dsv3-safariform__aside { position: static; grid-row: 1; }
  .dsv3-root .dsv3-safaristep { padding: 21px 17px; }
  .dsv3-root .dsv3-safaricounters, .dsv3-root .dsv3-safarioptions, .dsv3-root .dsv3-safariops { grid-template-columns: 1fr; }
  .dsv3-root .dsv3-safariform__aside { grid-row: auto; }
  .dsv3-root .dsv3-portalhero { padding-block: 28px 24px; }
  .dsv3-root .dsv3-portalhero__inner { grid-template-columns: 1fr; gap: 20px; }
  .dsv3-root .dsv3-portalhero h1 { font-size: 2.55rem; }
  .dsv3-root .dsv3-portalhero__points { max-width: 520px; }
  .dsv3-root .dsv3-portalnav { gap: 22px; }
  .dsv3-root .dsv3-portalbody { padding-block: 25px 54px; }
}

@media (prefers-reduced-motion: reduce) {
  .dsv3-destinationmedia[data-media-state="loading"]::after { animation: none!important; transform: none; }
  *, *::before, *::after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}

/* Fotograf penceresi (design-v3): tek <dialog>, icinde scroll-snap seridi, ok dugmeleri capa
   baglantisi. Isaretleme src/ui/design-v3/lightbox.ts. Serit odaklanabilir ve ok tuslari onun
   uzerinde calisiyor; dokunma kaydirmasi tarayicinin kendi kaydirmasi. */
.dsv3-lightbox { width: min(60rem,calc(100vw - 2rem)); padding: 0; border: 0; border-radius: var(--dsv3-r-lg); background: #000; }
.dsv3-lightbox::backdrop { background: rgb(0 0 0 / .8); }
.dsv3-lightbox form { position: absolute; z-index: 2; top: 12px; right: 12px; }
.dsv3-lightbox__close { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 0; border-radius: var(--dsv3-pill); color: #fff; background: rgb(255 255 255 / .16); }
.dsv3-lightbox__track { display: flex; max-height: 85dvh; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.dsv3-lightbox__track::-webkit-scrollbar { display: none; }
.dsv3-lightbox__track:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.dsv3-lightbox__slide { position: relative; display: flex; flex: 0 0 100%; align-items: center; justify-content: center; margin: 0; scroll-snap-align: start; }
/* Kutunun oranı 'IMAGE_ASPECT_RATIO' ile aynı sayı (3:2, media/destination.ts) ve
   'LIGHTBOX_BOX'un ilan ettiği oranın ikizi (ui/design-v3/lightbox.ts); gerekçe orada, özeti:
   yükseklik 'auto' olduğu için kutuyu beyan kuruyordu ve beyan ile dosya tutmadığında pencere
   fotoğraf indikçe zıplıyordu (ölçüldü: 960x540 ayrılıyor, 960x640 çiziliyor). Oran sabitlendiği
   an fotoğrafın gerçek ölçüsü ne olursa olsun kutu yerinde duruyor; kare 'contain' ile içine
   oturuyor, kırpılmıyor. */
.dsv3-lightbox__slide img { display: block; width: 100%; max-height: 85dvh; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.dsv3-lightbox__nav { position: absolute; z-index: 1; top: 50%; display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 0; border-radius: var(--dsv3-pill); color: #fff; background: rgb(255 255 255 / .16); transform: translateY(-50%); }
.dsv3-lightbox__nav:hover { background: rgb(255 255 255 / .3); }
.dsv3-lightbox__nav--prev { left: 12px; }
.dsv3-lightbox__nav--prev svg { transform: rotate(90deg); }
.dsv3-lightbox__nav--next { right: 12px; }
.dsv3-lightbox__nav--next svg { transform: rotate(-90deg); }
