/* Shared settings for the reviewed resort views only. */
:is(#landing,#app,#ov.fd-cabin-modern,#services-overlay,#menu-detail,#sinema-detail,
    #tarfihi-detail,#maiya-detail,#tawilat-detail,#jalsat-detail,#hospitality-detail,#sharik-detail,
    #walaa-detail,#faq-overlay,#contact-page[data-venue="resort"],#order-popup.fd-resort-order,#fd-map-dialog) {
  --fd-primary:#147a8c;
  --fd-primary-hover:#126b7b;
  --fd-surface:#0b2130;
  --fd-line:#315967;
  --fd-text:#f4f8fa;
  --fd-muted:#b6cbd6;
  --fd-link:#9edce5;
  --fd-heading:24px;
  --fd-copy:15px;
  --fd-side:20px;
  --fd-gap:24px;
  --fd-action-size:16px;
  --fd-action-height:48px;
  --fd-action-radius:12px;
}
@media(max-width:599px) {
  :is(#landing,#app,#ov.fd-cabin-modern,#services-overlay,#menu-detail,#sinema-detail,
      #tarfihi-detail,#maiya-detail,#tawilat-detail,#jalsat-detail,#hospitality-detail,#sharik-detail,
      #walaa-detail,#faq-overlay,#contact-page[data-venue="resort"],#order-popup.fd-resort-order,#fd-map-dialog) {
    --fd-heading:22px;
    --fd-copy:14px;
  }
}
@media(max-width:360px) {
  :is(#landing,#app,#ov.fd-cabin-modern,#services-overlay,#menu-detail,#sinema-detail,
      #tarfihi-detail,#maiya-detail,#tawilat-detail,#jalsat-detail,#hospitality-detail,#sharik-detail,
      #walaa-detail,#faq-overlay,#contact-page[data-venue="resort"],#order-popup.fd-resort-order) { --fd-side:16px; }
}

#app .cabin-heading-row #headerTitle,
#ov.fd-cabin-modern .fd-cabin-title,
#services-overlay .svcs-title,
#menu-detail .menu-title,
#sinema-detail .cn-title,
#tarfihi-detail .tg-title,
#maiya-detail .wm-title,
#tawilat-detail .tw-title,
#jalsat-detail .jl-title,
#hospitality-detail .hd-title,
#sharik-detail .sw-title,
#walaa-detail .wl-title,
#faq-overlay .faq-title,
#contact-page[data-venue="resort"] .cp-title { font-size:var(--fd-heading); line-height:1.4; }

#ov.fd-cabin-modern :is(.fd-cabin-suitable,.fd-cabin-instructions p,.fd-cabin-addons p),
#menu-detail :is(.menu-item-desc,.menu-hours),
#sinema-detail :is(.cn-intro,.cn-notes-list),
#tarfihi-detail .tg-notes-list,
#maiya-detail :is(.wm-notes-list,.wm-selection-hint,.wm-order-hint),
#tawilat-detail :is(.tw-intro,.tw-hint),
#jalsat-detail :is(.jl-description,.jl-notes-list,.jl-order-hint),
#hospitality-detail :is(.hd-intro,.hd-item),
#sharik-detail :is(.sw-step-copy,.sw-terms,.sw-criteria-copy,.sw-email-hint),
#walaa-detail :is(.wl-card-intro,.wl-promise-intro,.wl-enroll-hint) { font-size:var(--fd-copy); }
#faq-list-resort .faq-answer { font-size:var(--fd-copy)!important; }

#app .card-btn,
#ov.fd-cabin-modern .mbtn,
#menu-detail .menu-order-button,
#sinema-detail .cn-order-button,
#tarfihi-detail .tg-order-button,
#maiya-detail .wm-order-button,
#tawilat-detail .tw-contact,
#jalsat-detail .jl-order-button,
#sharik-detail .sw-email-button,
#walaa-detail .wl-enroll-button,
#contact-page[data-venue="resort"] .cp-primary,
#order-popup.fd-resort-order .fd-order-submit,
#fd-map-dialog .fd-map-details-button {
  box-sizing:border-box;
  min-height:var(--fd-action-height);
  border-radius:var(--fd-action-radius);
  font-size:var(--fd-action-size);
  background:var(--fd-primary);
  border-color:var(--fd-primary);
  color:#fff;
}
#contact-page[data-venue="resort"] .cp-primary .cp-wide-name { font-size:var(--fd-action-size); }
#menu-detail .menu-qty-button:not(.menu-qty-button--minus) { background:var(--fd-primary); }
@media(hover:hover) and (pointer:fine) {
  #app .card-btn:hover,
  #ov.fd-cabin-modern .mbtn:hover,
  #menu-detail .menu-order-button:hover,
  #sinema-detail .cn-order-button:hover,
  #tarfihi-detail .tg-order-button:not(:disabled):hover,
  #maiya-detail .wm-order-button:not(:disabled):hover,
  #tawilat-detail .tw-contact:hover,
  #jalsat-detail .jl-order-button:hover,
  #sharik-detail .sw-email-button:hover,
  #walaa-detail .wl-enroll-button:hover,
  #contact-page[data-venue="resort"] .cp-primary:hover,
  #order-popup.fd-resort-order .fd-order-submit:hover,
  #fd-map-dialog .fd-map-details-button:hover { background:var(--fd-primary-hover); }
}
#tarfihi-detail .tg-order-button:disabled,
#maiya-detail .wm-order-button:disabled,
#menu-detail .menu-qty-button:disabled { background:#183745; border-color:#31505d; color:#91aab5; cursor:default; }

/* Hospitality uses the same content width and type scale as the service pages. */
#hospitality-detail .hd-shell { box-sizing:border-box; width:100%; max-width:600px; margin:0 auto; padding:24px var(--fd-side) calc(32px + env(safe-area-inset-bottom,0px)); font-family:Tajawal,sans-serif; direction:rtl; }
#hospitality-detail .hd-header { padding:0; margin-bottom:22px; }
#hospitality-detail .hd-tabs { padding:0; margin-bottom:20px; }
#hospitality-detail .hd-content { padding:0; }
#hospitality-detail .hd-intro { margin:0 0 16px; color:var(--fd-muted); }
#hospitality-detail .hd-packages { gap:16px; }
#hospitality-detail .hd-package-name { font-size:18px; }
#hospitality-detail .hd-item { min-width:0; line-height:1.65; }
@media(min-width:900px) {
  #hospitality-detail .hd-shell { max-width:1100px; padding-top:28px; }
  #hospitality-detail .hd-header { margin-bottom:26px; }
}

/* Keep each page's approved photo/phrase order; share the outer spacing. */
/* Compact mobile typography for the resort services trial. */
@media(max-width:599px) {
  #services-overlay .svcs-title { font-size:17px; }
  #services-overlay .svcs-header { padding-top:16px; padding-bottom:18px; }
  #services-overlay .svcs-content { gap:clamp(24px,4.5vh,40px); padding-bottom:calc(20px + env(safe-area-inset-bottom,0px)); }
  #services-overlay .svcs-grid { gap:8px; }
  #services-overlay .svcs-card { min-height:48px; padding:10px 16px; border-radius:14px; }
  #services-overlay .svcs-card .svcs-name { font-size:14px; }
  #services-overlay .svcs-section-title { margin-bottom:6px; font-size:13px; }
  :is(#menu-detail,#sinema-detail,#tarfihi-detail,#maiya-detail,
      #tawilat-detail,#jalsat-detail,#hospitality-detail,#sharik-detail,#walaa-detail) {
    --fd-heading:17px;
    --fd-action-size:14px;
  }
  #menu-detail .menu-title,#sinema-detail .cn-title,#tarfihi-detail .tg-title,
  #maiya-detail .wm-title,#tawilat-detail .tw-title,#jalsat-detail .jl-title,
  #hospitality-detail .hd-title,#sharik-detail .sw-title,#walaa-detail .wl-title { font-weight:700; font-size:17px!important; }

  #sinema-detail .cn-section-title,#tarfihi-detail .tg-section-title,
  #maiya-detail .wm-section-title,#tawilat-detail .tw-label,
  #jalsat-detail :is(.jl-section-title,.jl-filter-title),
  #hospitality-detail .hd-package-name,
  #sharik-detail :is(.sw-section-title,.sw-step-title),
  #walaa-detail .wl-section-title { font-size:15px; }

  #menu-detail :is(.menu-item-name,.menu-qty),
  #tarfihi-detail .tg-package-name,#maiya-detail .wm-select,
  #tawilat-detail :is(.tw-package-name,.tw-size),
  #jalsat-detail :is(.jl-filter,.jl-addon-name,.jl-addon-price,.jl-total),
  #sinema-detail .cn-inclusions,#walaa-detail .wl-benefits-list,
  #sharik-detail :is(.sw-prize-kicker,.sw-prize-detail,.sw-email-address),
  #tarfihi-detail .tg-summary,#maiya-detail .wm-order-summary { font-size:14px; }

  #maiya-detail .wm-game-name,#jalsat-detail .jl-session-name { font-size:16px; font-weight:700; }
  #sinema-detail .cn-stat dd,#jalsat-detail .jl-facts dd { font-size:18px; font-weight:700; }
  #tarfihi-detail :is(.tg-package-price,.tg-summary-price),
  #maiya-detail .wm-order-summary strong,
  #tawilat-detail :is(.tw-package-price,#tawilat-summary-price),
  #jalsat-detail .jl-total strong { font-size:16px; }
  #walaa-detail .wl-promise-reward,#sharik-detail .sw-prize-highlight { font-size:22px; }
}

#menu-detail .menu-shell,#sinema-detail .cn-shell,#tarfihi-detail .tg-shell,
#maiya-detail .wm-shell,#tawilat-detail .tw-shell,#jalsat-detail .jl-shell,
#sharik-detail .sw-shell,#walaa-detail .wl-shell { padding-inline:var(--fd-side); }
#ov.fd-cabin-modern .fd-cabin-section { margin-bottom:var(--fd-gap); }
#menu-detail .menu-hours { margin:0 0 20px; color:var(--fd-link); line-height:1.7; }
#menu-detail .menu-header { margin-bottom:14px; }

@media(max-width:599px) {
  #app .cabin-toolbar { align-items:center; }
  #app .cabin-toolbar .filter-section { flex-wrap:wrap; overflow:visible; }
  #app .cabin-toolbar .fbtn { flex:none; }
}
@media(min-width:820px) {
  #fd-map-dialog .fd-map-card:not([hidden]) { min-height:0; }
  #fd-map-dialog .fd-map-details-button { margin-top:16px; }
}
@media(min-width:900px) {
  #ov.fd-cabin-modern [data-cabin-id="1"] .fd-cabin-heading {
    display:grid; grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"name badge" "description description"; gap:8px 14px;
  }
  #ov.fd-cabin-modern [data-cabin-id="1"] .fd-cabin-heading > div { display:contents; }
  #ov.fd-cabin-modern [data-cabin-id="1"] .fd-cabin-title { grid-area:name; }
  #ov.fd-cabin-modern [data-cabin-id="1"] .fd-cabin-badge { grid-area:badge; }
  #ov.fd-cabin-modern [data-cabin-id="1"] .fd-cabin-suitable { grid-area:description; margin:0; }
}

/* Resort order popup: the original popup is restored for the excluded service. */
#order-popup.fd-resort-order { padding:var(--fd-side)!important; background:rgba(2,12,21,.76)!important; }
#order-popup.fd-resort-order .fd-order-panel {
  box-sizing:border-box; width:100%; max-width:460px!important;
  padding:24px!important; border:1px solid var(--fd-line)!important;
  border-radius:18px!important; background:var(--fd-surface)!important;
  max-height:calc(100dvh - 40px)!important; color:var(--fd-text);
}
#order-popup.fd-resort-order .fd-order-title { font-size:20px!important; line-height:1.4; }
#order-popup.fd-resort-order #order-item-name { color:var(--fd-link)!important; font-size:var(--fd-copy)!important; line-height:1.6; }
#order-popup.fd-resort-order :is(input,select,textarea) {
  font-size:16px!important; line-height:1.5; min-height:48px; color:var(--fd-text)!important;
  border:1px solid var(--fd-line)!important; background-color:#061a28!important;
}
#order-popup.fd-resort-order #order-cabin-num { font-size:16px!important; }
#order-popup.fd-resort-order label { font-size:14px!important; color:#c3d7df!important; }
#order-popup.fd-resort-order #order-villa {
  padding-inline-end:38px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239edce5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important; background-position:left 12px center!important;
}
#order-popup.fd-resort-order .fd-field-error { margin:6px 0 0; font-size:13px; color:#ffb9af; line-height:1.5; }
#order-popup.fd-resort-order .fd-field-error:empty { display:none; }
#order-popup.fd-resort-order [aria-invalid="true"] { border-color:#ec958c!important; }
#order-popup.fd-resort-order .fd-order-help { padding:12px 14px!important; border:1px solid #294957!important; background:#102b3a!important; }
#order-popup.fd-resort-order .fd-order-help > div { font-size:var(--fd-copy)!important; color:var(--fd-muted)!important; }
#order-popup.fd-resort-order .fd-order-submit { font-size:16px!important; background:var(--fd-primary)!important; }
#order-popup.fd-resort-order .fd-order-cancel { min-height:48px; font-size:16px!important; color:#c3d7df!important; border:1px solid var(--fd-line)!important; background:#102b3a!important; }
@media(max-width:360px) { #order-popup.fd-resort-order .fd-order-panel { padding:20px 16px!important; } }

#menu-detail .menu-bbq { grid-template-columns:minmax(0,1fr) auto; gap:10px 12px; }
#menu-detail .menu-bbq > :is(.menu-item-name,.menu-item-desc,.menu-bbq-types) { grid-column:1/-1; }
#menu-detail .menu-bbq .menu-item-desc { margin:0; }
#menu-detail .menu-bbq-types { display:flex; gap:8px; }
#menu-detail .menu-bbq-types button { flex:1; }
#maiya-detail .wm-thumbnails { display:flex; gap:8px; max-width:100%; overflow-x:auto; padding:4px 2px 10px; margin-top:10px; scrollbar-width:thin; }
#maiya-detail .wm-thumbnail { flex:0 0 56px; width:56px; height:56px; padding:3px; border:1px solid var(--fd-line); border-radius:10px; background:#0b2130; cursor:pointer; }
#maiya-detail .wm-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; border-radius:6px; }
#maiya-detail .wm-thumbnail[aria-pressed="true"] { border:2px solid var(--fd-link); background:#174454; }

#faq-overlay .fd-faq-shortcuts { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:22px; }
#faq-overlay .fd-faq-shortcuts button { box-sizing:border-box; width:100%; min-width:0; min-height:48px; padding:12px 16px; border:1px solid var(--fd-line); border-radius:12px; background:#153244; color:var(--fd-text); font:700 var(--fd-copy)/1.6 Tajawal,sans-serif; text-align:right; cursor:pointer; }
#faq-overlay .fd-faq-shortcuts button[aria-expanded="true"] { background:var(--fd-primary); border-color:var(--fd-primary); color:#fff; }
#faq-overlay .fd-faq-shortcuts button:focus-visible { outline:2px solid var(--fd-link); outline-offset:3px; }
@media(min-width:900px) {
  #faq-overlay .fd-faq-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #faq-overlay .fd-faq-shortcuts button { text-align:center; }
}
#faq-list-resort .faq-answer p { margin:0 0 10px; }
#faq-list-resort .faq-answer p:last-child { margin:10px 0 0; }
#faq-list-resort .fd-text-link { display:block; width:fit-content; margin-top:12px; color:var(--fd-link); text-decoration:underline; text-underline-offset:4px; }

#ov.fd-cabin-modern .fd-cabin-service-link { justify-content:space-between; gap:8px; color:var(--fd-link); text-decoration:underline; text-underline-offset:4px; }
#ov.fd-cabin-modern .fd-cabin-addons a { color:var(--fd-link); text-decoration:underline; text-underline-offset:4px; }
#ov.fd-cabin-modern .modal-bottom-bar { flex-wrap:wrap; gap:10px; }
#ov.fd-cabin-modern .modal-bottom-bar > .mbtn { flex:1; }
#ov.fd-cabin-modern .mbtn-wa { background:#102b3a; border:1px solid var(--fd-line); color:var(--fd-link); }
#ov.fd-cabin-modern .mbtn-wa:hover { background:#173b4c; }
#ov.fd-cabin-modern .modal-bottom-bar > .mbtn-wa:not(.fd-cabin-inquiry) { display:none; }
#ov:not(.fd-cabin-modern) :is(.fd-cabin-inquiry,.fd-cabin-sharing) { display:none; }
#ov.fd-cabin-modern .fd-cabin-sharing { flex:0 0 100%; width:100%; }
#ov.fd-cabin-modern .fd-cabin-share-links { display:flex; justify-content:center; gap:8px 24px; flex-wrap:wrap; }
#ov.fd-cabin-modern .fd-cabin-share-links :is(a,button) { display:inline-flex; align-items:center; justify-content:center; min-height:32px; margin:0; padding:4px 0; border:0; background:none; color:var(--fd-link); font:500 13px/1.5 Tajawal,sans-serif; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
#ov.fd-cabin-modern .fd-cabin-copy-status { margin:4px 0 0; color:var(--fd-link); font-size:13px; text-align:center; }
#ov.fd-cabin-modern .fd-cabin-copy-status:empty { display:none; }
.fd-copy-buffer { position:fixed; top:0; left:-9999px; }

#landing .lh-offer-strip[hidden] { display:none!important; }

@media(max-width:380px) {
  #app .cabin-toolbar { flex-wrap:wrap; }
  #app .cabin-toolbar .filter-section { flex:0 0 100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .cabin-toolbar .fd-map-launcher { border:0; padding:0; margin-inline-start:auto; }
}