/* Photo-led, compact resort experience. Existing rates and booking controls are retained. */
body[data-page="resort"]{--r-fire:#ad8953;--r-paper:#f7f5ef;--r-sand:#ddc398;line-height:1.65}
body[data-page="resort"] h2{font-size:clamp(1.35rem,2.5vw,2.3rem);letter-spacing:-.025em;line-height:1.5}
.resort-header{height:76px;background:linear-gradient(#10291bd9,transparent);border:0}.resort-header.is-scrolled{background:#f7f5eff5}.resort-header nav{gap:18px}.resort-button{min-height:46px;border-radius:8px;padding:0 22px}.resort-button.primary{color:#10291b;background:#ddc398}.resort-kicker{color:#977746;margin-bottom:8px;font-size:.64rem}
.resort-hero{min-height:580px;height:76svh;max-height:730px;background:#173d32}.resort-hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 58%}.resort-hero::after{inset:0;height:auto;border-radius:0;transform:none;opacity:1;background:linear-gradient(270deg,rgba(7,28,20,.88),rgba(7,28,20,.42) 55%,rgba(7,28,20,.06)),linear-gradient(0deg,rgba(7,28,20,.35),transparent 60%)}.resort-hero-inner{padding:150px 0 95px}.resort-hero h1{direction:rtl;max-width:750px;font-family:Alexandria,sans-serif;font-size:clamp(2.6rem,5.2vw,4.7rem);line-height:1.35;letter-spacing:-.045em}.resort-hero h1 em{color:#ead5b0}.resort-overline{margin:0 0 16px;font-size:.75rem;letter-spacing:.11em}.resort-quality{display:block;color:#e2dfd3;font:500 .6rem Montserrat,sans-serif;letter-spacing:.18em;margin-bottom:18px}.resort-hero-inner>p:last-of-type{font-size:1.08rem;color:#fff;max-width:500px}.resort-actions{margin-top:25px}.hero-caption{position:absolute;bottom:25px;inset-inline-end:max(20px,calc((100vw - 1180px)/2));display:grid;gap:4px;text-align:end;color:#fff}.hero-caption span{font-size:.7rem;opacity:.72}.hero-caption b{font-size:.9rem}
.resort-discover{padding:48px 0 18px}.compact-heading{display:grid;grid-template-columns:1fr .65fr;gap:40px;align-items:end;margin-bottom:23px}.compact-heading h2{margin:0;color:var(--r-deep)}.compact-heading>p{margin:0;color:var(--r-muted);max-width:420px}.moment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.moment-card{display:block;position:relative;overflow:hidden;border-radius:12px;background:#fff;color:var(--r-deep);border:1px solid var(--r-line)}.moment-card img{display:block;width:100%;height:225px;object-fit:cover;transition:transform .25s}.moment-card:hover img{transform:scale(1.03)}.moment-card>div{padding:16px}.moment-card h3{margin:0 0 7px;font-size:1rem}.moment-card p{margin:0;color:var(--r-muted);font-size:.86rem;line-height:1.5}.photo-zoom{position:absolute;top:12px;left:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff9;color:#173d32}.facility-strip{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:24px;padding:18px 0;border-block:1px solid var(--r-line);font-size:.84rem}.small-note{margin:8px 0 0;font-size:.78rem;color:var(--r-muted)}
.resort-gallery{padding:22px 0 42px}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.gallery-heading h2{margin:0;font-size:1.25rem!important}.photo-filters{display:flex;flex-wrap:wrap;gap:6px}.photo-filters button{border:1px solid var(--r-line);border-radius:30px;padding:7px 12px;min-height:40px;background:transparent;color:var(--r-forest);cursor:pointer;font-size:.8rem}.photo-filters button[aria-pressed="true"]{color:#fff;background:var(--r-forest)}.resort-photo-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.resort-photo-rail a{flex:0 0 205px;position:relative;scroll-snap-align:start;border-radius:10px;overflow:hidden;color:#fff}.resort-photo-rail a[hidden]{display:none}.resort-photo-rail img{display:block;width:100%;height:155px;object-fit:cover}.resort-photo-rail span{position:absolute;bottom:0;inset-inline:0;padding:20px 12px 10px;font-size:.82rem;background:linear-gradient(transparent,#0b261fe6)}
.stays-section{padding:44px 0}.resort-section-head{margin-bottom:22px;gap:8px 30px}.resort-section-head h2{margin:0}.resort-section-head p{margin:0}.stay-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.stay-preview img{width:100%;height:165px;object-fit:cover;border-radius:10px}.experience-grid{gap:9px}.experience-card{border-radius:10px}.experience-card summary{min-height:95px;padding:15px 22px;grid-template-columns:50px minmax(0,1fr) auto auto;gap:18px}.experience-card h3{font-size:1rem;margin:0}.experience-card summary p{font-family:Tajawal,sans-serif;font-size:.83rem;margin:4px 0 0}.experience-badge{margin-bottom:6px;background:#937443;font-size:.5rem}.experience-card summary>b{font-size:.75rem}.experience-details{padding:0 90px 22px 22px;font-size:.9rem}.experience-details p{color:#ffffffc9}.price-list{margin:15px 0}.price-list span{padding:10px}.group-prices{background:transparent;border:1px solid #ffffff25;margin:15px 0}.group-prices span{background:transparent;color:#ffffffb3;border-bottom:1px solid #ffffff18}.group-prices b{color:#ddc398}.experience-no{font-size:.9rem}.villa-options{margin:12px 0}
.estimate-drawer{margin-block:22px;border:1px solid var(--r-line);border-radius:10px;background:#fff}.estimate-drawer>summary{cursor:pointer;padding:16px 20px;font-weight:700;color:var(--r-forest)}.calculator-layout{padding:0 20px 20px;gap:30px;grid-template-columns:.65fr 1fr}.calculator-layout h2{font-size:1.25rem!important}.calculator-layout p{font-size:.85rem}.calculator-card{padding:18px;background:#f7f5ef;box-shadow:none;border-radius:10px}.calculator-card label{font-size:.84rem}.calculator-row{gap:10px}.estimate{padding:14px}.estimate strong{font-size:1.8rem}.estimate span{font-size:.75rem}.calculator-card .resort-button{width:100%}
.booking-section{padding:35px 0 45px}.booking-layout{grid-template-columns:.65fr 1fr;gap:42px;align-items:start}.booking-copy>p{margin:10px 0}.booking-copy .booking-note{font-size:.88rem;padding:16px;border:1px solid var(--r-line);border-radius:10px}.booking-copy img{display:block;width:100%;height:280px;object-fit:cover;border-radius:12px;margin-top:22px}.resort-booking-form{padding:25px;border-radius:12px;box-shadow:none}.field-grid{gap:12px}.resort-booking-form label{font-size:.85rem}.resort-booking-form input,.resort-booking-form select,.resort-booking-form textarea,.calculator-card input,.calculator-card select{min-height:45px;border-radius:7px}.resort-booking-form fieldset{margin:14px 0;padding:12px}.deposit-policy-notice{font-size:.8rem}.submit-booking{margin-top:12px}.resort-booking-form textarea{resize:vertical}
.resort-faq{padding:35px 0;background:#ece8dd}.faq-layout{grid-template-columns:.65fr 1fr;gap:42px}.faq-list{gap:6px}.faq-list details{border-radius:8px}.faq-list summary{padding:13px 16px;font-size:.9rem}.faq-list p{font-size:.86rem;padding:0 16px 14px}.faq-layout>div>p{margin:8px 0 18px}.resort-site-footer{padding-top:35px;padding-bottom:25px}.resort-site-footer .footer-grid{gap:25px}.resort-site-footer p,.resort-site-footer a{font-size:.85rem}.resort-site-footer .footer-bottom{margin-top:24px;padding-top:18px}
.resort-photo-dialog{width:min(1050px,calc(100% - 24px));max-height:92svh;padding:12px;border:0;border-radius:12px;background:#10251e;color:#fff;text-align:center;overflow:auto}.resort-photo-dialog::backdrop{background:#061610e6;backdrop-filter:blur(8px)}.resort-photo-dialog img{display:block;max-width:100%;max-height:77svh;object-fit:contain;margin:auto}.resort-photo-dialog>button{position:sticky;top:0;display:block;z-index:1;margin:0 0 10px auto;border:1px solid #ffffff55;border-radius:50%;background:#173d32;color:#fff;font-size:1.5rem;width:44px;height:44px;cursor:pointer}.resort-photo-dialog p{margin:8px 0}.resort-hero-inner .secondary{color:#fff}.resort-wrap :focus-visible,.resort-header :focus-visible{outline:3px solid #d7b67e;outline-offset:4px}
@media(max-width:960px){.moment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.moment-card img{height:200px}.experience-card summary{grid-template-columns:40px 1fr auto}.experience-card summary>b{display:none}.experience-details{padding-inline-start:25px}.calculator-layout,.booking-layout,.faq-layout{grid-template-columns:1fr;gap:22px}.booking-copy img{display:none}.booking-copy .booking-note{margin:14px 0 0}.price-list{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:700px){.resort-hero{min-height:480px;height:68svh;max-height:640px}.resort-hero-inner{padding:118px 0 74px}.resort-hero h1{font-size:clamp(2rem,8.7vw,3.1rem);line-height:1.45}.resort-overline{font-size:.6rem;letter-spacing:.04em;margin-bottom:12px}.resort-quality{font-size:.5rem;letter-spacing:.12em;margin-bottom:14px}.resort-hero-inner>p:last-of-type{font-size:.95rem;max-width:300px}.resort-actions{gap:8px;margin-top:20px}.resort-button{min-height:45px;padding:0 16px;font-size:.85rem}.hero-caption{bottom:16px;inset-inline-end:14px}.hero-caption b{font-size:.78rem}.compact-heading{grid-template-columns:1fr;gap:10px;margin-bottom:17px}.compact-heading>p{font-size:.88rem;max-width:100%}.resort-discover{padding:28px 0 10px}.moment-grid{gap:9px}.moment-card img{height:145px}.moment-card>div{padding:12px 10px}.moment-card h3{font-size:.8rem;line-height:1.6;margin-bottom:4px}.moment-card p{font-size:.77rem}.facility-strip{margin-top:18px;justify-content:flex-start;padding:12px 0;gap:8px 14px;font-size:.74rem}.small-note{font-size:.71rem}.resort-gallery{padding:15px 0 25px}.gallery-heading{align-items:flex-start;flex-direction:column;gap:10px}.photo-filters{gap:5px}.photo-filters button{font-size:.74rem;padding:6px 10px;min-height:36px}.resort-photo-rail a{flex-basis:175px}.resort-photo-rail img{height:135px}.stays-section{padding:28px 0}.resort-section-head{margin-bottom:17px;grid-template-columns:1fr;gap:8px}.resort-section-head>p:last-child{font-size:.85rem}.stay-preview{gap:7px;margin-bottom:15px}.stay-preview img{height:105px}.experience-card summary{grid-template-columns:30px 1fr;gap:5px 10px;min-height:94px;padding:13px}.experience-card summary>strong{grid-column:2;font-size:.88rem}.experience-card h3{font-size:.85rem}.experience-card summary p{font-size:.75rem}.experience-card summary>b{display:none}.experience-no{grid-row:1/3;font-size:.75rem}.experience-details{padding:0 13px 17px;font-size:.83rem}.price-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.price-list span:last-child{grid-column:1/-1}.price-list span{padding:8px}.group-prices span{display:flex;gap:10px;font-size:.8rem;padding:10px}.villa-options{grid-template-columns:1fr}.estimate-drawer{margin-block:15px}.estimate-drawer>summary{padding:13px 15px;font-size:.9rem}.calculator-layout{padding:0 14px 14px;gap:8px}.calculator-layout>div{display:none}.calculator-row{grid-template-columns:1fr 1fr}.calculator-card{padding:15px}.booking-section{padding:18px 0 28px}.booking-layout{gap:18px}.booking-copy .booking-note{padding:12px;font-size:.8rem}.resort-booking-form{padding:17px 13px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field-grid label{min-width:0;font-size:.76rem}.field-grid .wide{grid-column:1/-1}.resort-booking-form input,.resort-booking-form select{font-size:.83rem;width:100%;min-width:0;padding:10px}.resort-booking-form fieldset{gap:12px;font-size:.8rem}.consent{align-items:flex-start!important;font-size:.8rem!important}.resort-faq{padding:25px 0}.faq-layout{gap:18px}.faq-layout>div>p{margin-bottom:12px}.faq-list summary{font-size:.83rem}.resort-site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:18px}.resort-site-footer .footer-grid>div:first-child{grid-column:1/-1}.resort-site-footer .footer-grid>div:last-child{display:none}.resort-site-footer{padding-top:24px}.mobile-resort-bar{background:#10291b}.mobile-resort-bar .book{background:#ddc398;color:#10291b}.resort-photo-dialog img{max-height:72svh}}
@media(prefers-reduced-motion:reduce){.moment-card img{transition:none}}
