
/* ===== tw-family-consolidated ===== */
body { opacity: 0; transition: opacity 0.15s ease; }body.fonts-loaded { opacity: 1; }.inline-links{list-style:none !important; padding-right:0 !important;}.details-logo img{

width: 100% !important;
height: 100% !important;
object-fit: contain !important;
display: block !important;
filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35)) !important;

}body{margin:0;padding:0 8px 40px;color:#f9fafb;font-family:"Cairo","Tajawal",sans-serif;}.hero{text-align:center;}.header-logo img{width:160px;max-width:60vw;}h1{margin:6px 0 2px;font-size:1.7rem;color:#fff;font-family:"Cairo",sans-serif;font-weight:800;}.tagline{text-align:center;margin:4px 0 2px;font-size:0.82rem;color:#e5e7eb;font-family:"Cairo",sans-serif;}.sub-en{text-align:center;margin:2px 0 0;font-size:0.9rem;font-weight:400;color:#94a3b8;font-family:"Cormorant Garamond",serif;letter-spacing:1px;}.grid{max-width:1120px;margin:18px auto 0;display:grid;grid-template-columns:1fr;}@media(min-width:900px){.grid{grid-template-columns:1fr 1fr;}}.card{overflow:hidden;opacity:1;animation:none;}.card:nth-child(1){animation-delay:0.06s;}.card:nth-child(2){animation-delay:0.12s;}.card:nth-child(3){animation-delay:0.18s;}.card:nth-child(4){animation-delay:0.24s;}.card:nth-child(5){animation-delay:0.30s;}.card:nth-child(6){animation-delay:0.36s;}.card:nth-child(7){animation-delay:0.42s;}.card:nth-child(8){animation-delay:0.48s;}.card:nth-child(9){animation-delay:0.54s;}.card:nth-child(10){animation-delay:0.60s;}@keyframes cardEnter{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}.card:hover{}.card-img-wrap img{width:100%;height:220px;object-fit:cover;display:block;transition:transform 0.6s ease;}.card:hover .card-img-wrap img{transform:scale(1.04);}.card-divider{height:1px;background:rgba(59,130,246,0.15);}.card-body{padding:14px 14px 16px;text-align:left;}.hotel-title{font-size:1.02rem;font-weight:700;margin:2px 0 2px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}.hotel-title-text{display:flex;flex-direction:column;gap:2px;}.hotel-name-ar{font-size:1.05rem;font-family:"Cairo",sans-serif;}.hotel-name-en{font-size:0.78rem;font-family:"Cormorant Garamond",serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.stars{font-size:0.78rem;color:#facc15;margin-top:2px;}.price-line{margin:4px 0 4px;}.price-fixed{font-size:0.75rem;color:#e5e7eb;margin-bottom:4px;}.price-note{font-size:0.83rem;font-weight:600;color:#cbd5e1;margin-bottom:10px;font-family:"Cairo",sans-serif;}.card-duration{font-size:0.78rem;color:#cbd5e1;margin:0 0 10px;text-align:left;display:none;font-family:"Cairo",sans-serif;}.card-duration.is-visible{display:block;}.card-body .btn-main{display:flex !important;justify-content:center !important;align-items:center !important;margin:12px auto 0 !important;}.btn-main{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border-radius:999px;font-size:0.9rem;font-weight:800;text-decoration:none;cursor:pointer;font-family:"Cairo",sans-serif;transition:transform 0.25s ease,box-shadow 0.25s ease;}.btn-main:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(249,115,22,0.38);}.btn-main:active{transform:scale(0.98);}.backdrop{position:fixed;inset:0;background:rgba(2,6,23,0.80);opacity:0;pointer-events:none;transition:opacity 0.28s ease;z-index:40;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}.backdrop.open{opacity:1;pointer-events:auto;}.details-panel{border-top:1px solid rgba(59,130,246,0.35);box-shadow:0 -20px 50px rgba(0,0,0,0.85);transform:translateY(100%);transition:transform 0.32s cubic-bezier(0.34,1.1,0.64,1);}.details-panel.open{transform:translateY(0);}html.tw-details-open, body.tw-details-open{ overflow:hidden !important; }body.tw-details-open .tw-contact-pill,
body.tw-details-open .tw-contact-overlay,
body.tw-details-open .currency-select-wrap,
body.tw-details-open .currency-dropdown{ display:none !important; }.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding:12px 16px 8px;}.details-title{font-size:1rem;font-weight:700;font-family:"Cairo",sans-serif;color:#f1f5f9;}.close-btn{background:rgba(59,130,246,0.12);color:#cbd5e1;border:1px solid rgba(59,130,246,0.25);border-radius:999px;padding:8px 16px;font-size:0.85rem;font-family:"Cairo",sans-serif;cursor:pointer;transition:background 0.2s ease,color 0.2s ease;}.close-btn:hover{background:rgba(59,130,246,0.22);color:#fff;}.details-price{color:#facc15;margin-bottom:6px;font-family:"Cairo",sans-serif;padding:0 16px;}.details-price-note{font-size:0.83rem;font-weight:600;color:#cbd5e1;margin:0 0 12px;padding:0 16px;font-family:"Cairo",sans-serif;}.details-list{font-size:0.85rem;line-height:1.9;margin:0 0 8px;padding-right:18px;font-family:"Cairo",sans-serif;color:#e2e8f0;}.details-list li{}.actions{margin-top:8px;padding:0 16px;}.action-btn{display:flex;align-items:center;justify-content:center;width:100%;max-width:320px;margin:8px auto;padding:10px 14px;border-radius:999px;font-size:0.88rem;font-weight:700;text-decoration:none;color:#f9fafb;border:none;cursor:pointer;text-align:center;font-family:"Cairo",sans-serif;transition:transform 0.2s ease,opacity 0.2s ease;}.action-btn:hover{transform:translateY(-1px);opacity:0.92;}.btn-video{}.btn-call{}.btn-wa{}.details-data{display:none;}@media(min-width:900px){.details-panel{left:auto;right:0;width:440px;border-radius:20px 0 0 20px;border-top:none;border-left:1px solid rgba(59,130,246,0.35);max-height:100vh;}}.footer-note{max-width:1120px;margin:18px auto 4px;font-size:0.8rem;color:#9ca3af;text-align:center;line-height:1.6;font-family:"Cairo",sans-serif;}.option-title{margin-top:6px;font-weight:700;font-family:"Cairo",sans-serif;}.inline-links a{display:inline-block;margin-left:8px;font-size:0.82rem;}.filter-bar{max-width:1120px;margin:14px auto 0;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:0 10px;}.filter-btn{padding:12px 22px;border-radius:999px;font-size:1rem;font-weight:800;letter-spacing:0.2px;background:#0b1220;color:#e5e7eb;cursor:pointer;min-width:160px;text-align:center;font-family:"Cairo",sans-serif;transition:all 0.25s ease;}.filter-btn.active{background:linear-gradient(135deg,#f97316,#ea580c);border:none;color:#fff;}.badge{display:inline-block;font-size:0.72rem;font-weight:900;padding:5px 12px;border-radius:999px;border:1px solid rgba(59,130,246,0.20);background:rgba(11,18,32,0.85);color:#e2e8f0;margin-top:8px;font-family:"Cairo",sans-serif;}.actions-row, #actionsBlock{display:flex !important; align-items:center !important; justify-content:space-between; gap:10px; flex-wrap:nowrap;}.actions-row a, #actionsBlock a{flex:1 1 0; text-align:center;}.tab-note{font-size:12px;opacity:.75;display:inline-block;margin-top:2px}#details-soFamily .offer-actions,
#details-centaraFamily .offer-actions,
#details-soFamily .actions,
#details-centaraFamily .actions,
#details-soFamily .cta,
#details-centaraFamily .cta,
#details-soFamily .buttons,
#details-centaraFamily .buttons {
  display: none !important;
}body[data-active-offer="soFamily"] #actionsBlock,
body[data-active-offer="soFamilySmall"] #actionsBlock,
body[data-active-offer="kudaFamily"] #actionsBlock,
body[data-active-offer="niyama"] #actionsBlock,
body[data-active-offer="centaraFamily"] #actionsBlock {
  display: none !important;
}body[data-active-offer="ritzFamily"] #actionsBlock,
body[data-active-offer="ritzFamily"] .offer-actions,
body[data-active-offer="ritzFamily"] .actions,
body[data-active-offer="ritzFamily"] .cta,
body[data-active-offer="ritzFamily"] .buttons,
body[data-active-offer="rahGiliFamily"] #actionsBlock,
body[data-active-offer="rahGiliFamily"] .offer-actions,
body[data-active-offer="rahGiliFamily"] .actions,
body[data-active-offer="rahGiliFamily"] .cta,
body[data-active-offer="rahGiliFamily"] .buttons {
  display: none !important;
}body[data-active-offer="hiltonSmall"] #actionsBlock,
body[data-active-offer="hiltonSmall"] .offer-actions,
body[data-active-offer="hiltonSmall"] .actions,
body[data-active-offer="hiltonSmall"] .cta,
body[data-active-offer="hiltonSmall"] .buttons {
  display: none !important;
}.sort-row{max-width:1120px;margin:12px auto 0;display:flex;justify-content:center;flex-wrap:wrap;padding:0 10px;flex-direction:column;align-items:center;gap:10px;}.sort-row-label{font-size:1.05rem;font-weight:900;color:#e5e7eb;white-space:nowrap}.sort-select-wrap{
position:relative;display:inline-block;
  width:min(520px, 100%);
}.sort-select{
appearance:none;-webkit-appearance:none;-moz-appearance:none;
background:#0b1220;
color:#e5e7eb;
border:1px solid #111827;
border-radius:999px;
font-weight:800;
cursor:pointer;
  width:min(520px, 100%);
  min-width:0;
  height:56px;
  font-size:1rem;
  padding:12px 18px 12px 60px;
}.sort-select:focus{outline:none;box-shadow:0 0 0 3px rgba(249,115,22,.18)}.sort-select-wrap::before{
  content:"▾";
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  color:#cbd5f5;
  font-size:1.1rem;
  pointer-events:none;
}.customlist{position:relative; width:100%;}.customlist-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid #111827;
  background:#0b1220;
  color:#e5e7eb;
  font-size:1rem;
  font-weight:900;
  cursor:pointer;
  height:56px;
  line-height:1;

}#hotelPickerBtnText{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex:1;
  overflow:hidden;
  white-space:nowrap;
}#hotelPickerBtnText .opt{
  font-weight:600;
  font-size:.78em;
  opacity:.55;
}.customlist-btn:focus{outline:none; box-shadow:0 0 0 3px rgba(249,115,22,.18);}.customlist-caret{opacity:.9; font-size:1.05rem;}.customlist-panel{position:absolute;left:0;right:0;top:calc(100% + 10px);background:#020617;border-radius:18px;box-shadow:0 18px 44px rgba(0,0,0,.70);padding:10px;display:none;}.customlist.open .customlist-panel{display:block;}.customlist-panel{ z-index:99990 !important; }.tw-family-unified-filters{ position:relative; }.tw-family-unified-filters.tw-picker-open,
#searchRow.tw-picker-open,
.customlist.open{ position:relative; z-index:99991 !important; }.tw-family-unified-filters:has(.customlist.open){ z-index:99991 !important; }.customlist-search{padding:4px 2px 10px;}.customlist-search-input{
  width:100%;
  padding:12px 14px;
  border-radius:999px;
  border:1px solid #111827;
  background:#0b1220;
  color:#e5e7eb;
  font-size:0.95rem;
  font-weight:800;
}.customlist-search-input:focus{outline:none; box-shadow:0 0 0 3px rgba(249,115,22,.18);}.customlist-list{max-height:320px; overflow:auto; padding:2px;}.customlist-item{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px;padding:12px 12px;border-radius:14px;background:#0b1220;color:#e5e7eb;cursor:pointer;margin-bottom:10px;}.customlist-item:hover{}.customlist-item-ar{font-size:1.02rem; font-weight:900;}.customlist-item-en{font-size:0.85rem; color:#cbd5f5; font-weight:700; opacity:.95;}.customlist-item-meta{font-size:0.78rem; color:#94a3b8; font-weight:700;}@media (max-width: 768px){
  
  .customlist-search{display:none !important;}
}.trust-note{
  margin: 0 0 14px 0;
  text-align: center;
  font-size: 15px;
  line-height: 1.6;
  opacity: 0.95;
}.inline-actions{
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}.tw-contact-pill {
  position: fixed;
  left: 20px;
  bottom: 26px;
  z-index: 99999;
}.tw-contact-pill button {display:flex;align-items:center;gap:10px;padding:6px 9px;border-radius:999px;backdrop-filter:blur(0.8px);-webkit-backdrop-filter:blur(0.8px);cursor:pointer;}.tw-contact-pill .tw-pill-text {
  font-size: 13px;
  font-weight: 600;
  color: rgba(0,0,0,0.55);
  line-height: 1;
  direction:ltr;
  white-space: nowrap;
  font-family: "Cairo", sans-serif;
}.tw-contact-pill img {
  width: 19px;
  height: 19px;
}@media (max-width: 420px) {
  .tw-contact-pill button { padding: 7px 11px; }
  .tw-contact-pill .tw-pill-text { font-size: 12px; }
  .tw-contact-pill img { width: 18px; height: 18px; }
}.tw-contact-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.25);
  display: none;
  align-items: flex-end;
  justify-content: center;
  z-index: 100000;
  padding: 18px;
}.tw-contact-overlay.open { display: flex; }.tw-contact-sheet {
  width: min(420px, 100%);
  background: rgba(22,22,24,0.92);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  padding: 14px;
}.tw-contact-sheet .tw-sheet-title {color:rgba(255,255,255,0.90);font-weight:700;font-size:13px;font-family:"Cairo",sans-serif;text-align:center;margin:4px 0 12px 0;}.tw-contact-actions {
  display: grid;
  gap: 10px;
}.tw-contact-actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  padding: 12px 12px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 13px; font-family:"Cairo",sans-serif;
}.tw-action-wa {
  background: rgba(37, 211, 102, 0.18);
  border: 1px solid rgba(37, 211, 102, 0.35);
  color: rgba(255,255,255,0.92);
}.tw-action-call {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.92);
}.tw-action-cancel {
  margin-top: 10px;
  width: 100%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.85);
  border-radius: 12px;
  padding: 11px 12px;
  font-weight: 700;
  cursor: pointer;
  font-family: "Cairo", sans-serif;
}:root{}.filter-btn{
  border: 1px solid var(--tw-family-border-soft) !important;
  box-shadow: inset 0 0 0 1px rgba(2,6,23,0.25) !important;
}.filter-btn.active{
  
  box-shadow:
    0 10px 30px rgba(249,115,22,.25),
    0 0 0 1px var(--tw-family-border) !important;
}.sort-select,
.customlist-btn{
  border: 1px solid var(--tw-family-border-soft) !important;
  box-shadow: 0 0 0 1px rgba(2,6,23,0.35) inset !important;
}.customlist-panel{
  border: 1px solid var(--tw-family-border-soft) !important;
}.customlist-item{
  border: 1px solid var(--tw-family-border-soft) !important;
}.customlist-item:hover{
  box-shadow:
    0 10px 26px rgba(0,0,0,.45),
    0 0 0 1px var(--tw-family-border) !important;
}.card{}.card:hover{}.btn-main{}.btn-main:focus{outline:none; box-shadow: 0 10px 26px rgba(249,115,22,0.18), 0 0 0 3px rgba(59,130,246,0.20) !important;}.action-btn{
  box-shadow: 0 0 0 1px var(--tw-family-border-soft) !important;
}.sort-select-wrap::before{
  text-shadow: 0 1px 0 rgba(0,0,0,0.35);
}.transfer-row{
display:flex;
justify-content:center;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin:10px 0 0;
}.transfer-label{
  color:#eaf6ff;
  font-weight:800;
  font-size:.95rem;
  letter-spacing:.2px;
  opacity:.92;
  white-space:nowrap;
}.transfer-select-wrap{
position:relative;
display:inline-flex;
align-items:center;
  width:min(520px, 100%);
}.transfer-select{
appearance:none;
-webkit-appearance:none;
-moz-appearance:none;
border: 1px solid var(--tw-family-border-soft);
background: rgba(2,6,23,.22);
color:#eaf6ff;
border-radius: 999px;
font-weight: 800;
letter-spacing: .2px;
cursor:pointer;
transition: box-shadow .12s ease, background .12s ease, border-color .12s ease;
  width:min(520px, 100%);
  min-width:0;
  height:56px;
  font-size:1rem;
  padding:12px 18px 12px 60px;
}.transfer-select:focus{
  outline:none;
  border-color: var(--tw-family-border);
  box-shadow: 0 0 0 2px rgba(56,189,248,.18) inset, 0 8px 22px rgba(56,189,248,.12);
}.transfer-select-wrap::before{
  content:"▾";
  position:absolute;
  left:16px; 
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  color:#eaf6ff;
  opacity:.85;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
}@media (max-width: 600px){
  .transfer-row{ gap:8px; }
  .transfer-select{ min-width: 0; width: 100%; }
}.filters-grid{width:min(760px, 100%);margin:10px auto 0;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}.filters-grid .transfer-row,
.filters-grid #sortRow{
  margin: 0;
  width: 100%;
  display: flex;
  justify-content: center;
}.filters-grid .transfer-select-wrap,
.filters-grid .sort-select-wrap{
  width: 100%;
}.filters-grid .transfer-select,
.filters-grid .sort-select{
  width: 100%;
  min-width: 0;
}#searchRow .sort-select-wrap{}@media (max-width: 420px){
  .filters-grid{ gap: 10px; }
  .filters-grid .transfer-select,
  .filters-grid .sort-select{
    font-size: .95rem;
    padding-inline: 16px 32px;
  }
}#searchRow{
  margin-top:8px;
}.action-btn, .btn-main {
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
    align-items: center !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px;
}@media (max-width: 768px) {
  #searchRow .sort-row-label {
    display: none !important;
  }
}.details-hero-img{margin-bottom:10px;}.details-header-logo{
  display:flex;
  justify-content:center;
  margin:8px 0 6px;
}.details-header-logo img{
  width:110px;
  opacity:.9;
}.details-top{}.details-hero-img{}.details-bar{justify-content:space-between;}.details-left{align-items:center;}.details-left .close-btn{
  position:static;
}.details-left img{}.details-right{font-weight:600;}.details-bar{
  flex-direction: row-reverse; 
}.details-right{}.details-left{
  text-align: left;
}.details-bar{align-items:flex-start;}.details-right{}.details-left{}.details-left .close-btn{
  align-self:flex-start;
}.details-top{
  margin-bottom: 0 !important;
}.details-bar{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}.details-right{}.details-panel > .details-content,
.details-panel .details-content{
  margin-top: 6px !important;
}.details-bar{}.details-left{}.details-left img{}.details-right{margin-bottom:0 !important;}.details-panel{ padding-top: 0 !important; }.details-top{}.details-hero-img{ margin-top: 0 !important; }.details-overlay,
.details-wrapper,
.details-panel{
  margin-top: 0 !important;
  padding-top: 0 !important;
}.details-top{
  margin-top: 0 !important;
  padding-top: 0 !important;
}body.modal-open{
  padding-top: 0 !important;
}.details-panel{}.details-top{}.details-bar{}.details-content{}.details-panel{position:fixed !important;left:0 !important;right:0 !important;backdrop-filter:blur(6px) !important;overflow-y:auto !important;padding:0 !important;margin:0 !important;z-index:50 !important;}.details-top{margin:0 !important;}.details-hero-img{width:100% !important;height:220px !important;object-fit:cover !important;display:block !important;margin:0 !important;}.details-bar{position:relative !important;margin:0 !important;}.details-left{
  position:absolute !important;
  left:14px !important;
  top:8px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}.details-left img{width:70px !important; height:auto !important;}.details-right{
  width:100% !important;
  text-align:left !important;
  padding-left:110px !important;
  margin:0 !important;
}.details-content{
  margin:0 !important;
  padding:0 14px 14px !important;
}.details-panel{
  top:0 !important;
  bottom:0 !important;
  height:100vh !important;
  max-height:100vh !important;
  border-radius:0 !important;
}.details-hero-img{
  border-radius:0 !important;
}.details-hero,
.details-image,
.details-hero-wrapper{
  position: relative !important;
}.details-logo{

position: absolute !important;
top: 12px !important;
left: 12px !important;
width: 78px !important;
height: 78px !important;
z-index: 50 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;


background: rgba(0,0,0,0.35) !important;
backdrop-filter: blur(2px) !important;
-webkit-backdrop-filter: blur(2px) !important;
border: 1px solid rgba(255,255,255,0.35) !important;
border-radius: 999px !important;
padding: 6px !important;
box-shadow: 0 6px 18px rgba(0,0,0,0.35) !important;

pointer-events: none !important;

}.details-top{ position: relative; }.details-corner-logo{
  position: absolute;
  top: 12px;
  left: 12px;
  width: 84px;
  height: 84px;
  object-fit: contain;
  z-index: 20;
  opacity: 0.9;
  pointer-events: none;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.45));
}@media (max-width: 480px){
  .details-corner-logo{ width: 72px; height: 72px; top: 10px; left: 10px; }
}@media (max-width: 768px){
  .hero{
    padding: 18px 10px 16px !important;
  }
  .header-logo img{
    width: 160px !important;
  }
  h1{
    font-size: 1.4rem !important;
    margin-top: 4px !important;
  }
  .tagline{
    font-size: 0.75rem !important;
    margin-top: 2px !important;
  }
  .sub-en{
    font-size: 0.75rem !important;
    margin-top: 2px !important;
  }
}.hero{}.hero::before{content:"";position:absolute;inset:0;z-index:0;}.hero::after{content:"";position:absolute;z-index:1;}.hero > *{
  position: relative;
  z-index: 2;
}:root{
  --tw-family-border: rgba(59, 130, 246, 0.55);
  --tw-family-border-soft: rgba(59, 130, 246, 0.28);
}.transfer-select-wrap, .sort-select-wrap{
  position: relative;
}.select-display{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  height:56px;
  border-radius:999px;
  border:1px solid var(--tw-family-border-soft);
  background:rgba(2,6,23,.22);
  color:#eaf6ff;
  font-weight:800;
  box-sizing:border-box;
  padding:0 44px;
  text-align:center;
  overflow:hidden;
  white-space:nowrap;
}.select-display .opt{
  font-weight:600;
  font-size:.78em;
  opacity:.55;
}.transfer-select, .sort-select{
  position:absolute;
  inset:0;
  width:100%;
  height:56px;
  opacity:0;
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
}.transfer-select-wrap::before,
.sort-select-wrap::before{content:"▼";position:absolute;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.75);pointer-events:none;}.filters-grid{
  gap:10px !important;
}.transfer-row .select-display,
.sort-row .select-display{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}#transferDisplay, #sortDisplay{
  height:auto !important;
  min-height:56px !important;
  padding:10px 40px !important;   
  overflow:hidden !important;
  white-space:normal !important;
  flex-direction:column !important;
  gap:2px !important;
  line-height:1.15 !important;
}#transferDisplay .opt, #sortDisplay .opt{
  font-size:.72em !important;
  opacity:.55 !important;
}.transfer-select-wrap::before,
.sort-select-wrap::before{
  left:16px !important;
  font-size:16px !important;
}.travel-date-bar{display:flex;justify-content:center;align-items:center;}.travel-date-box{}.travel-date-input{}.travel-date-input.is-selected{
  background:linear-gradient(135deg,#0b1f45,#123a7a);
  color:#f1f5f9;
  border-color:rgba(250,204,21,0.38);
  box-shadow:0 10px 30px rgba(18,58,122,0.28);
}.travel-date-input .opt{}.travel-date-input.disabled-like{
  opacity:.9;
}.price-line.is-hidden{
  display:none !important;
}.price-line.is-unavailable{
  color:#e5e7eb !important;
  font-weight:800 !important;
}.sort-select:disabled,
.transfer-select:disabled{
  opacity:.5;
  cursor:not-allowed;
}.sort-select-wrap.is-disabled .select-display,
.transfer-select-wrap.is-disabled .select-display{
  opacity:.5;
}.hotel-unavailable .btn-main{
  opacity:.92;
}.tw-datebackdrop{
  position:fixed; inset:0;
  background:rgba(15,23,42,0.72);
  opacity:0; pointer-events:none;
  transition:opacity .18s ease-out;
  z-index:130000;
}.tw-datebackdrop.open{opacity:1; pointer-events:auto;}.tw-datepanel{
  position:fixed; left:50%; top:50%;
  transform:translate(-50%,-46%) scale(.98);
  width:min(460px, calc(100vw - 20px));
  background:#020617;
  border:1px solid #111827;
  border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.8);
  opacity:0; pointer-events:none;
  transition:opacity .18s ease-out, transform .18s ease-out;
  z-index:130001;
}.tw-datepanel.open{opacity:1; pointer-events:auto; transform:translate(-50%,-50%) scale(1);}body.tw-family-v3-booking-date-edit #twTravelDateBackdrop{z-index:330000!important;}body.tw-family-v3-booking-date-edit #twTravelDatePanel{z-index:330001!important;}.tw-datehead{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 12px 8px;
  border-bottom:1px solid #111827;
}.tw-datehead .title{
  font-size:.95rem; font-weight:800; color:#e5e7eb;
}.tw-datehead .nav{
  display:flex; gap:14px; align-items:center;
}.tw-datebtn{
  appearance:none; border:1px solid #111827;
  background:#0b1224; color:#e5e7eb;
  border-radius:999px;
  padding:10px 16px;
  font-size:1.15rem; line-height:1; font-weight:900;
  cursor:pointer; min-width:44px; min-height:44px; touch-action:manipulation;
}.tw-dateclose{
  appearance:none; border:1px solid #111827;
  background:#111827; color:#e5e7eb;
  border-radius:999px; width:38px; height:38px; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:1.35rem; line-height:1; font-weight:500; cursor:pointer;
}.tw-family-v3-minnote{
  display:none; padding:10px 14px 2px; text-align:center;
  color:#94a3b8; font-size:.78rem; font-weight:700; line-height:1.5;
}.tw-family-v3-minnote strong{color:#e5e7eb;font-weight:900}.tw-datebody{padding:10px 12px 12px;}.tw-dow{
  display:grid; grid-template-columns:repeat(7,1fr);
  gap:8px; margin-bottom:10px;
  font-size:.9rem; font-weight:900;
  color:#cbd5e1; text-align:center;
}.tw-grid{
  display:grid; grid-template-columns:repeat(7,1fr);
  gap:8px;
}.tw-day{
  appearance:none; border:1px solid #111827;
  background:#0b1224; color:#e5e7eb;
  border-radius:12px; padding:12px 0;
  min-height:50px;
  font-size:.96rem; font-weight:800; cursor:pointer;
}.tw-day.muted{opacity:.30; cursor:default;}.tw-day.disabled{opacity:.20; cursor:not-allowed;}.tw-day.selected{
  border-color:#334155;
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  color:#fff;
}.tw-day.today{outline:2px solid rgba(250,204,21,.25);}.tw-datefoot{
  padding:0 12px 8px;
  color:#9ca3af; font-size:.78rem; line-height:1.4; text-align:center;
}.tw-dateactions{
  padding:0 12px 12px;
  display:flex; justify-content:center;
}.tw-dateclear{
  appearance:none;
  border:1px solid rgba(148,163,184,0.22);
  background:#0b1224;
  color:#e5e7eb;
  padding:10px 16px;
  border-radius:999px;
  font-size:.86rem;
  font-weight:800;
  cursor:pointer;
  min-width:140px;
}.tw-dateclear:active{transform:scale(.98);}.price-line.is-hidden + .price-note,
.price-line.is-unavailable + .price-note{
  display:none !important;
}.badge:empty{
  display:none !important;
}#sortSelect,
#sortRow .sort-select,
#sortRow .select-display,
#sortRow .sort-select-wrap{
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}#sortRow .sort-select-wrap.is-disabled .select-display{
  opacity: 1 !important;
}.tw-date-required-modal{
  position:fixed; inset:0; z-index:220000;
  display:none; align-items:center; justify-content:center;
  background:rgba(2,6,23,.58);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}.tw-date-required-modal.show{ display:flex; }.tw-date-required-box{
  width:min(92vw, 360px);
  background:rgba(11,18,32,.96);
  border:1px solid rgba(59,130,246,.35);
  box-shadow:0 24px 60px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.04) inset;
  border-radius:22px;
  padding:20px 18px 16px;
  text-align:center;
  color:#f8fafc;
}.tw-date-required-title{
  font-size:1rem; font-weight:900; margin:0 0 10px;
}.tw-date-required-text{
  font-size:.96rem; line-height:1.7; color:#e5e7eb; margin:0 0 16px;
}.tw-date-required-btn{
  appearance:none; border:none; cursor:pointer;
  min-width:140px; padding:12px 18px; border-radius:999px;
  font-size:.95rem; font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#123a7a,#1e3a8a,#2563eb);
  box-shadow:0 12px 28px rgba(37,99,235,.28);
}.tw-date-required-btn:active{ transform:scale(.985); }#sortRow .sort-select-wrap{}#sortDisplay{position:relative!important; z-index:1!important;}#sortSelect{
  position:absolute!important; inset:0!important; z-index:2!important;
  opacity:0.001!important;
  color:transparent!important;
  -webkit-text-fill-color: transparent!important;
  text-shadow:none!important;
  background:transparent!important;
}#sortSelect option{
  color:#e5e7eb!important;
  -webkit-text-fill-color: initial!important;
}.travel-date-input{}.travel-date-box{}@media (max-width: 768px){
  .travel-date-input{
    min-height: 70px !important;
    border-radius: 22px !important;
  }
}.travel-date-input{cursor:pointer !important;}.travel-date-input:hover{}.travel-date-input:active{}.family-scroll-bar{
  max-width:1120px;
  margin:10px auto 0;
  overflow:hidden;
  background:linear-gradient(90deg,#0b1220,#0f172a);
  border:1px solid rgba(59,130,246,0.35);
  border-radius:14px;
  box-shadow:0 10px 25px rgba(0,0,0,.25);
  color:#38bdf8; 
  position:relative;
}.family-scroll-track{
  display:flex;
  align-items:center;
  gap:20px;
  white-space:nowrap;
  padding:10px 20px;
  animation: twFamilyScrollFix 18s linear infinite;
}.family-scroll-track span{
  font-size:.9rem;
  font-weight:800;
}.family-scroll-track .sep{
  opacity:.6;
  color:#60a5fa;
}@keyframes twFamilyScrollFix{
  0%{ transform:translateX(-100%); }
  100%{ transform:translateX(100%); }
}.price-line{
  font-size:1.2rem !important;
  font-weight:900 !important;
  letter-spacing:0.2px !important;
  font-family:"Cairo",sans-serif !important;
}.hotel-name-ar{}.hotel-name-en{
  font-weight:600 !important;
}.card{
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}.card:hover{}.hero::after{}.hero .header-logo img, .header-logo img{}.hero::before{}.hero .header-logo{}.tw-booking-sheet{
  max-height: 100dvh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
}.tw-booking-card{
  margin-bottom: 8px !important;
}.tw-date-btn{
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(59,130,246,0.38) !important;
  color: #f8fafc !important;
  box-shadow: none !important;
}.tw-date-btn.has-value{
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(59,130,246,0.42) !important;
  color: #f8fafc !important;
  box-shadow: none !important;
}.tw-date-btn.is-picking{
  background: linear-gradient(180deg, rgba(30,64,175,0.26), rgba(2,6,23,0.92)) !important;
  border: 2px solid rgba(59,130,246,0.88) !important;
  box-shadow: 0 0 0 2px rgba(59,130,246,0.20), 0 10px 22px rgba(0,0,0,0.24) !important;
  color: #ffffff !important;
}@media (max-width: 768px){
  .hero h1{
    margin-top: 34px !important;
    margin-bottom: 0 !important;
  }
}.hero{}.hero::after{
  inset: 0 !important;
}@media (max-width: 768px){
  .hero{
    padding: 28px 10px 60px !important;
    min-height: 260px !important;
  }
  .hero::before{
    background-position: center 74% !important;
    background-size: cover !important;
  }
  .hero .header-logo{
    transform: translateY(-12%) !important;
    margin-bottom: 0 !important;
  }
  .hero h1{
    position: relative !important;
    top: auto !important;
    margin-top: 32px !important;
    margin-bottom: 0 !important;
  }
}@media (max-width: 768px){
  .hero h1{
    margin-top: 96px !important;
    margin-bottom: 0 !important;
  }
  .hero::before{
    filter: blur(0.35px) brightness(1.08) saturate(1.03) !important;
  }
}@media (max-width: 768px){
  .hero h1{
    position: absolute !important;
    bottom: 10% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
  }
}.hero{}.hero .header-logo{}.hero .header-logo img, .header-logo img{}.travel-date-input{position:relative;transition:transform .16s ease, box-shadow .18s ease, border-color .18s ease !important;}.travel-date-input:hover{transform:translateY(-1px);}.travel-date-input:active{
  transform: translateY(1px) scale(0.995);
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.28),
    0 6px 14px rgba(0,0,0,0.26) !important;
}.travel-date-input .main{}#twFamilyAdvancedBar{max-width:1120px;margin:12px auto 0;padding:0 10px;}.tw-family-advanced-btn{width:min(860px, 100%);display:flex;align-items:center;gap:0 !important;cursor:pointer;font-size:.97rem;font-weight:850;}.tw-family-advanced-btn span{
  display:block;
  width:100%;
  text-align:center !important;
}.tw-family-advanced-btn .sub{font-size:.74em;font-weight:600;opacity:.68;}.tw-family-advanced-btn .arrow{font-size:16px;opacity:.75;transition:transform .18s ease;}.tw-family-advanced-btn{
  position:relative;
}.tw-family-advanced-btn.is-open .arrow{}@media (max-width: 768px){
  .hero{
    padding: 22px 10px 20px !important;
    min-height: 0 !important;
  }
  .hero .header-logo img, .header-logo img{width:165px !important; max-width:46vw !important; opacity:1 !important; filter: drop-shadow(0 6px 18px rgba(0,0,0,0.6)) !important;}
  .travel-date-input{
    min-height: 66px !important;
    padding: 14px 18px !important;
  }
}.hero{}.hero .header-logo{}.hero .header-logo img, .header-logo img{}@media (max-width: 768px){
  .hero{
    padding: 28px 10px 24px !important;
  }
  .hero .header-logo img, .header-logo img{width:165px !important; max-width:46vw !important; opacity:1 !important; filter: drop-shadow(0 6px 18px rgba(0,0,0,0.6)) !important;}
}.tw-currency-widget{}.tw-currency-toggle{border-radius:999px !important;border:1px solid rgba(255,255,255,.14) !important;box-shadow:0 6px 16px rgba(0,0,0,.18) !important;backdrop-filter:blur(4px) !important;-webkit-backdrop-filter:blur(4px) !important;}.tw-currency-menu{
  top: 38px !important;
}@media (max-width: 768px){
  .tw-currency-toggle{
    min-width: 46px !important;
    height: 30px !important;
    padding: 0 8px !important;
    font-size: .72rem !important;
  }
}.tw-family-advanced-btn{min-height:52px !important;border-radius:16px !important;justify-content:center !important;text-align:center !important;padding:12px 48px 12px 18px !important;}.tw-family-advanced-btn .main{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}.tw-family-advanced-btn .sub{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin-top: 3px !important;
}.tw-family-advanced-btn .arrow{
  position: absolute !important;
  left: 16px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  text-align: center !important;
  pointer-events: none !important;
}.tw-family-advanced-btn.is-open .arrow{
  transform: translateY(-50%) rotate(180deg) !important;
}.tw-currency-widget{}.tw-currency-menu{}.tw-family-advanced-btn{
  background: linear-gradient(180deg, rgba(30,64,175,0.35), rgba(2,6,23,0.95)) !important;
  border: 1px solid rgba(59,130,246,0.45) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.25) !important;
  color:#f8fafc !important;
}.tw-contact-pill{
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .45s ease, transform .45s ease, visibility .45s ease;
}.tw-contact-pill.tw-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}.tw-currency-widget{}.tw-currency-menu{border-radius:16px !important;}.tw-currency-item{border-radius:12px !important;}.tw-currency-toggle{
  min-width:48px !important;
  height:32px !important;
  padding:0 9px !important;
  gap:5px !important;
  font-size:.74rem !important;
  background:rgba(2,6,23,.54) !important;
}@media (max-width:768px){
  .tw-currency-menu{ min-width:92px !important; }
  .tw-currency-item{ min-height:38px !important; font-size:.70rem !important; }
}#twFamilyAdvancedBar{ display:none !important; }.tw-currency-menu{transform-origin:top left;}.hero{}.tw-currency-widget{
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 5000 !important;
}.tw-currency-menu{
  z-index: 6000 !important;
  transform: none !important;
  min-width: 84px !important;
  padding: 5px !important;
}.tw-currency-item{
  min-height: 36px !important;
  padding: 7px 9px !important;
  font-size: .68rem !important;
}@media (max-width:768px){
  .tw-currency-menu{
    min-width: 80px !important;
  }
  .tw-currency-item{
    min-height: 34px !important;
    padding: 6px 8px !important;
    font-size: .66rem !important;
  }
}.hero{overflow:hidden !important;}.hero .header-logo{position:relative !important;display:inline-block !important;margin:0 auto !important;z-index:3 !important;}.hero .header-logo::before{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);border-radius:999px;z-index:-1;}.hero .header-logo img, .header-logo img{}@media (max-width: 768px){
  .hero{
    padding: 34px 10px 28px !important;
    min-height: 270px !important;
  }
  .hero .header-logo{transform: translateY(-30%) !important;}
  .hero .header-logo::before{content:""; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:105px !important; height:105px !important; border-radius:999px; background: rgba(0,0,0,0.15) !important; border:1px solid rgba(255,255,255,0.06); box-shadow:0 4px 12px rgba(0,0,0,0.12); z-index:-1;}
  .hero .header-logo img, .header-logo img{width:165px !important; max-width:46vw !important; opacity:1 !important; filter: drop-shadow(0 6px 18px rgba(0,0,0,0.6)) !important;}
}.travel-date-bar{}.travel-date-box{}.travel-date-input{display:flex !important;flex-direction:column !important;align-items:center !important;color:#ffffff !important;}.travel-date-input .main{color:#ffffff !important;text-shadow:0 1px 0 rgba(255,255,255,0.08), 0 2px 8px rgba(0,0,0,0.28) !important;}.travel-date-input .opt{}.travel-date-input *{
  color:#ffffff !important;
}.hero .header-logo{}.hero .header-logo::before{}.hero .header-logo img, .header-logo img{}@media (max-width:768px){
  .travel-date-input{
    min-height: 84px !important;
    padding: 18px 20px !important;
  }
  .travel-date-input .main{
    font-size:1.14rem !important;
  }
  .travel-date-input .opt{
    font-size:.8rem !important;
  }
  .hero .header-logo img, .header-logo img{width:165px !important; max-width:46vw !important; opacity:1 !important; filter: drop-shadow(0 6px 18px rgba(0,0,0,0.6)) !important;}
}.hero::after{}.travel-date-bar{max-width:1120px !important;}.travel-date-box{max-width:100% !important;}.travel-date-input{max-width:100% !important;}.travel-date-input .main{}.travel-date-input .opt{}.hero .header-logo{}.hero .header-logo::before{width:96px !important;height:96px !important;border:1px solid rgba(255,255,255,0.03) !important;}.hero .header-logo img, .header-logo img{width:165px !important; max-width:46vw !important; opacity:1 !important; filter: drop-shadow(0 6px 18px rgba(0,0,0,0.6)) !important;}@media (max-width: 768px){
  .travel-date-input{
    min-height: 82px !important;
    padding: 18px 18px !important;
  }
  .travel-date-input .main{
    font-size: 1.12rem !important;
  }
  .travel-date-input .opt{
    font-size: .8rem !important;
  }
  .hero .header-logo img, .header-logo img{width:165px !important; max-width:46vw !important; opacity:1 !important; filter: drop-shadow(0 6px 18px rgba(0,0,0,0.6)) !important;}
}.hero::after{
  background: transparent !important;
}.hero::before{}.hero .header-logo img,
.header-logo img{}.travel-date-bar{
  margin: 18px auto 0 !important;
  padding: 0 10px !important;
}.travel-date-box{}.travel-date-input{width:100% !important;min-height:112px !important;padding:28px 24px !important;border-radius:24px !important;background:linear-gradient(135deg, #0b1220 0%, #020617 100%) !important;justify-content:center !important;text-align:center !important;}.travel-date-input .main{display:block !important;width:100% !important;font-size:1.6rem !important;line-height:1.2 !important;margin-bottom:8px !important;}.travel-date-input .opt{font-size:0.98rem !important;opacity:0.78 !important;line-height:1.4 !important;}.filters-grid{
  margin-top: 18px !important;
}.grid{}@media (max-width: 768px){
  .travel-date-bar{
    margin-top: 14px !important;
  }
  .travel-date-input{
    min-height: 98px !important;
    padding: 22px 18px !important;
    border-radius: 22px !important;
  }
  .travel-date-input .main{
    font-size: 1.32rem !important;
  }
  .travel-date-input .opt{
    font-size: 0.9rem !important;
  }
  .grid{
    margin-top: 28px !important;
  }
}.hero + *{
  padding:22px 16px !important;
}.travel-date-input{}.travel-date-input:hover{
  border-color: rgba(125,211,252,0.95) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.12),
    inset 0 -1px 0 rgba(0,0,0,0.34),
    0 0 0 2px rgba(59,130,246,0.18),
    0 0 22px rgba(59,130,246,0.22),
    0 16px 32px rgba(0,0,0,0.34) !important;
}.travel-date-input .opt{position:relative;}.travel-date-input .opt::before{margin-left:6px;}.travel-date-input .opt{margin:0 auto !important;padding-right:0 !important;}.travel-date-input .opt::before{
  content: "←" !important;
  position: static !important;
  margin: 0 !important;
  font-weight: 900 !important;
  color: rgba(191,219,254,0.92) !important;
  font-size: 0.95em !important;
  line-height: 1 !important;
}.travel-date-input .opt{}.travel-date-input .opt{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transform: none !important; 
  width: 100% !important;
  text-align: center !important;
}.travel-date-input .title{
  margin-bottom: 12px !important;
}.travel-date-input .opt{
  margin-top: 10px !important;
}.travel-date-input .title{
  font-size: 1.18em !important; 
}body .travel-date-input{
  min-height: 120px !important;
  padding: 28px 28px !important;
  font-size: 1.25rem !important;
}body .travel-date-input .main{
  font-size: 1.5rem !important;
}body .travel-date-input .opt{
  font-size: 1rem !important;
}.travel-date-input{
  border: 2.5px solid rgba(59,130,246,0.95) !important;
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.25),
    0 14px 30px rgba(0,0,0,0.35),
    0 0 0 2px rgba(59,130,246,0.25) !important;
}.travel-date-input .main{
  font-weight: 900 !important;
}.travel-date-input .opt{
  color: #facc15 !important;
  font-weight: 800 !important;
}.travel-date-input,
.travel-date-input .main,
.travel-date-input .opt {
  font-family: "Cairo", "Tajawal", sans-serif !important;
}.card-options-note{display:block;font-size:0.76rem;color:#cbd5e1;line-height:1.5;margin-top:4px}.card-options-list{display:block;font-size:0.74rem;color:#94a3b8;line-height:1.5;margin-top:2px}#dContent{
  padding: 12px 18px 10px !important;
}#dContent .details-list{
  margin: 0 !important;
  padding-right: 22px !important;
  padding-left: 6px !important;
  font-size: 0.96rem !important;
  line-height: 2.0 !important;
}#dContent .details-list li{
  margin-bottom: 8px !important;
}#dContent .details-list li.option-title{
  margin-top: 6px !important;
  margin-bottom: 10px !important;
}#dContent .details-list li.price-item,
#dContent .details-list li.price-item strong{
  font-weight: 900 !important;
  font-size: 1.08rem !important;
  color: #facc15 !important;
}#dContent .details-list li.duration-item{
  font-weight: 800 !important;
}#dContent .details-list li.duration-item .duration-note{
  color: #cbd5e1 !important;
  font-size: 0.84em !important;
  font-weight: 600 !important;
}#dContent .details-footer-note{
  list-style: none !important;
  margin: 14px 0 10px !important;
  padding: 12px 10px 0 !important;
  border-top: 1px solid rgba(148,163,184,0.18) !important;
  text-align: center !important;
  color: #d1d5db !important;
  font-size: 0.84rem !important;
  line-height: 1.7 !important;
}#dContent .details-footer-note .brand{
  display: block !important;
  margin-top: 2px !important;
  color: #facc15 !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
}.details-panel > .details-footer-note{
  list-style: none !important;
  width: calc(100% - 32px) !important;
  max-width: 360px !important;
  margin: 2px auto 18px !important;
  padding: 12px 10px 0 !important;
  border-top: 1px solid rgba(148,163,184,0.18) !important;
  text-align: center !important;
  color: #d1d5db !important;
  font-size: 0.84rem !important;
  line-height: 1.7 !important;
}.details-panel > .details-footer-note .brand{
  display: block !important;
  margin-top: 2px !important;
  color: #facc15 !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
}#actionsBlock{
  width: calc(100% - 32px) !important;
  max-width: 360px !important;
  margin: 12px auto 16px !important;
  gap: 10px !important;
}#actionsBlock .action-btn{
  max-width: none !important;
  margin: 0 !important;
  min-height: 46px !important;
  padding: 10px 12px !important;
  font-size: 0.9rem !important;
}#dContent .inline-actions{margin-top:4px !important;}#dContent .inline-actions .action-btn{
  max-width: none !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  font-size: 0.88rem !important;
}.details-header,
.details-title,
.details-price,
.details-subtext{
padding-right:16px !important;
padding-left:16px !important;
}.details-price{}.details-list li{
  margin-bottom: 10px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(148,163,184,0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
}.details-subtext{
  padding-right:16px !important;
  padding-left:16px !important;
}.details-price{
  font-size:22px !important;
  font-weight:800 !important;
}.modal-message{
  font-size:18px !important;
  line-height:1.6 !important;
}.tw-hero-intro{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#020617;
  pointer-events:none;
  animation:twFamilyIntroFadeOut 3.05s cubic-bezier(.22,.75,.18,1) forwards;
}.tw-hero-intro::before{
  content:"";
  position:absolute;
  inset:0;
  background:url(../family-header.webp) center 72% / cover no-repeat;
  transform:scale(1.08);
  filter:brightness(.82) saturate(1.05);
  animation:twFamilyIntroImagePull 3.05s cubic-bezier(.22,.75,.18,1) forwards;
}.tw-hero-intro::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,6,23,0.35) 0%,rgba(2,6,23,0.15) 40%,rgba(2,6,23,0.55) 100%);
  animation:twFamilyIntroGlassFade 3.05s cubic-bezier(.22,.75,.18,1) forwards;
}.tw-hero-intro__content{
  position:relative;
  z-index:2;
  text-align:center;
  padding:0 20px;
  width:min(92vw,680px);
  animation:twFamilyIntroTextFade 2.75s ease forwards;
}.tw-hero-intro__ornament{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:18px;
}.tw-hero-intro__orn-line{
  width:48px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(249,115,22,0.7));
}.tw-hero-intro__orn-line.right{
  background:linear-gradient(90deg,rgba(249,115,22,0.7),transparent);
}.tw-hero-intro__orn-diamond{
  width:6px;height:6px;
  background:#f97316;
  transform:rotate(45deg);
  box-shadow:0 0 10px rgba(249,115,22,0.6);
}.tw-hero-intro__badge{
  display:inline-block;
  border:1px solid rgba(249,115,22,0.7);
  color:rgba(255,255,255,0.95);
  font-size:0.72rem;
  font-family:"Cairo",sans-serif;
  letter-spacing:2px;
  font-weight:700;
  text-transform:uppercase;
  padding:5px 20px;
  border-radius:999px;
  margin-bottom:16px;
  background:rgba(249,115,22,0.07);
}.tw-hero-intro__title{font-weight:900;color:#fff;line-height:1.15;text-shadow:0 10px 32px rgba(0,0,0,.55);font-family:"Cairo",sans-serif;}.tw-hero-intro__sub{
  font-size:clamp(0.82rem,2.5vw,0.98rem);
  color:rgba(255,255,255,0.90);
  font-family:"Cairo",sans-serif;
  font-weight:600;
  margin:0;
}.tw-hero-intro__line{
  width:min(220px, 55vw);
  height:1px;
  margin:18px auto 12px;
  background:linear-gradient(90deg, transparent, rgba(249,115,22,0.85), transparent);
}.tw-hero-intro__stars{
  font-size:0.68rem;
  letter-spacing:6px;
  color:rgba(255,165,50,0.90);
  margin-top:2px;
}.tw-hero-intro__brand{
  display:none; 
}@keyframes twFamilyIntroImagePull{
  0%{transform:scale(1.10); opacity:1; border-radius:0;}
  58%{transform:scale(1.06); opacity:1; border-radius:0;}
  100%{transform:scale(.88) translateY(-10vh); opacity:0; border-radius:28px;}
}@keyframes twFamilyIntroTextFade{
  0%{opacity:0; transform:translateY(10px);}
  22%{opacity:1; transform:translateY(0);}
  72%{opacity:1; transform:translateY(0);}
  100%{opacity:0; transform:translateY(-12px);}
}@keyframes twFamilyIntroGlassFade{
  0%,68%{opacity:1;}
  100%{opacity:0;}
}@keyframes twFamilyIntroFadeOut{
  0%,75%{opacity:1; visibility:visible;}
  100%{opacity:0; visibility:hidden;}
}@keyframes twFamilyLogoGlow{
  0%  {filter:brightness(1) drop-shadow(0 0 0px rgba(37,99,235,0));}
  40% {filter:brightness(1.15) drop-shadow(0 0 18px rgba(37,99,235,0.55));}
  100%{filter:brightness(1) drop-shadow(0 0 0px rgba(37,99,235,0));}
}.header-logo img{
  animation: twFamilyLogoGlow 2.2s ease-out 0.8s both !important;
}.tw-family-hero-badge{
  display:block;
  width:fit-content;
  font-family:"Cairo",sans-serif;
  font-size:clamp(11px,2.8vw,14px);
  font-weight:800;
  letter-spacing:0.18em;
  color:#ffffff;
  border:1px solid rgba(249,115,22,0.7);
  border-radius:999px;
  padding:6px 24px;
  margin:6px auto 32px;
  text-align:center;
  white-space:nowrap;
  max-width:96vw;
  box-sizing:border-box;
  background:rgba(249,115,22,0.12);
  text-shadow:0 1px 4px rgba(0,0,0,0.5);
}.tw-family-unified-filters{width:min(680px, calc(100% - 20px));margin:14px auto 0;border-radius:18px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px 14px;overflow:visible;}.tw-family-unified-title{
  display:none;
}.tw-family-unified-inner{border-radius:0;border:none;padding:0;box-shadow:none;}.tw-family-unified-filters .filter-btn{padding:9px 16px !important;font-size:0.88rem !important;min-height:auto !important;}.tw-family-unified-filters .select-display{
  height:44px !important;
  min-height:44px !important;
  font-size:0.85rem !important;
}.tw-family-unified-filters .customlist-btn{
  height:44px !important;
  min-height:44px !important;
  font-size:0.85rem !important;
}.tw-family-unified-filters .filters-grid{margin-top:8px !important;}.tw-family-unified-filters #searchRow{
  margin-top:8px !important;
}.tw-family-unified-filters .filter-bar{gap:8px !important;}.tw-family-unified-filters .filter-bar{max-width:none !important;margin:0 !important;padding:0 !important;display:flex;justify-content:center;flex-wrap:nowrap;}.tw-family-unified-filters .filter-btn{flex:1 1 0;min-width:0 !important;border-radius:18px !important;background:rgba(11,18,32,0.82) !important;border:1px solid rgba(59,130,246,0.38) !important;color:#eaf2ff !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 8px 18px rgba(0,0,0,.16) !important;}.tw-family-unified-filters .filter-btn.active{
  background:linear-gradient(135deg,#fb923c,#f97316) !important;
  color:#fff !important;
  border:1px solid rgba(96,165,250,0.62) !important;
  box-shadow:0 12px 28px rgba(249,115,22,.25), 0 0 0 1px rgba(59,130,246,.35) !important;
}.tw-family-unified-filters .filters-grid{
  width:100% !important;
  max-width:none !important;
  margin:12px 0 0 !important;
  gap:12px !important;
}.tw-family-unified-filters #searchRow{
  max-width:none !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  width:100%;
}.tw-family-unified-filters #searchRow .sort-select-wrap{width:100% !important;}.tw-family-unified-filters .select-display,
.tw-family-unified-filters .customlist-btn{
  height:58px !important;
  min-height:58px !important;
  border-radius:18px !important;
  background:rgba(6,12,28,0.86) !important;
  border:1px solid rgba(59,130,246,0.32) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 6px 15px rgba(0,0,0,.14) !important;
}.tw-family-unified-filters .customlist-panel{
  border-radius:18px !important;
  border:1px solid rgba(59,130,246,.42) !important;
}@media(max-width:768px){
  .tw-family-unified-filters{width:calc(100% - 16px); margin-top:10px; padding:10px; border-radius:16px;}
  .tw-family-unified-title{min-height:46px; font-size:.98rem; border-radius:16px; margin-bottom:10px;}
  .tw-family-unified-inner{padding:10px; border-radius:18px;}
  .tw-family-unified-filters .filter-bar{gap:10px;}
  .tw-family-unified-filters .filter-btn{min-height:58px; padding:10px 8px !important; font-size:.94rem !important;}
  .tw-family-unified-filters .filters-grid{grid-template-columns:1fr 1fr !important; gap:10px !important; margin-top:10px !important;}
  .tw-family-unified-filters #searchRow{margin-top:10px !important;}
  .tw-family-unified-filters .select-display,
  .tw-family-unified-filters .customlist-btn{height:56px !important; min-height:56px !important; border-radius:17px !important;}
  #transferDisplay, #sortDisplay{padding:9px 34px 9px 26px !important;}
}@media(max-width:390px){
  .tw-family-unified-filters .filter-btn{font-size:.86rem !important;}
  .tw-family-unified-title{font-size:.92rem;}
}.tw-family-unified-filters:has(#filterBar[style*="display: none"]){
  display:none !important;
}.tw-lang-switch{
  position:absolute;
  top:14px;
  right:14px;
  z-index:20;
}.tw-lang-switch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  height:32px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(2,6,23,.54);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 6px 16px rgba(0,0,0,.18);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  color:#fff;
  text-decoration:none;
  font-size:.78rem;
  font-weight:800;
  font-family:"Cairo",sans-serif;
}.tw-date-arrow-blue{
  display:inline-block;
  color:#38bdf8;
  font-size:1.35em;
  font-weight:900;
  margin-left:8px;
  animation:twArrowMove 1.2s ease-in-out infinite;
}@keyframes twArrowMove{
  0%,100%{transform:translateX(0);}
  50%{transform:translateX(-8px);}
}.tw-sr-h1{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}.tw-fam-divider{max-width:1120px;margin:32px auto 0;border:none;border-top:2px solid rgba(37,99,235,0.35);position:relative;}.tw-fam-divider::after{content:"✦";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#020617;color:rgba(37,99,235,0.65);font-size:12px;padding:0 12px;letter-spacing:4px;}.tw-fam-trust{max-width:1120px;margin:0 auto;padding:24px 20px 48px;text-align:center;font-family:"Cairo","Tajawal",sans-serif;}.tw-fam-logo{font-size:17px;font-weight:700;color:#2563eb;letter-spacing:3px;margin-bottom:4px;}.tw-fam-tagline{font-size:11px;color:rgba(255,255,255,0.55);letter-spacing:1px;margin-bottom:6px;}.tw-fam-license{font-size:10px;color:rgba(37,99,235,0.55);margin-bottom:16px;letter-spacing:0.5px;}.tw-fam-stats{display:flex;justify-content:center;flex-wrap:wrap;margin-bottom:18px;border:1px solid rgba(37,99,235,0.15);border-radius:10px;overflow:hidden;max-width:480px;margin-left:auto;margin-right:auto;}.tw-fam-stat{flex:1;min-width:80px;padding:10px 8px;border-left:1px solid rgba(37,99,235,0.12);background:rgba(37,99,235,0.03);}.tw-fam-stat:last-child{border-left:none;}.tw-fam-num{font-size:16px;font-weight:700;color:#2563eb;line-height:1;margin-bottom:3px;}.tw-fam-label{font-size:10px;color:rgba(255,255,255,0.45);}.tw-fam-about{font-size:11px;color:rgba(255,255,255,0.50);line-height:1.7;max-width:420px;margin:0 auto 18px;}.tw-fam-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;}.tw-fam-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;border:1px solid rgba(37,99,235,0.28);background:rgba(37,99,235,0.06);color:rgba(37,99,235,0.90);font-size:11px;font-weight:600;text-decoration:none;transition:all 0.2s ease;white-space:nowrap;}.tw-fam-btn:hover{background:rgba(37,99,235,0.13);border-color:rgba(37,99,235,0.50);color:#2563eb;}.tw-fam-copy{font-size:10px;color:rgba(255,255,255,0.22);letter-spacing:0.5px;}.tw-fam-seo{font-size:9.5px;line-height:1.6;color:rgba(255,255,255,0.18);max-width:680px;margin:12px auto 0;text-align:center;}.tw-fam-seo-title{font-size:10px;color:rgba(37,99,235,0.30);margin-bottom:4px;margin-top:12px;}.tw-booking-backdrop{
  position:fixed; inset:0;
  background:rgba(2,6,23,0.88);
  backdrop-filter:blur(11px);
  -webkit-backdrop-filter:blur(11px);
  opacity:0; pointer-events:none;
  transition:opacity .22s ease;
  z-index:120000;
}.tw-booking-backdrop.open{opacity:1; pointer-events:auto;}.tw-booking-sheet{position:fixed;left:0;right:0;top:0;bottom:auto;min-height:100dvh;transform:translateY(100%);transition:transform .25s ease;z-index:120001;padding:14px 14px 18px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;}.tw-booking-sheet.open{transform:translateY(0);}.tw-booking-card{position:relative;width:min(520px, 96vw);margin:0 auto;max-height:calc(100dvh - 28px - env(safe-area-inset-bottom, 0px));background:rgba(2,6,23,0.985);border:1px solid rgba(96,165,250,0.22);border-radius:18px;box-shadow:0 18px 44px rgba(0,0,0,.65);overflow:hidden;display:flex;flex-direction:column;}.tw-booking-head{
  padding:16px 54px 13px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  text-align:center;
}.tw-booking-title{
  font-weight:900;
  font-size:15.5px;
  color:rgba(255,255,255,0.92);
  line-height:1.35;
}.tw-booking-sub{
  margin-top:4px;
  font-size:11.5px;
  color:rgba(203,213,245,0.92);
  opacity:.92;
}.tw-booking-body{
  flex:1 1 auto;
  min-height:0;
  padding:10px 14px 12px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  scroll-padding-bottom:88px;
}.tw-row{ display:grid; gap:10px; margin-bottom:10px; }.tw-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }@media (max-width:420px){ .tw-row-2{ grid-template-columns:1fr; } }.tw-field{
  background:#0b1220;
  border:1px solid #111827;
  border-radius:14px;
  padding:10px;
}.tw-label{
  font-size:11.5px;
  font-weight:900;
  color:#e5e7eb;
  margin-bottom:7px;
  text-align:left;
}.tw-counter{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}.tw-counter-val{
  font-size:16px;
  font-weight:900;
  color:#fff;
  min-width:28px;
  text-align:center;
}.tw-counter-btn{
  width:40px; height:36px;
  border-radius:12px;
  border:1px solid #111827;
  background:#020617;
  color:#e5e7eb;
  font-weight:900;
  font-size:18px;
  cursor:pointer;
}.tw-counter-btn:active{transform:scale(.98);}.tw-date{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid #111827;
  background:#020617;
  color:#e5e7eb;
  font-size:14px;
  font-weight:800;
}.tw-date:focus{ outline:none; box-shadow:0 0 0 3px rgba(249,115,22,.18); }.tw-select{
  width:100%;
  padding:12px 10px;
  border-radius:12px;
  border:1px solid #111827;
  background:#020617;
  color:#e5e7eb;
  font-size:14px;
  font-weight:800;
  appearance:none;
}.tw-select:focus{outline:none; box-shadow:0 0 0 3px rgba(59,130,246,.18);}.tw-date-selects{
  display:grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap:8px;
}.tw-date-btn{width:100%;padding:10px 10px;border-radius:12px;font-weight:800;letter-spacing:.2px;cursor:pointer;text-align:center;}.tw-date-btn:hover{background:rgba(255,255,255,.09);}.tw-date-btn:focus{outline:none; box-shadow:0 0 0 3px rgba(59,130,246,.18);}.tw-cal{
  margin-top:0;
  margin-bottom:10px;
  padding:10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(0,0,0,.18);
}.tw-cal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}.tw-cal-month{
  font-weight:900;
  text-align:center;
  flex:1;
}.tw-cal-nav{
  width:36px;
  height:32px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}.tw-cal-week{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
  opacity:.85;
  font-weight:800;
  font-size:11px;
  margin-bottom:5px;
}.tw-cal-week span{ text-align:center; padding:2px 0; }.tw-cal-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
}.tw-cal-day{
  height:33px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  user-select:none;
}.tw-cal-day.blank{
  background:transparent;
  border-color:transparent;
  cursor:default;
}.tw-cal-day.disabled{
  opacity:.35;
  cursor:not-allowed;
}.tw-cal-day.today{
  border-color:rgba(34,197,94,.55);
}.tw-cal-day.sel-start,
.tw-cal-day.sel-end{
  background:rgba(34,197,94,.85);
  border-color:rgba(34,197,94,1);
  color:#07140b;
}.tw-cal-day.in-range{
  background:rgba(34,197,94,.20);
  border-color:rgba(34,197,94,.25);
}.tw-cal-hint{
  margin-top:8px;
  font-size:11px;
  opacity:.85;
  text-align:center;
}.tw-ages{
  margin-top:8px;
  padding:10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(2,6,23,.55);
}.tw-ages.tw-ages-error{
  border-color: rgba(248,113,113,0.55) !important;
  box-shadow: 0 0 0 3px rgba(248,113,113,0.12);
}.tw-ages-title{
  font-weight:900;
  font-size:12px;
  margin-bottom:8px;
  color:#e5e7eb;
}.tw-ages-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:10px;
}.tw-age{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(120px,1fr);
  align-items:center;
  gap:10px;
  padding:10px;
  border-radius:14px;
  background:rgba(15,23,42,.78);
  border:1px solid rgba(148,163,184,.14);
}.tw-age-lbl{
  color:#e5e7eb;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}.tw-age-picker{
  position:relative;
}.tw-age-inp{
  display:none !important;
}.tw-age-btn{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 12px;
  border-radius:13px;
  border:1px solid rgba(59,130,246,.34);
  background:linear-gradient(180deg,rgba(15,23,42,.95),rgba(2,6,23,.96));
  color:#f8fafc;
  font-family:"Cairo","Tajawal",sans-serif;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 8px 22px rgba(0,0,0,.22);
}.tw-age-btn::after{
  content:"";
  width:8px;
  height:8px;
  border-left:2px solid rgba(96,200,255,.92);
  border-bottom:2px solid rgba(96,200,255,.92);
  transform:rotate(-45deg);
  margin-top:-3px;
  flex:0 0 8px;
}.tw-age-btn.is-selected{
  border-color:rgba(34,197,94,.42);
  color:#ffffff;
}.tw-age-options{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  z-index:120010;
  display:none;
  grid-template-columns:1fr;
  max-height:210px;
  overflow:auto;
  padding:6px;
  border-radius:16px;
  border:1px solid rgba(59,130,246,.32);
  background:rgba(2,6,23,.98);
  box-shadow:0 20px 42px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.04);
  -webkit-overflow-scrolling:touch;
}.tw-age-picker.open .tw-age-options{
  display:grid;
}.tw-age-option{
  min-height:38px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#e5e7eb;
  font-family:"Cairo","Tajawal",sans-serif;
  font-size:13px;
  font-weight:850;
  text-align:center;
  cursor:pointer;
}.tw-age-option:hover,
.tw-age-option.active{
  background:rgba(59,130,246,.18);
  color:#ffffff;
}@media (max-width: 520px){
  .tw-date-selects{grid-template-columns: 1fr 1fr 1fr;}
  .tw-ages-grid{grid-template-columns: 1fr;}
  .tw-age{grid-template-columns:auto minmax(130px,1fr);}
}.tw-nights{
  text-align:center;
  font-size:12px;
  color:rgba(226,232,240,0.92);
  font-weight:900;
  margin-top:10px;
}.tw-booking-close-x{
  position:absolute;
  top:10px;
  left:12px;
  z-index:4;
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.24);
  background:rgba(15,23,42,.88);
  color:#f8fafc;
  font-family:Arial,sans-serif;
  font-size:24px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.26);
}.tw-booking-close-x:active{transform:scale(.96)}.tw-booking-foot{
  padding:12px 14px 14px;
  border-top:1px solid rgba(255,255,255,0.08);
  display:grid;
  gap:10px;
  flex:0 0 auto;
}.tw-primary{
  width:100%;
  min-height:50px;
  padding:13px 16px;
  border-radius:14px;
  border:none;
  cursor:pointer;
  font-weight:900;
  font-size:15px;
  color:#fff;
  background:linear-gradient(135deg,#22c55e,#16a34a);
}.tw-secondary{
  width:100%;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  cursor:pointer;
  font-weight:900;
  font-size:13px;
  color:rgba(255,255,255,0.90);
  background:rgba(255,255,255,0.06);
}.tw-err{
  display:none;
  text-align:center;
  font-size:12px;
  color:#fecaca;
  font-weight:800;
  margin-top:10px;
}.tw-err.show{ display:block; }@media (max-width: 520px){
  .tw-booking-sheet{
    padding:8px 8px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    align-items:flex-start !important;
  }
  .tw-booking-card{
    width:100% !important;
    max-height:calc(100vh - 16px - env(safe-area-inset-bottom, 0px)) !important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-bottom, 0px)) !important;
    border-radius:18px !important;
  }
  .tw-booking-head{
    padding:15px 50px 12px !important;
  }
  .tw-booking-close-x{
    top:9px !important;
    left:10px !important;
    width:36px !important;
    height:36px !important;
  }
  .tw-booking-body{
    padding:9px 12px calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    scroll-padding-bottom:96px !important;
  }
  .tw-date-row{
    margin-bottom:8px !important;
  }
  .tw-cal{
    padding:9px !important;
    margin-bottom:8px !important;
    border-radius:13px !important;
  }
  .tw-cal-head{
    margin-bottom:6px !important;
  }
  .tw-cal-month{
    font-size:14px !important;
  }
  .tw-cal-nav{
    width:34px !important;
    height:30px !important;
    border-radius:10px !important;
  }
  .tw-cal-grid{
    gap:4px !important;
  }
  .tw-cal-week{
    gap:4px !important;
    margin-bottom:4px !important;
  }
  .tw-cal-day{
    height:30px !important;
    border-radius:9px !important;
    font-size:12px !important;
  }
  .tw-cal-hint{
    margin-top:6px !important;
    font-size:10.5px !important;
  }
  .tw-traveler-row{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    margin-bottom:8px !important;
  }
  .tw-field{
    padding:9px !important;
  }
  .tw-label{
    font-size:11px !important;
    margin-bottom:6px !important;
  }
  .tw-counter-btn{
    width:36px !important;
    height:34px !important;
    border-radius:10px !important;
  }
  .tw-ages{
    padding:9px !important;
  }
  .tw-age{
    padding:8px !important;
    align-items:start !important;
  }
  .tw-age-picker.open .tw-age-options{
    position:static !important;
    margin-top:7px !important;
    max-height:150px !important;
    border-radius:13px !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.04) !important;
  }
  .tw-booking-foot{
    background:rgba(2,6,23,.98) !important;
    padding:9px 12px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    gap:8px !important;
  }
  .tw-primary{
    min-height:50px !important;
    padding:12px 14px !important;
    font-size:15px !important;
  }
}.tw-confirm-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:240000;padding:18px;}.tw-confirm-backdrop.open{display:flex;}.tw-confirm-box{width:min(92vw,380px);background:rgba(11,18,32,.98);border:1px solid rgba(34,197,94,.32);box-shadow:0 24px 70px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.04);border-radius:24px;padding:22px 18px 18px;text-align:center;color:#f8fafc;font-family:"Cairo","Tajawal",sans-serif;}.tw-confirm-title{font-size:1.06rem;font-weight:900;margin:0 0 10px;color:#fff;}.tw-confirm-sub{font-size:.9rem;line-height:1.6;color:#cbd5e1;margin:0 0 14px;}.tw-confirm-id-label{font-size:.78rem;font-weight:800;color:#94a3b8;margin-bottom:5px;}.tw-confirm-id{direction:ltr;unicode-bidi:embed;font-size:1.24rem;font-weight:900;color:#facc15;background:rgba(250,204,21,.08);border:1px solid rgba(250,204,21,.20);border-radius:16px;padding:10px 12px;margin:0 auto 16px;letter-spacing:.5px;}.tw-confirm-send{width:100%;border:0;border-radius:999px;padding:13px 18px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:.96rem;font-weight:900;cursor:pointer;box-shadow:0 14px 30px rgba(22,163,74,.25);}.tw-confirm-cancel{width:100%;margin-top:10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:11px 18px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.86);font-size:.88rem;font-weight:800;cursor:pointer;}.tw-confirm-send:active,.tw-confirm-cancel:active{transform:scale(.985);}.hero{position:relative !important;}.tw-currency-widget{}.tw-currency-toggle{appearance:none;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;cursor:pointer;}.tw-currency-menu{position:absolute;left:0;display:none;background:rgba(2,6,23,.96);border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 32px rgba(0,0,0,.34);}.tw-currency-widget.open .tw-currency-menu{display:block;}.tw-currency-item{appearance:none;width:100%;border:none;background:transparent;color:#f8fafc;display:flex;align-items:center;justify-content:flex-start;gap:10px;cursor:pointer;font-weight:800;}.tw-currency-item:hover,.tw-currency-item.active{background:rgba(59,130,246,.16);}@media (max-width:768px){.tw-currency-widget{top:10px;left:10px;}.tw-currency-toggle{height:38px;min-width:54px;font-size:.8rem;}}.currency-select-wrap {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 999;
}.currency-select-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(3,13,26,0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  font-family: "Cairo", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  white-space: nowrap;
  user-select: none;
}.currency-select-btn:hover {
  border-color: rgba(14,160,130,0.6);
  background: rgba(14,160,130,0.18);
}.currency-select-btn .cs-flag { font-size: 1rem; line-height: 1; }.currency-select-btn .cs-code {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.5px;
}.currency-select-btn .cs-arrow {
  font-size: 0.6rem;
  color: rgba(255,255,255,0.5);
  margin-right: 2px;
  transition: transform 0.2s;
}.currency-select-btn.open .cs-arrow { transform: rotate(180deg); }.currency-dropdown {
  position: fixed;
  top: auto;
  bottom: auto;
  left: 14px;
  min-width: 190px;
  max-height: 70vh;
  overflow-y: auto;
  background: rgba(6,18,34,0.97);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(14,160,130,0.3);
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.85);
  display: none;
  z-index: 9999;
  animation: twDropIn 0.2s cubic-bezier(0.34,1.2,0.64,1);
}.currency-dropdown.open { display: block; }@keyframes twDropIn {
  from { opacity: 0; transform: translateY(-6px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}.currency-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  cursor: pointer;
  font-family: "Cairo", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(240,246,244,0.8);
  border: none;
  background: none;
  width: 100%;
  text-align:left;
  transition: background 0.2s, color 0.2s;
  border-bottom: 1px solid rgba(14,160,130,0.08);
}.currency-option:last-child { border-bottom: none; }.currency-option:hover {
  background: rgba(14,160,130,0.12);
  color: #fff;
}.currency-option.active {
  background: rgba(14,160,130,0.15);
  color: #4ecca3;
}.currency-option .co-flag { font-size: 0.9rem; flex-shrink: 0; }.currency-option .co-info { flex: 1; text-align:left; }.currency-option .co-name { display: block; font-size: 0.75rem; font-weight: 700; }.currency-option .co-sub  { display: block; font-size: 0.62rem; color: rgba(255,255,255,0.4); margin-top: 1px; font-family: "Montserrat", sans-serif; letter-spacing: 0.3px; }.currency-option .co-check { font-size: 0.75rem; color: #4ecca3; opacity: 0; }.currency-option.active .co-check { opacity: 1; }.tw-currency-widget { display: none !important; }#twVideoModal{display:none;position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,0.92);align-items:center;justify-content:center;flex-direction:column;}#twVideoModal.open{display:flex;}#twVideoModal .twvm-inner{position:relative;width:min(480px,96vw);background:#000;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.8);}#twVideoModal .twvm-iframe-wrap{overflow:hidden;height:min(600px,72vh);position:relative;}#twVideoModal .twvm-cover{position:absolute;bottom:0;left:0;right:0;height:40px;background:#000;z-index:5;}#twVideoModal .twvm-close{position:relative;z-index:10;background:rgba(30,30,30,0.9);border:1px solid rgba(255,255,255,0.15);color:#fff;width:100%;height:44px;border-radius:0 0 16px 16px;font-size:0.85rem;font-family:"Cairo",sans-serif;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background 0.2s ease;}#twVideoModal .twvm-close:hover{background:rgba(249,115,22,0.85);}#twVideoModal iframe{display:block;width:100%;height:calc(min(600px,72vh) + 400px);border:none;margin-bottom:-400px;}#twVideoModal .twvm-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#111;color:rgba(255,255,255,0.5);font-family:"Cairo",sans-serif;font-size:0.9rem;flex-direction:column;gap:12px;}#twVideoModal .twvm-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,0.1);border-top-color:#f97316;border-radius:50%;animation:twvmSpin 0.8s linear infinite;}@keyframes twvmSpin{to{transform:rotate(360deg);}}#twVideoModal .twvm-fallback{display:none;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;gap:14px;}#twVideoModal .twvm-fallback p{color:rgba(255,255,255,0.7);font-family:"Cairo",sans-serif;font-size:0.88rem;margin:0;}#twVideoModal .twvm-fallback a{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:999px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-family:"Cairo",sans-serif;font-weight:700;font-size:0.9rem;text-decoration:none;}.tw-hero-brand{font-family:"Cormorant Garamond", serif;font-weight:700;font-size:1.5rem;letter-spacing:1px;text-align:center;margin-top:-14px;direction:ltr;}.tw-hero-brand sup{ font-size:.45em; vertical-align:super; }.tw-hero-badge{display:inline-block;margin:5px auto 0;padding:5px 13px;border-radius:999px;backdrop-filter:blur(6px);font-family:"Cairo", sans-serif;font-size:.63rem;letter-spacing:.4px;text-align:center;direction:ltr;white-space:nowrap;max-width:none;}.tw-hero-brand, .tw-hero-badge{ display:block; }@media(max-width:600px){
  .tw-hero-brand{ font-size:1.2rem; }
  .tw-hero-badge{ font-size:.52rem; letter-spacing:.2px; padding:5px 10px; }
}@media(max-width:380px){
  .tw-hero-badge{ font-size:.48rem; letter-spacing:.1px; }
}.hero .header-logo{margin-bottom:0 !important;}.hero .header-logo img{ margin-bottom:0 !important; width:148px !important; max-width:41vw !important; }.hero .header-logo::before{ display:none !important; content:none !important; }.details-bar .close-btn{ display:none !important; }.hero::before{
  background-image:
    linear-gradient(rgba(2,12,24,.5), rgba(2,12,24,.5)),
    url(../family-header.webp) !important;
  background-position: center 72%, center 72% !important;
  background-size: cover, cover !important;
  background-repeat: no-repeat, no-repeat !important;
}.tw-video-break{
  grid-column:1 / -1;
  position:relative;
  width:100%;
  margin:34px auto;
  border-radius:16px;
  overflow:hidden;
  background:#020c18;
  box-shadow:0 24px 70px rgba(0,0,0,.5);
}.tw-video-break__inner{
  position:relative; width:100%; max-width:1120px; margin:0 auto;
  height:78vh; max-height:680px; overflow:hidden;
}@media(max-width:600px){ .tw-video-break__inner{ height:82vh; max-height:none; } }.tw-video-break .tw-bvid{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block; background:#020c18;
  opacity:0; transition:opacity .45s linear; z-index:1;
}.tw-video-break .tw-bvid.is-on{ opacity:1; z-index:2; }.tw-video-break__veil{
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:
    radial-gradient(120% 90% at 50% 50%, rgba(2,12,24,.28) 0%, rgba(2,12,24,.04) 48%, rgba(2,12,24,.42) 100%),
    linear-gradient(to bottom, rgba(2,12,24,.32) 0%, rgba(2,12,24,0) 30%, rgba(2,12,24,0) 62%, rgba(2,12,24,.52) 100%);
}.tw-video-break::before, .tw-video-break::after{
  content:""; position:absolute; left:0; right:0; height:2px; z-index:4;
  background:linear-gradient(90deg, transparent, rgba(216,180,106,.9), transparent);
}.tw-video-break::before{ top:0; }.tw-video-break::after{ bottom:0; }.tw-video-break__content{
  position:absolute; inset:0; z-index:4; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; padding:0 22px; pointer-events:none;
}.tw-break-kicker{
  font-family:"Cormorant Garamond", serif; font-size:.78rem; font-weight:700;
  letter-spacing:4px; text-transform:uppercase; color:#e7c87a; margin-bottom:18px;
  padding:7px 16px; border-radius:999px; background:rgba(2,12,24,.55);
  border:1px solid rgba(216,180,106,.55); backdrop-filter:blur(6px);
  box-shadow:0 4px 18px rgba(0,0,0,.35);
  opacity:0; animation:twBreakFade 1.1s ease forwards .2s;
}.tw-break-caption{
  font-family:"Cormorant Garamond", serif; font-weight:600;
  font-size:clamp(2.2rem, 6vw, 4rem); line-height:1.05; letter-spacing:.5px;
  color:#fff; text-shadow:0 4px 30px rgba(0,0,0,.6);
  opacity:0; transform:scale(1.06); animation:twBreakRise 1.4s cubic-bezier(.2,.7,.2,1) forwards .35s;
}.tw-break-rule{
  width:54px; height:1px; margin-top:20px; background:rgba(216,180,106,.85);
  opacity:0; animation:twBreakFade 1.1s ease forwards .7s;
}@keyframes twBreakFade{ to{ opacity:1; } }@keyframes twBreakRise{ to{ opacity:1; transform:scale(1); } }#twFG-wrap {
  position: relative;
  width: 100%;
  background: #000;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
}body.tw-multi-open #twFG-wrap{ display:none !important; }@media(min-width:900px){ #twFG-wrap { border-radius: 20px 0 0 0; } }#twFG-track {
  display: flex;
  transition: transform 0.38s cubic-bezier(0.4,0,0.2,1);
  will-change: transform;
}.twFG-slide {
  min-width: 100%;
  position: relative;
  background: #000;
}.twFG-slide img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}@media(min-width:600px){ .twFG-slide img { height: 320px; } }@media(min-width:900px){ .twFG-slide img { height: 380px; } }.twFG-opt-badge {
  position: absolute;
  bottom: 10px;
  right: 12px;
  background: rgba(2,6,23,0.72);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(59,130,246,0.4);
  color: #e2e8f0;
  font-family: "Cairo", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 999px;
  pointer-events: none;
}.twFG-video-slide {
  min-width: 100%;
  position: relative;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 260px;
  cursor: pointer;
}@media(min-width:600px){ .twFG-video-slide { height: 320px; } }@media(min-width:900px){ .twFG-video-slide { height: 380px; } }.twFG-video-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.45);
}.twFG-video-play {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}.twFG-video-play .twFG-play-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg,#f97316,#ea580c);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 28px rgba(249,115,22,0.5);
  font-size: 0;
  line-height: 0;
  transition: transform 0.2s ease;
}.twFG-video-play .twFG-play-icon::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 0;
  border-left: 16px solid #e5e7eb;
  margin-left: 4px;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.35));
}.twFG-video-slide:hover .twFG-play-icon { transform: scale(1.1); }.twFG-video-play .twFG-play-label {
  color: #fff;
  font-family: "Cairo", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
}.twFG-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(2,6,23,0.60);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  font-size: 1rem;
  transition: background 0.2s ease;
  user-select: none;
}.twFG-arrow:hover { background: rgba(249,115,22,0.55); }.twFG-arrow.prev { right: 8px; }.twFG-arrow.next { left: 8px; }#twFG-dots {
  display: flex;
  justify-content: center;
  gap: 5px;
  padding: 8px 0 4px;
  background: rgba(2,6,23,0.95);
}.twFG-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.25);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}.twFG-dot.active {
  background: #f97316;
  transform: scale(1.3);
}#twFG-topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: linear-gradient(180deg,rgba(2,6,23,0.65) 0%,transparent 100%);
}#twFG-topbar .twFG-close {
  background: rgba(2,6,23,0.55);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.15);
  color: #e2e8f0;
  padding: 6px 14px;
  border-radius: 999px;
  font-family: "Cairo", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
}#twFG-topbar .twFG-close:hover { background: rgba(249,115,22,0.45); }#twFG-topbar .twFG-logo img { height: 28px; opacity: 0.85; }#twFG-counter {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 6;
  background: rgba(2,6,23,0.55);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.80);
  font-family: "Cormorant Garamond", serif;
  font-size: 0.78rem;
  padding: 4px 12px;
  border-radius: 999px;
  pointer-events: none;
}#detailsHeroImg, .details-corner-logo { display: none !important; }.details-top { background: none !important; padding: 0 !important; min-height: 0 !important; }.details-bar { display: flex !important; padding: 10px 14px 4px !important; }.details-bar .close-btn { font-family: "Cairo", sans-serif; }#dTitle { font-family: "Cairo", sans-serif; font-weight: 800; font-size: 1rem; color: #f1f5f9; }body.tw-multi-open .details-bar{
  display:flex !important;
  flex-direction:row-reverse !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  padding:10px 14px 6px !important;
  border-bottom:none !important;
}body.tw-multi-open .details-bar .details-left{
  position:static !important;
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  flex:0 0 auto !important;
}body.tw-multi-open .details-bar .close-btn{
  display:inline-flex !important;
  align-items:center !important;
  padding:6px 12px !important;
  font-size:0.8rem !important;
}body.tw-multi-open .details-bar .details-right{
  flex:1 1 auto !important;
  text-align:left !important;
  padding-left:10px !important;
  margin:0 !important;
}#dContent .btn-video { display: none !important; }#dContent .inline-actions { gap: 0 !important; }.twFG-mini-gallery {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  margin: 16px 0 8px;
}.twFG-mini-gallery .twFG-slide img {
  height: 200px;
  border-radius: 12px;
}@media(min-width:600px){ .twFG-mini-gallery .twFG-slide img { height: 250px; } }.twFG-mini-gallery .twFG-video-slide {
  height: 200px;
  border-radius: 12px;
}@media(min-width:600px){ .twFG-mini-gallery .twFG-video-slide { height: 250px; } }.twFG-mini-gallery .twFG-arrow { top: 45%; }.twFG-mini-gallery .twFG-dots { border-radius: 0 0 12px 12px; }.twFG-track-wrap {
  overflow: hidden;
}.twFG-track {
  display: flex;
  transition: transform 0.38s cubic-bezier(0.4,0,0.2,1);
  will-change: transform;
}.twFG-dots {
  display: flex;
  justify-content: center;
  gap: 5px;
  padding: 6px 0 4px;
  background: rgba(2,6,23,0.95);
}#detailsPanel.details-panel{overflow-y:auto !important;overflow-x:hidden !important;-webkit-overflow-scrolling:touch !important;overscroll-behavior:contain !important;box-sizing:border-box !important;padding-bottom:calc(28px + env(safe-area-inset-bottom, 0px)) !important;scroll-padding-bottom:calc(28px + env(safe-area-inset-bottom, 0px)) !important;}#detailsPanel.details-panel:not(.open){
  transform:translate3d(0, calc(100% + 40px), 0) !important;
  visibility:hidden !important;
  pointer-events:none !important;
}#detailsPanel.details-panel.open{
  transform:translateY(0) !important;
  visibility:visible !important;
  pointer-events:auto !important;
}#detailsGlobalTrust.details-footer-note,
#dContent .details-footer-note{
  margin-bottom:calc(28px + env(safe-area-inset-bottom, 0px)) !important;
}@supports (height:100svh){
  #detailsPanel.details-panel{
    height:100svh !important;
    max-height:100svh !important;
  }
}@media(max-width:768px){
  #detailsPanel.details-panel{
    padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px)) !important;
    scroll-padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px)) !important;
  }
}#detailsPanel.details-panel{
  height:calc(var(--tw-vh, 1vh) * 100) !important;
  max-height:calc(var(--tw-vh, 1vh) * 100) !important;
}.travel-date-box{border-radius:28px !important;}.tw-family-date-title-outside{}#travelDateFilter.tw-family-date-cta-button{
  width:100% !important;
  min-height:72px !important;
  padding:8px 16px !important;
  border:0 !important;
  border-radius:20px !important;
  background:transparent !important;
  box-shadow:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  text-align:center !important;
  cursor:pointer !important;
}#travelDateFilter.tw-family-date-cta-button:hover,
#travelDateFilter.tw-family-date-cta-button:active{
  transform:none !important;
  box-shadow:none !important;
}#travelDateFilter .tw-family-calendar-row{}#travelDateFilter .tw-family-date-line{}#travelDateFilter .tw-family-date-icon{}#travelDateFilter .tw-family-date-icon svg{}#travelDateFilter .tw-family-date-icon svg rect,
#travelDateFilter .tw-family-date-icon svg path{}#travelDateFilter .tw-family-date-text{}#travelDateFilter.is-selected{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}#travelDateFilter > .main:not(.tw-family-calendar-row){
  display:none !important;
}@media(max-width:768px){
  .travel-date-box{
    width:calc(100% - 18px) !important;
    gap:10px !important;
    padding:20px 14px !important;
    border-radius:24px !important;
  }

  .tw-family-date-title-outside{
    font-size:28px !important;
  }

  #travelDateFilter.tw-family-date-cta-button{
    min-height:66px !important;
    padding:6px 10px !important;
    gap:7px !important;
  }

  #travelDateFilter .tw-family-calendar-row{
    gap:10px !important;
  }

  #travelDateFilter .tw-family-date-line{
    flex-basis:90px !important;
    max-width:90px !important;
    min-width:42px !important;
  }

  #travelDateFilter .tw-family-date-icon{
    width:24px !important;
    height:24px !important;
    flex-basis:24px !important;
  }

  #travelDateFilter .tw-family-date-icon svg{
    width:24px !important;
    height:24px !important;
    stroke-width:2.15 !important;
  }

  #travelDateFilter .tw-family-date-text{
    font-size:.88rem !important;
  }
}.travel-date-box{
  width:min(860px,100%) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:42px !important;
  padding:0 14px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}.tw-family-date-title-outside{display:block !important;font-family:"Cairo","Tajawal",sans-serif !important;font-size:36px !important;font-weight:900 !important;line-height:1.12 !important;text-align:center !important;margin:0 !important;padding:0 !important;}#travelDateFilter.tw-family-date-cta-button,
#travelDateFilter.travel-date-input{width:min(720px,100%) !important;min-height:78px !important;padding:12px 18px !important;border-radius:24px !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;position:relative !important;gap:8px !important;text-align:center !important;cursor:pointer !important;}#travelDateFilter:hover{
  transform:translateY(-1px) !important;
}#travelDateFilter .tw-family-calendar-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  width:100% !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
  opacity:1 !important;
}#travelDateFilter .tw-family-date-line{display:block !important;height:1px !important;flex:0 1 150px !important;max-width:150px !important;min-width:52px !important;opacity:.92 !important;}#travelDateFilter .tw-family-date-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:27px !important;
  height:27px !important;
  flex:0 0 27px !important;
  color:#60c8ff !important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.45)) !important;
}#travelDateFilter .tw-family-date-icon svg{
  display:block !important;
  width:27px !important;
  height:27px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}#travelDateFilter .tw-family-date-icon svg rect,
#travelDateFilter .tw-family-date-icon svg path{
  fill:none !important;
  stroke:currentColor !important;
}#travelDateFilter .tw-family-date-text{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  color:#ffffff !important;
  font-family:"Cairo","Tajawal",sans-serif !important;
  font-size:.96rem !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  text-shadow:0 3px 12px rgba(0,0,0,.48) !important;
  margin:0 !important;
  padding:0 !important;
}#travelDateFilter .tw-family-date-main{
  display:block !important;
  font-size:1.06rem !important;
  font-weight:900 !important;
  line-height:1.18 !important;
}#travelDateFilter .tw-family-date-main-row{
  display:block !important;
  position:static !important;
  line-height:1.18 !important;
}#travelDateFilter .tw-family-date-arrow{
  position:absolute !important;
  top:50% !important;
  right:34px !important;
  display:inline-block !important;
  width:34px !important;
  height:16px !important;
  flex:0 0 auto !important;
  pointer-events:none !important;
  transform:translateY(-50%) !important;
  animation:twFamilyDateArrowNudge 1.15s ease-in-out infinite !important;
  filter:drop-shadow(0 2px 8px rgba(96,200,255,.45)) !important;
}#travelDateFilter .tw-family-date-arrow::before{content:"" !important;position:absolute !important;top:7px !important;left:6px !important;right:2px !important;height:2px !important;border-radius:999px !important;}#travelDateFilter .tw-family-date-arrow::after{
  content:"" !important;
  position:absolute !important;
  top:3px !important;
  left:2px !important;
  right:auto !important;
  width:10px !important;
  height:10px !important;
  border-top:0 !important;
  border-right:0 !important;
  border-left:2px solid #60c8ff !important;
  border-bottom:2px solid #60c8ff !important;
  transform:rotate(45deg) !important;
}@keyframes twFamilyDateArrowNudge{
  0%,100%{ transform:translateY(-50%) translateX(0); }
  50%{ transform:translateY(-50%) translateX(-6px); }
}#travelDateFilter .tw-family-selected-date{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  width:100% !important;
  font-family:"Cairo","Tajawal",sans-serif !important;
  text-align:center !important;
  line-height:1.2 !important;
}#travelDateFilter .tw-family-selected-date-label{
  display:block !important;
  color:#dbeafe !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  line-height:1.22 !important;
  opacity:.88 !important;
  text-shadow:0 3px 12px rgba(0,0,0,.46) !important;
}#travelDateFilter .tw-family-selected-date-value{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#facc15 !important;
  font-size:1.06rem !important;
  font-weight:900 !important;
  line-height:1.22 !important;
  letter-spacing:0 !important;
  padding:0 !important;
  text-shadow:0 3px 12px rgba(0,0,0,.48) !important;
}#travelDateFilter .tw-family-selected-date-value::before{
  color:rgba(191,219,254,.92) !important;
  font-size:.94rem !important;
}#travelDateFilter .tw-family-date-sub{
  display:block !important;
  color:#dbeafe !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  opacity:.9 !important;
}@media(max-width:768px){
  .travel-date-box{
    width:100% !important;
    gap:28px !important;
    padding:0 10px !important;
  }

  .tw-family-date-title-outside{
    font-size:29px !important;
  }

  #travelDateFilter.tw-family-date-cta-button,
  #travelDateFilter.travel-date-input{
    width:calc(100% - 16px) !important;
    min-height:70px !important;
    padding:10px 12px !important;
    border-radius:22px !important;
    gap:7px !important;
  }

  #travelDateFilter .tw-family-calendar-row{
    gap:10px !important;
  }

  #travelDateFilter .tw-family-date-line{
    flex-basis:88px !important;
    max-width:88px !important;
    min-width:40px !important;
  }

  #travelDateFilter .tw-family-date-icon{
    width:23px !important;
    height:23px !important;
    flex-basis:23px !important;
  }

  #travelDateFilter .tw-family-date-icon svg{
    width:23px !important;
    height:23px !important;
    stroke-width:2.15 !important;
  }

  #travelDateFilter .tw-family-date-text{
    font-size:.84rem !important;
  }

  #travelDateFilter .tw-family-date-main{
    font-size:.98rem !important;
  }

  #travelDateFilter .tw-family-date-main-row{
    display:block !important;
  }

  #travelDateFilter .tw-family-date-arrow{
    right:20px !important;
    width:26px !important;
    height:14px !important;
    flex-basis:auto !important;
  }

  #travelDateFilter .tw-family-selected-date{
    gap:4px !important;
  }

  #travelDateFilter .tw-family-selected-date-label{
    font-size:.76rem !important;
  }

  #travelDateFilter .tw-family-selected-date-value{
    font-size:1rem !important;
  }

  #travelDateFilter .tw-family-date-sub{
    font-size:.75rem !important;
  }
}:root{
  --tw-lux-cyan:#7dd3c7;
  --tw-lux-cyan-soft:rgba(125,211,199,.26);
  --tw-lux-gold:#d8b46a;
  --tw-family-warm:#f2b36d;
  --tw-family-warm-deep:#d98b45;
  --tw-family-warm-soft:rgba(242,179,109,.30);
  --tw-lux-ink:#031018;
  --tw-lux-panel:rgba(4,18,28,.78);
  --tw-lux-panel-soft:rgba(8,26,39,.62);
}body{
  background:
    radial-gradient(circle at 50% -8%, rgba(242,179,109,.13), transparent 30%),
    radial-gradient(circle at 50% 4%, rgba(28,95,116,.18), transparent 40%),
    linear-gradient(180deg,#020914 0%,#020617 48%,#01040a 100%) !important;
}.family-scroll-bar{
  display:none !important;
}.hero{
  min-height:270px !important;
  padding:34px 14px 28px !important;
  border-bottom:1px solid rgba(112,228,214,.18) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.24) !important;
}.hero::before{
  background:
    linear-gradient(180deg, rgba(1,10,20,.28), rgba(1,10,20,.52)),
    url(../family-header.webp) center 72% / cover no-repeat !important;
  filter:brightness(1.02) saturate(1.04) !important;
  transform:scale(1.02) !important;
}.hero::after{
  display:none !important;
}.hero .header-logo{
  transform:translateY(-26%) !important;
}.hero .header-logo::before{
  background:rgba(1,8,17,.08) !important;
  border-color:rgba(255,255,255,.035) !important;
  box-shadow:none !important;
}.hero .header-logo img,
.header-logo img{
  width:148px !important;
  max-width:40vw !important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.48)) !important;
}.tw-hero-brand{
  color:#f6efe2 !important;
  text-shadow:0 8px 22px rgba(0,0,0,.50) !important;
}.tw-hero-page-title{
  position:relative !important;
  top:-16px !important;
  width:fit-content !important;
  max-width:86vw !important;
  margin:4px auto 0 !important;
  transform:none !important;
  color:#f8fafc !important;
  font-size:1.68rem !important;
  line-height:1.08 !important;
  font-weight:850 !important;
  letter-spacing:0 !important;
  text-shadow:0 7px 18px rgba(0,0,0,.50) !important;
}.tw-hero-intro__ornament,
.tw-hero-intro__badge,
.tw-hero-intro__sub,
.tw-hero-intro__line,
.tw-hero-intro__stars{
  display:none !important;
}.tw-hero-intro__title{
  font-size:44px !important;
  margin:0 !important;
}.tw-hero-badge{
  background:rgba(3,16,24,.36) !important;
  border:1px solid rgba(216,180,106,.24) !important;
  color:rgba(248,250,252,.82) !important;
  box-shadow:none !important;
}.travel-date-bar{
  margin-top:28px !important;
}.tw-family-date-title-outside{
  color:#f8fafc !important;
  text-shadow:0 8px 22px rgba(0,0,0,.44) !important;
}#travelDateFilter.tw-family-date-cta-button,
#travelDateFilter.travel-date-input{
  background:
    linear-gradient(180deg, rgba(16,43,51,.92), rgba(5,16,25,.96)) !important;
  border:1.5px solid rgba(242,179,109,.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 14px 32px rgba(0,0,0,.30),
    0 0 0 1px rgba(125,211,199,.10) !important;
}#travelDateFilter:hover{
  border-color:rgba(112,228,214,.56) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 16px 36px rgba(0,0,0,.34),
    0 0 24px rgba(112,228,214,.12) !important;
}#travelDateFilter .tw-family-date-line{
  background:linear-gradient(90deg,transparent,rgba(216,180,106,.78),transparent) !important;
}#travelDateFilter .tw-family-date-icon,
#travelDateFilter .tw-family-date-arrow::before{
  color:var(--tw-lux-cyan) !important;
}#travelDateFilter .tw-family-date-arrow::before{
  background:var(--tw-lux-cyan) !important;
}#travelDateFilter .tw-family-date-arrow::after{
  border-left-color:var(--tw-lux-cyan) !important;
  border-bottom-color:var(--tw-lux-cyan) !important;
}.tw-family-unified-filters{
  background:linear-gradient(180deg,rgba(6,22,34,.60),rgba(2,10,18,.70)) !important;
  border:1px solid rgba(242,179,109,.18) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
}.tw-family-unified-inner{
  background:rgba(2,8,16,.28) !important;
  border-color:rgba(255,255,255,.055) !important;
}.tw-family-unified-filters .filter-btn,
.tw-family-unified-filters .select-display,
.tw-family-unified-filters .customlist-btn{
  background:rgba(4,18,28,.62) !important;
  border-color:rgba(125,211,199,.18) !important;
  color:#e8f6f7 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
}.filter-btn.active,
.tw-family-unified-filters .filter-btn.active{
  background:linear-gradient(135deg,var(--tw-family-warm),var(--tw-family-warm-deep)) !important;
  color:#1f1308 !important;
  border:1px solid rgba(255,231,190,.35) !important;
  box-shadow:0 12px 26px rgba(217,139,69,.20), 0 0 0 1px rgba(242,179,109,.20) !important;
}.grid{
  gap:24px !important;
  margin-top:32px !important;
}.card{
  border-radius:24px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015)),
    var(--tw-lux-panel) !important;
  border:1px solid rgba(125,211,199,.18) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.035) !important;
}.card:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(242,179,109,.38) !important;
  box-shadow:0 24px 56px rgba(0,0,0,.58), 0 0 0 1px rgba(242,179,109,.12) !important;
}.card-img-wrap img{
  filter:saturate(1.03) contrast(1.02) !important;
}.hotel-name-ar{
  color:#f8fafc !important;
  font-weight:750 !important;
}.hotel-name-en{
  color:rgba(216,230,235,.78) !important;
  letter-spacing:.35px !important;
}.price-line{
  color:var(--tw-lux-gold) !important;
  text-shadow:0 6px 18px rgba(0,0,0,.32) !important;
}.price-note,
.card-duration{
  color:rgba(226,232,240,.76) !important;
}.btn-main{
  background:linear-gradient(135deg,var(--tw-family-warm),var(--tw-family-warm-deep)) !important;
  color:#1f1308 !important;
  border:1px solid rgba(255,231,190,.34) !important;
  box-shadow:0 12px 26px rgba(217,139,69,.20), inset 0 1px 0 rgba(255,255,255,.22) !important;
}.card-body .btn-main{
  width:auto !important;
  min-width:142px !important;
  max-width:76% !important;
  min-height:38px !important;
  padding:8px 17px !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  margin-top:10px !important;
  box-shadow:0 9px 18px rgba(217,139,69,.17), inset 0 1px 0 rgba(255,255,255,.20) !important;
}.btn-main:hover,
.btn-main:focus{
  box-shadow:0 16px 34px rgba(217,139,69,.26), 0 0 0 3px rgba(242,179,109,.16) !important;
}.details-panel{
  background:linear-gradient(180deg,rgba(8,24,34,.98),rgba(2,8,16,.98)) !important;
  border-color:rgba(112,228,214,.26) !important;
}.btn-video{
  background:rgba(242,179,109,.14) !important;
  border:1px solid rgba(242,179,109,.48) !important;
  color:#f8ddb6 !important;
  box-shadow:0 10px 22px rgba(0,0,0,.20) !important;
}.btn-call{
  background:rgba(96,165,250,.18) !important;
  border:1px solid rgba(96,165,250,.42) !important;
  color:#dbeafe !important;
  box-shadow:0 10px 22px rgba(0,0,0,.20) !important;
}.btn-wa{
  background:linear-gradient(135deg,rgba(52,211,153,.92),rgba(22,163,74,.88)) !important;
  color:#02120b !important;
  box-shadow:0 10px 22px rgba(22,163,74,.18) !important;
}.tw-contact-pill button{
  background:rgba(3,18,26,.78) !important;
  border:1px solid rgba(112,228,214,.24) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.26) !important;
}@media(max-width:768px){
  .hero{
    min-height:248px !important;
    padding:30px 12px 26px !important;
  }

  .hero .header-logo{
    transform:translateY(-24%) !important;
  }

  .hero .header-logo img,
  .header-logo img{
    width:136px !important;
    max-width:38vw !important;
  }

  .tw-hero-brand{
    font-size:1.12rem !important;
  }

  .tw-hero-badge{
    font-size:.48rem !important;
    padding:5px 9px !important;
  }

  .tw-hero-page-title{
    top:-14px !important;
    max-width:78vw !important;
    margin-top:3px !important;
    font-size:1.28rem !important;
    line-height:1.15 !important;
    font-weight:850 !important;
  }

  .tw-hero-intro__title{
    font-size:34px !important;
  }

  .travel-date-bar{
    margin-top:24px !important;
  }

  .tw-family-date-title-outside{
    font-size:27px !important;
  }

  .grid{
    gap:22px !important;
    margin-top:28px !important;
  }

  .card{
    border-radius:22px !important;
  }

  .card-img-wrap img{
    height:210px !important;
  }

  .card-body .btn-main{
    min-width:132px !important;
    max-width:72% !important;
    min-height:36px !important;
    padding:7px 15px !important;
    font-size:.78rem !important;
  }
}

/* ===== tw-family-extra-nights-upgrade ===== */
.card-duration .card-duration-extra{font-size:.88em;color:#aeb8c7;opacity:.92;font-weight:600;white-space:normal;}

/* ===== tw-sort-filter-final-fix ===== */
#sortRow .sort-select-wrap{position:relative !important;}#sortRow #sortDisplay{position:relative !important;z-index:1 !important;}#sortRow #sortSelect{
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:transparent !important;
  cursor:pointer !important;
}#sortRow .sort-select-wrap::before{
  content:"▼" !important;
  position:absolute !important;
  left:16px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:2 !important;
  pointer-events:none !important;
  color:rgba(255,255,255,.75) !important;
  font-size:16px !important;
}

/* ===== tw-family-filter-alignment-final-fix ===== */
#filtersGrid,
#filtersGrid > *,
#filtersGrid .transfer-row,
#filtersGrid #sortRow,
#filtersGrid .transfer-select-wrap,
#filtersGrid .sort-select-wrap{
  min-width:0 !important;
  box-sizing:border-box !important;
}#filtersGrid .transfer-row,
#filtersGrid #sortRow{
  width:100% !important;
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}#filtersGrid .transfer-select-wrap,
#filtersGrid #sortRow .sort-select-wrap,
#filtersGrid .select-display{
  width:100% !important;
  max-width:100% !important;
}#searchRow .sort-select-wrap::before{
  content:none !important;
  display:none !important;
}#searchRow .sort-select-wrap{
  width:min(760px,100%) !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}#hotelPicker,
#hotelPickerBtn{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* ===== tw-safari-top-chrome-fix ===== */
html, body { background-color:#07131d !important; }html { min-height:100%; }

/* ===== tw-family-booking-incomplete-warning-css ===== */
.tw-booking-incomplete-overlay{
  position:fixed;inset:0;z-index:330100;display:none;align-items:center;justify-content:center;
  padding:18px;background:rgba(2,6,23,.78);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
}.tw-booking-incomplete-overlay.open{display:flex}.tw-booking-incomplete-sheet{
  width:min(430px,calc(100vw - 36px));box-sizing:border-box;padding:24px 20px 18px;border-radius:20px;
  border:1px solid rgba(59,130,246,.42);background:linear-gradient(180deg,#0b1224,#020617);
  box-shadow:0 24px 70px rgba(0,0,0,.62),inset 0 0 0 1px rgba(255,255,255,.025);text-align:center;direction:ltr;
}.tw-booking-incomplete-title{color:#f8fafc;font-family:"Cairo","Tajawal",sans-serif;font-size:1.12rem;font-weight:900;line-height:1.45}.tw-booking-incomplete-text{margin:8px auto 18px;max-width:350px;color:#cbd5e1;font-family:"Cairo","Tajawal",sans-serif;font-size:.88rem;font-weight:600;line-height:1.65}.tw-booking-incomplete-text span,.tw-booking-incomplete-text strong{display:block;text-align:center}.tw-booking-incomplete-text strong{margin-top:2px;color:#f8fafc;font-weight:900}.tw-booking-incomplete-actions{display:grid;gap:9px}.tw-booking-incomplete-return,.tw-booking-incomplete-close{width:100%;min-height:48px;border-radius:999px;font-family:"Cairo","Tajawal",sans-serif;font-size:.9rem;font-weight:900;cursor:pointer}.tw-booking-incomplete-return{border:1px solid rgba(59,130,246,.56);background:linear-gradient(135deg,#0b1f45,#123a7a);color:#fff;box-shadow:0 9px 22px rgba(0,0,0,.28)}.tw-booking-incomplete-close{border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.04);color:#cbd5e1}.tw-booking-incomplete-return:active,.tw-booking-incomplete-close:active{transform:scale(.99)}

/* ===== tw-family-details-ios-stability-v1 ===== */
html.tw-details-hard-lock,
html.tw-details-hard-lock body{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}body.tw-details-hard-lock{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  margin:0 !important;
}@media (max-width:899px){
  #backdrop.backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:210000 !important;
    background:rgba(2,6,23,.88) !important;
    
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }

  #detailsPanel.details-panel{
    position:fixed !important;
    top:var(--tw-vv-top,0px) !important;
    right:0 !important;
    bottom:auto !important;
    left:0 !important;
    width:100% !important;
    height:var(--tw-vv-height,100dvh) !important;
    max-height:var(--tw-vv-height,100dvh) !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 0 calc(64px + env(safe-area-inset-bottom,0px)) !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;
    touch-action:pan-y !important;
    z-index:210001 !important;
    isolation:isolate !important;
    background:#050c1e !important;
    border-radius:0 !important;
    transform:translate3d(0,calc(100% + 48px),0) !important;
    visibility:hidden !important;
    pointer-events:none !important;
    opacity:1 !important;
    will-change:transform !important;
  }

  #detailsPanel.details-panel.open{
    transform:translate3d(0,0,0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  #detailsPanel.details-panel:not(.open){
    transform:translate3d(0,calc(100% + 48px),0) !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

/* ===== tw-family-booking-layer-fix-v1 ===== */
#twBookingBackdrop.tw-booking-backdrop{z-index:310000!important;}#twBookingSheet.tw-booking-sheet{z-index:310001!important;}#twConfirmBackdrop.tw-confirm-backdrop{z-index:320000!important;}

/* ===== tw-family-v3-dynamic-css ===== */
.tw-family-v3-stay{display:none;margin:8px 12px 12px;padding:12px;border:1px solid rgba(59,130,246,.28);border-radius:16px;background:rgba(11,18,32,.72);text-align:center}.tw-family-v3-stay-label{font-size:.82rem;font-weight:900;color:#cbd5e1;margin-bottom:8px}.tw-family-v3-stepper{display:grid;grid-template-columns:52px 1fr 52px;gap:10px;align-items:center}.tw-family-v3-step{height:48px;border-radius:14px;border:1px solid rgba(59,130,246,.36);background:#0b1220;color:#fff;font-size:1.45rem;font-weight:900;cursor:pointer}.tw-family-v3-step:disabled{opacity:.28;cursor:not-allowed}.tw-family-v3-stay-value{display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;min-height:48px;border-radius:14px;background:rgba(2,6,23,.55)}.tw-family-v3-stay-value strong{color:#fff;font-size:1.08rem}.tw-family-v3-stay-value span{color:#94a3b8;font-size:.76rem;font-weight:800}.tw-family-v3-apply{width:100%;margin-top:10px;min-height:46px;border:0;border-radius:14px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-family:"Cairo",sans-serif;font-weight:900;font-size:.92rem;cursor:pointer}.tw-family-v3-apply:disabled{opacity:.35;cursor:not-allowed}.tw-family-v3-header-duration{display:block;margin-top:3px;color:#facc15;font-size:.78rem;font-weight:900}body.tw-family-v3-active .card-duration{display:block!important}body.tw-family-v3-active .card-duration-extra{display:none!important}body.tw-family-v3-active .price-line.is-unavailable{font-size:.88rem!important;line-height:1.5!important}#detailsPanel .tw-family-v3-price-item{font-weight:900;color:#facc15}#detailsPanel .tw-family-v3-next-night{color:#fde68a}@media(max-width:520px){.tw-family-v3-stay{margin-inline:10px}.tw-family-v3-stepper{grid-template-columns:48px 1fr 48px}.tw-family-v3-step{height:46px}}

/* ===== tw-family-v3-final-touches-css ===== */
.tw-datehead{position:relative!important;}.tw-datehead .title{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;width:calc(100% - 132px)!important;text-align:center!important;pointer-events:none!important;}#twFamilyV3Stay.tw-family-v3-stay{margin:0!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;text-align:center!important;}.tw-family-v3-datecards{display:grid;grid-template-columns:1fr 36px 1fr;align-items:center;gap:9px;margin:10px 12px 12px;}.tw-family-v3-datecard{min-width:0;padding:13px 9px;border:1px solid rgba(59,130,246,.36);border-radius:16px;background:rgba(11,18,32,.78);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);text-align:center;}.tw-family-v3-datecard-label{font-size:.72rem;font-weight:900;line-height:1.35;color:#60a5fa;margin-bottom:6px;white-space:nowrap;}.tw-family-v3-datecard-value{direction:ltr;unicode-bidi:embed;font-size:.92rem;font-weight:900;line-height:1.35;color:#f8fafc;white-space:nowrap;}.tw-family-v3-datearrow{display:flex;align-items:center;justify-content:center;color:#60a5fa;font-size:1.45rem;font-weight:900;line-height:1;}.tw-family-v3-staybox{margin:0 12px 12px;padding:12px;border:1px solid rgba(59,130,246,.34);border-radius:16px;background:rgba(11,18,32,.72);text-align:center;}.tw-confirm-box{position:relative!important;padding-top:26px!important;}.tw-confirm-x{position:absolute;left:13px;top:13px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;font:500 25px/1 Arial,sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;}.tw-confirm-x:active{transform:scale(.96);}.tw-confirm-title{padding-inline:38px;}@media(max-width:520px){
  .tw-datehead .title{width:calc(100% - 112px)!important;}
  .tw-family-v3-datecards{grid-template-columns:1fr 28px 1fr;gap:6px;margin-inline:10px;}
  .tw-family-v3-datecard{padding:11px 6px;}
  .tw-family-v3-datecard-label{font-size:.63rem;}
  .tw-family-v3-datecard-value{font-size:.82rem;}
  .tw-family-v3-staybox{margin-inline:10px;}
}

/* ===== TW Family V3 Polish 2026-08-26: stay modal + booking spacing + extra-night hint ===== */
.tw-datebackdrop{
  background:rgba(2,6,23,.78)!important;
  backdrop-filter:blur(13px)!important;
  -webkit-backdrop-filter:blur(13px)!important;
}
#twFamilyV3Stay .tw-family-v3-datecards{
  margin-top:14px!important;
  margin-bottom:16px!important;
}
#twFamilyV3Stay .tw-family-v3-datecard{
  padding-top:16px!important;
  padding-bottom:16px!important;
}
#twFamilyV3Stay .tw-family-v3-staybox{
  padding:16px 14px 17px!important;
  margin-bottom:16px!important;
}
#twFamilyV3Stay .tw-family-v3-stay-label{
  font-size:.95rem!important;
  margin-bottom:12px!important;
}
#twFamilyV3Stay .tw-family-v3-stepper{
  grid-template-columns:64px 1fr 64px!important;
  gap:12px!important;
}
#twFamilyV3Stay .tw-family-v3-step{
  height:62px!important;
  border-radius:16px!important;
  font-size:1.75rem!important;
}
#twFamilyV3Stay .tw-family-v3-stay-value{
  min-height:62px!important;
  border-radius:16px!important;
  gap:3px!important;
}
#twFamilyV3Stay .tw-family-v3-stay-value strong{
  font-size:1.28rem!important;
}
#twFamilyV3Stay .tw-family-v3-stay-value span{
  font-size:.90rem!important;
}
#twFamilyV3Stay .tw-family-v3-apply{
  margin-top:14px!important;
  min-height:60px!important;
  border-radius:16px!important;
  font-size:1.05rem!important;
}
#detailsPanel .tw-family-v3-extra-hint{
  color:#b8c0cc!important;
  font-weight:600!important;
  font-size:.92em!important;
  white-space:normal!important;
}
@media(max-width:520px){
  #twFamilyV3Stay .tw-family-v3-stepper{
    grid-template-columns:60px 1fr 60px!important;
  }
  #twFamilyV3Stay .tw-family-v3-step{
    height:60px!important;
  }
  #twFamilyV3Stay .tw-family-v3-stay-value{
    min-height:60px!important;
  }

  #twBookingSheet.tw-booking-sheet{
    align-items:stretch!important;
  }
  #twBookingSheet .tw-booking-card{
    min-height:calc(100dvh - 16px - env(safe-area-inset-bottom, 0px))!important;
  }
  #twBookingSheet .tw-booking-body{
    padding-top:18px!important;
    padding-bottom:24px!important;
  }
  #twBookingSheet .tw-date-row{
    margin-bottom:16px!important;
  }
  #twBookingSheet .tw-traveler-row{
    margin-bottom:16px!important;
  }
  #twBookingSheet .tw-field{
    padding:12px!important;
  }
  #twBookingSheet .tw-label{
    margin-bottom:9px!important;
  }
  #twBookingSheet .tw-nights{
    margin-top:16px!important;
    margin-bottom:8px!important;
    line-height:1.55!important;
  }
  #twBookingSheet #twBookingTotalWrap{
    margin-top:18px!important;
    padding:16px 12px!important;
  }
  #twBookingSheet .tw-booking-foot{
    margin-top:auto!important;
    padding-top:14px!important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom, 0px))!important;
  }
}



/* Final mobile spacing polish: keep the title clearly below the close button and give the flight CTA more breathing room. */
.tw-flight-step-head{padding-top:72px!important;margin-bottom:32px!important;}
.tw-flight-step-close{top:20px!important;}
.tw-family-flight-search{margin-top:8px!important;}
@media(max-width:520px){
  .tw-flight-step-head{padding-top:72px!important;margin-bottom:30px!important;}
  .tw-flight-step-close{top:16px!important;}
  .tw-family-flight-search{margin-top:10px!important;}
}


/* Final booking confirmation: roomier modal + Maldives-style 3-step handoff */
#twConfirmBackdrop .tw-confirm-box{
  width:min(94vw,430px)!important;
  padding:30px 22px 22px!important;
  border-radius:26px!important;
}
#twConfirmBackdrop .tw-confirm-title{
  font-size:1.28rem!important;
  margin-bottom:12px!important;
}
#twConfirmBackdrop .tw-confirm-sub{
  font-size:.96rem!important;
  line-height:1.75!important;
  margin-bottom:18px!important;
}
#twConfirmBackdrop .tw-confirm-id{
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:18px!important;
  padding:12px 14px!important;
  margin-bottom:18px!important;
}
#twConfirmBackdrop .tw-confirm-send{
  min-height:82px!important;
  padding:18px 18px!important;
  border-radius:18px!important;
  font-size:1.08rem!important;
  line-height:1.35!important;
  box-shadow:0 18px 34px rgba(22,163,74,.30)!important;
}
.tw-family-confirm-progress{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  direction:ltr;
  margin:4px auto 18px;
  box-sizing:border-box;
}
.tw-family-confirm-step{
  flex:0 0 86px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:7px;
}
.tw-family-confirm-dot{
  width:29px;
  height:29px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:900;
  line-height:1;
}
.tw-family-confirm-label{
  font-size:.72rem;
  line-height:1.35;
  font-weight:800;
  color:#d8e3ea;
  white-space:nowrap;
}
.tw-family-confirm-line{
  flex:1 1 34px;
  min-width:20px;
  max-width:58px;
  height:2.5px;
  margin-top:14px;
  border-radius:999px;
  background:rgba(148,163,184,.28);
}
.tw-family-confirm-step.is-done .tw-family-confirm-dot{
  background:#2dd4bf;
  border:1px solid #5eead4;
  color:#031a1a;
  box-shadow:0 0 14px rgba(45,212,191,.28);
}
.tw-family-confirm-line.is-done{
  background:#2dd4bf;
  box-shadow:0 0 9px rgba(45,212,191,.24);
}
.tw-family-confirm-step.is-pending .tw-family-confirm-dot{
  background:rgba(15,23,42,.72);
  border:1.5px solid rgba(45,212,191,.65);
  color:#2dd4bf;
}
.tw-family-confirm-step.is-completing .tw-family-confirm-dot{
  animation:twFamilyBookingCheckPop .55s cubic-bezier(.2,.9,.25,1.25);
}
.tw-family-confirm-line.tw-line-enter{
  animation:twFamilyBookingLineEnter .42s ease both;
}
@keyframes twFamilyBookingCheckPop{
  0%{transform:scale(.72);box-shadow:0 0 0 rgba(45,212,191,0)}
  55%{transform:scale(1.18);box-shadow:0 0 22px rgba(45,212,191,.52)}
  100%{transform:scale(1);box-shadow:0 0 14px rgba(45,212,191,.28)}
}
@keyframes twFamilyBookingLineEnter{
  0%{opacity:.2;transform:scaleX(.15)}
  100%{opacity:1;transform:scaleX(1)}
}
@media(max-width:520px){
  #twConfirmBackdrop{padding:12px!important;}
  #twConfirmBackdrop .tw-confirm-box{width:calc(100% - 8px)!important;padding:28px 16px 18px!important;border-radius:24px!important;}
  #twConfirmBackdrop .tw-confirm-title{font-size:1.22rem!important;}
  #twConfirmBackdrop .tw-confirm-sub{font-size:.91rem!important;}
  #twConfirmBackdrop .tw-confirm-send{min-height:86px!important;border-radius:18px!important;font-size:1.06rem!important;}
  .tw-family-confirm-progress{max-width:360px;margin:4px auto 17px;gap:2px;}
  .tw-family-confirm-step{flex:0 1 78px;min-width:0;gap:6px;}
  .tw-family-confirm-dot{width:28px;height:28px;font-size:12px;}
  .tw-family-confirm-label{font-size:.67rem;}
  .tw-family-confirm-line{min-width:14px;max-width:42px;margin-top:13px;}
}


/* V4 booking details alignment with Maldives: dates -> nights -> pax -> optional traveler -> extra requests */
#twBookingSheet .tw-nights{
  margin:10px 0 12px!important;padding:9px 12px!important;border-radius:12px!important;
  border:1px solid rgba(59,130,246,.18)!important;background:rgba(11,18,32,.54)!important;
  color:#fde68a!important;font-size:.88rem!important;font-weight:900!important;text-align:center!important;
}
#twBookingSheet .tw-traveler-row{margin-top:0!important;}
.tw-family-contact{margin:12px 0 8px;padding:12px;border:1px solid rgba(96,165,250,.16);border-radius:14px;background:rgba(11,18,32,.42);}
.tw-family-contact-title{margin:0 0 9px;color:#f8fafc;font-size:.9rem;font-weight:900;text-align:left;}
.tw-family-contact-title span{color:#94a3b8;font-size:.78rem;font-weight:700;margin-right:5px;}
.tw-family-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.tw-family-name-grid input{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.30);background:#020617;color:#fff;font-family:"Cairo","Tajawal",sans-serif;font-size:16px;outline:none;}
.tw-family-name-grid input:focus{border-color:rgba(212,175,55,.60);box-shadow:0 0 0 2px rgba(212,175,55,.10);}
.tw-family-name-grid input::placeholder{color:rgba(203,213,225,.70);}
.tw-family-extra{margin:8px 0 12px;}
.tw-family-extra-toggle{width:100%;box-sizing:border-box;min-height:48px;padding:11px 13px;border-radius:14px;border:1px solid rgba(212,175,55,.34);background:rgba(11,18,32,.70);color:#f8fafc;font-family:"Cairo","Tajawal",sans-serif;font-size:.9rem;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;}
.tw-family-extra-toggle em{font-style:normal;color:#94a3b8;font-size:.78rem;font-weight:700;}
.tw-family-extra-toggle b{font-size:1.25rem;line-height:1;transition:transform .18s ease;}
.tw-family-extra-toggle[aria-expanded="true"] b{transform:rotate(45deg);}
.tw-family-extra-panel{display:none;margin-top:8px;padding:0 12px 10px;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:#07090d;}
.tw-family-extra-panel.is-open{display:block;}
.tw-family-extra-option{padding:10px 0;border-top:1px solid rgba(255,255,255,.07);}
.tw-family-extra-option:first-child{border-top:0;}
.tw-family-extra-option label{display:flex;align-items:center;gap:9px;color:#f8fafc;font-size:.86rem;font-weight:700;cursor:pointer;}
.tw-family-extra-option input[type="checkbox"]{width:18px;height:18px;accent-color:#d4af37;flex:0 0 auto;}
.tw-family-extra-detail{display:none;margin-top:9px;}
.tw-family-extra-detail.is-open{display:block;}
.tw-family-extra-detail textarea{width:100%;box-sizing:border-box;min-height:72px;padding:10px 11px;border-radius:12px;border:1px solid rgba(203,213,225,.32);background:#020617;color:#fff;font-family:"Cairo","Tajawal",sans-serif;font-size:16px;line-height:1.55;resize:vertical;outline:none;}
.tw-family-extra-detail textarea:focus{border-color:rgba(212,175,55,.65);}
@media(max-width:520px){
  .tw-family-contact{padding:10px!important;}
  .tw-family-name-grid{grid-template-columns:1fr 1fr;gap:7px;}
  .tw-family-name-grid input{padding:9px 9px;min-height:42px;}
  .tw-family-extra-toggle{min-height:46px;padding:10px 11px;font-size:.84rem;}
}


/* ===== TRAVEL WORLD® FAMILY V4 — DESTINATION TITLE REFRESH ===== */
.tw-hero-page-title{
  top:-14px !important;
  width:fit-content !important;
  max-width:min(94vw,760px) !important;
  margin:4px auto 0 !important;
  padding:10px 18px 11px !important;
  border-radius:16px !important;
  background:rgba(2,6,23,.26) !important;
  backdrop-filter:blur(3px) !important;
  -webkit-backdrop-filter:blur(3px) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.20) !important;
  text-shadow:0 4px 14px rgba(0,0,0,.78) !important;
}
.tw-family-title-row{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:11px !important;
  white-space:nowrap !important;
  direction:ltr !important;
  line-height:1.15 !important;
}
.tw-family-title-ar{
  color:#fff !important;
  font-family:"Cairo","Tajawal",sans-serif !important;
  font-size:1.56rem !important;
  font-weight:900 !important;
}
.tw-family-title-sep{
  color:#d4af37 !important;
  font-size:1.22rem !important;
  font-weight:800 !important;
}
.tw-family-title-en{
  color:#e7c86a !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:1.42rem !important;
  font-weight:700 !important;
  letter-spacing:.2px !important;
  direction:ltr !important;
}
.tw-family-title-sub{
  margin-top:7px !important;
  color:rgba(255,255,255,.96) !important;
  font-size:.84rem !important;
  font-weight:750 !important;
  line-height:1.45 !important;
  text-align:center !important;
  text-shadow:0 3px 12px rgba(0,0,0,.88) !important;
}
@media(max-width:520px){
  .tw-hero-page-title{max-width:94vw !important;padding:9px 11px 10px !important;top:-12px !important;}
  .tw-family-title-row{gap:7px !important;}
  .tw-family-title-ar{font-size:1.18rem !important;}
  .tw-family-title-sep{font-size:1rem !important;}
  .tw-family-title-en{font-size:1.08rem !important;}
  .tw-family-title-sub{font-size:.70rem !important;margin-top:6px !important;white-space:nowrap !important;}
}


/* Family header: reduce logo/title footprint by ~30% to preserve hero photography */
.hero .header-logo img,
.header-logo img{
  width:104px !important;
  max-width:28vw !important;
}
.tw-hero-page-title{
  padding:7px 13px 8px !important;
  border-radius:13px !important;
}
.tw-family-title-row{gap:8px !important;}
.tw-family-title-ar{font-size:1.09rem !important;}
.tw-family-title-sep{font-size:.86rem !important;}
.tw-family-title-en{font-size:.99rem !important;}
.tw-family-title-sub{
  font-size:.72rem !important;
  margin-top:5px !important;
}
@media(max-width:520px){
  .hero .header-logo img,
  .header-logo img{width:104px !important;max-width:30vw !important;}
  .tw-hero-page-title{padding:6px 9px 7px !important;}
  .tw-family-title-row{gap:5px !important;}
  .tw-family-title-ar{font-size:.92rem !important;}
  .tw-family-title-sep{font-size:.76rem !important;}
  .tw-family-title-en{font-size:.86rem !important;}
  .tw-family-title-sub{font-size:.62rem !important;margin-top:4px !important;}
}


@media (max-width:520px){
  #twTravelDatePanel.tw-family-v3-stay-mode{width:calc(100vw - 8px)!important;max-height:96dvh!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode .tw-datehead{min-height:96px!important;padding:18px 60px 17px!important;box-sizing:border-box!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode .tw-datehead .title{width:calc(100% - 120px)!important;font-size:27px!important;line-height:1.28!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode .tw-family-v3-minnote{font-size:14px!important;line-height:1.5!important;padding:12px 14px 4px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datecards{grid-template-columns:1fr 40px 1fr!important;gap:10px!important;margin:8px 12px 24px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datecard{padding:21px 10px!important;border-radius:20px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datecard-label{font-size:14px!important;margin-bottom:9px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datecard-value{font-size:19px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datearrow{font-size:2rem!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-staybox{padding:26px 18px 24px!important;margin:0 12px 18px!important;border-radius:24px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stay-label{font-size:18px!important;margin-bottom:11px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stepper{grid-template-columns:60px minmax(145px,1fr) 60px!important;gap:14px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-step{width:60px!important;height:60px!important;border-radius:19px!important;font-size:35px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stay-value{min-height:60px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stay-value strong{font-size:35px!important;line-height:1.15!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stay-value span{display:block!important;margin-top:7px!important;font-size:21px!important;line-height:1.2!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-apply{margin-top:24px!important;min-height:108px!important;border-radius:23px!important;font-size:24px!important;line-height:1.25!important;padding:14px 18px!important;}
}
.tw-contact-sheet{background:#07131d!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;}
.tw-contact-pill,.tw-contact-pill.tw-visible{opacity:1!important;visibility:visible!important;transform:none!important;transition:none!important;}
/* Header language/currency remain normal page controls, never above modal layers. */
.tw-lang-switch,.currency-select-wrap{z-index:120000!important;}
/* Final Maldives-style CTA has a main line + explanatory subline. */
#twConfirmSendWhatsApp{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-height:76px!important;border-radius:16px!important;}
#twConfirmSendWhatsApp .tw-booking-confirm-send-main{display:block;font-size:1.06rem;font-weight:900;line-height:1.25;}
#twConfirmSendWhatsApp .tw-booking-confirm-send-sub{display:block;font-size:.76rem;font-weight:700;line-height:1.35;opacity:.88;}
#twFamilyBookingV3Error{display:none;margin:10px 2px 0;padding:10px 12px;border-radius:12px;border:1px solid rgba(248,113,113,.28);background:rgba(239,68,68,.08);color:#fecaca;font-size:.78rem;font-weight:800;line-height:1.6;text-align:center;}
#twFamilyBookingV3Error.show{display:block;}
/* Lifecycle blocker/cancel/My Bookings must sit above the family flight modal and every booking modal. */
.tw-mybookings-overlay{z-index:2147483643!important;}
#twBookingLifecycleToast{z-index:2147483645!important;}
.tw-active-booking-block-overlay,.tw-cancel-booking-confirm-overlay{z-index:2147483646!important;}


@media (min-width:521px){
  #twTravelDatePanel.tw-family-v3-stay-mode{width:min(560px,calc(100vw - 20px))!important;max-height:min(800px,90dvh)!important;overflow:hidden!important;border-radius:26px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode .tw-datehead{min-height:78px!important;padding:14px 68px 13px!important;box-sizing:border-box!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode .tw-datehead .title{width:calc(100% - 136px)!important;font-size:24px!important;line-height:1.3!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode .tw-family-v3-minnote{font-size:13.5px!important;line-height:1.55!important;padding:12px 18px 4px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datecards{grid-template-columns:1fr 42px 1fr!important;gap:12px!important;margin:8px 18px 20px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datecard{padding:15px 12px!important;border-radius:18px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datecard-label{font-size:12.5px!important;margin-bottom:7px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datecard-value{font-size:17px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-datearrow{font-size:1.75rem!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-staybox{margin:0 18px 18px!important;padding:20px 16px 18px!important;border-radius:22px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stay-label{font-size:15px!important;margin-bottom:10px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stepper{grid-template-columns:62px minmax(150px,1fr) 62px!important;gap:18px!important;max-width:420px!important;margin:0 auto!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-step{width:62px!important;height:62px!important;border-radius:18px!important;font-size:32px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stay-value{min-height:62px!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stay-value strong{font-size:36px!important;line-height:1.15!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-stay-value span{display:block!important;margin-top:6px!important;font-size:20px!important;line-height:1.2!important;}
  #twTravelDatePanel.tw-family-v3-stay-mode #twFamilyV3Stay .tw-family-v3-apply{margin-top:18px!important;min-height:92px!important;border-radius:21px!important;font-size:22px!important;line-height:1.2!important;padding:14px 18px!important;}
}
.tw-mybookings-tools{display:flex;justify-content:flex-start;min-height:0;margin:-3px 0 10px;}
.tw-mybookings-clear-inactive{display:none;appearance:none;border:1px solid rgba(125,211,199,.34);background:rgba(125,211,199,.08);color:#b9eee7;border-radius:10px;padding:7px 12px;font:850 11px/1.2 "Cairo","Tajawal",sans-serif;cursor:pointer;}
.tw-mybookings-clear-inactive.show{display:inline-flex;align-items:center;justify-content:center;}
.tw-mybookings-clear-inactive:active{transform:scale(.98)}
.tw-action-bookings{border-color:rgba(125,211,199,.34)!important;background:rgba(125,211,199,.09)!important;}
.tw-mybookings-sheet{border-color:rgba(125,211,199,.30)!important;}
.tw-mybookings-tab.active{border-color:rgba(125,211,199,.42)!important;background:rgba(125,211,199,.10)!important;}
.tw-mybookings-tab-count,.tw-mybooking-id,.tw-mybooking-status.is-action{color:#7dd3c7!important;}
.tw-active-booking-block-sheet{border-color:rgba(125,211,199,.34)!important;}
.tw-active-booking-block-sheet:before{background:linear-gradient(90deg,rgba(125,211,199,.20),#7dd3c7,rgba(125,211,199,.20))!important;}
.tw-active-booking-block-id{border-color:rgba(125,211,199,.30)!important;background:rgba(125,211,199,.075)!important;color:#dffaf7!important;}
.tw-active-booking-block-primary{border-color:rgba(125,211,199,.52)!important;background:linear-gradient(135deg,#7dd3c7,#57b9ae)!important;color:#031018!important;}
#twConfirmBackdrop .tw-confirm-box{border-color:rgba(125,211,199,.42)!important;box-shadow:0 28px 78px rgba(0,0,0,.62),inset 0 0 0 1px rgba(255,255,255,.028),0 0 30px rgba(125,211,199,.075)!important;}
#twConfirmBackdrop .tw-confirm-id{color:#f8fafc!important;background:rgba(125,211,199,.07)!important;border-color:rgba(125,211,199,.38)!important;text-shadow:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 18px rgba(125,211,199,.055)!important;}
#twConfirmBackdrop .tw-confirm-send{background:linear-gradient(135deg,#7dd3c7,#57b9ae)!important;border-color:rgba(172,243,232,.48)!important;color:#031018!important;box-shadow:0 16px 34px rgba(56,178,164,.20),inset 0 1px 0 rgba(255,255,255,.16)!important;}
.tw-family-confirm-step.is-done .tw-family-confirm-dot{background:#7dd3c7!important;border-color:#b5eee7!important;color:#031018!important;box-shadow:0 0 13px rgba(125,211,199,.24)!important;}
.tw-family-confirm-line.is-done{background:linear-gradient(90deg,#7dd3c7,#a7e7df)!important;box-shadow:0 0 8px rgba(125,211,199,.18)!important;}
.tw-family-confirm-step.is-pending .tw-family-confirm-dot{background:rgba(125,211,199,.07)!important;border-color:rgba(167,231,223,.72)!important;color:#9de1d8!important;}


/* Reference layout, retaining the family page's existing palette. */
#twFamilyUnifiedFilters{box-sizing:border-box;border-radius:22px!important;padding:10px!important;border:1px solid var(--tw-family-border-soft);}
#twFamilyUnifiedFilters .tw-family-unified-inner{display:flex;flex-direction:column;gap:8px;padding:0!important;}
#twFamilyUnifiedFilters #filterBar{order:0;gap:0!important;border:1px solid var(--tw-family-border);border-radius:15px;overflow:hidden;align-items:stretch;}
#twFamilyUnifiedFilters #filterBar .filter-btn{border:0!important;border-radius:0!important;margin:0!important;box-shadow:none!important;min-height:52px!important;padding:8px 5px!important;line-height:1.4;}
#twFamilyUnifiedFilters #filterBar .filter-btn + .filter-btn{border-inline-start:1px solid var(--tw-family-border)!important;}
#twFamilyUnifiedFilters #searchRow{order:1;width:86%!important;margin:0 auto!important;}
#twFamilyUnifiedFilters #searchRow .customlist-btn{height:34px!important;min-height:34px!important;border-radius:999px!important;padding:4px 10px!important;box-shadow:none!important;color:#94a3b8!important;font-size:clamp(.66rem,2.9vw,.85rem)!important;}
#twFamilyUnifiedFilters #hotelPickerBtnText{gap:7px;min-width:0;}
#twFamilyUnifiedFilters #hotelPickerBtnText .main{color:inherit!important;font-weight:600!important;}
#twFamilyUnifiedFilters #hotelPickerBtnText .opt{font-weight:400!important;flex-shrink:0;}
#twFamilyUnifiedFilters .customlist-caret{display:none;}
#twFamilyUnifiedFilters #filtersGrid{order:2;margin:0!important;gap:6px!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
#twFamilyUnifiedFilters #sortRow{grid-column:1;grid-row:1;}
#twFamilyUnifiedFilters #transferRow{grid-column:2;grid-row:1;}
#twFamilyUnifiedFilters #transferDisplay,#twFamilyUnifiedFilters #sortDisplay{height:44px!important;min-height:44px!important;border-radius:14px!important;flex-direction:row!important;gap:8px!important;padding:6px 9px 6px 23px!important;white-space:nowrap!important;font-size:clamp(.7rem,3vw,.85rem)!important;box-shadow:none!important;}
#twFamilyUnifiedFilters .select-display .opt{font-weight:400!important;flex-shrink:0;font-size:.8em!important;}
#twFamilyUnifiedFilters .transfer-select,#twFamilyUnifiedFilters .sort-select{height:100%!important;}
#twFamilyUnifiedFilters .transfer-select-wrap::before,#twFamilyUnifiedFilters .sort-select-wrap::before{left:10px!important;font-size:10px!important;}
#twFamilyUnifiedFilters button:focus-visible{outline:2px solid #fb923c!important;outline-offset:-3px;}
@media(max-width:360px){#twFamilyUnifiedFilters{width:calc(100% - 8px)!important;padding:8px!important;}#twFamilyUnifiedFilters #searchRow{width:94%!important;}#twFamilyUnifiedFilters #transferDisplay,#twFamilyUnifiedFilters #sortDisplay{gap:5px!important;}}


#familyLanguage{z-index:30!important;}
#familyLanguageBtn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:none;box-shadow:none;color:#eaf2ff;cursor:pointer;}
#familyLanguageMenu{position:absolute;right:0;top:46px;min-width:105px;padding:5px;border:1px solid var(--tw-family-border-soft);border-radius:12px;background:#0b1220;box-shadow:0 8px 24px #0006;}
#familyLanguageMenu[hidden]{display:none!important;}
#familyLanguageMenu a,#familyLanguageMenu button{display:block!important;box-sizing:border-box;width:100%;padding:8px 12px!important;border:0!important;border-radius:7px!important;background:none!important;box-shadow:none!important;color:#eaf2ff!important;font:inherit!important;font-size:13px!important;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;}
#familyLanguageMenu [aria-current]{background:rgba(249,115,22,.16)!important;color:#fb923c!important;}
#familyLanguage button:focus-visible,#familyLanguage a:focus-visible{outline:2px solid #fb923c;outline-offset:2px;}


html body .hero{overflow:visible!important;isolation:isolate;border:0!important;border-radius:16px 16px 0 0!important;box-shadow:none!important;background:transparent!important;padding-bottom:14px!important;}
html body .hero::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-1!important;opacity:1!important;border-radius:16px 16px 0 0!important;transform:none!important;filter:none!important;pointer-events:none!important;background:linear-gradient(180deg,rgba(2,6,23,.30) 0%,rgba(2,6,23,.35) 30%,rgba(2,6,23,.48) 48%,rgba(2,6,23,.64) 63%,rgba(2,6,23,.79) 76%,rgba(2,6,23,.90) 88%,rgba(2,6,23,.97) 96%,#020617 100%),radial-gradient(62% 72% at 50% 56%,rgba(249,115,22,.045),transparent 68%),url(../family-header.webp) center 72%/cover no-repeat!important;}
html body .hero::after{display:none!important;}
html body .hero #travelDateBar{position:relative!important;width:100%!important;max-width:100%!important;margin:28px auto 0!important;padding:0!important;}
html body .hero #travelDateBar .travel-date-box{width:100%!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;}
html body .hero #travelDateFilter{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;max-width:100%!important;min-height:0!important;padding:0 8px!important;margin:0 auto!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;color:#fb923c!important;}
html body .hero #travelDateFilter::before{content:"";box-sizing:border-box;display:block!important;width:64px;height:64px;flex:0 0 64px;border-radius:18px;border:1.4px solid rgba(249,115,22,.64);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23fb923c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='15' rx='2.2'/%3E%3Cpath d='M8 3.5v4M16 3.5v4M4 9.5h16'/%3E%3C/g%3E%3C/svg%3E") center/46.2px 46.2px no-repeat,radial-gradient(110% 125% at 50% 0%,rgba(255,220,190,.20),transparent 48%),linear-gradient(180deg,rgba(249,115,22,.24),rgba(249,115,22,.10) 54%,rgba(12,18,34,.44));box-shadow:0 12px 28px #0005,inset 0 0 0 1px #ffffff08,0 0 18px #f973161a;}
html body .hero #travelDateFilter:hover::before{border-color:#fb923c;box-shadow:0 14px 30px #0006,0 0 24px #f9731633;}
html body .hero #travelDateFilter .tw-family-calendar-row,html body .hero #travelDateFilter .tw-family-date-arrow,html body .hero #travelDateFilter .tw-family-selected-date-label{display:none!important;}
html body .hero #travelDateFilter .tw-family-date-text{display:block!important;padding:0!important;margin:0!important;}
html body .hero #travelDateFilter .tw-family-date-main-row{justify-content:center!important;gap:0!important;}
html body .hero #travelDateFilter .tw-family-date-main{font-size:20px!important;font-weight:800!important;line-height:1.5!important;margin:0!important;color:#f1f5f9!important;}
html body .hero #travelDateFilter .tw-family-date-sub{display:block!important;font-size:11px!important;line-height:1.5!important;color:#94a3b8!important;margin:3px 0 0!important;}
html body .hero #travelDateFilter .tw-family-selected-date{display:flex!important;flex-direction:column!important;align-items:center!important;gap:5px!important;margin:0!important;padding:0!important;}
html body .hero #travelDateFilter .tw-family-selected-date-value{font-size:clamp(14px,4vw,20px)!important;line-height:1.5!important;white-space:nowrap!important;margin:0!important;padding:0!important;color:#f1f5f9!important;opacity:1!important;}
html body .hero #travelDateFilter .tw-family-v3-header-duration{font-size:14px!important;line-height:1.5!important;margin:0!important;padding:0!important;color:#fb923c!important;}
@media(max-width:520px){html body .hero{border-radius:13px 13px 0 0!important;}html body .hero #travelDateBar{margin-top:24px!important;}html body .hero #travelDateFilter::before{width:58px;height:58px;flex-basis:58px;border-radius:16px;background-size:41.8px 41.8px,auto,auto;}html body .hero #travelDateFilter .tw-family-date-main{font-size:18px!important;}}


#twContactPill button{position:relative}
#twContactBookingBadge{position:absolute;top:-7px;right:-7px;z-index:3;display:none;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #07111f;font:950 10px/1 Arial,sans-serif;box-sizing:border-box;box-shadow:0 5px 16px rgba(0,0,0,.34)}
#twContactBookingBadge.show{display:grid}#twContactBookingBadge.tw-pulse{animation:twFamilyBookingBadgePulse .9s ease}@keyframes twFamilyBookingBadgePulse{0%,100%{transform:scale(1)}45%{transform:scale(1.28);box-shadow:0 0 0 8px rgba(239,68,68,.18)}}
.tw-action-bookings{display:none;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;padding:12px;border-radius:12px;border:1px solid rgba(212,175,55,.38);background:rgba(212,175,55,.10);color:#fff;font-family:"Cairo","Tajawal",sans-serif;font-weight:850;font-size:12px;cursor:pointer}.tw-action-bookings.show{display:flex}
.tw-contact-booking-count{display:none;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font:950 10px/1 Arial,sans-serif}.tw-contact-booking-count.show{display:grid}
.tw-mybookings-overlay{display:none;position:fixed;inset:0;z-index:2147483643;background:rgba(0,0,0,.72);padding:18px;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tw-mybookings-overlay.open{display:flex}
.tw-mybookings-sheet{width:min(520px,100%);max-height:min(720px,88dvh);overflow:auto;background:#08111f;border:1px solid rgba(212,175,55,.32);border-radius:20px;padding:16px;box-sizing:border-box;box-shadow:0 28px 80px rgba(0,0,0,.6);text-align:left;font-family:"Cairo","Tajawal",sans-serif}
.tw-mybookings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.tw-mybookings-head strong{font-size:17px;color:#fff}.tw-mybookings-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-size:21px;cursor:pointer}
.tw-mybookings-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 13px}.tw-mybookings-tab{min-height:40px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.045);color:#aeb9c9;font-family:"Cairo","Tajawal",sans-serif;font-size:11px;font-weight:850;cursor:pointer}.tw-mybookings-tab.active{border-color:rgba(212,175,55,.42);background:rgba(212,175,55,.10);color:#fff}.tw-mybookings-tab-count{display:inline-block;margin-inline-start:5px;color:#f5d66d;font-family:Arial,sans-serif}
.tw-mybookings-note{margin:0 0 12px;color:#aab6c8;font-size:11.5px;line-height:1.7}.tw-mybookings-list{display:grid;gap:9px}.tw-mybooking-item{display:block;text-decoration:none;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.045);padding:12px 13px;color:#fff}.tw-mybooking-item.is-inactive{opacity:.68}.tw-mybooking-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tw-mybooking-id{direction:ltr;unicode-bidi:isolate;color:#f5d66d;font-size:13px;font-weight:950}.tw-mybooking-hotel{margin-top:7px;font-size:12.5px;font-weight:850;color:#fff}.tw-mybooking-meta{margin-top:4px;font-size:10.5px;color:#95a4ba;direction:ltr;text-align:left;unicode-bidi:plaintext}.tw-mybooking-status{margin-top:7px;font-size:10.5px;font-weight:850;line-height:1.5}.tw-mybooking-status.is-active{color:#93f5c8}.tw-mybooking-status.is-action{color:#f5d66d}.tw-mybooking-status.is-inactive{color:#c1cad7}
.tw-mybooking-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch;margin-top:10px}.tw-mybooking-open,.tw-mybooking-retry,.tw-mybooking-cancel{appearance:none;display:flex;align-items:center;justify-content:center;min-width:0;min-height:40px;padding:7px 8px;border-radius:10px;font-family:"Cairo","Tajawal",sans-serif;font-size:10.5px;font-weight:850;text-decoration:none;cursor:pointer;text-align:center}.tw-mybooking-open{background:#172338;border:1px solid #9f8230;color:#fff}.tw-mybooking-retry{background:#12653a;border:1px solid #23a960;color:#fff}.tw-mybooking-cancel{background:#451d28;border:1px solid #b84b62;color:#fff}.tw-mybooking-actions>:only-child{grid-column:1/-1}.tw-mybooking-actions>:nth-last-child(2):first-child,.tw-mybooking-actions>:nth-last-child(2):first-child~*{grid-column:auto}
.tw-active-booking-block-overlay{display:none;position:fixed;inset:0;z-index:2147483646;align-items:center;justify-content:center;padding:18px;background:rgba(1,6,18,.76);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tw-active-booking-block-overlay.open{display:flex}.tw-active-booking-block-sheet{position:relative;width:min(430px,100%);box-sizing:border-box;padding:26px 22px 20px;border-radius:24px;border:1px solid rgba(212,175,55,.30);background:linear-gradient(180deg,rgba(11,25,47,.99),rgba(5,14,29,.99));box-shadow:0 30px 90px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.045);text-align:center;font-family:"Cairo","Tajawal",sans-serif;color:#fff}.tw-active-booking-block-sheet:before{content:"";display:block;width:42px;height:3px;border-radius:99px;margin:0 auto 16px;background:linear-gradient(90deg,rgba(212,175,55,.25),#d4af37,rgba(212,175,55,.25))}.tw-active-booking-block-close{position:absolute;top:10px;left:10px;width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:#d9e2ef;font-size:20px;line-height:1;cursor:pointer}.tw-active-booking-block-title{font-size:19px;font-weight:950;line-height:1.45;margin:0 24px 8px}.tw-active-booking-block-text{margin:0 auto;color:#b9c6d8;font-size:12.5px;font-weight:700;line-height:1.9;max-width:340px}.tw-active-booking-block-id{display:inline-flex;align-items:center;justify-content:center;margin:14px auto 0;padding:7px 11px;border-radius:999px;border:1px solid rgba(212,175,55,.22);background:rgba(212,175,55,.065);color:#efd371;direction:ltr;unicode-bidi:isolate;font:900 11px/1.2 Arial,sans-serif}.tw-active-booking-block-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:20px}.tw-active-booking-block-primary,.tw-active-booking-block-secondary{width:100%;min-height:47px;border-radius:14px;font-family:"Cairo","Tajawal",sans-serif;font-size:12px;font-weight:900;cursor:pointer}.tw-active-booking-block-primary{border:1px solid rgba(212,175,55,.58);background:linear-gradient(135deg,#d8b84f,#b8942e);color:#07101d}.tw-active-booking-block-secondary{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);color:#dbe5f1}
.tw-cancel-booking-confirm-overlay{display:none;position:fixed;inset:0;z-index:2147483646;align-items:center;justify-content:center;padding:18px;background:rgba(1,6,18,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tw-cancel-booking-confirm-overlay.open{display:flex}.tw-cancel-booking-confirm-sheet{width:min(410px,100%);box-sizing:border-box;padding:24px 21px 20px;border-radius:22px;text-align:center;border:1px solid rgba(248,113,113,.22);background:linear-gradient(180deg,rgba(13,27,49,.99),rgba(6,15,30,.99));box-shadow:0 28px 80px rgba(0,0,0,.60);font-family:"Cairo","Tajawal",sans-serif;color:#fff}.tw-cancel-booking-confirm-title{font-size:18px;font-weight:950;margin-bottom:7px}.tw-cancel-booking-confirm-text{color:#b9c6d8;font-size:12px;font-weight:700;line-height:1.85}.tw-cancel-booking-confirm-actions{display:grid;gap:9px;margin-top:18px}.tw-cancel-booking-confirm-yes,.tw-cancel-booking-confirm-no{min-height:46px;border-radius:14px;font-family:"Cairo","Tajawal",sans-serif;font-size:12px;font-weight:900;cursor:pointer}.tw-cancel-booking-confirm-yes{border:1px solid rgba(248,113,113,.42);background:rgba(239,68,68,.15);color:#fecaca}.tw-cancel-booking-confirm-no{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);color:#fff}.tw-cancel-booking-confirm-yes.is-busy{opacity:.82;cursor:wait}
#twBookingLifecycleToast{position:fixed;left:50%;bottom:22px;z-index:2147483645;transform:translate(-50%,14px);opacity:0;pointer-events:none;max-width:min(92vw,520px);padding:11px 15px;border-radius:999px;border:1px solid rgba(212,175,55,.30);background:rgba(5,13,28,.97);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.34);font-family:"Cairo","Tajawal",sans-serif;font-size:11.5px;font-weight:750;text-align:center;transition:.22s ease}#twBookingLifecycleToast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:520px){.tw-mybookings-overlay,.tw-active-booking-block-overlay,.tw-cancel-booking-confirm-overlay{padding:10px}.tw-mybookings-sheet{max-height:88dvh;border-radius:18px}.tw-active-booking-block-sheet{padding:24px 17px 17px;border-radius:22px}.tw-active-booking-block-title{font-size:17px}.tw-mybooking-actions{grid-template-columns:1fr}.tw-mybooking-actions>*{grid-column:auto!important}#twBookingLifecycleToast{bottom:68px}}


#twFamilyBookingFlightSection{display:none}
.tw-flight-step-overlay{position:fixed!important;inset:0!important;z-index:2147483600!important;display:none!important;align-items:flex-start!important;justify-content:center!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;background:#07101f!important;padding:0!important;font-family:"Cairo","Tajawal",sans-serif!important;direction:ltr!important}
.tw-flight-step-overlay.open{display:flex!important}
.tw-flight-step-sheet{position:relative!important;display:flex!important;flex-direction:column!important;width:min(620px,calc(100vw - 16px))!important;min-height:100dvh!important;height:auto!important;margin:0 auto!important;box-sizing:border-box!important;padding:14px 20px calc(24px + env(safe-area-inset-bottom,0px))!important;border-radius:24px!important;border:1px solid rgba(212,175,55,.24)!important;background:radial-gradient(130% 80% at 50% 0%,rgba(212,175,55,.10),transparent 58%),#020c18!important;box-shadow:0 30px 90px rgba(0,0,0,.68)!important;color:#f8fafc!important}
.tw-flight-step-head{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 0 24px!important;padding:34px 54px 0!important}
.tw-flight-step-title{display:flex!important;flex-direction:column!important;align-items:center!important;gap:9px!important;width:100%!important;text-align:center!important;font-size:1.30rem!important;font-weight:900!important;line-height:1.35!important;color:#fff!important}
.tw-flight-step-optional{display:inline-block!important;padding:5px 16px!important;border-radius:999px!important;border:1px solid rgba(212,175,55,.42)!important;background:rgba(212,175,55,.10)!important;color:#e2c874!important;font-size:.80rem!important;font-weight:800!important;white-space:nowrap!important}
.tw-flight-step-close{position:absolute!important;left:0!important;top:24px!important;width:44px!important;height:44px!important;border-radius:999px!important;border:1px solid rgba(212,175,55,.30)!important;background:rgba(212,175,55,.08)!important;color:#e9d9a4!important;font-size:24px!important;line-height:1!important;cursor:pointer!important}
.tw-flight-step-host{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;flex:1 0 auto!important;width:100%!important;min-height:0!important;padding:0 0 4px!important}
#twFamilyBookingFlightSection{display:block!important;width:100%!important}
#twFamilyBookingFlightPanel{display:block!important;width:100%!important}
.tw-family-flight-option{width:100%!important}
.tw-family-flight-search{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;min-height:118px!important;padding:26px 22px!important;border-radius:22px!important;border:1.5px solid rgba(212,175,55,.62)!important;background:linear-gradient(180deg,#0e2144,#0a1730)!important;color:#fff!important;box-shadow:0 16px 36px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06)!important;font-family:"Cairo","Tajawal",sans-serif!important;font-size:1.34rem!important;font-weight:900!important;cursor:pointer!important}
.tw-family-flight-search::after{content:"❮";display:block;font-size:1.35rem;line-height:1;color:#e8cf8e;opacity:.9;transform:rotate(90deg)}
.tw-family-flight-search[disabled]{opacity:1!important;color:#cddaea!important}
.tw-flight-live-loader{display:block!important;width:100%!important;text-align:center!important}
.tw-flight-live-loader__text{font-size:1.08rem!important;font-weight:900!important;color:#f7e9bd!important}
.tw-flight-loadbar{position:relative;width:100%;height:5px;margin:14px 0 2px;border-radius:999px;background:rgba(212,175,55,.14);overflow:hidden}
.tw-flight-loadbar>span{position:absolute;top:0;bottom:0;width:42%;border-radius:999px;background:linear-gradient(90deg,rgba(212,175,55,0),#d4af37,rgba(212,175,55,0));animation:twFamilyFlightSweep 1.15s cubic-bezier(.45,0,.55,1) infinite}
@keyframes twFamilyFlightSweep{0%{transform:translateX(-115%)}100%{transform:translateX(255%)}}
.tw-family-flight-result{display:none;margin-top:10px}.tw-family-flight-result.is-visible{display:block!important}
.tw-flight-option__price-label{display:block!important;margin:18px 0 20px!important;font-size:.95rem!important;font-weight:800!important;line-height:1.6!important;color:#c9d6e6!important;text-align:center!important}
.tw-flight-options-grid{display:flex!important;flex-direction:column!important;gap:14px!important;margin-top:4px!important}
.tw-flight-airline-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;min-height:70px!important;padding:16px 18px!important;border-radius:18px!important;border:1px solid rgba(212,175,55,.20)!important;background:rgba(11,24,46,.78)!important;color:#fff!important;cursor:pointer!important;font-family:"Cairo","Tajawal",sans-serif!important}
.tw-flight-airline-row.is-selected{border-color:rgba(212,175,55,.72)!important;background:rgba(212,175,55,.10)!important}
.tw-flight-airline-name{font-size:1.06rem!important;font-weight:800!important;text-align:left!important}.tw-flight-airline-check{display:none;margin-right:7px;color:#d4af37}.tw-flight-airline-row.is-selected .tw-flight-airline-check{display:inline!important}
.tw-flight-airline-price{font-size:1.18rem!important;font-weight:900!important;color:#f0c945!important;direction:ltr!important;white-space:nowrap!important}
.tw-booking-flight-disclaimer{display:block!important;margin:26px auto 4px!important;max-width:44ch!important;padding:0!important;color:#e8cf8e!important;font-size:1.02rem!important;font-weight:900!important;line-height:1.75!important;text-align:center!important}
.tw-flight-step-prices{display:none!important;margin:32px 0 6px!important;padding:18px 20px!important;border-radius:20px!important;border:1.5px solid rgba(212,175,55,.40)!important;background:linear-gradient(180deg,rgba(212,175,55,.10),rgba(2,12,24,.92))!important;box-shadow:0 14px 34px rgba(0,0,0,.36)!important}.tw-flight-step-prices.show{display:block!important}
.tw-flight-step-price-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;font-size:1.02rem!important;font-weight:800!important;padding:10px 0!important}.tw-flight-step-price-row+.tw-flight-step-price-row{border-top:1px solid rgba(212,175,55,.22)!important;padding-top:16px!important}.tw-flight-step-price-row>span{color:#e2e8f0!important;text-align:left!important}.tw-flight-step-price-row strong{font-size:1.45rem!important;font-weight:900!important;color:#f0c945!important;white-space:nowrap!important;direction:ltr!important}.tw-flight-pax-label{display:block!important;margin-top:4px!important;font-size:.88rem!important;font-weight:700!important;color:#93a3b8!important}.tw-flight-airline-sub{display:block!important;margin-top:5px!important;font-size:.86rem!important;font-weight:800!important;color:#e2e8f0!important;text-align:left!important}
.tw-flight-step-actions{flex:0 0 auto!important;margin-top:auto!important;padding-top:22px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}.tw-flight-step-continue{width:100%!important;min-height:60px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:#fff!important;font-family:"Cairo","Tajawal",sans-serif!important;font-size:1.14rem!important;font-weight:900!important;box-shadow:0 16px 30px rgba(22,163,74,.24)!important;cursor:pointer!important}
.tw-family-flight-error{padding:12px 6px;color:#fca5a5;font-size:.9rem;font-weight:800;text-align:center}
@media(max-width:520px){.tw-flight-step-sheet{width:calc(100vw - 12px)!important;padding:12px 15px calc(20px + env(safe-area-inset-bottom,0px))!important}.tw-flight-step-head{padding-top:26px!important;margin-bottom:20px!important}.tw-flight-step-close{top:17px!important}.tw-flight-step-title{font-size:1.18rem!important}.tw-family-flight-search{min-height:104px!important;font-size:1.20rem!important;padding:22px 16px!important}.tw-booking-flight-disclaimer{font-size:1.03rem!important;line-height:1.8!important}.tw-flight-step-price-row{font-size:.94rem!important}.tw-flight-step-price-row strong{font-size:1.28rem!important}}


/* Must remain after the base flight CSS so these mobile spacing overrides win. */
.tw-flight-step-head{padding-top:82px!important;margin-bottom:40px!important;}
.tw-flight-step-close{top:18px!important;}
.tw-family-flight-search{margin-top:16px!important;}
@media (max-width:600px){
  .tw-flight-step-sheet{padding-top:14px!important;}
  .tw-flight-step-head{padding-top:88px!important;margin-bottom:42px!important;}
  .tw-flight-step-close{top:16px!important;}
  .tw-family-flight-search{margin-top:18px!important;}
}


/* Guaranteed visual Arabic date order: day / month / year from the right. */
.tw-rtl-date{
  display:inline-flex!important;
  flex-direction:row!important;
  direction:ltr!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  white-space:nowrap!important;
  unicode-bidi:isolate!important;
}
.tw-rtl-date .tw-date-part{direction:ltr!important;unicode-bidi:isolate!important;}
.tw-rtl-date .tw-date-sep{opacity:.9!important;padding:0 1px!important;}
.tw-family-v3-datecard-value{direction:ltr!important;unicode-bidi:isolate!important;}

/* Booking details: nights are informational, not a price highlight. */
#twBookingSheet .tw-nights{
  color:#d6dde7!important;
  border-color:rgba(148,163,184,.24)!important;
  background:rgba(11,18,32,.50)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)!important;
}

/* Confirmation palette: Tiffany status + restrained gold ID + premium WhatsApp green. */
#twConfirmBackdrop .tw-confirm-box{
  border-color:rgba(45,212,191,.34)!important;
  background:linear-gradient(180deg,rgba(10,22,34,.985),rgba(7,16,29,.99))!important;
  box-shadow:0 26px 72px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,255,255,.035),0 0 26px rgba(45,212,191,.055)!important;
}
#twConfirmBackdrop .tw-confirm-id-label{color:#aeb9c7!important;}
#twConfirmBackdrop .tw-confirm-id{
  color:#e5c85b!important;
  background:linear-gradient(180deg,rgba(212,175,55,.085),rgba(212,175,55,.035))!important;
  border-color:rgba(212,175,55,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  text-shadow:0 0 12px rgba(212,175,55,.14)!important;
}
#twConfirmBackdrop .tw-confirm-send{
  background:linear-gradient(135deg,#1fae55,#168a45)!important;
  border:1px solid rgba(74,222,128,.42)!important;
  box-shadow:0 15px 30px rgba(22,163,74,.22),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.tw-family-confirm-step.is-done .tw-family-confirm-dot{
  background:#36cdbd!important;
  border-color:#6ee7d8!important;
  box-shadow:0 0 11px rgba(45,212,191,.22)!important;
}
.tw-family-confirm-line.is-done{
  background:#36cdbd!important;
  box-shadow:0 0 7px rgba(45,212,191,.18)!important;
}
.tw-family-confirm-step.is-pending .tw-family-confirm-dot{
  border-color:rgba(54,205,189,.65)!important;
  color:#50d8c9!important;
}


/* Final confirmation modal color coordination only. */
#twConfirmBackdrop .tw-confirm-box{
  border:1.5px solid rgba(45,212,191,.42)!important;
  background:linear-gradient(180deg,rgba(9,21,33,.99),rgba(5,14,26,.995))!important;
  box-shadow:0 28px 78px rgba(0,0,0,.62),inset 0 0 0 1px rgba(255,255,255,.028),0 0 30px rgba(45,212,191,.07)!important;
}
#twConfirmBackdrop .tw-confirm-title{color:#f8fafc!important;}
#twConfirmBackdrop .tw-confirm-sub{color:#cbd5e1!important;}
#twConfirmBackdrop .tw-confirm-x{
  color:#e2e8f0!important;
  background:rgba(148,163,184,.12)!important;
  border-color:rgba(148,163,184,.28)!important;
}
#twConfirmBackdrop .tw-confirm-id-label{color:#c3ccd7!important;}
#twConfirmBackdrop .tw-confirm-id{
  color:#f0cf4f!important;
  background:linear-gradient(180deg,rgba(212,175,55,.105),rgba(212,175,55,.035))!important;
  border:1.5px solid rgba(212,175,55,.48)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 18px rgba(212,175,55,.055)!important;
  text-shadow:0 0 10px rgba(212,175,55,.16)!important;
}
.tw-family-confirm-step.is-done .tw-family-confirm-dot{
  background:#2dd4bf!important;
  color:#05231f!important;
  border-color:#79eadf!important;
  box-shadow:0 0 13px rgba(45,212,191,.25)!important;
}
.tw-family-confirm-line.is-done{
  background:linear-gradient(90deg,#2dd4bf,#5eead4)!important;
  box-shadow:0 0 8px rgba(45,212,191,.20)!important;
}
.tw-family-confirm-step.is-done .tw-family-confirm-label{color:#e6fffb!important;}
.tw-family-confirm-step.is-pending .tw-family-confirm-dot{
  background:rgba(45,212,191,.07)!important;
  border-color:rgba(94,234,212,.72)!important;
  color:#5eead4!important;
}
.tw-family-confirm-step.is-pending .tw-family-confirm-label{color:#d7e4e8!important;}
#twConfirmBackdrop .tw-confirm-send{
  color:#fff!important;
  background:linear-gradient(135deg,#22c55e,#16a34a)!important;
  border:1px solid rgba(74,222,128,.50)!important;
  box-shadow:0 16px 34px rgba(22,163,74,.28),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
#twConfirmBackdrop .tw-confirm-send:active{filter:brightness(.97)!important;}


/* Header controls: match Maldives compact sizing */
.tw-lang-switch{top:14px!important;right:14px!important;z-index:1000002!important;}
.tw-lang-switch a{
  min-width:54px!important;height:30px!important;padding:0 10px!important;
  font-size:.72rem!important;font-weight:800!important;
  border-radius:999px!important;background:rgba(8,14,30,.62)!important;
  border:1px solid rgba(212,175,55,.28)!important;
  backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
}
.currency-select-wrap{top:14px!important;left:14px!important;z-index:1000002!important;}
.currency-select-btn{
  gap:6px!important;padding:6px 10px 6px 9px!important;
  min-height:30px!important;border-radius:999px!important;
  background:rgba(8,14,30,.62)!important;border:1px solid rgba(212,175,55,.28)!important;
  font-size:.76rem!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
}
.currency-select-btn .cs-flag{font-size:.90rem!important;}
.currency-select-btn .cs-code{font-size:.72rem!important;letter-spacing:.45px!important;}
.currency-select-btn .cs-arrow{font-size:.55rem!important;}
@media(max-width:520px){
  .tw-lang-switch{top:12px!important;right:10px!important;}
  .currency-select-wrap{top:12px!important;left:10px!important;}
}

/* Main resort cards: same full-image treatment and dimensions as Maldives */
.grid{gap:20px!important;}
.grid > .card{
  position:relative!important;overflow:hidden!important;background:#020617!important;
  border-radius:15px!important;border:1.5px solid rgba(250,204,21,.28)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.65),inset 0 0 0 1px rgba(250,204,21,.10)!important;
  cursor:pointer!important;
}
.grid > .card .card-img-wrap{position:relative!important;overflow:hidden!important;height:305px!important;}
.grid > .card .card-img-wrap>img{
  width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;display:block!important;
}
.grid > .card .card-divider{display:none!important;}
.grid > .card .card-body{
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:50!important;
  padding:66px 18px 18px!important;text-align:left!important;
  background:linear-gradient(to top,rgba(2,6,23,.96) 0%,rgba(2,6,23,.86) 36%,rgba(2,6,23,.44) 70%,rgba(2,6,23,0) 100%)!important;
}
.grid > .card .hotel-title{
  position:relative!important;display:block!important;width:100%!important;min-height:54px!important;
  margin:0 0 8px!important;padding:0!important;transform:translateY(8px)!important;
}
.grid > .card .hotel-title-text{
  position:absolute!important;right:0!important;left:auto!important;top:0!important;max-width:64%!important;
  display:flex!important;flex-direction:column!important;align-items:flex-end!important;text-align:left!important;gap:4px!important;line-height:1.15!important;
}
.grid > .card .hotel-name-ar,.grid > .card .hotel-name-en{
  display:block!important;width:100%!important;text-align:left!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
}
.grid > .card .hotel-name-ar{font-size:1.05rem!important;font-weight:700!important;color:#fff!important;}
.grid > .card .hotel-name-en{font-size:.88rem!important;color:#cfd6e6!important;opacity:.9!important;}
.grid > .card .stars{
  position:absolute!important;left:0!important;right:auto!important;top:14px!important;margin:0!important;
  display:block!important;text-align:left!important;white-space:nowrap!important;color:#facc15!important;font-size:.92rem!important;letter-spacing:1px!important;
}
.grid > .card .price-line,.grid > .card .card-duration,.grid > .card .price-note,.grid > .card .btn-main{
  position:relative!important;z-index:60!important;
}
/* Card itself is the CTA, matching Maldives; keep legacy button accessible but visually remove it */
.grid > .card .btn-main{display:none!important;}

/* After date selection: bigger image + light localized black glass for all live information */
body.tw-family-v3-active .grid > .card .card-img-wrap{height:360px!important;}
body.tw-family-v3-active .grid > .card .card-body{
  left:auto!important;
  right:14px!important;
  bottom:14px!important;
  width:max-content!important;
  max-width:35%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:9px 12px!important;
  border-radius:15px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  background:rgba(3,10,20,.34)!important;
  -webkit-backdrop-filter:blur(5px)!important;
  backdrop-filter:blur(5px)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.18)!important;
}
body.tw-family-v3-active .grid > .card .stars{display:none!important;}
body.tw-family-v3-active .grid > .card .price-note{display:none!important;}
body.tw-family-v3-active .grid > .card .hotel-title{min-height:auto!important;margin:0 0 4px!important;transform:none!important;}
body.tw-family-v3-active .grid > .card .hotel-title-text{
  position:relative!important;right:auto!important;top:auto!important;max-width:100%!important;width:100%!important;
  align-items:flex-end!important;text-align:left!important;gap:2px!important;
}
body.tw-family-v3-active .grid > .card .price-line{
  margin:4px 0 2px!important;line-height:1.25!important;font-size:1.30rem!important;font-weight:900!important;color:#facc15!important;
}
body.tw-family-v3-active .grid > .card .card-duration{
  margin:0 0 4px!important;line-height:1.25!important;font-size:.86rem!important;color:#e5e7eb!important;font-weight:800!important;
}
@media(min-width:900px){
  .grid > .card .card-img-wrap{height:315px!important;}
  body.tw-family-v3-active .grid > .card .card-img-wrap{height:370px!important;}
}
@media(max-width:520px){
  body.tw-family-v3-active .grid > .card .card-body{
    right:11px!important;
    bottom:11px!important;
    width:max-content!important;
    max-width:46%!important;
    min-width:0!important;
    padding:8px 10px!important;
    border-radius:14px!important;
    background:rgba(3,10,20,.32)!important;
    -webkit-backdrop-filter:blur(5px)!important;
    backdrop-filter:blur(5px)!important;
  }
}



/* Keep the optional flight content completely out of the normal page flow.
   It is shown only after the flight step moves it into its modal host. */
body > #twFamilyBookingFlightSection{
  display:none !important;
}
.tw-flight-step-host > #twFamilyBookingFlightSection{
  display:block !important;
}

/* Small Maldives-style affordance: the whole card stays clickable, this is only a visual hint. */
.grid .card{
  position:relative !important;
}
body.tw-family-v3-active .grid .card::after{
  content:"View Offer Details  →";
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.58);
  background:rgba(4,12,24,.58);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  box-shadow:0 7px 18px rgba(0,0,0,.28);
  color:#f3f4f6;
  font-family:"Cairo","Tajawal",sans-serif;
  font-size:.78rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  pointer-events:none;
}
@media(max-width:520px){
  body.tw-family-v3-active .grid .card::after{
    left:11px;
    bottom:11px;
    min-height:32px;
    padding:0 13px;
    font-size:.74rem;
  }
}


@media (max-width:700px){
  /* Child ages already contain Under 1 + 1..12. On iPhone the nested 150px list
     could not be scrolled reliably, making only the first few ages reachable.
     Expand the open picker and let the booking body do the scrolling instead. */
  #twBookingSheet .tw-age-picker.open .tw-age-options{
    position:static!important;
    max-height:none!important;
    overflow:visible!important;
    -webkit-overflow-scrolling:auto!important;
    overscroll-behavior:auto!important;
    touch-action:auto!important;
  }

  /* Make the flight sheet itself the iOS scroll container. Flight results +
     price breakdown can exceed one screen; Continue remains reachable below. */
  .tw-flight-step-overlay{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    touch-action:pan-y!important;
  }
  .tw-flight-step-sheet{
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))!important;
  }
}


.tw-family-flight-search[disabled]::after{display:none!important}
.tw-family-flight-result.tw-flight-searching{
  display:block!important;
  margin-top:14px!important;
  padding:14px 14px 12px!important;
  border-radius:16px!important;
  border:1px solid rgba(212,175,55,.24)!important;
  background:rgba(212,175,55,.055)!important;
}
.tw-family-flight-result.tw-flight-searching .tw-flight-live-loader{display:block!important;width:100%!important}
.tw-family-flight-result.tw-flight-searching .tw-flight-live-loader__text{display:block!important;text-align:center!important}
.tw-family-flight-result.tw-flight-searching .tw-flight-loadbar{display:block!important;width:100%!important;height:6px!important;margin:14px 0 0!important}
@media(max-width:700px){
  /* Keep the existing V1 architecture: the sheet is the scroll container.
     The touch-guard JS fix above is what makes iPhone scrolling actually work. */
  .tw-flight-step-sheet{scrollbar-gutter:stable;scroll-padding-bottom:24px!important}
}


/* Mobile only: readable dialog text and comfortable controls. */
@media(max-width:600px){
html body #detailsPanel{width:100%!important;max-height:94dvh!important;height:94dvh!important;}
html body #detailsPanel #dContent .details-list{font-size:17px!important;line-height:1.9!important;}
html body #detailsPanel .details-title{font-size:18px!important;line-height:1.5!important;}
html body #detailsPanel .details-price{font-size:21px!important;line-height:1.5!important;}
html body #detailsPanel :is(.details-price-note,.price-note,.details-note,.option-title){font-size:16px!important;line-height:1.7!important;}
html body #detailsPanel :is(.action-btn,.btn-main,.close-btn){font-size:16px!important;min-height:46px!important;white-space:normal!important;}
html body #twBookingSheet{padding:8px!important;box-sizing:border-box!important;}
html body #twBookingSheet .tw-booking-card{width:100%!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;}
html body #twBookingSheet .tw-booking-body{min-height:0!important;overflow-y:auto!important;padding:16px!important;}
html body #twBookingSheet .tw-booking-title{font-size:21px!important;line-height:1.45!important;}
html body #twBookingSheet :is(.tw-label,.tw-ages-title,.tw-family-contact-title,.tw-family-extra-option label,.tw-family-extra-toggle){font-size:15px!important;line-height:1.6!important;}
html body #twBookingSheet :is(.tw-booking-sub,.tw-validity-note,.tw-err){font-size:14px!important;line-height:1.65!important;}
html body #twBookingSheet :is(input:not([type=checkbox]),select,textarea){font-size:16px!important;min-height:44px!important;box-sizing:border-box!important;max-width:100%!important;}
html body #twBookingSheet :is(.tw-date-btn,.tw-counter-val,.tw-nights){font-size:17px!important;line-height:1.5!important;}
html body #twBookingSheet :is(.tw-primary,.tw-counter-btn){min-height:46px!important;font-size:18px!important;}
html body #twBookingSheet .tw-booking-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))!important;}
html body #twTravelDatePanel{width:calc(100vw - 16px)!important;max-width:480px!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;box-sizing:border-box!important;}
html body #twTravelDatePanel .tw-datehead .title{font-size:22px!important;line-height:1.4!important;}
html body #twTravelDatePanel :is(.tw-datebtn,.tw-dateclose){min-width:44px!important;min-height:44px!important;font-size:24px!important;}
html body #twTravelDatePanel .tw-datebody{padding:10px!important;}
html body #twTravelDatePanel .tw-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;}
html body #twTravelDatePanel .tw-day{min-width:0!important;min-height:52px!important;padding:10px 0!important;font-size:18px!important;}
html body #twTravelDatePanel :is(.tw-dow,.tw-datefoot,.tw-family-v3-minnote){font-size:14px!important;line-height:1.6!important;}
html body #twTravelDatePanel #twFamilyV3Stay .tw-family-v3-datecard-label{font-size:14px!important;line-height:1.5!important;}
html body #twTravelDatePanel #twFamilyV3Stay .tw-family-v3-datecard-value{font-size:18px!important;line-height:1.5!important;overflow-wrap:anywhere;}
html body #twConfirmBackdrop{padding:8px!important;box-sizing:border-box!important;}
html body #twConfirmBackdrop .tw-confirm-box{width:100%!important;max-width:460px!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;box-sizing:border-box!important;padding:24px 18px!important;}
html body #twConfirmBackdrop .tw-confirm-title{font-size:22px!important;line-height:1.5!important;}
html body #twConfirmBackdrop .tw-confirm-sub{font-size:16px!important;line-height:1.8!important;}
html body #twConfirmBackdrop :is(.tw-confirm-id-label,.tw-family-confirm-label,.tw-booking-confirm-send-sub){font-size:13px!important;line-height:1.5!important;}
html body #twConfirmBackdrop :is(.tw-confirm-id,.tw-booking-confirm-send-main){font-size:19px!important;line-height:1.5!important;}
html body #twConfirmBackdrop .tw-confirm-send{min-height:54px!important;white-space:normal!important;}
html body .tw-mybookings-sheet{width:calc(100vw - 16px)!important;max-width:520px!important;max-height:92dvh!important;padding:18px 14px!important;}
html body .tw-mybookings-head strong{font-size:21px!important;}
html body :is(.tw-mybookings-tab,.tw-mybookings-clear-inactive){font-size:14px!important;min-height:44px!important;white-space:normal!important;}
html body :is(.tw-mybooking-id,.tw-mybooking-hotel){font-size:16px!important;line-height:1.6!important;overflow-wrap:anywhere;}
html body :is(.tw-mybooking-meta,.tw-mybooking-status,.tw-mybookings-note){font-size:14px!important;line-height:1.7!important;}
html body :is(.tw-mybooking-open,.tw-mybooking-retry,.tw-mybooking-cancel){font-size:14px!important;min-height:44px!important;white-space:normal!important;box-sizing:border-box!important;}
html body .tw-mybooking-actions{flex-wrap:wrap!important;gap:8px!important;}
html body :is(.tw-booking-incomplete-sheet,.tw-active-booking-block-sheet,.tw-cancel-booking-confirm-sheet,.tw-date-required-box,.tw-contact-sheet,.tw-flight-step-sheet){box-sizing:border-box!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;}
html body :is(.tw-booking-incomplete-title,.tw-active-booking-block-title,.tw-cancel-booking-confirm-title,.tw-date-required-title,.tw-sheet-title){font-size:20px!important;line-height:1.5!important;}
html body :is(.tw-booking-incomplete-text,.tw-active-booking-block-text,.tw-cancel-booking-confirm-text,.tw-date-required-text){font-size:16px!important;line-height:1.8!important;}
html body :is(.tw-booking-incomplete-actions,.tw-active-booking-block-actions,.tw-cancel-booking-confirm-actions,.tw-contact-actions) :is(button,a),html body .tw-date-required-btn{font-size:16px!important;min-height:46px!important;white-space:normal!important;}
html body :is(.tw-booking-close-x,.tw-confirm-x,.tw-mybookings-close,.tw-active-booking-block-close){min-width:44px!important;min-height:44px!important;}
}


/* Preserve the original brand artwork; separate its dark lettering from the blue photo. */
html body .hero .header-logo > img{background:transparent!important;}
html body .hero .tw-family-title-row{justify-content:center!important;gap:0!important;white-space:normal!important;}
html body .hero .tw-family-title-ar{font-size:25.2px!important;line-height:1.45!important;font-weight:900!important;}
@media(max-width:600px){
html body .hero .tw-family-title-ar{font-size:21.6px!important;line-height:1.5!important;}
html body #twFamilyUnifiedFilters #filterBar .filter-btn{font-size:19px!important;font-weight:900!important;line-height:1.45!important;padding:10px 5px!important;min-height:64px!important;}
html body #twFamilyUnifiedFilters #filterBar .filter-btn span{font-size:12px!important;font-weight:600!important;line-height:1.5!important;}
}
@media(max-width:360px){html body .hero .tw-family-title-ar{font-size:19.8px!important;}html body #twFamilyUnifiedFilters #filterBar .filter-btn{font-size:18px!important;}}


html body .hero .header-logo{max-width:100%!important;box-sizing:border-box!important;}
html body .hero .header-logo > img{display:block!important;width:68px!important;max-width:25vw!important;height:auto!important;margin:0 auto 0!important;object-fit:contain!important;}
html body .hero .header-logo::before{content:none!important;display:none!important;}


/* 1) Move ONLY the page title down ~10% (logo untouched). Overrides transform:none. */
html body .hero .tw-hero-page-title{transform:translateY(10%)!important;background:transparent!important;background-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;border:0!important;}
/* 2) Header black glass +5% opacity across every stop. */
html body .hero::before{background:linear-gradient(180deg,rgba(2,6,23,.35) 0%,rgba(2,6,23,.40) 30%,rgba(2,6,23,.53) 48%,rgba(2,6,23,.69) 63%,rgba(2,6,23,.84) 76%,rgba(2,6,23,.95) 88%,rgba(2,6,23,1) 96%,#020617 100%),radial-gradient(62% 72% at 50% 56%,rgba(249,115,22,.045),transparent 68%),url(../family-header.webp) center 72%/cover no-repeat!important;}



/* ---- 1. Currency chip in the header: 20% smaller ---- */
html body .tw-currency-toggle{
  min-width:38px !important;
  height:26px !important;
  padding:0 7px !important;
  gap:4px !important;
  font-size:.60rem !important;
  border-radius:999px !important;
}
html body .tw-currency-toggle span{ font-size:.60rem !important; line-height:1 !important; }
@media (max-width:768px){
  html body .tw-currency-toggle{
    min-width:37px !important;
    height:24px !important;
    padding:0 6px !important;
    font-size:.58rem !important;
  }
  html body .tw-currency-toggle span{ font-size:.58rem !important; }
}

/* ---- 2. Family tabs: larger description line on mobile ---- */
@media (max-width:768px){
  html body #twFamilyUnifiedFilters #filterBar .filter-btn span,
  html body #twFamilyUnifiedFilters #filterBar .filter-btn .tab-note{
    font-size:15px !important;
    font-weight:700 !important;
    opacity:.9 !important;
    line-height:1.35 !important;
    display:inline-block !important;
    margin-top:3px !important;
  }
  html body #twFamilyUnifiedFilters #filterBar .filter-btn{
    min-height:74px !important;
    padding:11px 6px !important;
    line-height:1.4 !important;
  }
}
@media (max-width:390px){
  html body #twFamilyUnifiedFilters #filterBar .filter-btn span,
  html body #twFamilyUnifiedFilters #filterBar .filter-btn .tab-note{
    font-size:14px !important;
  }
}

/* ---- 3. Transfer + sort filters: ~10% larger on mobile ---- */
@media (max-width:768px){
  html body #twFamilyUnifiedFilters #transferDisplay,
  html body #twFamilyUnifiedFilters #sortDisplay,
  html body #twFamilyUnifiedFilters .customlist-btn{
    min-height:62px !important;
    font-size:.94rem !important;
  }
  html body #twFamilyUnifiedFilters #transferDisplay .main,
  html body #twFamilyUnifiedFilters #sortDisplay .main,
  html body #twFamilyUnifiedFilters .customlist-btn .main{
    font-size:.97rem !important;
    font-weight:700 !important;
  }
  html body #twFamilyUnifiedFilters #transferDisplay .opt,
  html body #twFamilyUnifiedFilters #sortDisplay .opt,
  html body #twFamilyUnifiedFilters .customlist-btn .opt{
    font-size:.80em !important;
  }
  html body #twFamilyUnifiedFilters .transfer-select,
  html body #twFamilyUnifiedFilters .sort-select{
    height:62px !important;
  }
  html body #twFamilyUnifiedFilters .transfer-select-wrap::before,
  html body #twFamilyUnifiedFilters .sort-select-wrap::before{
    font-size:17px !important;
  }
}

/* ---- 4. "Watch video" badge on every photo slide ---- */
.twFG-slide{ position:relative; }
.twFG-vbadge{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:6;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 11px 6px 9px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(2,6,23,.62);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  color:#fff;
  font-family:"Cairo",sans-serif;
  font-size:.72rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.34);
  transition:background .2s ease, transform .2s ease;
}
.twFG-vbadge:hover{ background:rgba(249,115,22,.92); transform:translateY(-1px); }
.twFG-vbadge:active{ transform:scale(.97); }
.twFG-vbadge:focus-visible{ outline:2px solid #f97316; outline-offset:2px; }
.twFG-vbadge-ic{
  display:inline-flex; align-items:center; justify-content:center;
  width:15px; height:15px; border-radius:50%;
  background:#f97316; color:#fff; font-size:.52rem; padding-left:1px;
}
.twFG-mini-gallery .twFG-vbadge{ left:8px; bottom:8px; font-size:.68rem; padding:5px 10px 5px 8px; }
@media (max-width:480px){
  .twFG-vbadge{ font-size:.68rem; padding:5px 10px 5px 8px; left:8px; bottom:8px; }
}
@media (prefers-reduced-motion:reduce){
  .twFG-vbadge{ transition:none; }
  .twFG-vbadge:hover{ transform:none; }
}

/* ---- 5. English hotel names: larger and higher contrast ----
   Cormorant Garamond is a small-x-height serif, so at .78–.88rem it reads
   noticeably smaller than the figure suggests. Sizes raised and the
   truncation removed so long names ("The Ritz-Carlton Maldives, Fari
   Islands") wrap instead of being cut with an ellipsis. */

/* Cards in the grid */
html body .grid > .card .hotel-name-en{
  font-size:1.02rem !important;
  color:#e2ebf7 !important;
  opacity:1 !important;
  font-weight:600 !important;
  letter-spacing:.3px !important;
  line-height:1.3 !important;
}

/* Details panel, hotel picker, and every other context */
html body .hotel-name-en{
  font-size:1rem !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.35 !important;
  letter-spacing:.3px !important;
  color:rgba(230,240,248,.96) !important;
}
html body .details-panel .hotel-name-en,
html body #dTitle .hotel-name-en{
  font-size:1.02rem !important;
  color:rgba(232,242,250,.97) !important;
  margin-top:2px !important;
}
@media (max-width:480px){
  html body .grid > .card .hotel-name-en{ font-size:.97rem !important; }
  html body .hotel-name-en{ font-size:.97rem !important; }
}
