body.destinations-landing-page { margin:0; overflow-x:hidden; background:#fff; }
.destination-landing { --destination-magenta:var(--sakkaf-color-primary); --destination-purple:var(--sakkaf-color-plum); --destination-orange:var(--sakkaf-color-gold); --destination-ink:var(--sakkaf-color-ink); --destination-muted:var(--sakkaf-color-muted); width:100%; overflow:hidden; color:var(--destination-ink); background:#fff; direction:rtl; font-family:var(--destination-type-family); }
.destination-shell { width:min(1160px,calc(100% - 32px)); margin-inline:auto; }
.destination-breadcrumb { position:relative; z-index:1; padding:12px 0; border-bottom:1px solid #f4eff3; background:#fff; }
.destination-breadcrumb .destination-shell { display:flex; align-items:center; gap:12px; color:#858197; font-size:13px; font-weight:600; }
.destination-breadcrumb a { color:#858197; text-decoration:none; }
.destination-breadcrumb a:hover { color:var(--destination-magenta); }
.destination-breadcrumb [aria-current="page"] { color:var(--destination-magenta); }
.destination-hero { min-height:440px; position:relative; isolation:isolate; display:flex; align-items:center; overflow:hidden; padding:42px max(24px,calc((100% - 1160px)/2)); color:#fff; background:#145a66; }
.destination-hero-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.destination-hero::before { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#092d2e9c 0%,#092d2e50 60%,#092d2e12 100%); content:""; }
.destination-hero-inner { width:min(660px,74%); margin-right:0; margin-left:auto; text-align:right; }
.destination-hero h1 { max-width:660px; margin:0 0 13px; color:#fff; font-size:clamp(33px,5.5vw,60px); font-weight:900; line-height:1.28; text-shadow:0 2px 16px #0719196e; }
.destination-hero p { max-width:580px; margin:0 0 23px; color:#fff; font-size:clamp(16px,2.3vw,20px); font-weight:600; line-height:1.85; text-shadow:0 1px 9px #071919a1; }
.destination-button { min-height:46px; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:14px; border-radius:999px; padding:11px 24px; color:var(--destination-magenta); font-size:15px; font-weight:800; line-height:1.4; text-align:center; text-decoration:none; transition:background .18s ease,transform .18s ease,box-shadow .18s ease; }
.destination-button:hover { transform:translateY(-2px); box-shadow:0 8px 22px #58154528; }
.destination-button:focus-visible,.destination-card:focus-visible { outline:3px solid #ffc24f; outline-offset:4px; }
.destination-button-primary { min-width:min(264px,100%); border:2px solid #fff; background:linear-gradient(105deg,#dc006c,#b60063); color:#fff; box-shadow:0 4px 15px #66134738; }
.destination-button-primary:hover { background:#a60055; color:#fff; }
.destination-section { padding-block:37px 28px; scroll-margin-top:28px; }
.destination-section-heading { width:min(720px,100%); margin:0 auto 24px; display:grid; grid-template-columns:minmax(26px,80px) auto minmax(26px,80px); justify-content:center; align-items:center; gap:7px 14px; text-align:center; }
.destination-landing #available-destinations .destination-section-heading { display:flex; flex-direction:column; gap:7px; }
.destination-heading-title-row { display:flex; align-items:center; justify-content:center; gap:14px; }
.destination-flight-path,.destination-heading-divider { display:none; }
.destination-heading-rule { width:clamp(26px,6vw,48px); height:2px; flex:none; border-radius:2px; background:#f2a644; }
.destination-section-heading h2 { margin:0; color:var(--destination-orange); font-size:clamp(22px,4vw,30px); font-weight:900; line-height:1.4; white-space:nowrap; }
.destination-section-heading h3 { grid-column:1/-1; margin:0 0 -4px; color:#777c9e; font-size:clamp(16px,3vw,19px); font-weight:800; line-height:1.55; }
.destination-section-heading p { grid-column:1/-1; margin:0; color:var(--destination-muted); font-size:14px; font-weight:600; line-height:1.8; }
.destination-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; direction:rtl; }
.destination-card { min-width:0; position:relative; display:block; overflow:hidden; border:1px solid #f1eaf0; border-radius:16px; background:#fff; color:var(--destination-purple); box-shadow:0 4px 15px #42153110; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.destination-card:hover { transform:translateY(-3px); box-shadow:0 10px 24px #42153120; }
.destination-card>img { width:100%; height:auto; aspect-ratio:1.12; display:block; object-fit:cover; background:#f4f0f3; transition:transform .32s ease; }
.destination-card-available:hover>img { transform:scale(1.035); }
.destination-card-caption { min-height:51px; position:relative; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px 8px 41px; }
.destination-card-caption strong { overflow:hidden; color:#591649; font-size:clamp(15px,2.9vw,19px); font-weight:900; line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }
.destination-card-caption strong svg { display:none; }
.destination-card-available .destination-card-caption>span { color:var(--destination-magenta); font-size:12px; font-weight:800; white-space:nowrap; }
.destination-card-arrow { position:absolute; inset-inline-start:12px; top:50%; display:grid; width:27px; height:27px; place-items:center; transform:translateY(-50%); color:var(--destination-magenta); font-size:29px; line-height:1; }
.destination-upcoming-section { padding-top:20px; }
.destination-upcoming-section .destination-section-heading { margin-bottom:23px; }
.destination-upcoming-grid { gap:12px; }
.destination-card-upcoming>img { aspect-ratio:.81; }
.destination-card-upcoming .destination-card-caption { min-height:56px; justify-content:space-between; padding:8px 12px; }
.destination-coming-soon { flex:none; padding:5px 10px; border-radius:999px; background:#faeef8; color:var(--destination-purple); font-size:11px; font-weight:800; }
.destination-contact { min-height:430px; position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-top:16px; padding:35px 20px; background:#227867; }
.destination-contact-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.destination-contact::before { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,#062c248a 0%,#102b2787 100%); content:""; }
.destination-contact-card { width:min(570px,100%); box-sizing:border-box; position:relative; padding:44px 25px 25px; border:1px solid #ffffffde; border-radius:25px; background:#fffffff3; box-shadow:0 12px 40px #15262235; text-align:center; }
.destination-contact-icon { width:68px; height:68px; position:absolute; top:-35px; left:calc(50% - 34px); display:grid; place-items:center; border:7px solid #fff; border-radius:50%; background:#fff; color:var(--destination-magenta); }
.destination-contact-card h2 { margin:0 0 9px; color:var(--destination-purple); font-size:clamp(23px,4vw,30px); font-weight:900; line-height:1.45; }
.destination-contact-card p { margin:0 auto 17px; color:#75758b; font-size:15px; font-weight:600; line-height:1.8; }
.destination-whatsapp-button { width:100%; min-height:51px; box-sizing:border-box; }
@media(min-width:760px) {
  .destination-shell { width:min(1160px,calc(100% - 56px)); }
  .destination-breadcrumb { padding-block:14px; }
  .destination-hero { min-height:535px; }
  .destination-hero-inner { width:min(640px,60%); }
  .destination-section { padding-block:48px 34px; }
  .destination-section-heading { margin-bottom:28px; grid-template-columns:80px auto 80px; gap:10px 20px; }
  .destination-card-grid { gap:20px; }
  .destination-card-caption { min-height:62px; padding-inline:18px 48px; }
  .destination-card-caption strong { font-size:21px; }
  .destination-card-available .destination-card-caption>span { font-size:15px; }
  .destination-card-upcoming .destination-card-caption { min-height:64px; padding-inline:18px; }
  .destination-upcoming-section { padding-top:23px; }
  .destination-card-upcoming>img { aspect-ratio:.9; }
  .destination-contact { min-height:480px; margin:24px auto; padding:50px 28px; border-radius:22px; }
  .destination-contact-card { padding:48px 42px 34px; }
}
@media(min-width:992px) {
  .destination-landing #available-destinations.destination-section { width:100%; max-width:none; margin-inline:0; padding:55px max(28px,calc((100% - 1440px)/2)) 70px; box-sizing:border-box; position:relative; isolation:isolate; overflow:hidden; border-top:1px solid #f2e9e4; background:radial-gradient(circle at 18% 32%,rgba(202,148,50,.05),transparent 20%),linear-gradient(180deg,#fffaf7 0%,#fffdfb 100%); }
  .destination-landing #available-destinations.destination-section::before { position:absolute; z-index:-1; inset:0; height:420px; background:url('../images/global-map2.png') no-repeat center -10px/1150px auto; opacity:.12; mix-blend-mode:multiply; pointer-events:none; content:""; }
  .destination-landing #available-destinations .destination-section-heading { width:min(720px,100%); position:relative; display:flex; flex-direction:column; align-items:center; gap:0; margin:0 auto 28px; overflow:visible; text-align:center; }
  .destination-landing #available-destinations .destination-flight-path { position:absolute; z-index:-1; top:-16px; left:50%; width:min(960px,94%); height:90px; transform:translateX(-50%); pointer-events:none; }
  .destination-landing #available-destinations .destination-flight-path svg { width:100%; height:100%; }
  .destination-landing #available-destinations .destination-flight-path span { position:absolute; top:24px; right:73%; transform:rotate(34deg); color:#caa56c; font-size:28px; line-height:1; filter:drop-shadow(0 2px 4px #caa56c59); }
  .destination-landing #available-destinations .destination-heading-title-row { display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:6px; }
  .destination-landing #available-destinations .destination-section-heading h2 { margin:0; color:#311047; font-size:34px; font-weight:800; line-height:1.3; }
  .destination-landing #available-destinations .destination-heading-rule { width:48px; height:2px; border-radius:2px; background:#caa56c; }
  .destination-landing #available-destinations .destination-heading-divider { display:flex; align-items:center; justify-content:center; gap:12px; margin:6px auto 10px; }
  .destination-landing #available-destinations .destination-heading-divider span { width:48px; height:1px; background:#ecd8c8; }
  .destination-landing #available-destinations .destination-heading-divider b { color:#c89432; font-size:16px; line-height:1; }
  .destination-landing #available-destinations .destination-section-heading h3 { margin:10px 0 0; color:#b21b41; font-size:19px; font-weight:800; line-height:1.5; }
  .destination-landing #available-destinations .destination-section-heading p { margin:0; color:#67536f; font-size:17px; font-weight:500; line-height:1.7; }
  .destination-landing #available-destinations .destination-card-grid:not(.destination-upcoming-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 20px; margin-top:30px; }
  .destination-landing #available-destinations .destination-card-available { min-width:0; min-height:220px; display:grid; grid-template-columns:minmax(0,46%) minmax(0,1fr); direction:ltr; align-items:center; gap:12px; padding:10px; overflow:hidden; border:1px solid #eadfda; border-radius:18px; background:#fff; box-shadow:0 8px 24px #4e293814; }
  .destination-landing #available-destinations .destination-card-available:hover { border-color:#dcc2b5; box-shadow:0 14px 32px #4e293824; }
  .destination-landing #available-destinations .destination-card-available>img { width:100%; height:190px; min-height:165px; max-height:190px; aspect-ratio:auto; display:block; object-fit:cover; border-radius:13px; }
  .destination-landing #available-destinations .destination-card-available .destination-card-caption { min-width:0; min-height:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:48px; padding:8px 16px 8px 8px; direction:rtl; text-align:right; }
  .destination-landing #available-destinations .destination-card-available .destination-card-caption strong { display:flex; align-items:center; gap:7px; overflow:visible; color:#311047; font-size:26px; font-weight:800; line-height:1.3; text-overflow:clip; white-space:normal; }
  .destination-landing #available-destinations .destination-card-available .destination-card-caption strong svg { display:block; flex:none; color:#990d5d; }
  .destination-landing #available-destinations .destination-card-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:max-content; max-width:100%; min-height:40px; box-sizing:border-box; padding:8px 20px; border:1.5px solid #990d5d; border-radius:25px; color:#990d5d; font-size:13px; font-weight:700; white-space:nowrap; }
  .destination-landing #available-destinations .destination-card-action::after { content:"‹"; font-size:17px; line-height:1; }
  .destination-landing #available-destinations .destination-card-arrow { display:none; }
  .destination-landing .destination-upcoming-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:359px) {
  .destination-shell { width:calc(100% - 24px); }
  .destination-card-grid { gap:9px; }
  .destination-card-caption { gap:4px; padding-inline-start:33px; padding-inline-end:9px; }
  .destination-card-caption strong { font-size:14px; }
  .destination-card-available .destination-card-caption>span { font-size:10px; }
  .destination-card-arrow { inset-inline-start:7px; }
  .destination-coming-soon { padding-inline:7px; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .destination-landing *, .destination-landing *::before, .destination-landing *::after { scroll-behavior:auto!important; transition:none!important; }
}

.destination-landing {
  --destination-type-family: "IBM Plex Sans Arabic", Tahoma, Arial, sans-serif;
  --destination-type-h1: clamp(30px, 3.4vw, 44px);
  --destination-type-h2: clamp(22px, 2.4vw, 30px);
  --destination-type-h3: clamp(17px, 1.7vw, 20px);
  --destination-type-body: 15px;
  --destination-type-support: 13.5px;
  --destination-type-button: 15px;
  --destination-type-body-line: 1.8;
  --destination-type-support-line: 1.65;
  --destination-type-heading-line: 1.4;
  font-family: var(--destination-type-family);
  font-size: var(--destination-type-body);
  font-weight: 400;
  line-height: var(--destination-type-body-line);
  letter-spacing: normal;
}

.destination-landing :is(h1, h2, h3, p, a, button, span, strong, small, b) {
  font-family: var(--destination-type-family) !important;
  letter-spacing: normal !important;
}

.destination-landing h1 {
  font-size: var(--destination-type-h1) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.destination-landing h2 {
  font-size: var(--destination-type-h2) !important;
  font-weight: 700 !important;
  line-height: var(--destination-type-heading-line) !important;
}

.destination-landing :is(h3, .destination-card-caption strong) {
  font-size: var(--destination-type-h3) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.destination-landing p {
  font-size: var(--destination-type-body) !important;
  font-weight: 400 !important;
  line-height: var(--destination-type-body-line) !important;
}

.destination-landing :is(.destination-breadcrumb .destination-shell, .destination-section-heading p, .destination-coming-soon) {
  font-size: var(--destination-type-support) !important;
  font-weight: 400 !important;
  line-height: var(--destination-type-support-line) !important;
}

.destination-landing :is(.destination-button, .destination-card-action) {
  font-size: var(--destination-type-button) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* Keep hero and contact photo treatments in the homepage's plum color family. */
.destination-hero,
.destination-contact { background-color: var(--sakkaf-color-plum); }
.destination-hero::before {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--sakkaf-color-plum) 78%, transparent) 0%,
    color-mix(in srgb, var(--sakkaf-color-plum) 48%, transparent) 60%,
    color-mix(in srgb, var(--sakkaf-color-plum) 14%, transparent) 100%
  );
}
.destination-contact::before {
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--sakkaf-color-plum) 62%, transparent) 0%,
    color-mix(in srgb, var(--sakkaf-color-plum) 82%, transparent) 100%
  );
}
.destination-button-primary {
  background: linear-gradient(105deg, var(--sakkaf-color-primary-soft), var(--sakkaf-color-primary));
}
.destination-button-primary:hover { background: var(--sakkaf-color-primary-hover); }
.destination-button:focus-visible,
.destination-card:focus-visible { outline-color: var(--sakkaf-color-focus); }
.destination-heading-rule,
.destination-landing #available-destinations .destination-heading-rule { background: var(--sakkaf-color-gold); }
.destination-landing #available-destinations .destination-section-heading h3 { color: var(--sakkaf-color-primary); }
.destination-card-caption strong,
.destination-landing #available-destinations .destination-card-available .destination-card-caption strong { color: var(--sakkaf-color-plum); }
.destination-contact-card p { color: var(--sakkaf-color-muted); }
