/* ================================================================
   AVESTA TRAVEL — Destination Detail Page  (v4 — Modal Reviews)
   Scope: .page-destination-detail
================================================================ */

.page-destination-detail { background: #f8fafc; }

/* ════════════════════════════════════════════
   HERO
════════════════════════════════════════════ */
.dd-hero {
    position: relative; height: 88vh;
    min-height: 700px; max-height: 980px;
    overflow: hidden; background: var(--navy); margin-top: 0;
}
.dd-hero-img {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; transform: scale(1.05); transition: transform 12s ease;
}
.dd-hero:hover .dd-hero-img { transform: scale(1); }
.dd-hero-overlay {
    position: absolute; inset: 0;
    background:
        linear-gradient(to bottom, rgba(11,20,38,.72) 0%, rgba(11,20,38,.40) 25%, rgba(11,20,38,.35) 45%, rgba(11,20,38,.72) 65%, rgba(11,20,38,.98) 100%),
        linear-gradient(to right, rgba(11,20,38,.35) 0%, transparent 70%);
}
.dd-hero-fallback {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 80% 60% at 30% 30%,rgba(234,88,12,.3),transparent 55%),linear-gradient(160deg,#0b1426,#1e3a5f);
}
.dd-hero-content { position: absolute; bottom: 0; left: 0; right: 0; padding-bottom: 64px; z-index: 2; }

.dd-hero-breadcrumb {
    display: flex; align-items: center; gap: 0;
    font-size: .76rem; color: rgba(255,255,255,.55); margin-bottom: 22px; font-weight: 500;
    text-shadow: 0 1px 6px rgba(0,0,0,.5);
}
.dd-hero-breadcrumb a {
    color: rgba(255,255,255,.7);
    transition: color .2s;
    padding-right: 4px;
}
.dd-hero-breadcrumb a:hover { color: #fff; }
.dd-hero-breadcrumb a::after {
    content: '›';
    display: inline-block;
    margin: 0 6px 0 10px;
    color: rgba(255,255,255,.35);
    font-size: .9em;
    font-style: normal;
    line-height: 1;
}
.dd-hero-breadcrumb span {
    color: rgba(255,255,255,.92);
    font-weight: 600;
}

.dd-hero-badges { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.dd-badge {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 14px;
    border-radius: 999px; font-size: .7rem; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.dd-badge-featured { background: rgba(232,93,4,.92); color: #fff; }
.dd-badge-country { background: rgba(255,255,255,.14); color: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.22); }

.dd-hero-title {
    font-family: var(--font-display); font-size: clamp(2.6rem,6vw,4.8rem);
    font-weight: 700; color: #fff; line-height: 1.06; letter-spacing: -.035em;
    margin: 0 0 18px; max-width: 860px; text-shadow: 0 6px 40px rgba(0,0,0,.28);
}
.dd-hero-short-desc {
    font-size: clamp(.95rem,1.4vw,1.1rem); color: rgba(255,255,255,.72);
    line-height: 1.7; max-width: 680px; margin-bottom: 28px; font-weight: 400;
}
.dd-hero-stats {
    display: flex; align-items: center; gap: 28px; flex-wrap: wrap;
    padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12);
}
.dd-hero-stat { display: flex; align-items: center; gap: 9px; font-size: .875rem; color: rgba(255,255,255,.65); font-weight: 500; }
.dd-hero-stat svg { color: rgba(255,255,255,.35); flex-shrink: 0; }
.dd-hero-stat strong { color: #fff; font-weight: 700; }

/* Hero Search */
.dd-hero-search { margin: 0 0 24px; }
.dd-search-card {
    background: rgba(255,255,255,.94);
    border-radius: 28px;
    padding: 20px 22px 22px;
    border: 1px solid rgba(255,255,255,.4);
    box-shadow: 0 24px 44px rgba(11,20,38,.22), 0 10px 20px rgba(11,20,38,.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.dd-search-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.dd-search-tab {
    padding: 10px 18px;
    border-radius: 999px;
    font-size: .86rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    border: 1px solid transparent;
    background: transparent;
    transition: all .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
}
.dd-search-tab.active {
    background: #0f172a;
    color: #fff;
    border-color: #0f172a;
    box-shadow: 0 8px 18px rgba(15,23,42,.24);
}
.dd-search-tab:hover:not(.active) {
    color: #0f172a;
    background: #f1f5f9;
    border-color: #e2e8f0;
}
.d-none { display: none !important; }

.dd-search-fields-container {
    display: flex;
    align-items: center;
    background: #f8fafc;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    padding: 6px 8px 6px 20px;
    transition: background .2s ease, box-shadow .2s ease;
}
.dd-search-fields-container:hover {
    background: #fff;
    box-shadow: 0 5px 18px rgba(15,23,42,.08), inset 0 0 0 1px rgba(232,93,4,.15);
}
.dd-search-field {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    padding: 10px 16px;
    border-radius: 999px;
    transition: background .2s ease;
    position: relative;
}
.dd-search-field:hover { background: #eef2f7; }
.dd-search-field-error { box-shadow: inset 0 0 0 2px #fda4af; }

.dd-field-icon {
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
}
.dd-field-content {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.dd-search-field-label {
    font-size: .68rem;
    font-weight: 800;
    color: #1e293b;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 2px;
}
.dd-search-field-input {
    width: 100%;
    padding: 0;
    border: none;
    font-size: .95rem;
    font-weight: 500;
    color: #334155;
    background: transparent;
    outline: none;
    box-shadow: none;
    font-family: var(--font-body);
}
.dd-search-field-input::placeholder { color: #94a3b8; }
.dd-search-field-input:focus,
.dd-search-field-input:active {
    outline: none;
    border: none;
    box-shadow: none;
}
.dd-field-divider {
    width: 1px;
    height: 34px;
    background: #dbe3ee;
    margin: 0 4px;
}

/* ════════════════════════════════════════════
   HERO SEARCH — DROPDOWN & YÜKSEKLİK DÜZELTMELERİ
════════════════════════════════════════════ */

/* 1 ─ Flex item'ların içerik genişliğinin altına shrink edebilmesi için */
.dd-search-field {
    min-width: 0;
}

/* 2 ─ Hero içindeki tüm picker panelleri YUKARI açılsın
       (.dd-hero overflow:hidden nedeniyle aşağıya açılanlar kırpılıyor) */
.dd-hero-search .avp-panel {
    top: auto !important;
    bottom: calc(100% + 8px) !important;
    transform: translateY(6px) scale(0.98);
    transform-origin: bottom left !important;
}
.dd-hero-search .avp-panel.align-right {
    transform-origin: bottom right !important;
}
.dd-hero-search .avp-panel.open {
    transform: translateY(0) scale(1) !important;
}

.dd-hero-search .avtp-panel {
    top: auto !important;
    bottom: calc(100% + 8px) !important;
    transform: translateY(6px) scale(0.98);
    transform-origin: bottom left !important;
}
.dd-hero-search .avtp-panel.align-right {
    transform-origin: bottom right !important;
}
.dd-hero-search .avtp-panel.open {
    transform: translateY(0) scale(1) !important;
}

/* 3 ─ Misafir & tur öneri dropdown'ları da yukarı açılsın */
.dd-hero-search .dd-guest-dropdown {
    top: auto !important;
    bottom: calc(100% + 14px) !important;
    transform: translateY(-10px);
    transform-origin: bottom left;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.dd-hero-search .dd-guest-dropdown.show {
    transform: translateY(0) !important;
}
.dd-hero-search .dd-tour-suggest-dropdown {
    top: auto !important;
    bottom: calc(100% + 10px) !important;
    transform: translateY(8px) scale(0.985);
    transform-origin: bottom center;
}
.dd-hero-search .dd-tour-suggest-dropdown.dd-tsd-open {
    transform: translateY(0) scale(1);
}

/* 4 ─ Picker wrapper'lar overflow:visible kalmalı (paneller kaçabilsin) */
.dd-hero-search .avp-wrapper,
.dd-hero-search .avtp-wrapper {
    overflow: visible !important;
}

/* ── Global timepicker'ı search field içinde temizle ── */
.dd-search-field .avtp-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}
.dd-search-field .avtp-trigger {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    font-size: .95rem;
    font-weight: 500;
    color: #334155;
    font-family: var(--font-body);
    text-align: left;
    width: 100%;
    min-width: 0;
    cursor: pointer;
    outline: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}
.dd-search-field .avtp-trigger:hover,
.dd-search-field .avtp-trigger:focus,
.dd-search-field .avtp-trigger.open {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
.dd-search-field .avtp-trigger.placeholder-text {
    color: #94a3b8;
    font-weight: 400;
}
.dd-search-field .avtp-trigger.has-value {
    color: #334155;
    font-weight: 500;
}
/* Timepicker kendi saatlik ikonunu gizle — dd-field-icon zaten var */
.dd-search-field .avtp-icon {
    display: none !important;
}

.dd-search-field .avp-wrapper {
    display: flex;
    align-items: center;
    width: 100%;
}
.dd-search-field .avp-trigger {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    font-size: .95rem;
    font-weight: 500;
    color: #334155;
    font-family: var(--font-body);
    text-align: left;
    width: 100%;
    min-width: 0;
    cursor: pointer;
    outline: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}
.dd-search-field .avp-trigger:hover,
.dd-search-field .avp-trigger:focus,
.dd-search-field .avp-trigger.open {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
.dd-search-field .avp-trigger.placeholder-text {
    color: #94a3b8;
    font-weight: 400;
}
.dd-search-field .avp-trigger.has-value {
    color: #334155;
    font-weight: 500;
}
/* Datepicker kendi takvim ikonunu gizle — dd-field-icon zaten var */
.dd-search-field .avp-icon {
    display: none !important;
}
/* Panel konumlaması wrapper'a göre çalışsın */
.dd-search-field .avp-wrapper {
    position: relative;
}

.dd-search-action { margin-left: 8px; }
.dd-btn-search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 24px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(232,93,4,.35);
    white-space: nowrap;
    transition: all .2s ease;
}
.dd-btn-search:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(232,93,4,.42);
}

.dd-search-notice {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #9f1239;
    font-size: .8rem;
    font-weight: 600;
}

.dd-guest-trigger-text {
    font-size: .92rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    user-select: none;
}
.dd-guest-dropdown {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    width: 320px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(15,23,42,.14);
    border: 1px solid #e2e8f0;
    padding: 16px;
    z-index: 130;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all .2s ease;
}
.dd-guest-dropdown.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.dd-guest-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f1f5f9;
}
.dd-guest-row:first-child { padding-top: 0; }
.dd-guest-row:last-child { border-bottom: none; padding-bottom: 0; }
.dd-guest-info { display: flex; flex-direction: column; gap: 3px; }
.dd-guest-title { font-size: .92rem; font-weight: 700; color: #0f172a; }
.dd-guest-desc { font-size: .74rem; color: #94a3b8; }
.dd-guest-controls { display: flex; align-items: center; gap: 10px; }
.dd-guest-btn {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid #dbe4ee;
    background: transparent;
    color: #475569;
    font-size: 1.2rem;
    cursor: pointer;
    transition: all .2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.dd-guest-btn:hover:not([style*="not-allowed"]) {
    border-color: var(--primary);
    color: var(--primary);
    background: rgba(232,93,4,.08);
}
.dd-guest-count {
    font-size: .94rem;
    font-weight: 700;
    min-width: 18px;
    text-align: center;
    color: #0f172a;
}

.dd-trip-type-tabs {
    display: inline-flex;
    background: #f1f5f9;
    padding: 4px;
    border-radius: 999px;
    margin-bottom: 12px;
    gap: 4px;
    border: 1px solid rgba(15,23,42,.07);
}
.dd-trip-tab {
    padding: 7px 16px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    color: #64748b;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: all .2s ease;
}
.dd-trip-tab.active {
    background: #fff;
    color: var(--primary);
    box-shadow: 0 4px 10px rgba(15,23,42,.07);
}

.dd-tour-suggest-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(15,23,42,.16), 0 4px 14px rgba(15,23,42,.09);
    border: 1px solid rgba(148,163,184,.24);
    z-index: 140;
    overflow: hidden;
    opacity: 0;
    transform: translateY(8px) scale(.985);
    transform-origin: top center;
    transition: opacity .18s, transform .18s;
}
.dd-tour-suggest-dropdown.dd-tsd-open {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.dd-tsd-head {
    padding: 10px 14px 9px;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 800;
    color: #475569;
    border-bottom: 1px solid #eef2f7;
    background: linear-gradient(180deg,#fff,#f8fafc);
}
.dd-tsd-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    max-height: 330px;
    overflow-y: auto;
}
.dd-tsd-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 8px;
    padding: 10px 11px;
    border-radius: 10px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background .14s, border-color .14s, transform .14s, box-shadow .14s;
}
.dd-tsd-item:hover,
.dd-tsd-item.dd-tsd-item--active {
    background: #fff8f3;
    border-color: rgba(234,88,12,.16);
    box-shadow: 0 6px 14px rgba(234,88,12,.09);
    transform: translateX(1px);
}
.dd-tsd-thumb {
    width: 54px;
    height: 44px;
    border-radius: 9px;
    object-fit: cover;
    flex-shrink: 0;
    background: #f1f5f9;
    border: 1px solid rgba(148,163,184,.16);
}
.dd-tsd-thumb--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
}
.dd-tsd-info { flex: 1; min-width: 0; }
.dd-tsd-title {
    font-size: .88rem;
    font-weight: 700;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 4px;
}
.dd-tsd-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.dd-tsd-loc,
.dd-tsd-dur {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: .72rem;
    color: #64748b;
}
.dd-tsd-price {
    font-size: .78rem;
    font-weight: 800;
    color: var(--primary,#ea580c);
    margin-left: auto;
    background: rgba(234,88,12,.08);
    border-radius: 999px;
    padding: 3px 8px;
}
.dd-tsd-mark {
    background: rgba(234,88,12,.12);
    color: var(--primary,#ea580c);
    border-radius: 3px;
    padding: 0 1px;
}
.dd-tsd-empty,
.dd-tsd-loading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px;
    color: #64748b;
    font-size: .84rem;
}
.dd-tsd-empty {
    flex-direction: column;
    justify-content: center;
    color: #94a3b8;
    padding: 26px 12px;
}
.dd-tsd-spinner {
    width: 14px;
    height: 14px;
    border: 2px solid #e2e8f0;
    border-top-color: var(--primary,#ea580c);
    border-radius: 50%;
    display: inline-block;
    animation: ddTsdSpin .7s linear infinite;
}
@keyframes ddTsdSpin { to { transform: rotate(360deg); } }
.dd-tsd-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border-top: 1px solid #eef2f7;
    font-size: .72rem;
    font-weight: 700;
    color: #64748b;
    background: #fbfcfe;
}
#ddTourDest.is-selected-tour {
    color: #0f172a;
    font-weight: 700;
    padding-right: 30px;
}
.dd-tsd-clear-btn {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 50%;
    background: #f1f5f9;
    color: #64748b;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .15s;
}
.dd-tsd-clear-btn:hover {
    background: #fee2e2;
    color: #b91c1c;
}

/* Hero Altı Popüler Turlar */
.dd-popular-tours {
    margin-top: 0;
    padding: 48px 0 48px;
    position: relative;
    z-index: 1;
    background: #f8fafc;
}
.dd-popular-tours-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}
.dd-popular-tours-subtitle {
    margin: 0;
    font-size: .96rem;
    line-height: 1.65;
    color: var(--gray-500);
    max-width: 680px;
}
.dd-popular-tours-grid { margin-top: 0; }

/* Populer Ferry */
.dd-popular-ferry {
    padding: 42px 0 58px;
    background: #f8fafc;
}
.dd-popular-ferry-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}
.dd-popular-ferry-subtitle {
    margin: 0;
    font-size: .95rem;
    line-height: 1.65;
    color: var(--gray-500);
    max-width: 720px;
}
.dd-ferry-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.dd-ferry-card {
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--gray-100);
    box-shadow: var(--shadow-card);
    transition: transform .24s var(--ease-spring), box-shadow .24s var(--ease-spring);
}
.dd-ferry-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 44px rgba(0,0,0,.14);
}
.dd-ferry-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}
.dd-ferry-card-media {
    position: relative;
    height: 210px;
    overflow: hidden;
    background: #dbe7f4;
}
.dd-ferry-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s var(--ease);
}
.dd-ferry-card:hover .dd-ferry-card-media img { transform: scale(1.06); }
.dd-ferry-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15,23,42,.78), rgba(15,23,42,.08));
}
.dd-ferry-card-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(15,23,42,.5);
    background: linear-gradient(145deg,#dbe7f4,#f1f5f9);
}
.dd-ferry-route-chip {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .01em;
    z-index: 2;
    text-align: center;
}
.dd-ferry-route-chip span {
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.2);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 999px;
    padding: 4px 10px;
    max-width: 44%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dd-ferry-card-body { padding: 18px 18px 16px; }
.dd-ferry-card-title {
    margin: 0 0 10px;
    color: var(--gray-900);
    font-family: var(--font-display);
    font-size: 1.08rem;
    line-height: 1.28;
    letter-spacing: -.01em;
}
.dd-ferry-card-excerpt {
    margin: 0 0 14px;
    font-size: .86rem;
    line-height: 1.62;
    color: var(--gray-500);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.dd-ferry-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.dd-ferry-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .72rem;
    font-weight: 700;
    color: #c2410c;
    background: rgba(234,88,12,.1);
}
.dd-ferry-meta-item.is-muted {
    color: #64748b;
    background: #eef2f7;
}
.dd-ferry-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--gray-100);
    padding-top: 12px;
    gap: 10px;
}
.dd-ferry-card-price {
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--primary);
}
.dd-ferry-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--primary-light);
    color: var(--primary);
    font-size: .77rem;
    font-weight: 700;
    transition: all .2s ease;
    white-space: nowrap;
}
.dd-ferry-card:hover .dd-ferry-card-cta {
    background: var(--primary);
    color: #fff;
}
.dd-ferry-empty {
    border-radius: var(--radius-lg);
    border: 1.5px dashed var(--gray-200);
    background: #fff;
    padding: 34px 24px;
    text-align: center;
    color: var(--gray-500);
}
.dd-ferry-empty svg { color: var(--primary); opacity: .7; margin-bottom: 10px; }
.dd-ferry-empty h3 {
    margin: 0 0 6px;
    font-size: 1rem;
    color: var(--gray-800);
}
.dd-ferry-empty p {
    margin: 0;
    font-size: .86rem;
}

/* General Info */
.dd-general-info {
    padding: 40px 0 70px;
    background: #f8fafc;
}
.dd-general-info-head {
    margin-bottom: 22px;
}
.dd-general-info-subtitle {
    margin: 0;
    font-size: .96rem;
    line-height: 1.72;
    color: var(--gray-500);
    max-width: 840px;
}
.dd-general-info-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .85fr);
    gap: 22px;
    align-items: start;
}
.dd-general-content-card {
    background: #fff;
    border: 1px solid var(--gray-100);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-card);
    padding: 30px 30px 22px;
    position: relative;
}
.dd-general-content-prose {
    color: var(--gray-600);
    font-size: 1rem;
    line-height: 1.9;
    transition: max-height .26s var(--ease), mask-image .26s var(--ease);
}
.dd-general-content-prose p {
    margin: 0 0 1em;
}
.dd-general-content-prose p:last-child {
    margin-bottom: 0;
}
.dd-general-content-prose ul,
.dd-general-content-prose ol {
    margin: .2em 0 1em 1.2em;
}
.dd-general-content-prose li {
    margin-bottom: .45em;
}
.dd-general-content-card.is-collapsed .dd-general-content-prose {
    max-height: 320px;
    overflow: hidden;
    position: relative;
}
.dd-general-content-card.is-collapsed .dd-general-content-prose::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 92px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 82%);
    pointer-events: none;
}
.dd-general-toggle {
    margin-top: 18px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(234,88,12,.25);
    border-radius: 999px;
    background: var(--primary-light);
    color: var(--primary);
    font-size: .84rem;
    font-weight: 700;
    padding: 10px 16px;
    cursor: pointer;
    font-family: var(--font-body);
    transition: all .2s ease;
}
.dd-general-toggle svg {
    transition: transform .2s ease;
}
.dd-general-toggle:hover {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}
.dd-general-toggle.is-expanded svg {
    transform: rotate(180deg);
}
.dd-general-quick-collapse {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 140;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 11px 16px;
    border-radius: 999px;
    border: 1px solid rgba(234,88,12,.32);
    background: rgba(255,255,255,.96);
    color: #c2410c;
    font-size: .82rem;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(15,23,42,.16), 0 3px 9px rgba(15,23,42,.1);
    cursor: pointer;
    font-family: var(--font-body);
    opacity: 0;
    transform: translateY(10px) scale(.98);
    pointer-events: none;
    transition: all .18s ease;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.dd-general-quick-collapse.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
.dd-general-quick-collapse:hover {
    background: #ea580c;
    border-color: #ea580c;
    color: #fff;
}
.dd-general-facts-card {
    background: #fff;
    border: 1px solid var(--gray-100);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-card);
    overflow: hidden;
    position: sticky;
    top: 92px;
    align-self: start;
}
.dd-general-facts-head {
    padding: 22px 22px 14px;
    border-bottom: 1px solid var(--gray-100);
    background: linear-gradient(140deg, var(--gray-50), #fff);
}
.dd-general-facts-head h3 {
    margin: 0 0 3px;
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: var(--gray-900);
}
.dd-general-facts-head p {
    margin: 0;
    color: var(--gray-500);
    font-size: .8rem;
}
.dd-general-facts-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}
.dd-general-facts-item {
    display: grid;
    grid-template-columns: 32px minmax(92px, auto) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--gray-50);
}
.dd-general-facts-item:last-child {
    border-bottom: 0;
}
.dd-general-facts-icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    background: rgba(234,88,12,.1);
}
.dd-general-facts-label {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--gray-400);
}
.dd-general-facts-value {
    font-size: .9rem;
    font-weight: 700;
    color: var(--gray-800);
    text-align: right;
}

/* Gezilip Gorulecek Yerler */
.dd-sights-section {
    padding: 40px 0 72px;
    background: #f8fafc;
}
.dd-sights-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}
.dd-sights-subtitle {
    margin: 0;
    font-size: .96rem;
    line-height: 1.7;
    color: var(--gray-500);
    max-width: 760px;
}
.dd-sights-count-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #c2410c;
    background: rgba(234,88,12,.12);
    border: 1px solid rgba(234,88,12,.22);
    white-space: nowrap;
}
.dd-sights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.dd-sight-card {
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--gray-100);
    box-shadow: var(--shadow-card);
    transition: transform .24s var(--ease-spring), box-shadow .24s var(--ease-spring), border-color .24s ease;
}
.dd-sight-card:hover {
    transform: translateY(-4px);
    border-color: rgba(234,88,12,.24);
    box-shadow: 0 16px 42px rgba(15,23,42,.14);
}
.dd-sight-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}
.dd-sight-card-media {
    position: relative;
    height: 208px;
    background: #dbe7f4;
    overflow: hidden;
}
.dd-sight-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s var(--ease);
}
.dd-sight-card:hover .dd-sight-card-media img { transform: scale(1.06); }
.dd-sight-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15,23,42,.75), rgba(15,23,42,.08));
}
.dd-sight-card-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(15,23,42,.48);
    background: linear-gradient(145deg, #dbe7f4, #f1f5f9);
}
.dd-sight-country-chip {
    position: absolute;
    left: 14px;
    bottom: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - 28px);
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.24);
    background: rgba(255,255,255,.14);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .02em;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dd-sight-card-body {
    padding: 18px 18px 16px;
    display: flex;
    flex-direction: column;
    min-height: 210px;
}
.dd-sight-card-title {
    margin: 0 0 10px;
    color: var(--gray-900);
    font-family: var(--font-display);
    font-size: 1.06rem;
    line-height: 1.3;
    letter-spacing: -.01em;
}
.dd-sight-card-desc {
    margin: 0 0 16px;
    font-size: .85rem;
    line-height: 1.64;
    color: var(--gray-500);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.dd-sight-card-footer {
    margin-top: auto;
    border-top: 1px solid var(--gray-100);
    padding-top: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.dd-sight-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.dd-sight-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .71rem;
    font-weight: 700;
    color: #c2410c;
    background: rgba(234,88,12,.11);
}
.dd-sight-meta-item.is-muted {
    color: #64748b;
    background: #eef2f7;
}
.dd-sight-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 8px 13px;
    font-size: .76rem;
    font-weight: 700;
    color: var(--primary);
    background: var(--primary-light);
    white-space: nowrap;
    transition: all .2s ease;
}
.dd-sight-card:hover .dd-sight-card-cta {
    background: var(--primary);
    color: #fff;
}
.dd-sight-empty {
    border-radius: var(--radius-lg);
    border: 1.5px dashed var(--gray-200);
    background: #fff;
    padding: 34px 24px;
    text-align: center;
    color: var(--gray-500);
}
.dd-sight-empty svg { color: var(--primary); opacity: .7; margin-bottom: 10px; }
.dd-sight-empty h3 {
    margin: 0 0 6px;
    font-size: 1rem;
    color: var(--gray-800);
}
.dd-sight-empty p {
    margin: 0;
    font-size: .86rem;
}

/* Havalimani Section */
.dd-airport-section {
    padding: 44px 0 78px;
    background: #0b1426;
    position: relative;
    overflow: hidden;
}
.dd-airport-section::before {
    content: '';
    position: absolute;
    top: -100px;
    left: 7%;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(234,88,12,.14), transparent 65%);
    pointer-events: none;
}
.dd-airport-section::after {
    content: '';
    position: absolute;
    bottom: -90px;
    right: 10%;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(14,116,144,.11), transparent 65%);
    pointer-events: none;
}
.dd-airport-head {
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
}
.dd-airport-section .dd-section-title {
    color: #f8fafc;
}
.dd-airport-subtitle {
    margin: 0;
    font-size: .96rem;
    line-height: 1.7;
    color: #94a3b8;
    max-width: 820px;
}
.dd-airport-panel {
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: #0f172a;
    border: 1px solid rgba(100,116,139,.34);
    box-shadow: 0 20px 52px rgba(2,6,23,.56);
    display: grid;
    grid-template-columns: minmax(320px, .95fr) minmax(0, 1.05fr);
    min-height: 380px;
    position: relative;
    z-index: 1;
}
.dd-airport-media {
    position: relative;
    overflow: hidden;
    background: #dbe7f4;
}
.dd-airport-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s var(--ease);
}
.dd-airport-panel:hover .dd-airport-media img { transform: scale(1.05); }
.dd-airport-media-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(2,6,23,.86), rgba(15,23,42,.2));
}
.dd-airport-media-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #93c5fd;
    background: linear-gradient(145deg, #16253f, #0f172a);
}
.dd-airport-media-chip {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.26);
    background: rgba(255,255,255,.16);
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.dd-airport-content {
    padding: 34px 34px 30px;
    display: flex;
    flex-direction: column;
}
.dd-airport-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fdba74;
    margin-bottom: 10px;
}
.dd-airport-kicker::before {
    content: '';
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: #fb923c;
}
.dd-airport-title {
    margin: 0 0 10px;
    color: #f8fafc;
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    line-height: 1.2;
    letter-spacing: -.025em;
}
.dd-airport-desc {
    margin: 0 0 18px;
    color: #cbd5e1;
    font-size: .94rem;
    line-height: 1.8;
    max-width: 640px;
}
.dd-airport-facts {
    margin-top: 2px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.dd-airport-fact {
    border-radius: 14px;
    border: 1px solid rgba(100,116,139,.3);
    background: rgba(15,23,42,.75);
    padding: 11px 12px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}
.dd-airport-fact-icon {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fdba74;
    background: rgba(234,88,12,.14);
}
.dd-airport-fact-label {
    display: block;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 1px;
}
.dd-airport-fact-value {
    display: block;
    font-size: .85rem;
    color: #f8fafc;
    line-height: 1.35;
}
.dd-airport-actions {
    margin-top: auto;
    padding-top: 20px;
}
.dd-airport-cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 999px;
    padding: 11px 18px;
    color: #fdba74;
    background: rgba(234,88,12,.14);
    font-size: .84rem;
    font-weight: 800;
    text-decoration: none;
    transition: all .2s ease;
}
.dd-airport-cta:hover {
    background: var(--primary);
    color: #fff;
    gap: 10px;
}
.dd-airport-empty {
    border-radius: var(--radius-lg);
    border: 1.5px dashed rgba(100,116,139,.34);
    background: #0f172a;
    padding: 34px 24px;
    text-align: center;
    color: #94a3b8;
}
.dd-airport-empty svg { color: var(--primary); opacity: .7; margin-bottom: 10px; }
.dd-airport-empty h3 {
    margin: 0 0 6px;
    font-size: 1rem;
    color: #f8fafc;
}
.dd-airport-empty p {
    margin: 0;
    font-size: .86rem;
}

/* Hotels Section (Light) */
.dd-hotels-section {
    padding: 42px 0 72px;
    background: linear-gradient(180deg, #f6f8fc 0%, #f8fafc 100%);
    position: relative;
}
.dd-hotels-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}
.dd-hotels-section .dd-section-title { color: #0f172a; }
.dd-hotels-subtitle {
    margin: 0;
    font-size: .95rem;
    line-height: 1.7;
    color: #64748b;
    max-width: 760px;
}
.dd-hotels-count-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #c2410c;
    background: rgba(234,88,12,.12);
    border: 1px solid rgba(234,88,12,.2);
    white-space: nowrap;
}
.dd-hotels-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.dd-hotel-card {
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(148,163,184,.2);
    background: #fff;
    box-shadow: 0 14px 36px rgba(15,23,42,.08);
    transition: transform .24s var(--ease-spring), box-shadow .24s var(--ease-spring), border-color .24s ease;
}
.dd-hotel-card:hover {
    transform: translateY(-4px);
    border-color: rgba(234,88,12,.25);
    box-shadow: 0 20px 44px rgba(15,23,42,.14);
}
.dd-hotel-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}
.dd-hotel-media {
    position: relative;
    height: 210px;
    background: #e2e8f0;
    overflow: hidden;
}
.dd-hotel-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s var(--ease);
}
.dd-hotel-card:hover .dd-hotel-media img { transform: scale(1.05); }
.dd-hotel-media-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15,23,42,.72), rgba(15,23,42,.08));
}
.dd-hotel-media-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(30,41,59,.55);
    background: linear-gradient(145deg, #dbe7f4, #eef3f9);
}
.dd-hotel-type-chip {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 11px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.16);
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.dd-hotel-body {
    padding: 17px 17px 15px;
    display: flex;
    flex-direction: column;
    min-height: 200px;
}
.dd-hotel-title {
    margin: 0 0 10px;
    color: #0f172a;
    font-family: var(--font-display);
    font-size: 1.04rem;
    line-height: 1.28;
}
.dd-hotel-desc {
    margin: 0 0 14px;
    font-size: .84rem;
    line-height: 1.65;
    color: #64748b;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.dd-hotel-footer {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #e5ecf4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.dd-hotel-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.dd-hotel-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .71rem;
    font-weight: 700;
    color: #c2410c;
    background: rgba(234,88,12,.11);
}
.dd-hotel-meta-item.is-muted {
    color: #475569;
    background: #edf2f7;
}
.dd-hotel-cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 8px 13px;
    color: #c2410c;
    background: #fff2e8;
    font-size: .75rem;
    font-weight: 800;
    white-space: nowrap;
    transition: all .2s ease;
}
.dd-hotel-card:hover .dd-hotel-cta {
    background: #ea580c;
    color: #fff;
}
.dd-hotels-empty {
    border-radius: var(--radius-lg);
    border: 1.5px dashed rgba(148,163,184,.35);
    background: #fff;
    padding: 34px 24px;
    text-align: center;
    color: #64748b;
}
.dd-hotels-empty svg { color: #ea580c; opacity: .75; margin-bottom: 10px; }
.dd-hotels-empty h3 {
    margin: 0 0 6px;
    font-size: 1rem;
    color: #0f172a;
}
.dd-hotels-empty p {
    margin: 0;
    font-size: .86rem;
}

/* Destination Contact CTA */
.dd-contact-cta-section {
    padding: 42px 0 88px;
    background: linear-gradient(180deg, #f8fafc 0%, #f4f7fc 100%);
    position: relative;
}
.dd-contact-cta-wrap {
    position: relative;
    border-radius: 32px;
    overflow: hidden;
    background: #0b1426;
    box-shadow: 0 32px 64px rgba(11,20,38,.28);
    isolation: isolate;
}
.dd-contact-cta-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 11s ease;
    z-index: 1;
}
.dd-contact-cta-wrap:hover .dd-contact-cta-bg { transform: scale(1.05); }
.dd-contact-cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(104deg, rgba(11,20,38,.96) 0%, rgba(11,20,38,.84) 48%, rgba(11,20,38,.38) 100%);
    z-index: 2;
}
.dd-contact-cta-content {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: 52px;
    align-items: center;
    padding: 64px 58px;
}
.dd-contact-cta-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 16px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.24);
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 20px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.dd-contact-cta-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 0 rgba(16,185,129,.65);
    animation: ddContactPulse 2s infinite;
}
@keyframes ddContactPulse {
    0% {
        transform: scale(.92);
        box-shadow: 0 0 0 0 rgba(16,185,129,.65);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(16,185,129,0);
    }
    100% {
        transform: scale(.92);
        box-shadow: 0 0 0 0 rgba(16,185,129,0);
    }
}
.dd-contact-cta-title {
    margin: 0 0 14px;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3.4vw, 3rem);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -.02em;
    color: #fff;
    max-width: 760px;
}
.dd-contact-cta-title em {
    font-style: italic;
    color: #fb923c;
}
.dd-contact-cta-subtitle {
    margin: 0 0 30px;
    max-width: 600px;
    color: rgba(255,255,255,.73);
    font-size: .98rem;
    line-height: 1.72;
}
.dd-contact-cta-trust {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.dd-contact-cta-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.92);
    font-size: .78rem;
    font-weight: 700;
}
.dd-contact-cta-trust-item svg {
    color: #f59e0b;
    flex-shrink: 0;
}
.dd-contact-cta-card {
    background: rgba(8,13,24,.56);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 24px;
    padding: 30px 28px;
    box-shadow: 0 22px 42px rgba(2,6,23,.33);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.dd-contact-cta-card-title {
    margin: 0 0 7px;
    color: #fff;
    font-family: var(--font-display);
    font-size: 1.34rem;
    font-weight: 700;
}
.dd-contact-cta-card-desc {
    margin: 0 0 22px;
    color: rgba(255,255,255,.67);
    font-size: .9rem;
    line-height: 1.62;
}
.dd-contact-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.dd-contact-cta-btn {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    border-radius: 16px;
    padding: 14px;
    border: 1px solid transparent;
    transition: transform .2s var(--ease-spring), box-shadow .2s var(--ease-spring), background .2s ease, border-color .2s ease;
}
.dd-contact-cta-btn:hover { transform: translateY(-2px); }
.dd-contact-cta-btn.phone {
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    box-shadow: 0 10px 28px rgba(234,88,12,.4);
}
.dd-contact-cta-btn.phone:hover {
    box-shadow: 0 14px 34px rgba(234,88,12,.52);
}
.dd-contact-cta-btn.whatsapp {
    background: rgba(15,23,42,.62);
    border-color: rgba(255,255,255,.18);
}
.dd-contact-cta-btn.whatsapp:hover {
    background: #128c4a;
    border-color: #128c4a;
    box-shadow: 0 14px 32px rgba(18,140,74,.38);
}
.dd-contact-cta-btn-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.18);
    color: #fff;
    flex-shrink: 0;
}
.dd-contact-cta-btn-texts {
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.dd-contact-cta-btn-label {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.74);
    margin-bottom: 3px;
}
.dd-contact-cta-btn-value {
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
}
.dd-contact-cta-empty {
    margin: 0;
    padding: 13px 14px;
    border-radius: 14px;
    border: 1px solid rgba(148,163,184,.32);
    background: rgba(15,23,42,.7);
    color: rgba(226,232,240,.88);
    font-size: .82rem;
    line-height: 1.65;
}

/* Optional Dark Theme Support */
[data-theme="dark"] .page-destination-detail .dd-search-card,
.theme-dark .page-destination-detail .dd-search-card,
.dark .page-destination-detail .dd-search-card {
    background: rgba(15,23,42,.84);
    border-color: rgba(148,163,184,.22);
    box-shadow: 0 24px 44px rgba(2,6,23,.45);
}
[data-theme="dark"] .page-destination-detail .dd-search-tab,
.theme-dark .page-destination-detail .dd-search-tab,
.dark .page-destination-detail .dd-search-tab { color: #cbd5e1; }
[data-theme="dark"] .page-destination-detail .dd-search-tab:hover:not(.active),
.theme-dark .page-destination-detail .dd-search-tab:hover:not(.active),
.dark .page-destination-detail .dd-search-tab:hover:not(.active) {
    background: rgba(51,65,85,.45);
    border-color: rgba(100,116,139,.45);
    color: #f8fafc;
}
[data-theme="dark"] .page-destination-detail .dd-search-fields-container,
.theme-dark .page-destination-detail .dd-search-fields-container,
.dark .page-destination-detail .dd-search-fields-container {
    background: rgba(15,23,42,.72);
    border-color: rgba(100,116,139,.44);
}
[data-theme="dark"] .page-destination-detail .dd-search-fields-container:hover,
.theme-dark .page-destination-detail .dd-search-fields-container:hover,
.dark .page-destination-detail .dd-search-fields-container:hover {
    background: rgba(15,23,42,.92);
}
[data-theme="dark"] .page-destination-detail .dd-search-field:hover,
.theme-dark .page-destination-detail .dd-search-field:hover,
.dark .page-destination-detail .dd-search-field:hover { background: rgba(51,65,85,.34); }
[data-theme="dark"] .page-destination-detail .dd-search-field-label,
.theme-dark .page-destination-detail .dd-search-field-label,
.dark .page-destination-detail .dd-search-field-label { color: #cbd5e1; }
[data-theme="dark"] .page-destination-detail .dd-search-field-input,
[data-theme="dark"] .page-destination-detail .dd-guest-trigger-text,
.theme-dark .page-destination-detail .dd-search-field-input,
.theme-dark .page-destination-detail .dd-guest-trigger-text,
.dark .page-destination-detail .dd-search-field-input,
.dark .page-destination-detail .dd-guest-trigger-text { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-search-field-input::placeholder,
.theme-dark .page-destination-detail .dd-search-field-input::placeholder,
.dark .page-destination-detail .dd-search-field-input::placeholder { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-field-divider,
.theme-dark .page-destination-detail .dd-field-divider,
.dark .page-destination-detail .dd-field-divider { background: rgba(100,116,139,.44); }
[data-theme="dark"] .page-destination-detail .dd-trip-type-tabs,
.theme-dark .page-destination-detail .dd-trip-type-tabs,
.dark .page-destination-detail .dd-trip-type-tabs {
    background: rgba(51,65,85,.52);
    border-color: rgba(100,116,139,.42);
}
[data-theme="dark"] .page-destination-detail .dd-trip-tab,
.theme-dark .page-destination-detail .dd-trip-tab,
.dark .page-destination-detail .dd-trip-tab { color: #cbd5e1; }
[data-theme="dark"] .page-destination-detail .dd-trip-tab.active,
.theme-dark .page-destination-detail .dd-trip-tab.active,
.dark .page-destination-detail .dd-trip-tab.active {
    background: rgba(15,23,42,.94);
    color: #fb923c;
}
[data-theme="dark"] .page-destination-detail .dd-tour-suggest-dropdown,
[data-theme="dark"] .page-destination-detail .dd-guest-dropdown,
.theme-dark .page-destination-detail .dd-tour-suggest-dropdown,
.theme-dark .page-destination-detail .dd-guest-dropdown,
.dark .page-destination-detail .dd-tour-suggest-dropdown,
.dark .page-destination-detail .dd-guest-dropdown {
    background: #0f172a;
    border-color: rgba(100,116,139,.4);
    box-shadow: 0 16px 38px rgba(2,6,23,.6);
}
[data-theme="dark"] .page-destination-detail .dd-tsd-head,
.theme-dark .page-destination-detail .dd-tsd-head,
.dark .page-destination-detail .dd-tsd-head {
    background: linear-gradient(180deg,#0f172a,#111c31);
    border-bottom-color: rgba(100,116,139,.35);
    color: #94a3b8;
}
[data-theme="dark"] .page-destination-detail .dd-tsd-item,
.theme-dark .page-destination-detail .dd-tsd-item,
.dark .page-destination-detail .dd-tsd-item { color: #e2e8f0; }
[data-theme="dark"] .page-destination-detail .dd-tsd-item:hover,
[data-theme="dark"] .page-destination-detail .dd-tsd-item.dd-tsd-item--active,
.theme-dark .page-destination-detail .dd-tsd-item:hover,
.theme-dark .page-destination-detail .dd-tsd-item.dd-tsd-item--active,
.dark .page-destination-detail .dd-tsd-item:hover,
.dark .page-destination-detail .dd-tsd-item.dd-tsd-item--active {
    background: rgba(234,88,12,.14);
    border-color: rgba(234,88,12,.32);
}
[data-theme="dark"] .page-destination-detail .dd-tsd-title,
.theme-dark .page-destination-detail .dd-tsd-title,
.dark .page-destination-detail .dd-tsd-title { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-tsd-loc,
[data-theme="dark"] .page-destination-detail .dd-tsd-dur,
.theme-dark .page-destination-detail .dd-tsd-loc,
.theme-dark .page-destination-detail .dd-tsd-dur,
.dark .page-destination-detail .dd-tsd-loc,
.dark .page-destination-detail .dd-tsd-dur { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-tsd-footer,
.theme-dark .page-destination-detail .dd-tsd-footer,
.dark .page-destination-detail .dd-tsd-footer {
    border-top-color: rgba(100,116,139,.32);
    color: #94a3b8;
    background: #0b1220;
}
[data-theme="dark"] .page-destination-detail .dd-guest-row,
.theme-dark .page-destination-detail .dd-guest-row,
.dark .page-destination-detail .dd-guest-row { border-bottom-color: rgba(100,116,139,.28); }
[data-theme="dark"] .page-destination-detail .dd-guest-title,
[data-theme="dark"] .page-destination-detail .dd-guest-count,
.theme-dark .page-destination-detail .dd-guest-title,
.theme-dark .page-destination-detail .dd-guest-count,
.dark .page-destination-detail .dd-guest-title,
.dark .page-destination-detail .dd-guest-count { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-guest-desc,
.theme-dark .page-destination-detail .dd-guest-desc,
.dark .page-destination-detail .dd-guest-desc { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-guest-btn,
.theme-dark .page-destination-detail .dd-guest-btn,
.dark .page-destination-detail .dd-guest-btn {
    border-color: rgba(100,116,139,.38);
    color: #cbd5e1;
}
[data-theme="dark"] .page-destination-detail .dd-popular-ferry,
.theme-dark .page-destination-detail .dd-popular-ferry,
.dark .page-destination-detail .dd-popular-ferry { background: #0b1220; }
[data-theme="dark"] .page-destination-detail .dd-popular-ferry-subtitle,
.theme-dark .page-destination-detail .dd-popular-ferry-subtitle,
.dark .page-destination-detail .dd-popular-ferry-subtitle { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-popular-ferry .dd-section-title,
.theme-dark .page-destination-detail .dd-popular-ferry .dd-section-title,
.dark .page-destination-detail .dd-popular-ferry .dd-section-title { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-general-info,
.theme-dark .page-destination-detail .dd-general-info,
.dark .page-destination-detail .dd-general-info { background: #0b1220; }
[data-theme="dark"] .page-destination-detail .dd-general-info-subtitle,
.theme-dark .page-destination-detail .dd-general-info-subtitle,
.dark .page-destination-detail .dd-general-info-subtitle { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-general-info .dd-section-title,
.theme-dark .page-destination-detail .dd-general-info .dd-section-title,
.dark .page-destination-detail .dd-general-info .dd-section-title { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-general-content-card,
[data-theme="dark"] .page-destination-detail .dd-general-facts-card,
.theme-dark .page-destination-detail .dd-general-content-card,
.theme-dark .page-destination-detail .dd-general-facts-card,
.dark .page-destination-detail .dd-general-content-card,
.dark .page-destination-detail .dd-general-facts-card {
    background: #0f172a;
    border-color: rgba(100,116,139,.34);
    box-shadow: 0 14px 38px rgba(2,6,23,.5);
}
[data-theme="dark"] .page-destination-detail .dd-general-content-prose,
.theme-dark .page-destination-detail .dd-general-content-prose,
.dark .page-destination-detail .dd-general-content-prose { color: #d1d9e6; }
[data-theme="dark"] .page-destination-detail .dd-general-content-card.is-collapsed .dd-general-content-prose::after,
.theme-dark .page-destination-detail .dd-general-content-card.is-collapsed .dd-general-content-prose::after,
.dark .page-destination-detail .dd-general-content-card.is-collapsed .dd-general-content-prose::after {
    background: linear-gradient(to bottom, rgba(15,23,42,0), #0f172a 82%);
}
[data-theme="dark"] .page-destination-detail .dd-general-toggle,
.theme-dark .page-destination-detail .dd-general-toggle,
.dark .page-destination-detail .dd-general-toggle {
    background: rgba(234,88,12,.12);
    border-color: rgba(251,146,60,.28);
    color: #fdba74;
}
[data-theme="dark"] .page-destination-detail .dd-general-toggle:hover,
.theme-dark .page-destination-detail .dd-general-toggle:hover,
.dark .page-destination-detail .dd-general-toggle:hover {
    background: #ea580c;
    border-color: #ea580c;
    color: #fff;
}
[data-theme="dark"] .page-destination-detail .dd-general-quick-collapse,
.theme-dark .page-destination-detail .dd-general-quick-collapse,
.dark .page-destination-detail .dd-general-quick-collapse {
    background: rgba(15,23,42,.92);
    border-color: rgba(251,146,60,.34);
    color: #fdba74;
    box-shadow: 0 12px 28px rgba(2,6,23,.55), 0 4px 12px rgba(2,6,23,.4);
}
[data-theme="dark"] .page-destination-detail .dd-general-quick-collapse:hover,
.theme-dark .page-destination-detail .dd-general-quick-collapse:hover,
.dark .page-destination-detail .dd-general-quick-collapse:hover {
    background: #ea580c;
    border-color: #ea580c;
    color: #fff;
}
[data-theme="dark"] .page-destination-detail .dd-general-facts-head,
.theme-dark .page-destination-detail .dd-general-facts-head,
.dark .page-destination-detail .dd-general-facts-head {
    background: linear-gradient(145deg, #111c31, #0f172a);
    border-bottom-color: rgba(100,116,139,.28);
}
[data-theme="dark"] .page-destination-detail .dd-general-facts-head h3,
.theme-dark .page-destination-detail .dd-general-facts-head h3,
.dark .page-destination-detail .dd-general-facts-head h3 { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-general-facts-head p,
[data-theme="dark"] .page-destination-detail .dd-general-facts-label,
.theme-dark .page-destination-detail .dd-general-facts-head p,
.theme-dark .page-destination-detail .dd-general-facts-label,
.dark .page-destination-detail .dd-general-facts-head p,
.dark .page-destination-detail .dd-general-facts-label { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-general-facts-item,
.theme-dark .page-destination-detail .dd-general-facts-item,
.dark .page-destination-detail .dd-general-facts-item { border-bottom-color: rgba(100,116,139,.22); }
[data-theme="dark"] .page-destination-detail .dd-general-facts-value,
.theme-dark .page-destination-detail .dd-general-facts-value,
.dark .page-destination-detail .dd-general-facts-value { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-general-facts-icon,
.theme-dark .page-destination-detail .dd-general-facts-icon,
.dark .page-destination-detail .dd-general-facts-icon {
    background: rgba(234,88,12,.14);
    color: #fdba74;
}
[data-theme="dark"] .page-destination-detail .dd-sights-section,
.theme-dark .page-destination-detail .dd-sights-section,
.dark .page-destination-detail .dd-sights-section { background: #0b1220; }
[data-theme="dark"] .page-destination-detail .dd-sights-subtitle,
.theme-dark .page-destination-detail .dd-sights-subtitle,
.dark .page-destination-detail .dd-sights-subtitle { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-sights-count-badge,
.theme-dark .page-destination-detail .dd-sights-count-badge,
.dark .page-destination-detail .dd-sights-count-badge {
    color: #fdba74;
    background: rgba(234,88,12,.14);
    border-color: rgba(251,146,60,.28);
}
[data-theme="dark"] .page-destination-detail .dd-sight-card,
.theme-dark .page-destination-detail .dd-sight-card,
.dark .page-destination-detail .dd-sight-card {
    background: #0f172a;
    border-color: rgba(100,116,139,.34);
    box-shadow: 0 14px 36px rgba(2,6,23,.48);
}
[data-theme="dark"] .page-destination-detail .dd-sight-card-title,
.theme-dark .page-destination-detail .dd-sight-card-title,
.dark .page-destination-detail .dd-sight-card-title { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-sight-card-desc,
.theme-dark .page-destination-detail .dd-sight-card-desc,
.dark .page-destination-detail .dd-sight-card-desc { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-sight-card-footer,
.theme-dark .page-destination-detail .dd-sight-card-footer,
.dark .page-destination-detail .dd-sight-card-footer { border-top-color: rgba(100,116,139,.28); }
[data-theme="dark"] .page-destination-detail .dd-sight-meta-item,
.theme-dark .page-destination-detail .dd-sight-meta-item,
.dark .page-destination-detail .dd-sight-meta-item {
    color: #fdba74;
    background: rgba(234,88,12,.14);
}
[data-theme="dark"] .page-destination-detail .dd-sight-meta-item.is-muted,
.theme-dark .page-destination-detail .dd-sight-meta-item.is-muted,
.dark .page-destination-detail .dd-sight-meta-item.is-muted {
    color: #cbd5e1;
    background: rgba(51,65,85,.58);
}
[data-theme="dark"] .page-destination-detail .dd-sight-card-cta,
.theme-dark .page-destination-detail .dd-sight-card-cta,
.dark .page-destination-detail .dd-sight-card-cta {
    background: rgba(234,88,12,.14);
    color: #fdba74;
}
[data-theme="dark"] .page-destination-detail .dd-sight-card:hover .dd-sight-card-cta,
.theme-dark .page-destination-detail .dd-sight-card:hover .dd-sight-card-cta,
.dark .page-destination-detail .dd-sight-card:hover .dd-sight-card-cta {
    background: #ea580c;
    color: #fff;
}
[data-theme="dark"] .page-destination-detail .dd-sight-empty,
.theme-dark .page-destination-detail .dd-sight-empty,
.dark .page-destination-detail .dd-sight-empty {
    background: #0f172a;
    border-color: rgba(100,116,139,.34);
    color: #94a3b8;
}
[data-theme="dark"] .page-destination-detail .dd-sight-empty h3,
.theme-dark .page-destination-detail .dd-sight-empty h3,
.dark .page-destination-detail .dd-sight-empty h3 { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-airport-section,
.theme-dark .page-destination-detail .dd-airport-section,
.dark .page-destination-detail .dd-airport-section { background: #0b1220; }
[data-theme="dark"] .page-destination-detail .dd-airport-subtitle,
.theme-dark .page-destination-detail .dd-airport-subtitle,
.dark .page-destination-detail .dd-airport-subtitle { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-airport-section .dd-section-title,
.theme-dark .page-destination-detail .dd-airport-section .dd-section-title,
.dark .page-destination-detail .dd-airport-section .dd-section-title { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-airport-panel,
.theme-dark .page-destination-detail .dd-airport-panel,
.dark .page-destination-detail .dd-airport-panel {
    background: #0f172a;
    border-color: rgba(100,116,139,.34);
    box-shadow: 0 18px 46px rgba(2,6,23,.55);
}
[data-theme="dark"] .page-destination-detail .dd-airport-kicker,
.theme-dark .page-destination-detail .dd-airport-kicker,
.dark .page-destination-detail .dd-airport-kicker { color: #fdba74; }
[data-theme="dark"] .page-destination-detail .dd-airport-kicker::before,
.theme-dark .page-destination-detail .dd-airport-kicker::before,
.dark .page-destination-detail .dd-airport-kicker::before { background: #fb923c; }
[data-theme="dark"] .page-destination-detail .dd-airport-title,
.theme-dark .page-destination-detail .dd-airport-title,
.dark .page-destination-detail .dd-airport-title { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-airport-desc,
.theme-dark .page-destination-detail .dd-airport-desc,
.dark .page-destination-detail .dd-airport-desc { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-airport-fact,
.theme-dark .page-destination-detail .dd-airport-fact,
.dark .page-destination-detail .dd-airport-fact {
    border-color: rgba(100,116,139,.3);
    background: rgba(15,23,42,.75);
}
[data-theme="dark"] .page-destination-detail .dd-airport-fact-icon,
.theme-dark .page-destination-detail .dd-airport-fact-icon,
.dark .page-destination-detail .dd-airport-fact-icon {
    background: rgba(234,88,12,.14);
    color: #fdba74;
}
[data-theme="dark"] .page-destination-detail .dd-airport-fact-label,
.theme-dark .page-destination-detail .dd-airport-fact-label,
.dark .page-destination-detail .dd-airport-fact-label { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-airport-fact-value,
.theme-dark .page-destination-detail .dd-airport-fact-value,
.dark .page-destination-detail .dd-airport-fact-value { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-airport-cta,
.theme-dark .page-destination-detail .dd-airport-cta,
.dark .page-destination-detail .dd-airport-cta {
    background: rgba(234,88,12,.14);
    color: #fdba74;
}
[data-theme="dark"] .page-destination-detail .dd-airport-cta:hover,
.theme-dark .page-destination-detail .dd-airport-cta:hover,
.dark .page-destination-detail .dd-airport-cta:hover {
    background: #ea580c;
    color: #fff;
}
[data-theme="dark"] .page-destination-detail .dd-airport-empty,
.theme-dark .page-destination-detail .dd-airport-empty,
.dark .page-destination-detail .dd-airport-empty {
    background: #0f172a;
    border-color: rgba(100,116,139,.34);
    color: #94a3b8;
}
[data-theme="dark"] .page-destination-detail .dd-airport-empty h3,
.theme-dark .page-destination-detail .dd-airport-empty h3,
.dark .page-destination-detail .dd-airport-empty h3 { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-hotels-section,
.theme-dark .page-destination-detail .dd-hotels-section,
.dark .page-destination-detail .dd-hotels-section {
    background: linear-gradient(180deg, #f6f8fc 0%, #f8fafc 100%);
}
[data-theme="dark"] .page-destination-detail .dd-hotels-section .dd-section-title,
.theme-dark .page-destination-detail .dd-hotels-section .dd-section-title,
.dark .page-destination-detail .dd-hotels-section .dd-section-title { color: #0f172a; }
[data-theme="dark"] .page-destination-detail .dd-hotels-subtitle,
.theme-dark .page-destination-detail .dd-hotels-subtitle,
.dark .page-destination-detail .dd-hotels-subtitle { color: #64748b; }
[data-theme="dark"] .page-destination-detail .dd-hotel-card,
.theme-dark .page-destination-detail .dd-hotel-card,
.dark .page-destination-detail .dd-hotel-card {
    border-color: rgba(148,163,184,.2);
    background: #fff;
    box-shadow: 0 14px 36px rgba(15,23,42,.08);
}
[data-theme="dark"] .page-destination-detail .dd-hotel-title,
.theme-dark .page-destination-detail .dd-hotel-title,
.dark .page-destination-detail .dd-hotel-title { color: #0f172a; }
[data-theme="dark"] .page-destination-detail .dd-hotel-desc,
.theme-dark .page-destination-detail .dd-hotel-desc,
.dark .page-destination-detail .dd-hotel-desc { color: #64748b; }
[data-theme="dark"] .page-destination-detail .dd-hotel-footer,
.theme-dark .page-destination-detail .dd-hotel-footer,
.dark .page-destination-detail .dd-hotel-footer { border-top-color: #e5ecf4; }
[data-theme="dark"] .page-destination-detail .dd-hotel-meta-item.is-muted,
.theme-dark .page-destination-detail .dd-hotel-meta-item.is-muted,
.dark .page-destination-detail .dd-hotel-meta-item.is-muted {
    color: #475569;
    background: #edf2f7;
}
[data-theme="dark"] .page-destination-detail .dd-hotels-empty,
.theme-dark .page-destination-detail .dd-hotels-empty,
.dark .page-destination-detail .dd-hotels-empty {
    border-color: rgba(148,163,184,.35);
    background: #fff;
    color: #64748b;
}
[data-theme="dark"] .page-destination-detail .dd-hotels-empty h3,
.theme-dark .page-destination-detail .dd-hotels-empty h3,
.dark .page-destination-detail .dd-hotels-empty h3 { color: #0f172a; }
[data-theme="dark"] .page-destination-detail .dd-ferry-card,
.theme-dark .page-destination-detail .dd-ferry-card,
.dark .page-destination-detail .dd-ferry-card {
    background: #0f172a;
    border-color: rgba(100,116,139,.34);
    box-shadow: 0 14px 36px rgba(2,6,23,.48);
}
[data-theme="dark"] .page-destination-detail .dd-ferry-card-title,
.theme-dark .page-destination-detail .dd-ferry-card-title,
.dark .page-destination-detail .dd-ferry-card-title { color: #f8fafc; }
[data-theme="dark"] .page-destination-detail .dd-ferry-card-excerpt,
.theme-dark .page-destination-detail .dd-ferry-card-excerpt,
.dark .page-destination-detail .dd-ferry-card-excerpt { color: #94a3b8; }
[data-theme="dark"] .page-destination-detail .dd-ferry-meta-item.is-muted,
.theme-dark .page-destination-detail .dd-ferry-meta-item.is-muted,
.dark .page-destination-detail .dd-ferry-meta-item.is-muted {
    color: #cbd5e1;
    background: rgba(51,65,85,.58);
}
[data-theme="dark"] .page-destination-detail .dd-ferry-card-footer,
.theme-dark .page-destination-detail .dd-ferry-card-footer,
.dark .page-destination-detail .dd-ferry-card-footer { border-top-color: rgba(100,116,139,.28); }
[data-theme="dark"] .page-destination-detail .dd-ferry-card-cta,
.theme-dark .page-destination-detail .dd-ferry-card-cta,
.dark .page-destination-detail .dd-ferry-card-cta {
    background: rgba(234,88,12,.14);
    color: #fdba74;
}
[data-theme="dark"] .page-destination-detail .dd-ferry-card:hover .dd-ferry-card-cta,
.theme-dark .page-destination-detail .dd-ferry-card:hover .dd-ferry-card-cta,
.dark .page-destination-detail .dd-ferry-card:hover .dd-ferry-card-cta {
    background: #ea580c;
    color: #fff;
}
[data-theme="dark"] .page-destination-detail .dd-ferry-empty,
.theme-dark .page-destination-detail .dd-ferry-empty,
.dark .page-destination-detail .dd-ferry-empty {
    background: #0f172a;
    border-color: rgba(100,116,139,.34);
    color: #94a3b8;
}
[data-theme="dark"] .page-destination-detail .dd-ferry-empty h3,
.theme-dark .page-destination-detail .dd-ferry-empty h3,
.dark .page-destination-detail .dd-ferry-empty h3 { color: #f8fafc; }

/* ════════════════════════════════════════════
   TAB NAVIGATION
════════════════════════════════════════════ */
.dd-tab-nav {
    position: sticky; top: 76px; z-index: 90;
    background: rgba(255,255,255,.97); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--gray-100); box-shadow: 0 4px 24px rgba(0,0,0,.05);
}
.dd-tab-nav-inner { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.dd-tab-nav-inner::-webkit-scrollbar { display: none; }
.dd-tab-btn {
    display: flex; align-items: center; gap: 8px; padding: 18px 26px;
    font-size: .85rem; font-weight: 600; color: var(--gray-500); cursor: pointer;
    background: none; border: none; border-bottom: 2.5px solid transparent;
    white-space: nowrap; transition: all .18s; flex-shrink: 0;
    font-family: var(--font-body); letter-spacing: .01em;
}
.dd-tab-btn:hover { color: var(--gray-900); }
.dd-tab-btn.active { color: var(--primary); border-bottom-color: var(--primary); }
.dd-tab-btn svg { opacity: .55; transition: opacity .18s; }
.dd-tab-btn.active svg,.dd-tab-btn:hover svg { opacity: 1; }
.dd-tab-panel { display: none; }
.dd-tab-panel.active { display: block; animation: ddFadeIn .38s cubic-bezier(.4,0,.2,1); }
@keyframes ddFadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

/* ════════════════════════════════════════════
   MAIN / SECTIONS
════════════════════════════════════════════ */
.dd-main { padding: 56px 0 100px; }
.dd-section { margin-bottom: 72px; }
.dd-section:last-child { margin-bottom: 0; }
.dd-section-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: var(--primary); margin-bottom: 10px;
}
.dd-section-eyebrow::before { content:''; width:20px; height:2px; background:var(--primary); border-radius:1px; flex-shrink:0; }
.dd-section-title {
    font-family: var(--font-display); font-size: clamp(1.6rem,2.5vw,2.15rem); font-weight: 700;
    color: var(--gray-900); letter-spacing: -.03em; margin: 0 0 8px; line-height: 1.18;
}
.dd-section-subtitle { font-size: 1rem; color: var(--gray-500); margin-bottom: 36px; max-width: 640px; line-height: 1.7; }

/* ── Description + Quick Facts ── */
.dd-rich-description { display: grid; grid-template-columns: 1fr 420px; gap: 64px; align-items: start; margin-bottom: 72px; }
.dd-desc-text { font-size: 1.05rem; color: var(--gray-600); line-height: 1.95; }
.dd-desc-text p { margin: 0 0 1.2em; }
.dd-desc-text p:last-child { margin-bottom: 0; }
.dd-quick-facts-card { background:#fff; border:1px solid var(--gray-100); border-radius:var(--radius-xl); box-shadow:var(--shadow-card); overflow:hidden; position:sticky; top:140px; }
.dd-quick-facts-header { padding:20px 24px 16px; border-bottom:1px solid var(--gray-100); background:linear-gradient(135deg,var(--gray-50),#fff); }
.dd-quick-facts-title { font-family:var(--font-display); font-size:1rem; font-weight:700; color:var(--gray-900); margin-bottom:2px; }
.dd-quick-facts-sub { font-size:.72rem; color:var(--gray-400); font-weight:500; }
.dd-facts-list { list-style:none; padding:6px 0; margin:0; }
.dd-fact-row { display:flex; align-items:center; gap:12px; padding:12px 24px; border-bottom:1px solid var(--gray-50); transition:background .12s; }
.dd-fact-row:last-child { border-bottom:none; }
.dd-fact-row:hover { background:var(--gray-50); }
.dd-fact-icon { width:32px; height:32px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dd-fact-label { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--gray-400); min-width:72px; }
.dd-fact-value { font-size:.875rem; font-weight:700; color:var(--gray-800); margin-left:auto; text-align:right; }

/* ── Highlights ── */
.dd-highlights-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.dd-highlight-item {
    display:flex; align-items:flex-start; gap:14px; padding:18px 20px;
    background:#fff; border-radius:var(--radius-lg); border:1px solid var(--gray-100);
    box-shadow:var(--shadow-sm); transition:border-color .18s,transform .22s var(--ease-spring),box-shadow .22s;
}
.dd-highlight-item:hover { border-color:rgba(232,93,4,.25); transform:translateY(-3px); box-shadow:0 8px 32px rgba(232,93,4,.08); }
.dd-highlight-icon { width:34px; height:34px; min-width:34px; background:linear-gradient(135deg,rgba(232,93,4,.12),rgba(232,93,4,.06)); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--primary); margin-top:1px; }
.dd-highlight-text { font-size:.9rem; color:var(--gray-700); font-weight:500; line-height:1.5; }

/* ── Tours preview header ── */
.dd-featured-tours-header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:28px; }
.dd-tours-link { display:inline-flex; align-items:center; gap:7px; font-size:.875rem; font-weight:700; color:var(--primary); padding:10px 22px; background:var(--primary-light); border-radius:999px; transition:all .2s; flex-shrink:0; }
.dd-tours-link:hover { background:var(--primary); color:#fff; gap:11px; }
.dd-tours-link svg { transition:transform .2s; }
.dd-tours-link:hover svg { transform:translateX(3px); }
.dd-tour-grid-preview { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

/* ── Sub Destinations ── */
.dd-subdest-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.dd-subdest-card { position:relative; aspect-ratio:3/2; border-radius:var(--radius-lg); overflow:hidden; text-decoration:none; color:#fff; display:block; box-shadow:var(--shadow-card); transition:transform .3s var(--ease-spring),box-shadow .3s; }
.dd-subdest-card:hover { transform:scale(1.03) translateY(-4px); box-shadow:0 20px 56px rgba(0,0,0,.18); }
.dd-subdest-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.dd-subdest-card:hover .dd-subdest-img { transform:scale(1.08); }
.dd-subdest-fallback { position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 30% 30%,rgba(234,88,12,.25),transparent 60%),linear-gradient(155deg,#1e293b,#0f172a); display:flex; align-items:center; justify-content:center; font-size:2.5rem; font-weight:800; color:rgba(255,255,255,.18); }
.dd-subdest-shade { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.15) 50%,transparent 100%); pointer-events:none; }
.dd-subdest-text { position:absolute; bottom:0; left:0; right:0; padding:16px 18px; z-index:2; }
.dd-subdest-name { font-family:var(--font-display); font-size:1rem; font-weight:700; color:#fff; margin:0 0 4px; text-shadow:0 2px 12px rgba(0,0,0,.4); }
.dd-subdest-count { font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.68); }
.dd-subdest-arrow { position:absolute; top:14px; right:16px; width:30px; height:30px; background:rgba(255,255,255,.18); backdrop-filter:blur(6px); border-radius:50%; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .22s; }
.dd-subdest-card:hover .dd-subdest-arrow { opacity:1; }

/* ── Explore Banner ── */
.dd-explore-banner { background:linear-gradient(135deg,#0f172a 0%,#1a2f55 60%,#1e3a5f 100%); border-radius:var(--radius-xl); padding:52px 56px; display:flex; align-items:center; gap:48px; position:relative; overflow:hidden; }
.dd-explore-banner::before { content:''; position:absolute; top:-60px; right:-60px; width:240px; height:240px; background:radial-gradient(circle,rgba(234,88,12,.35),transparent 65%); pointer-events:none; }
.dd-explore-banner::after { content:''; position:absolute; bottom:-50px; left:30%; width:200px; height:200px; background:radial-gradient(circle,rgba(14,116,144,.2),transparent 65%); pointer-events:none; }
.dd-explore-banner-icon { width:72px; height:72px; min-width:72px; background:rgba(232,93,4,.18); border:1.5px solid rgba(232,93,4,.35); border-radius:20px; display:flex; align-items:center; justify-content:center; color:var(--primary); position:relative; z-index:1; flex-shrink:0; }
.dd-explore-banner-body { flex:1; position:relative; z-index:1; }
.dd-explore-banner-title { font-family:var(--font-display); font-size:clamp(1.4rem,2.2vw,1.9rem); font-weight:700; color:#fff; margin-bottom:8px; letter-spacing:-.025em; }
.dd-explore-banner-desc { font-size:.95rem; color:rgba(255,255,255,.55); line-height:1.6; max-width:540px; }
.dd-explore-banner-actions { display:flex; gap:14px; flex-shrink:0; position:relative; z-index:1; }
.dd-explore-btn-primary { display:inline-flex; align-items:center; gap:9px; padding:15px 32px; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:#fff; border-radius:var(--radius-md); font-size:.9rem; font-weight:700; box-shadow:0 8px 28px rgba(232,93,4,.45); transition:all .22s var(--ease-spring); white-space:nowrap; }
.dd-explore-btn-primary:hover { transform:translateY(-3px); box-shadow:0 14px 40px rgba(232,93,4,.55); }
.dd-explore-btn-secondary { display:inline-flex; align-items:center; gap:9px; padding:15px 28px; background:rgba(255,255,255,.1); color:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-md); font-size:.9rem; font-weight:600; transition:all .2s; white-space:nowrap; }
.dd-explore-btn-secondary:hover { background:rgba(255,255,255,.18); color:#fff; }

/* ════════════════════════════════════════════
   TOURS TAB
════════════════════════════════════════════ */
.dd-tours-count-badge { display:inline-flex; align-items:center; padding:4px 12px; background:var(--primary-light); color:var(--primary); border-radius:999px; font-size:.75rem; font-weight:700; margin-left:10px; vertical-align:middle; }
.dd-tour-grid-full { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.dd-tour-card { display:flex; flex-direction:column; background:#fff; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--gray-100); box-shadow:var(--shadow-card); text-decoration:none; color:inherit; transition:transform .25s var(--ease-spring),box-shadow .25s; }
.dd-tour-card:hover { transform:translateY(-6px); box-shadow:0 20px 56px rgba(0,0,0,.12); }
.dd-tour-img { position:relative; height:200px; overflow:hidden; background:var(--gray-200); flex-shrink:0; }
.dd-tour-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.dd-tour-card:hover .dd-tour-img img { transform:scale(1.07); }
.dd-tour-img-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--gray-200),var(--gray-300)); color:var(--gray-400); }
.dd-tour-featured-badge { position:absolute; top:12px; left:12px; padding:4px 12px; background:rgba(232,93,4,.95); color:#fff; border-radius:999px; font-size:.64rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(6px); }
.dd-tour-body { padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.dd-tour-meta { display:flex; align-items:center; gap:12px; margin-bottom:10px; flex-wrap:wrap; }
.dd-tour-meta-item { display:flex; align-items:center; gap:5px; font-size:.72rem; color:var(--gray-400); font-weight:600; }
.dd-tour-meta-item svg { color:var(--primary); }
.dd-tour-title { font-family:var(--font-display); font-size:1.05rem; font-weight:700; color:var(--gray-900); line-height:1.3; margin:0 0 10px; }
.dd-tour-desc { font-size:.82rem; color:var(--gray-500); line-height:1.65; margin:0 0 auto; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; padding-bottom:16px; }
.dd-tour-footer { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--gray-100); margin-top:auto; gap:12px; }
.dd-tour-price { font-size:1.4rem; font-weight:800; color:var(--primary); letter-spacing:-.03em; }
.dd-tour-price-label { font-size:.67rem; color:var(--gray-400); font-weight:500; margin-top:1px; letter-spacing:.03em; }
.dd-tour-cta { display:inline-flex; align-items:center; gap:6px; padding:9px 18px; background:var(--primary-light); color:var(--primary); border-radius:var(--radius-sm); font-size:.8rem; font-weight:700; transition:all .18s; white-space:nowrap; flex-shrink:0; }
.dd-tour-card:hover .dd-tour-cta { background:var(--primary); color:#fff; }
.dd-tours-empty { text-align:center; padding:64px 20px; background:#fff; border-radius:var(--radius-lg); border:1.5px dashed var(--gray-200); color:var(--gray-400); }
.dd-tours-empty svg { margin:0 auto 16px; display:block; opacity:.2; }
.dd-tours-empty h3 { font-size:1.1rem; font-weight:700; color:var(--gray-700); margin-bottom:8px; }
.dd-tours-empty p { font-size:.875rem; }
.dd-load-more-wrap { text-align:center; margin-top:36px; }
.dd-load-more-btn { display:inline-flex; align-items:center; gap:9px; padding:13px 34px; background:#fff; border:1.5px solid var(--gray-200); border-radius:999px; font-size:.875rem; font-weight:700; color:var(--gray-700); cursor:pointer; transition:all .2s var(--ease-spring); font-family:var(--font-body); }
.dd-load-more-btn:hover { border-color:var(--primary); color:var(--primary); transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,93,4,.1); }

/* ════════════════════════════════════════════
   MAP TAB
════════════════════════════════════════════ */
.dd-map-wrap { border-radius:var(--radius-xl); overflow:hidden; border:1px solid var(--gray-200); box-shadow:var(--shadow-card); background:var(--gray-100); }
.dd-map-wrap iframe { width:100%; height:520px; border:none; display:block; }
.dd-map-placeholder { height:520px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:var(--gray-400); font-size:.875rem; background:var(--gray-100); }
.dd-map-placeholder svg { opacity:.35; }
.dd-map-note { display:flex; align-items:center; gap:6px; font-size:.75rem; color:var(--gray-400); margin-top:12px; }

/* ════════════════════════════════════════════
   REVIEWS SECTION  (Koyu arka plan)
════════════════════════════════════════════ */
.dd-reviews-section {
    background: #0b1426;
    padding: 88px 0 96px;
    position: relative;
    overflow: hidden;
}
.dd-reviews-section::before {
    content:''; position:absolute; top:-80px; left:8%;
    width:360px; height:360px;
    background:radial-gradient(circle,rgba(232,93,4,.13),transparent 65%);
    pointer-events:none;
}
.dd-reviews-section::after {
    content:''; position:absolute; bottom:-60px; right:12%;
    width:300px; height:300px;
    background:radial-gradient(circle,rgba(14,116,144,.10),transparent 65%);
    pointer-events:none;
}

/* ── Header ── */
.dd-rev-header {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 32px;
    margin-bottom: 52px;
    position: relative;
    z-index: 1;
}
.dd-rev-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: var(--primary); margin-bottom: 10px;
}
.dd-rev-eyebrow::before { content:''; width:20px; height:2px; background:var(--primary); border-radius:1px; }
.dd-rev-title {
    font-family: var(--font-display); font-size: clamp(1.7rem,3vw,2.4rem);
    font-weight: 700; color: #fff; letter-spacing: -.035em; line-height: 1.15; margin:0;
}

/* ── Score box ── */
.dd-rev-score-box {
    display: flex; align-items: center; gap: 18px;
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--radius-lg); padding: 20px 28px; flex-shrink: 0;
}
.dd-rev-score-num {
    font-family: var(--font-display); font-size: 3rem; font-weight: 700;
    color: #fff; line-height: 1; letter-spacing: -.04em;
}
.dd-rev-score-right {}
.dd-rev-score-stars { display: flex; gap: 3px; margin-bottom: 4px; }
.dd-rev-score-stars svg { color: var(--gold); }
.dd-rev-score-label { font-size: .75rem; color: rgba(255,255,255,.4); font-weight: 500; }

/* ── Write Review button ── */
.dd-rev-write-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 30px;
    background: linear-gradient(135deg,var(--primary),var(--primary-dark));
    color: #fff; border: none; border-radius: var(--radius-md);
    font-size: .9rem; font-weight: 700; cursor: pointer;
    font-family: var(--font-body); white-space: nowrap;
    box-shadow: 0 6px 24px rgba(232,93,4,.4);
    transition: all .22s var(--ease-spring);
}
.dd-rev-write-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 36px rgba(232,93,4,.5); }

/* ── Empty reviews ── */
.dd-rev-empty {
    text-align: center; padding: 56px 24px;
    background: rgba(255,255,255,.03); border: 1px dashed rgba(255,255,255,.1);
    border-radius: var(--radius-xl); color: rgba(255,255,255,.3);
    position: relative; z-index: 1;
}
.dd-rev-empty svg { margin: 0 auto 14px; display: block; opacity: .2; }
.dd-rev-empty h3 { color: rgba(255,255,255,.55); font-size: 1rem; font-weight: 700; margin: 0 0 6px; }
.dd-rev-empty p  { font-size: .82rem; margin: 0; }

/* ── Reviews grid ── */
.dd-rev-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
    margin-bottom: 40px;
    position: relative; z-index: 1;
}

/* ── Review card ── */
.dd-rev-card {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: var(--radius-lg);
    padding: 26px 24px;
    transition: background .2s, border-color .2s, transform .2s;
}
.dd-rev-card:hover {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.15);
    transform: translateY(-3px);
}
.dd-rev-card-header { display:flex; align-items:center; gap:13px; margin-bottom:14px; }
.dd-rev-avatar {
    width: 44px; height: 44px; min-width: 44px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-display); font-size: .95rem; font-weight: 700;
    color: #fff; flex-shrink: 0;
}
.dd-rev-author-name { font-size: .9rem; font-weight: 700; color: #fff; margin-bottom: 3px; }
.dd-rev-author-meta { display: flex; align-items: center; gap: 8px; }
.dd-rev-author-date { font-size: .7rem; color: rgba(255,255,255,.35); font-weight: 500; }
.dd-rev-author-country {
    font-size: .65rem; font-weight: 700; color: rgba(255,255,255,.3);
    text-transform: uppercase; letter-spacing: .06em;
    background: rgba(255,255,255,.07); padding: 2px 8px; border-radius: 999px;
}
.dd-rev-stars { display: flex; gap: 2px; margin-bottom: 12px; }
.dd-rev-stars svg { color: var(--gold); }
.dd-rev-stars svg.empty { color: rgba(255,255,255,.18); }
.dd-rev-text {
    font-size: .875rem; color: rgba(255,255,255,.58); line-height: 1.75;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}

/* ── Load more (reviews) ── */
.dd-rev-load-more {
    text-align: center;
    position: relative; z-index: 1;
}
.dd-rev-load-more-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 12px 30px;
    background: transparent; color: rgba(255,255,255,.5);
    border: 1px solid rgba(255,255,255,.15); border-radius: 999px;
    font-size: .85rem; font-weight: 600; cursor: pointer;
    font-family: var(--font-body); transition: all .2s;
}
.dd-rev-load-more-btn:hover { border-color: rgba(255,255,255,.35); color: rgba(255,255,255,.85); }

/* ════════════════════════════════════════════
   REVIEW MODAL
════════════════════════════════════════════ */
.dd-modal-overlay {
    position: fixed; inset: 0; z-index: 9999;
    background: rgba(9,14,25,.85);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
    opacity: 0; visibility: hidden;
    transition: opacity .3s, visibility .3s;
}
.dd-modal-overlay.open { opacity: 1; visibility: visible; }

.dd-modal {
    background: #fff; border-radius: var(--radius-xl);
    width: 100%; max-width: 560px;
    max-height: 90vh; overflow-y: auto;
    box-shadow: 0 32px 80px rgba(0,0,0,.35);
    transform: translateY(20px) scale(.97);
    transition: transform .35s cubic-bezier(.34,1.56,.64,1);
    position: relative;
}
.dd-modal-overlay.open .dd-modal { transform: none; }

/* Modal scrollbar */
.dd-modal::-webkit-scrollbar { width: 4px; }
.dd-modal::-webkit-scrollbar-track { background: transparent; }
.dd-modal::-webkit-scrollbar-thumb { background: var(--gray-200); border-radius: 2px; }

/* Modal header */
.dd-modal-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 28px 32px 20px;
    border-bottom: 1px solid var(--gray-100);
    position: sticky; top: 0; background: #fff; z-index: 2;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}
.dd-modal-header-left { display: flex; align-items: center; gap: 12px; }
.dd-modal-header-icon {
    width: 40px; height: 40px; background: var(--primary-light);
    border-radius: 12px; display: flex; align-items: center; justify-content: center;
    color: var(--primary); flex-shrink: 0;
}
.dd-modal-title { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; color: var(--gray-900); margin: 0; }
.dd-modal-subtitle { font-size: .75rem; color: var(--gray-400); margin: 2px 0 0; }
.dd-modal-close {
    width: 36px; height: 36px; border-radius: 10px;
    background: var(--gray-100); border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: var(--gray-500); transition: background .15s, color .15s; flex-shrink: 0;
}
.dd-modal-close:hover { background: var(--gray-200); color: var(--gray-900); }

/* Modal body */
.dd-modal-body { padding: 28px 32px 32px; }

/* Form fields */
.dd-mf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.dd-mf-group { display: flex; flex-direction: column; gap: 6px; }
.dd-mf-group.full { grid-column: 1/-1; }
.dd-mf-label { font-size: .72rem; font-weight: 700; color: var(--gray-500); text-transform: uppercase; letter-spacing: .07em; }
.dd-mf-label span { color: var(--primary); }
.dd-mf-input,
.dd-mf-textarea {
    background: var(--gray-50); border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-sm); padding: 11px 14px;
    font-size: .9rem; color: var(--gray-900); font-family: var(--font-body);
    transition: border-color .18s, background .18s; outline: none; width: 100%;
}
.dd-mf-input::placeholder, .dd-mf-textarea::placeholder { color: var(--gray-400); }
.dd-mf-input:focus, .dd-mf-textarea:focus { border-color: var(--primary); background: #fff; box-shadow: 0 0 0 3px rgba(232,93,4,.08); }
.dd-mf-textarea { resize: vertical; min-height: 110px; }
.dd-mf-input.error, .dd-mf-textarea.error { border-color: #dc2626; }
.dd-mf-error-msg { font-size: .72rem; color: #dc2626; font-weight: 600; margin-top: 3px; display: none; }
.dd-mf-input.error + .dd-mf-error-msg,
.dd-mf-textarea.error + .dd-mf-error-msg { display: block; }

/* Star rating in modal */
.dd-mf-stars {
    display: flex; flex-direction: row-reverse;
    gap: 4px; justify-content: flex-end;
}
.dd-mf-stars input[type="radio"] { display: none; }
.dd-mf-stars label {
    font-size: 1.8rem; cursor: pointer; color: var(--gray-200);
    transition: color .12s, transform .12s;
    user-select: none; line-height: 1;
}
.dd-mf-stars label:hover,
.dd-mf-stars label:hover ~ label { color: var(--gold) !important; transform: scale(1.15); }
.dd-mf-stars input:checked ~ label { color: var(--gold) !important; }
.dd-mf-stars-hint { font-size: .72rem; color: var(--gray-400); margin-top: 6px; }

/* Honeypot */
.dd-hp { display: none !important; }

/* Char counter */
.dd-mf-char { font-size: .68rem; color: var(--gray-400); text-align: right; margin-top: 4px; }

/* Footer bar */
.dd-modal-footer {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 32px 28px; gap: 12px;
}
.dd-mf-note { font-size: .72rem; color: var(--gray-400); line-height: 1.5; max-width: 260px; }
.dd-mf-note svg { color: var(--primary); flex-shrink: 0; }
.dd-mf-note-inner { display: flex; align-items: flex-start; gap: 6px; }
.dd-mf-submit {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 13px 28px;
    background: linear-gradient(135deg,var(--primary),var(--primary-dark));
    color: #fff; border: none; border-radius: var(--radius-md);
    font-size: .9rem; font-weight: 700; cursor: pointer;
    font-family: var(--font-body); white-space: nowrap;
    box-shadow: 0 6px 22px rgba(232,93,4,.38);
    transition: all .22s var(--ease-spring);
}
.dd-mf-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(232,93,4,.48); }
.dd-mf-submit:disabled { opacity: .6; cursor: not-allowed; transform: none !important; }

/* Success state */
.dd-modal-success {
    padding: 48px 32px; text-align: center; display: none;
    animation: ddFadeIn .4s ease;
}
.dd-modal-success.show { display: block; }
.dd-modal-success-icon {
    width: 64px; height: 64px; background: #f0fdf4; border: 1.5px solid #bbf7d0;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    margin: 0 auto 20px; color: #16a34a;
}
.dd-modal-success h3 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; color: var(--gray-900); margin: 0 0 8px; }
.dd-modal-success p { font-size: .9rem; color: var(--gray-500); line-height: 1.6; margin: 0 0 24px; }
.dd-modal-success-close {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 26px; background: var(--gray-100); color: var(--gray-700);
    border: none; border-radius: var(--radius-md); font-size: .875rem; font-weight: 700;
    cursor: pointer; font-family: var(--font-body); transition: background .15s;
}
.dd-modal-success-close:hover { background: var(--gray-200); }

/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */
@media (max-width:1200px) {
    .dd-rich-description { grid-template-columns: 1fr 360px; gap: 48px; }
    .dd-tour-grid-preview,.dd-tour-grid-full,.dd-rev-grid { grid-template-columns: repeat(2,1fr); }
    .dd-ferry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dd-sights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dd-hotels-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dd-contact-cta-content {
        grid-template-columns: minmax(0, 1fr) minmax(270px, 360px);
        gap: 38px;
        padding: 56px 44px;
    }
    .dd-airport-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dd-general-info-grid { grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); }
}
@media (max-width:1024px) {
    .dd-rich-description { grid-template-columns: 1fr; gap: 36px; }
    .dd-quick-facts-card { position: static; }
    .dd-explore-banner { padding: 40px 36px; gap: 32px; }
    .dd-rev-header { grid-template-columns: 1fr; gap: 20px; }
    .dd-rev-score-box { justify-content: flex-start; }
    .dd-search-fields-container {
        flex-direction: column;
        border-radius: 22px;
        padding: 14px;
    }
    .dd-search-field {
        width: 100%;
        border-radius: 16px;
    }
    .dd-field-divider {
        width: 100%;
        height: 1px;
        margin: 8px 0;
    }
    .dd-search-action {
        width: 100%;
        margin: 10px 0 0;
    }
    .dd-btn-search { width: 100%; }
    .dd-contact-cta-content {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 44px 32px;
    }
    .dd-contact-cta-card { max-width: 460px; }
    .dd-trip-type-tabs { margin-bottom: 10px; }
    .dd-general-info-grid { grid-template-columns: 1fr; }
    .dd-general-facts-card {
        position: static;
        top: auto;
    }
    .dd-airport-panel {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .dd-airport-media { min-height: 250px; }
    .dd-airport-content { padding: 24px 24px 22px; }
}
@media (max-width:900px) {
    .dd-tour-grid-preview,.dd-tour-grid-full { grid-template-columns: repeat(2,1fr); }
    .dd-explore-banner { flex-direction: column; align-items: flex-start; gap: 24px; padding: 36px; }
    .dd-explore-banner-actions { flex-direction: row; }
    .dd-rev-grid { grid-template-columns: repeat(2,1fr); }
    .dd-popular-tours-head { flex-direction: column; align-items: flex-start; }
    .dd-popular-ferry-head { flex-direction: column; align-items: flex-start; }
    .dd-sights-head { flex-direction: column; align-items: flex-start; }
    .dd-hotels-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width:768px) {
    .dd-hero { height: auto; min-height: 680px; margin-top: 0; max-height: none; }
    .dd-hero-content { padding-bottom: 36px; }
    .dd-hero-breadcrumb { display: none; }
    .dd-hero-title { font-size: clamp(1.8rem,7vw,2.8rem); margin-bottom: 12px; }
    .dd-hero-short-desc { font-size: .9rem; margin-bottom: 20px; }
    .dd-hero-stats { gap: 18px; }
    .dd-tab-btn { padding: 14px 16px; font-size: .8rem; }
    .dd-main { padding: 36px 0 72px; }
    .dd-section { margin-bottom: 52px; }
    .dd-tour-grid-preview,.dd-tour-grid-full { grid-template-columns: 1fr; }
    .dd-rev-grid { grid-template-columns: 1fr; }
    .dd-highlights-grid { grid-template-columns: 1fr; }
    .dd-subdest-grid { grid-template-columns: repeat(2,1fr); }
    .dd-map-wrap iframe,.dd-map-placeholder { height: 340px; }
    .dd-reviews-section { padding: 60px 0 72px; }
    .dd-modal { max-width: 100%; border-radius: var(--radius-lg); }
    .dd-modal-header { padding: 22px 24px 16px; }
    .dd-modal-body { padding: 20px 24px 24px; }
    .dd-modal-footer { padding: 16px 24px 24px; flex-direction: column; align-items: stretch; }
    .dd-mf-submit { justify-content: center; }
    .dd-mf-note { max-width: 100%; }
    .dd-explore-btn-primary,.dd-explore-btn-secondary { padding: 13px 22px; font-size: .85rem; }
    .dd-search-card { border-radius: 22px; padding: 14px; }
    .dd-search-tabs { gap: 8px; margin-bottom: 12px; }
    .dd-search-tab { padding: 8px 12px; font-size: .78rem; }
    .dd-guest-dropdown { width: min(300px, calc(100vw - 68px)); }
    .dd-popular-tours { margin-top: 0; padding-top: 34px; }
    .dd-popular-ferry { padding-top: 28px; }
    .dd-ferry-grid { grid-template-columns: 1fr; }
    .dd-general-info { padding-top: 24px; }
    .dd-general-content-card { padding: 22px 20px 18px; }
    .dd-general-content-card.is-collapsed .dd-general-content-prose { max-height: 280px; }
    .dd-contact-cta-section { padding-top: 30px; padding-bottom: 52px; }
    .dd-contact-cta-content {
        padding: 36px 24px;
        gap: 24px;
    }
    .dd-contact-cta-subtitle { margin-bottom: 22px; }
    .dd-contact-cta-trust { gap: 10px; }
    .dd-contact-cta-card { max-width: none; }
    .dd-general-facts-head { padding: 18px 18px 12px; }
    .dd-general-facts-item { padding: 11px 14px; }
    .dd-general-quick-collapse {
        bottom: 16px;
        padding: 10px 14px;
    }
    .dd-sights-section { padding-top: 24px; }
    .dd-sights-grid { grid-template-columns: 1fr; }
    .dd-sight-card-body { min-height: 0; }
    .dd-airport-section { padding-top: 26px; }
    .dd-airport-facts { grid-template-columns: 1fr; }
    .dd-airport-media { min-height: 220px; }
    .dd-hotels-grid { grid-template-columns: 1fr; }
    .dd-hotels-section { padding-top: 26px; padding-bottom: 48px; }
    .dd-hotel-body { min-height: 0; }
}
@media (max-width:480px) {
    .dd-hero { min-height: 620px; }
    .dd-hero-title { font-size: clamp(1.55rem,8vw,2rem); }
    .dd-hero-stats { flex-wrap: wrap; gap: 12px; }
    .dd-hero-short-desc { display: block; font-size: .86rem; }
    .dd-tab-btn { padding: 13px 14px; font-size: .76rem; gap: 5px; }
    .dd-subdest-grid { grid-template-columns: 1fr; }
    .dd-section-title { font-size: 1.25rem; }
    .dd-tour-img { height: 180px; }
    .dd-explore-banner { padding: 28px 22px; }
    .dd-explore-banner-actions { flex-direction: column; width: 100%; }
    .dd-explore-btn-primary,.dd-explore-btn-secondary { justify-content: center; }
    .dd-rev-score-num { font-size: 2.4rem; }
    .dd-rev-write-btn { width: 100%; justify-content: center; }
    .dd-mf-row { grid-template-columns: 1fr; }
    .dd-modal-overlay { padding: 12px; }
    .dd-search-tab {
        flex: 1;
        justify-content: center;
        min-width: calc(50% - 6px);
    }
    .dd-search-field { padding: 9px 12px; }
    .dd-search-field-input { font-size: .9rem; }
    .dd-search-field-label { font-size: .62rem; }
    .dd-btn-search { font-size: .84rem; padding: 13px 18px; }
    .dd-general-facts-item { grid-template-columns: 28px minmax(78px, auto) minmax(0, 1fr); gap: 8px; }
    .dd-general-facts-value { font-size: .82rem; }
    .dd-general-quick-collapse {
        bottom: 12px;
        font-size: .78rem;
        padding: 9px 12px;
    }
    .dd-sight-card-media { height: 188px; }
    .dd-sight-card-cta { padding: 7px 11px; font-size: .72rem; }
    .dd-airport-content { padding: 20px 16px 18px; }
    .dd-airport-media { min-height: 188px; }
    .dd-airport-title { font-size: 1.25rem; }
    .dd-airport-fact { padding: 9px 10px; }
    .dd-airport-cta { width: 100%; justify-content: center; }
    .dd-contact-cta-wrap { border-radius: 22px; }
    .dd-contact-cta-content { padding: 28px 18px; }
    .dd-contact-cta-title { font-size: clamp(1.45rem, 8vw, 2rem); }
    .dd-contact-cta-btn { padding: 12px; }
    .dd-contact-cta-btn-icon { width: 40px; height: 40px; }
    .dd-contact-cta-btn-value { font-size: .94rem; }
    .dd-hotel-media { height: 188px; }
    .dd-hotel-cta { padding: 7px 11px; font-size: .72rem; }
}
