@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');
:root{--black:#0d3540;--ink:#102f3b;--ivory:#eee2cf;--paper:#fbf6ed;--gold:#b68a3b;--gold2:#d9bb7e;--turq:#147b7a;--muted:#667273;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:Manrope,Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit}.wrap{width:min(1220px,calc(100% - 42px));margin:auto}.top{position:fixed;z-index:40;inset:0 0 auto;color:#fff;background:linear-gradient(#090908f4,#090908bb)}.nav{height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{position:relative;display:inline-flex}.logo{height:88px;width:158px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}.reg{position:absolute;right:0;top:9px;color:var(--gold2);font-weight:800}.links{display:flex;align-items:center;gap:19px}.links a{text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.04em}.links a.active{color:var(--gold2);border-bottom:1px solid var(--gold2);padding-bottom:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 23px;background:var(--gold);border:1px solid var(--gold);color:#111;text-decoration:none;font-weight:900;cursor:pointer}.button:hover{background:var(--gold2)}.button.ghost{background:#09090833;color:#fff;border-color:#ffffff66}.eyebrow{margin:0 0 16px;color:var(--gold2);font-size:12px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.hero{min-height:100vh;display:flex;align-items:flex-end;color:#fff;background-position:center;background-size:cover}.hero-copy{max-width:800px;padding:180px 0 70px}.hero h1,.display{font:clamp(48px,7vw,90px)/.94 var(--serif);letter-spacing:-.045em;margin:0}.hero .lead{font-size:clamp(18px,2vw,23px);max-width:720px;margin:22px 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(5,1fr);margin-top:55px;padding-top:20px;border-top:1px solid #ffffff44}.stat{padding:0 16px;border-right:1px solid #ffffff2b}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{display:block;color:var(--gold2);font:28px var(--serif)}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.booking{background:var(--black);color:#fff}.booking .wrap{display:grid;grid-template-columns:1.2fr repeat(3,.8fr) auto;align-items:end;gap:16px;padding:18px 0}.booking label{display:grid;gap:5px;color:#aaa59b;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.booking input,.booking select{border:0;border-bottom:1px solid #ffffff33;background:transparent;color:#fff;padding:8px 0;font:600 15px var(--sans)}.booking option{color:#111}.direct{color:var(--gold2);font-weight:850}section{padding:95px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:40px}.section-title{font:clamp(40px,5vw,68px)/1 var(--serif);letter-spacing:-.04em;margin:0}.section-head p{max-width:520px;margin:0;color:var(--muted)}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px}.copy{font:20px/1.6 var(--serif);margin:0 0 24px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{padding:9px 13px;border:1px solid #d8c9af;background:#fff;font-size:13px;font-weight:750}.dark{background:var(--black);color:#fff}.dark .section-head p{color:#bdb7ae}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:245px;gap:10px}.gallery figure{position:relative;margin:0;overflow:hidden;background:#ddd;cursor:zoom-in}.gallery figure:first-child{grid-column:span 2;grid-row:span 2}.gallery figure:nth-child(6){grid-column:span 2}.gallery figure:nth-child(n+13){display:none}.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;inset:auto 12px 9px;color:#fff;font-weight:800;text-shadow:0 2px 14px #000}.gallery-cta{text-align:center;margin-top:25px}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.amenity{background:#fff;border:1px solid #dfd1b9;padding:22px}.amenity b{display:block;margin:8px 0 2px}.amenity span{color:var(--muted)}.map{height:510px;border:1px solid #ffffff25}.map iframe{width:100%;height:100%;border:0;filter:none}.reviews{background:var(--ivory)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quote{background:#fff;border-top:3px solid var(--gold);padding:27px}.stars{color:#a9782c;letter-spacing:2px}.quote p{font:20px/1.45 var(--serif)}.cta{text-align:center;background:linear-gradient(100deg,#071e1d,#090908 70%);color:#fff}.cta .display{max-width:900px;margin:0 auto 20px}.cta p{max-width:680px;margin:0 auto 28px;color:#d7d1c7;font-size:19px}.properties{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.property{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;text-decoration:none}.property img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.6s}.property:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,#090908e9)}.property:hover img{transform:scale(1.04)}.property-copy{position:relative;z-index:1;padding:28px}.property h2{font:39px/1 var(--serif);color:var(--gold2);margin:0 0 10px}.property p{margin:0 0 18px}.lightbox{display:none;position:fixed;z-index:100;inset:0;background:#050504f3;color:#fff;padding:22px}.lightbox.show{display:grid;grid-template-rows:auto 1fr auto}.lightbox-top{display:flex;justify-content:space-between}.lightbox button{width:48px;height:48px;background:#111;color:#fff;border:1px solid #ffffff55;font-size:25px;cursor:pointer}.lightbox-stage{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:0}.lightbox img{max-width:100%;max-height:78vh;margin:auto}.lightbox-caption{text-align:center;color:var(--gold2)}footer{background:#050504;color:#d6d0c7;padding:52px 0 80px}.footer{display:flex;justify-content:space-between;align-items:end;gap:30px}.footer-logo{height:110px;filter:invert(1)}.footer nav{display:flex;gap:17px;flex-wrap:wrap}.footer a{font-weight:750}.fine{font-size:12px;color:#8d877f}
@media(max-width:950px){.links a:not(.button){display:none}.booking .wrap{grid-template-columns:1fr 1fr}.booking .direct,.booking .button{grid-column:1/-1}.split{grid-template-columns:1fr}.properties{grid-template-columns:1fr}.property{min-height:480px}.gallery{grid-template-columns:1fr 1fr}.amenities,.review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.wrap{width:min(100% - 28px,1220px)}.nav{height:82px}.logo{height:72px;width:124px}.hero{min-height:850px}.hero-copy{padding:150px 0 48px}.hero h1{font-size:51px}.stats{grid-template-columns:1fr 1fr;gap:18px}.stat{border:0;padding:0}.booking .wrap,.amenities,.review-grid{grid-template-columns:1fr}.booking .direct,.booking .button{grid-column:auto}.gallery{display:flex;overflow:auto;scroll-snap-type:x mandatory}.gallery figure{min-width:86vw;height:420px;scroll-snap-align:center}.section-head,.footer{align-items:flex-start;flex-direction:column}section{padding:70px 0}.lightbox{padding:10px}.lightbox-stage{grid-template-columns:40px 1fr 40px}.lightbox button{width:40px}}
.review-shell{position:relative}.review-grid{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.review-grid::-webkit-scrollbar{display:none}.review-grid .quote{flex:0 0 min(410px,84vw);scroll-snap-align:start}.review-nav{display:flex;gap:9px;justify-content:flex-end;margin-top:16px}.review-nav button{width:48px;height:48px;border:1px solid #baa77f;background:transparent;font-size:21px;cursor:pointer}.review-nav button:hover{background:var(--black);color:var(--gold2)}
.language-switcher{display:flex;gap:3px}.language-switcher button{border:1px solid #ffffff55;background:#09090866;color:#fff;padding:7px 8px;font:800 11px var(--sans);cursor:pointer}.language-switcher button.active{background:var(--gold);border-color:var(--gold);color:#111}@media(max-width:950px){.language-switcher{display:flex!important}.language-switcher button{padding:6px}}
.cookie-banner{position:fixed;z-index:200;inset:auto 18px 18px;max-width:720px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px;background:#090908;color:#fff;border:1px solid #c9a15e;box-shadow:0 14px 45px #0008}.cookie-banner p{margin:5px 0 0;color:#c9c4bb;font-size:14px}.cookie-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cookie-actions button,.cookie-settings{border:1px solid #c9a15e;background:transparent;color:inherit;padding:9px 12px;font-weight:800;cursor:pointer}.cookie-actions button[data-cookie="allow"]{background:#c9a15e;color:#111}.cookie-actions a{color:#d9bd87;font-size:13px}.map-consent{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #c9a15e;background:#090908;color:#fff;padding:12px 16px;font-weight:850;cursor:pointer}.map,.map-card{position:relative}@media(max-width:650px){.cookie-banner{align-items:flex-start;flex-direction:column}.cookie-actions{width:100%}}

/* Riad Aqua v14 — direction hôtel-boutique */
body{background:var(--paper);color:var(--ink);font-weight:400}
.top{color:var(--ink);background:rgba(238,226,207,.82);border-bottom:1px solid rgba(255,252,246,.55);box-shadow:0 10px 38px #0d354016,inset 0 -1px 0 rgba(182,138,59,.12);backdrop-filter:blur(22px) saturate(1.18)}
.nav{height:84px}.brand{align-items:center;gap:11px;text-decoration:none;min-width:205px}.logo-mark{width:62px;height:46px;object-fit:contain}.logo-wordmark{width:128px;height:auto;object-fit:contain}.brand .reg{position:static;align-self:flex-start;margin:12px 0 0 -8px;color:var(--gold);font-size:9px}
.links{gap:24px}.links a{font:500 15px/1 var(--serif);letter-spacing:.01em}.links a.active{color:var(--gold);border-color:var(--gold)}
.button{min-height:48px;padding:0 22px;border-radius:999px;background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600;box-shadow:0 7px 22px #9f752228;transition:.25s}.button:hover{background:#9f762f;transform:translateY(-1px)}.button.ghost{background:#fff;color:var(--ink);border-color:#fff}
.eyebrow{color:var(--gold);font-size:11px;font-weight:600;letter-spacing:.28em}.hero{min-height:820px;align-items:center;background-color:var(--ink)}.hero-copy{padding:160px 0 95px;max-width:760px}.hero h1,.display{font-weight:500;letter-spacing:-.035em}.hero .lead{font:400 clamp(19px,2vw,24px)/1.45 var(--serif)}
.stats{margin-top:48px;padding:20px 22px;background:#fffdf812;border:1px solid #ffffff2e;border-radius:16px;backdrop-filter:blur(9px)}.stat strong{color:#ead5aa}.stat span{font-size:10px;letter-spacing:.12em}
section{padding:105px 0}.section-title{font-weight:500}.copy{font-size:22px}.chip{background:transparent;border:0;border-bottom:1px solid #c9ad78;padding:10px 2px;font:500 14px var(--sans);color:var(--ink)}
.dark{background:var(--ink)}.dark .section-head p{color:#d7dfdf}.dark .eyebrow{color:#d8bb82}.properties{gap:20px}.property{min-height:570px;border-radius:18px;box-shadow:0 16px 45px #061c2330}.property:after{background:linear-gradient(transparent 25%,#092e38ee)}.property-copy{padding:32px}.property h2{color:#fff;font-size:42px;font-weight:500}.property p{font:17px/1.45 var(--serif)}
.amenity,.quote{border:0;border-radius:14px;box-shadow:0 10px 32px #0d35400d}.quote{border-top:2px solid var(--gold)}.booking{background:var(--ivory);color:var(--ink);box-shadow:0 16px 46px #0d354014}.booking .wrap{padding:22px 0}.booking label{color:#857a6b}.booking input,.booking select{color:var(--ink);border-bottom-color:#0d354033}.direct{color:var(--gold)}
.map{border:0;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px #04191f26}.reviews{background:var(--ivory)}.cta{background:var(--ink)}.cta p{color:#dbe2e1}
footer{background:#082c35;color:#eef2ef}.footer{align-items:center}.footer .brand{filter:invert(1);opacity:.96}.footer .brand .reg{filter:invert(1)}.footer nav{align-items:center}.footer a{font-weight:500;text-decoration:none}.cookie-banner{background:var(--ink);border-color:var(--gold);border-radius:16px}.cookie-actions button,.cookie-settings{border-radius:999px;font-weight:600}
@media(max-width:950px){.brand{min-width:0}.hero{min-height:780px}.properties{grid-template-columns:1fr}.property{min-height:520px}}
@media(max-width:600px){.nav{height:72px}.logo-mark{width:46px;height:35px}.logo-wordmark{width:100px}.brand{gap:8px}.brand .reg{margin-top:7px}.hero{min-height:780px;background-position:60% center}.hero-copy{padding:130px 0 55px}.hero h1{font-size:48px}.stats{padding:17px}.button{min-height:46px}.property{min-height:460px;border-radius:14px}.property h2{font-size:36px}section{padding:76px 0}}

/* Accueil lumineux et pictogrammes */
.home-hero{color:var(--ink);background-position:center;background-size:cover}.home-hero .eyebrow{color:#9a6f28}.home-hero .lead{color:#243f47}.home-hero .button{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 10px 28px #0d354030}.home-hero .button.ghost{background:#fffdf8d9;border-color:#0d354044;color:var(--ink)}
.home-hero .stats{background:#fffdf8dd;border-color:#fff;box-shadow:0 16px 42px #0d35401a}.home-hero .stat{border-right-color:#0d354024}.home-hero .stat strong{color:var(--ink)}.home-hero .stat span{color:#425b62}
.home-benefits{padding:0;background:radial-gradient(circle at 50% -35%,rgba(255,253,248,.92) 0%,rgba(246,237,223,.78) 38%,rgba(238,226,207,.98) 100%);border-bottom:1px solid #d8cbb7;box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 12px 42px #b68a3b0a}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.benefit-item{padding:42px 28px;text-align:center;border-right:1px solid #d8cbb7}.benefit-item:last-child{border-right:0}.benefit-item svg{width:42px;height:42px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:17px}.benefit-item h2{margin:0 0 8px;font:600 12px/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}.benefit-item p{max-width:230px;margin:0 auto;color:var(--muted);font:17px/1.35 var(--serif)}
@media(max-width:850px){.benefit-grid{grid-template-columns:1fr 1fr}.benefit-item:nth-child(2){border-right:0}.benefit-item:nth-child(-n+2){border-bottom:1px solid #d8cbb7}}
@media(max-width:600px){.home-hero{background-position:61% center;background-image:linear-gradient(90deg,#fffdf8df 0%,#fffdf89d 52%,#fffdf81d 82%),url('../assets/collection-hero-v14.jpg')!important}.home-hero .hero-copy{padding-bottom:42px}.home-hero .stats{grid-template-columns:1fr 1fr}.benefit-grid{grid-template-columns:1fr 1fr}.benefit-item{padding:30px 15px}.benefit-item h2{font-size:11px}.benefit-item p{font-size:15px}}

/* Pages propriétés : lumière, pictogrammes et équipements détaillés */
.property-page .hero{color:var(--ink);background-position:center}.property-page .hero .eyebrow{color:#966c27}.property-page .hero .lead{color:#29464f}.property-page .hero .button{background:var(--ink);border-color:var(--ink);color:#fff}.property-page .hero .button.ghost{background:#fffdf8dc;border-color:#0d354044;color:var(--ink)}.property-page .hero .stats{background:#fffdf8e3;border-color:#fff;box-shadow:0 16px 42px #0d35401b}.property-page .hero .stat{border-right-color:#0d354024}.property-page .hero .stat strong{color:var(--ink)}.property-page .hero .stat span{color:#405b62}
.stat-link a{color:inherit;text-decoration:none;border-bottom:1px solid var(--gold)}.amenity{position:relative;padding:26px 22px}.amenity-icon{display:grid;width:42px;height:42px;place-items:center;margin-bottom:14px;color:var(--gold)}.amenity-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.amenity>b{font:600 20px/1.2 var(--serif);color:var(--ink)}
.equipment-details{margin-top:24px;background:#fffdf8;color:var(--ink);border-radius:16px;box-shadow:0 12px 36px #061c2318}.equipment-details summary{list-style:none;padding:20px 24px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.equipment-details summary::-webkit-details-marker{display:none}.equipment-details summary:after{content:'+';font:28px/1 var(--serif);color:var(--gold)}.equipment-details[open] summary:after{content:'−'}.equipment-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 24px 26px;border-top:1px solid #e1d5c3}.equipment-list h3{margin:22px 0 10px;font:600 19px var(--serif);color:var(--ink)}.equipment-list ul{margin:0;padding-left:18px;color:var(--muted)}.equipment-list li{margin:5px 0}.equipment-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px}
@media(max-width:760px){.property-page .hero{background-position:62% center}.property-page .hero h1{max-width:92%}.property-page .hero .stats{grid-template-columns:1fr 1fr}.equipment-list{grid-template-columns:1fr}.equipment-note{grid-column:auto}}

/* v17 — couvertures équilibrées, avantages par adresse et repères de carte fixes */
.home-hero .hero-copy,.property-page .hero .hero-copy{width:min(760px,calc(100% - 64px));margin-left:max(32px,calc((100vw - 1540px)/2));margin-right:auto;max-width:760px}
.home-hero .hero-copy,.property-page .hero .hero-copy{text-shadow:0 1px 0 #fffdf8a8}
.property-benefits{position:relative;z-index:2;box-shadow:0 12px 36px #0d354010}
.property-benefits .benefit-item{background:transparent}
.property-benefits .benefit-item p{max-width:250px}
.property-map-pin{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;pointer-events:none;filter:drop-shadow(0 8px 8px #07191f55)}
.property-map-pin .pin-bubble{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 12px 8px 9px;border:2px solid var(--gold);border-radius:999px;background:#fffdf8;color:var(--ink);font:600 13px/1 var(--sans)}
.property-map-pin .pin-bubble img{width:31px;height:26px;object-fit:contain}
.property-map-pin:after{content:"";width:14px;height:14px;margin-top:-2px;background:#fffdf8;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg)}
.guide-card .property-copy .eyebrow{color:#ffe4a4;font-weight:700;text-shadow:0 2px 12px #001820,0 1px 2px #001820}
.top .links a.active{color:#865d1c;border-color:#a8782b;font-weight:600}
.guided-tour{padding-top:76px;padding-bottom:76px;background:linear-gradient(135deg,rgba(251,246,237,.98),rgba(238,226,207,.84))}.tour{display:grid;grid-template-columns:1.15fr .85fr;min-height:600px;overflow:hidden;background:rgba(238,226,207,.82);border:1px solid rgba(182,138,59,.16);box-shadow:0 18px 54px #0d354014}.tour-media{position:relative;overflow:hidden;min-height:600px}.tour-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease,transform .8s ease;transform:scale(1.015)}.tour-media img.active{opacity:1;transform:scale(1)}.tour-copy{padding:55px;display:flex;flex-direction:column;justify-content:center}.tour-copy .section-title{font-size:clamp(46px,5vw,76px)}.steps{display:grid;margin-top:22px}.step{padding:15px 16px;border:0;border-bottom:1px solid #bda983;background:transparent;text-align:left;color:var(--ink);font:600 15px var(--sans);cursor:pointer;transition:.2s}.step:hover{background:#fffdf866}.step.active{background:var(--ink);color:#f6d58d}.language-switcher button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px #fff6}
@media(max-width:900px){.tour{grid-template-columns:1fr}.tour-media{min-height:470px}.tour-copy{padding:38px 26px}}
@media(max-width:760px){.home-hero .hero-copy,.property-page .hero .hero-copy{width:calc(100% - 28px);margin-left:14px}.property-map-pin .pin-bubble{font-size:11px;padding-right:9px}.property-map-pin .pin-bubble img{width:25px;height:21px}}
