*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#302a26;background:#fffaf6;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1160px,92%);margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,250,246,.95);backdrop-filter:blur(8px);border-bottom:1px solid #eaded3}.nav{min-height:78px;display:flex;align-items:center;gap:24px}.brand{font-family:Georgia,serif;letter-spacing:.11em;font-size:1.18rem;font-weight:bold}.brand small{display:block;font-family:Arial,sans-serif;font-size:.62rem;letter-spacing:.2em;font-weight:normal;color:#796a60}.menu{margin-left:auto;display:flex;align-items:center;gap:17px;font-size:.91rem}.menu a:hover{color:#9a574b}.btn{display:inline-block;border:1px solid #9a574b;padding:.78rem 1.12rem;border-radius:2px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;margin:.18rem .35rem .18rem 0}.btn.primary{background:#9a574b;color:white}.btn.light{border-color:#fff;color:#fff}.lang{position:relative}.lang summary{cursor:pointer;list-style:none;border:1px solid #d6c7bc;padding:.45rem .6rem}.lang-menu{position:absolute;right:0;top:110%;background:#fff;border:1px solid #e2d5ca;min-width:140px;padding:.4rem;box-shadow:0 10px 30px rgba(0,0,0,.08)}.lang-menu a{display:block;padding:.45rem .6rem}.hero{min-height:78vh;display:flex;align-items:end;background:linear-gradient(90deg,rgba(30,20,15,.58),rgba(30,20,15,.12)),url('../images/hero.jpg') center/cover no-repeat;color:white}.hero .container{padding:7rem 0 5.2rem}.hero h1{font-family:Georgia,serif;font-size:clamp(3.3rem,8vw,7.6rem);line-height:.86;letter-spacing:.03em;margin:.25rem 0 1.3rem}.hero p{max-width:720px;font-size:1.12rem}.facts{margin:1.4rem 0 1.7rem;font-size:.93rem;letter-spacing:.05em}.section{padding:88px 0}.soft{background:#f3ebe4}.rose{background:#e9cbc3}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;color:#9a574b}.section h1,.section h2{font-family:Georgia,serif;font-weight:normal;line-height:1.12;margin:.6rem 0 1.2rem}.section h1{font-size:clamp(2.5rem,6vw,4.7rem)}.section h2{font-size:clamp(2rem,4vw,3.5rem)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.feature-img{width:100%;height:540px;object-fit:cover}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:28px}.card{background:#fff;border:1px solid #eaded3}.card img{width:100%;height:320px;object-fit:cover}.card .pad{padding:25px}.card h3{font-family:Georgia,serif;font-size:1.55rem;font-weight:normal;margin:.1rem 0 .7rem}.strip{display:grid;grid-template-columns:repeat(4,1fr)}.strip img{width:100%;height:330px;object-fit:cover}.booking{background:#29231f;color:#fff;padding:65px 0}.booking h2{font-family:Georgia,serif;font-size:2.8rem;font-weight:normal}.booking-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px}.booking input,.booking select,.booking button{padding:14px;border:0;font-size:1rem}.footer{background:#1d1916;color:#eee;padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.muted{color:#aaa;font-size:.88rem}.mobile-book{display:none}.menu-toggle{display:none;background:none;border:0;font-size:1.5rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery img{width:100%;height:330px;object-fit:cover}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.notice{padding:20px;border-left:4px solid #9a574b;background:#fff}.tag{display:inline-block;border:1px solid #cbaea3;padding:.35rem .65rem;margin:.2rem;font-size:.82rem}.page-hero{padding:88px 0 50px;background:#f3ebe4}.page-hero p{max-width:800px}.coming{background:#eee3db;padding:50px;text-align:center;border:1px dashed #bd9d90}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.form input,.form textarea,.form select{width:100%;padding:13px;margin:0 0 12px;border:1px solid #d7c9be;background:#fff}.form textarea{min-height:150px}.seo-note{font-size:.85rem;color:#777}@media(max-width:900px){.menu-toggle{display:block;margin-left:auto}.menu{display:none;position:absolute;top:78px;left:0;right:0;background:#fffaf6;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid #eaded3}.menu.open{display:flex}.lang{margin-left:0}.grid2,.cards,.room-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.feature-img{height:420px}.strip{grid-template-columns:1fr 1fr}.booking-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.mobile-book{display:block;position:fixed;bottom:16px;right:16px;background:#9a574b;color:white;padding:14px 18px;z-index:60;font-size:.8rem;font-weight:bold;letter-spacing:.08em}.hero{min-height:72vh}}@media(max-width:560px){.hero .container{padding:5rem 0 3.5rem}.section{padding:58px 0}.gallery{grid-template-columns:1fr}.strip img{height:220px}.feature-img{height:350px}.card img{height:260px}}
/* V3 destination page */
.destination-hero{min-height:58vh;display:flex;align-items:end;color:white;background:linear-gradient(90deg,rgba(26,18,13,.66),rgba(26,18,13,.15)),url("https://commons.wikimedia.org/wiki/Special:FilePath/Taroudant%20City%20Walls.jpg?width=2000") center/cover no-repeat}.destination-hero .container{padding:7rem 0 4rem}.destination-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,6.2rem);font-weight:normal;line-height:.95;margin:.5rem 0 1rem}.destination-hero p{max-width:760px;font-size:1.12rem}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.destination-card{background:#fff;border:1px solid #eaded3}.destination-card img{width:100%;height:310px;object-fit:cover}.destination-card .pad{padding:22px}.photo-credit{font-size:.72rem;color:#73685f;margin-top:.55rem;line-height:1.35}.photo-credit a{text-decoration:underline}.wide-photo{width:100%;height:520px;object-fit:cover}.callout{padding:28px 32px;background:#efe1d5;border-left:4px solid #9a574b}.destination-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.destination-links a{border-bottom:1px solid #9a574b}.geo-note{font-size:.92rem;color:#665d57}.source-badge{display:inline-block;font-size:.7rem;padding:.3rem .55rem;background:#f2ece7;border:1px solid #ded1c6;margin-top:.5rem}@media(max-width:900px){.destination-grid{grid-template-columns:1fr}.destination-card img{height:280px}.wide-photo{height:400px}}

/* V4 contact + Darija */
.contact-link{text-decoration:underline;text-underline-offset:3px}.footer .contact-link{color:#fff}.rtl{font-family:Tahoma,Arial,sans-serif}.rtl .menu{margin-left:0;margin-right:auto}.rtl .lang-menu{right:auto;left:0}.rtl .btn{margin:.18rem 0 .18rem .35rem}.rtl .callout{border-left:0;border-right:4px solid #9a574b}.rtl .notice{border-left:0;border-right:4px solid #9a574b}@media(max-width:900px){.rtl .menu-toggle{margin-left:0;margin-right:auto}.rtl .menu{right:0;left:0}.rtl .mobile-book{right:auto;left:16px}}

/* V5 - classified room photography */
.room-card .room-main{width:100%;height:320px;object-fit:cover;display:block}
.room-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.room-thumbs img{width:100%;height:105px;object-fit:cover;border-radius:10px;cursor:zoom-in}
@media(max-width:700px){.room-card .room-main{height:280px}.room-thumbs img{height:90px}}


/* V6 - room lightbox */
.room-main{cursor:zoom-in}
.image-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(18,14,12,.94);display:none;align-items:center;justify-content:center;padding:28px}
.image-lightbox.open{display:flex}
.image-lightbox img{max-width:min(1200px,92vw);max-height:88vh;object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.45)}
.image-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;border-radius:50%;width:46px;height:46px;font-size:28px;line-height:1}
.image-lightbox .lightbox-close{top:18px;right:18px}
.image-lightbox .lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}
.image-lightbox .lightbox-next{right:18px;top:50%;transform:translateY(-50%)}
.image-lightbox .lightbox-caption{position:absolute;left:24px;right:24px;bottom:15px;text-align:center;color:#fff;font-size:.9rem}
.transfer-note{margin-top:22px;padding:20px 22px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07)}
.transfer-note.light{border-color:#dfcec3;background:#fff;color:#302a26}
.transfer-note strong{font-family:Georgia,serif;font-size:1.2rem;font-weight:normal}
@media(max-width:700px){.image-lightbox{padding:14px}.image-lightbox button{width:40px;height:40px}.image-lightbox .lightbox-prev{left:8px}.image-lightbox .lightbox-next{right:8px}.image-lightbox .lightbox-close{top:8px;right:8px}}

/* V7 SEO, flavours & adventure */
.flavour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.flavour-grid img{width:100%;height:300px;object-fit:cover}.seo-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.seo-links a{text-decoration:underline;text-underline-offset:4px}.adventure-callout{background:#efe1d5;padding:32px;border-left:4px solid #9a574b}.airport-badge{display:inline-block;margin-top:12px;padding:8px 12px;border:1px solid #cbaea3;font-weight:700}.rtl .adventure-callout{border-left:0;border-right:4px solid #9a574b}@media(max-width:800px){.flavour-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.flavour-grid{grid-template-columns:1fr}}

/* V9 private riad enquiry */
.private-booking{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(320px,1.4fr);gap:36px;align-items:start}.private-booking-intro{position:sticky;top:110px}.private-booking-form{background:#fff;border:1px solid #e9e0da;border-radius:20px;padding:26px;box-shadow:0 8px 35px #291b1710}.private-booking-form label{display:block;font-weight:600;font-size:.92rem;margin:0 0 14px}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.private-booking-form input:not([type=checkbox]),.private-booking-form textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #bcb3ac;border-radius:9px;background:white;color:#292421;font:inherit;box-sizing:border-box}.private-booking-form input:focus,.private-booking-form textarea:focus{outline:2px solid #a94d58;outline-offset:1px}.private-booking-form .booking-check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.booking-check input{margin-top:5px}.booking-includes{font-weight:600;color:#6d5145}.booking-feedback{margin-top:15px;font-weight:600}.booking-honey{position:absolute;left:-9999px;opacity:0;pointer-events:none}.private-booking-form button{cursor:pointer}.private-booking-form button:disabled{opacity:.6;cursor:wait}@media(max-width:850px){.private-booking{grid-template-columns:1fr}.private-booking-intro{position:static}}@media(max-width:560px){.booking-fields{grid-template-columns:1fr}.private-booking-form{padding:18px}}

.private-rate-table{width:100%;border-collapse:collapse;margin:14px 0 10px;background:#fff;border:1px solid #e9e0da}.private-rate-table td,.private-rate-table th{padding:12px 14px;border-bottom:1px solid #e9e0da;text-align:left}.private-rate-table th{text-align:right;white-space:nowrap;color:#9a574b}.booking-rate-note{font-size:.86rem;color:#685a50}.booking-estimate{background:#f3ebe4;border-left:4px solid #9a574b;padding:14px 16px;margin:12px 0 22px;font-weight:700}

.v11-pricing{background:#fff;border:1px solid #e9e0da;border-radius:18px;padding:22px;margin-bottom:20px}.v11-pricing h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:normal;margin:0 0 14px}.v11-pricing label{display:flex;align-items:center;gap:12px;font-weight:600;flex-wrap:wrap}.v11-pricing select{border:1px solid #bcb3ac;border-radius:8px;padding:9px 12px;background:#fff;font:inherit}.v11-table{margin-top:15px}.v11-table th{font-variant-numeric:tabular-nums}

/* V11 corrective: align seasonal pricing and booking form in right column */
@media (min-width:851px){
 .private-booking{grid-template-areas:"intro pricing" "intro form";grid-template-rows:auto auto;align-items:start;row-gap:20px}
 .private-booking-intro{grid-area:intro}
 .private-booking>.v11-pricing{grid-area:pricing;margin-bottom:0;min-width:0}
 .private-booking>.private-booking-form{grid-area:form;min-width:0}
}
@media (max-width:850px){
 .private-booking{display:flex;flex-direction:column;gap:20px}
 .private-booking>.private-booking-intro,.private-booking>.v11-pricing,.private-booking>.private-booking-form{width:100%;min-width:0;box-sizing:border-box}
 .private-booking>.v11-pricing{margin-bottom:0}
}
