@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#f7f5f0;--ink:#302d29;--wine:#9C7C46;--muted:#6c6861;--line:#d9d4c9;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #b49458;outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06}h1{font-size:clamp(3.7rem,6.5vw,7rem)}h2{font-size:clamp(2.6rem,4.2vw,4.6rem)}h3{font-size:2.25rem}em{font-weight:400}p+p{margin-top:20px}.eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;margin-bottom:25px}.section{padding:105px max(6vw,24px)}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--wine);border:1px solid var(--wine);color:white;padding:16px 28px;font-size:14px;letter-spacing:.02em;transition:background .2s}.button:hover{background:#6a4c43}.button.small{padding:11px 22px}.button.outline{background:transparent;border-color:#ffffffa6}.button.outline:hover{background:#ffffff20}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:7px;font-size:14px;font-weight:600}.text-link:hover{color:#876751}.skip{position:fixed;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:0}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 4vw;background:var(--paper);border-bottom:1px solid var(--line);z-index:5;position:relative}.home .header{position:absolute;inset:0 0 auto;color:white;background:transparent;border-bottom:1px solid #ffffff30}.brand{display:block;flex-shrink:0;text-align:center;line-height:1}.brand>span{display:block;font-family:var(--serif);font-size:32px;letter-spacing:.12em}.brand small{display:block;font-size:9px;letter-spacing:.3em;margin-top:10px}.header nav{display:flex;align-items:center;gap:27px}.header nav a{font-size:14px}.header nav a:hover{opacity:.65}.header-end{display:flex;align-items:center;gap:24px}.language{font-size:12px}.home .header .button{background:#f7f5f0;color:var(--ink);border-color:#f7f5f0}.menu-toggle{display:none;background:none;color:inherit;border:0;font-size:25px}.hero{min-height:760px;height:100svh;max-height:1100px;color:white;position:relative;display:flex;align-items:center;padding:145px 8vw 130px;background:#3f3d35}.hero-slides,.hero-image,.hero-shade{position:absolute;inset:0;height:100%;width:100%}.hero-image{opacity:0;transition:opacity .65s;object-fit:cover}.hero-image.active{opacity:1}.hero-shade{background:linear-gradient(90deg,#161914b8 0%,#181b1440 70%),linear-gradient(0deg,#10151070,transparent 40%,#10151025)}.hero-copy{position:relative;max-width:840px}.hero-copy .eyebrow{margin-bottom:30px;color:#eee7d6}.hero h1{font-size:clamp(4.4rem,7.8vw,8.8rem);line-height:.99;letter-spacing:-.035em}.hero h1 em{color:#eee6d6}.hero-copy p{margin:28px 0 36px;font-size:16px}.hero-bottom{position:absolute;bottom:32px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.17em}.hero-bottom>a{font-size:11px}.hero-bottom>a span{font-size:23px;margin-left:10px}.slide-controls{display:flex;gap:18px}.slide-controls button{background:none;border:0;border-bottom:1px solid #ffffff40;color:#ffffff99;padding:9px 10px;font-size:13px}.slide-controls button.active{border-bottom-color:white;color:white}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:10vw;border-bottom:1px solid var(--line)}.intro-copy{max-width:500px;padding-top:20px;color:var(--muted);font-size:16px}.intro-copy .text-link{margin-top:25px;color:var(--ink)}.rooms-section{padding-top:90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:18px}.section-heading .text-link{flex-shrink:0;margin-bottom:6px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 26px}.room-photo{position:relative;overflow:hidden;aspect-ratio:4/4.4;background:#d8d3ca}.room-photo img{height:100%;transition:transform .6s}.room-card:hover img{transform:scale(1.035)}.room-number{position:absolute;top:16px;left:18px;color:white;font-size:12px;background:#302d2980;padding:2px 9px}.photo-cta{position:absolute;bottom:22px;left:22px;color:white;font-size:12px;opacity:0;transition:opacity .2s;background:#302d29a0;padding:6px 12px}.room-card:hover .photo-cta,.room-card:focus-visible .photo-cta{opacity:1}.card-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.card-line>span{font-size:10px;letter-spacing:.14em;color:var(--muted)}.room-card p{font-size:13px;color:var(--muted);margin-top:9px}.experience-split{display:grid;grid-template-columns:1.15fr 1fr;background:#e9e5dc}.experience-photo{min-height:640px}.experience-photo img{height:100%}.experience-copy{padding:80px 7vw}.experience-copy h2{font-size:clamp(3.4rem,5.5vw,6rem)}.experience-copy p{margin:30px 0;color:var(--muted);font-size:16px;max-width:370px}.location-section{text-align:center}.location-section p{margin:27px auto;color:var(--muted);max-width:660px}.stay{text-align:center;background:var(--wine);color:white;padding:85px 24px 95px}.stay .eyebrow{color:#d9cab9}.stay h2{font-size:clamp(3rem,5.3vw,5.6rem);margin-bottom:33px}.stay .button{border-color:#bfb0a2;background:transparent}.stay .button:hover{background:#ffffff10}footer{padding:65px 5vw 25px;background:#efede7}.footer-main{display:grid;grid-template-columns:1fr 1.1fr 1.5fr 1.3fr;gap:35px;padding-bottom:55px}.footer-main>.brand{align-self:start;justify-self:start}.footer-main p,.footer-main>div>a{font-size:12px;color:var(--muted)}.footer-main>div>a{display:block;line-height:2.2}.footer-main .eyebrow{font-size:10px;margin:0 0 13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:12px;color:var(--muted)}.footer-bottom>div{display:flex;gap:25px}.page-heading{text-align:center;padding:85px 24px 70px;border-bottom:1px solid var(--line)}.page-heading .eyebrow{margin-bottom:25px}.page-heading p{max-width:630px;margin:25px auto 0;color:var(--muted)}.room-list{padding-top:40px}.comfort{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;font-size:14px;margin-bottom:55px}.comfort1{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;font-size:14px;margin-bottom:5px}.comfort span:before{content:'·';margin-right:20px}.comfort1 span:before{content:'·';margin-right:20px}.room-detail{display:grid;grid-template-columns:1.15fr 1fr;min-height:690px}.room-detail>div:first-child img{height:100%;max-height:850px}.room-detail-copy{padding:80px 5vw}.room-detail h1{font-size:5rem;margin:18px 0}.room-detail h2{font-size:2rem;margin-bottom:23px}.room-detail p{color:var(--muted);font-size:16px}.amenities{padding:0;list-style:none;margin:25px 0 30px;font-size:14px}.amenities li{border-bottom:1px solid var(--line);padding:9px 0}.booking-note{font-size:12px!important;margin-top:18px!important}.editorial{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw}.editorial img{aspect-ratio:1/1.05}.editorial h2{margin-bottom:27px}.editorial p{font-size:16px;color:var(--muted)}.editorial .text-link{margin-top:30px}.wide-photo{height:480px}.wide-photo img{height:100%}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;background:#eae6dc}.services .eyebrow{font-size:11px}.services h3{font-size:2.1rem;margin-bottom:20px}.services p{font-size:14px;color:var(--muted)}.filters{display:flex;justify-content:center;gap:25px;margin-bottom:45px}.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:9px 5px;font-size:14px;color:var(--muted)}.filters button.active{border-color:var(--wine);color:var(--wine)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-item{position:relative;border:0;background:none;padding:0;overflow:hidden;aspect-ratio:4/3}.gallery-item img{height:100%;transition:transform .3s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item>span{position:absolute;bottom:12px;right:12px;background:#f7f5f0;padding:0 10px;font-size:22px}.gallery-item[hidden]{display:none}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-grid h2{font-size:3rem;margin-bottom:32px}.contact-grid p{font-size:16px;color:var(--muted)}.contact-grid .text-link{margin-top:25px}.contact-value{display:block;font-family:var(--serif);font-size:2.5rem}.contact-email{display:block;font-size:16px;margin-top:10px;overflow-wrap:anywhere}.reservation-block{background:#e9e5dc;display:flex;align-items:center;justify-content:space-between;gap:35px}.reservation-block p{font-size:14px;margin-top:20px}.legal{max-width:950px;margin:auto}.legal h2{font-size:2.3rem;margin-bottom:20px}.legal p{margin-bottom:40px}.legal a{text-decoration:underline}dialog{border:0;padding:0}dialog::backdrop{background:#161813d9}.lightbox{background:transparent;max-width:94vw;max-height:94svh;overflow:visible;color:white}.lightbox>img{max-height:82svh;max-width:90vw;width:auto;object-fit:contain}.lightbox>button{position:absolute;right:0;top:-45px;background:none;border:0;color:white;font-size:30px}.lightbox p{text-align:center;font-size:14px;margin-top:10px}#mobile-menu{background:var(--paper);color:var(--ink);width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:26px}.menu-top{display:flex;align-items:center;justify-content:space-between}.menu-top button{border:0;background:none;font-size:32px}#mobile-menu nav{display:flex;flex-direction:column;margin:60px 0 35px}#mobile-menu nav a{font-family:var(--serif);font-size:2rem;line-height:1.2;padding:15px 0;border-bottom:1px solid var(--line)}
@media(min-width:1500px){.section{padding-left:max(8vw,calc((100vw - 1350px)/2));padding-right:max(8vw,calc((100vw - 1350px)/2))}}@media(max-width:1100px){.header nav{gap:18px}.header nav a{font-size:12px}.header-end{gap:14px}.header{padding:23px 3vw}.brand>span{font-size:28px}.intro{gap:6vw}.footer-main{grid-template-columns:1fr 1fr}.experience-photo{min-height:550px}.room-detail-copy{padding:55px 4vw}.room-detail h1{font-size:4rem}}@media(max-width:850px){.header nav{display:none}.menu-toggle{display:block}.header{padding:20px 5vw}.hero{min-height:700px}.intro,.editorial{gap:40px}.section{padding:70px 5vw}.room-grid{gap:32px 18px}.card-line{display:block}.card-line>span{display:none}.room-photo{aspect-ratio:3/4}.experience-copy{padding:60px 5vw}.experience-photo{min-height:500px}.services{gap:25px}.room-detail{grid-template-columns:1fr 1fr;min-height:600px}.contact-grid{gap:40px}.contact-grid h2{font-size:2.5rem}.contact-value{font-size:2rem}.reservation-block{align-items:start;flex-direction:column}}
@media(max-width:600px){.header-end .language{display:none}.brand>span{font-size:25px}.brand small{font-size:8px;margin-top:8px}.header .button.small{padding:9px 14px;font-size:12px}.header-end{gap:14px}.hero{height:90svh;min-height:670px;max-height:900px;padding:135px 7vw 140px}.hero h1{font-size:4.3rem}.hero-copy .eyebrow{font-size:10px;letter-spacing:.17em}.hero-copy p{font-size:14px;max-width:240px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#121610bb,#12161040)}.hero-bottom{left:7vw;right:7vw;bottom:25px}.hero-bottom>span{font-size:9px}.hero-bottom>a{display:none}.slide-controls{gap:8px}.intro,.editorial,.experience-split,.contact-grid,.room-detail{grid-template-columns:1fr}.intro-copy{padding-top:0;font-size:16px}.section-heading{display:block}.section-heading .text-link{margin-top:23px}.room-grid{grid-template-columns:1fr}.room-photo{aspect-ratio:1.15}.card-line{display:flex}.card-line>span{display:block}.room-card p{font-size:14px}.room-card h3{font-size:2.4rem}.photo-cta{opacity:1;bottom:18px;left:18px}.experience-photo{min-height:0;height:350px}.experience-copy{padding:55px 7vw}.experience-copy h2{font-size:4rem}.location-section p br{display:none}.location-section p{font-size:16px}.footer-main{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.footer-main p,.footer-main>div>a{font-size:14px}.footer-bottom{flex-direction:column;font-size:12px}.footer-bottom>span:last-child{display:none}.page-heading{padding:60px 6vw 50px}.page-heading h1{font-size:3.6rem}.page-heading p{font-size:16px}.comfort{gap:10px 25px;font-size:13px;margin-bottom:35px}.comfort span:before{margin-right:8px}.room-detail>div:first-child img{height:360px}.room-detail-copy{padding:45px 6vw}.room-detail h1{font-size:4.5rem}.room-detail p{font-size:16px}.editorial img{aspect-ratio:1.1}.editorial p{font-size:16px}.wide-photo{height:300px}.services{grid-template-columns:1fr;gap:40px}.services p{font-size:16px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-item{aspect-ratio:1}.gallery-grid .gallery-item:nth-child(5n + 1){grid-column:span 2;aspect-ratio:1.5}.filters{gap:20px}.filters button{font-size:13px}.contact-grid>div+div{border-top:1px solid var(--line);padding-top:40px}.contact-grid p{font-size:16px}.stay{padding:70px 6vw}.stay .eyebrow{font-size:10px}.eyebrow{font-size:11px}.lightbox>img{max-width:92vw}.lightbox{max-width:94vw}.reservation-block h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Barre et tiroir de réservation, adaptés au modèle Riad Jona. */
:root{--booking-gold:#9C7C46;--booking-dark:#9C7C46;--staybar-height:0px}.staybar{background:#fff;border-top:1px solid #e6dccb;z-index:30;font-family:Georgia,serif}.staybar-inner{display:flex;align-items:stretch;margin:0}.staybar h2{display:flex;align-items:center;font-size:1.5rem;padding:20px 35px;white-space:nowrap;flex-shrink:0}.stay-dates,.guest-field{padding:12px 20px;border-left:1px solid #ece6da;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0}.field-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--booking-dark);margin-bottom:6px;display:block}.dates-trigger{background:none;border:0;color:var(--ink);width:100%;padding:0;min-height:45px}.dates-trigger svg{display:none}.date-summary{font-size:14px}.guest-step{display:flex;align-items:center;gap:8px}.guest-step button{border:1px solid #d8cdb8;color:var(--booking-dark);background:white;border-radius:50%;height:32px;width:32px;line-height:1;font-size:20px}.guest-step button:hover:not(:disabled){background:var(--booking-gold);color:white}.guest-step button:disabled{opacity:.35;cursor:default}.guest-step input{width:38px;padding:0;text-align:center;font:inherit;font-size:16px;border:0;background:none;color:var(--ink);appearance:textfield;-moz-appearance:textfield}.guest-step input::-webkit-inner-spin-button,.guest-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stay-search{align-self:center;background:var(--booking-gold);color:#fff;font-family:Georgia,serif;border:0;border-radius:50px;padding:7px 30px;margin:0 25px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 16px #9C7C4640}.stay-search:hover{background:var(--booking-dark)}.native-dates{display:flex;gap:12px;font-size:14px}.native-dates input{display:block;max-width:150px;padding:8px;border:1px solid #d8cdb8}.booking-enhanced .native-dates{display:none}.booking-enhanced .staybar{position:fixed;left:0;bottom:0;right:0;box-shadow:0 -6px 26px #00000017;transform:translateY(110%);transition:transform .55s cubic-bezier(.22,.61,.36,1)}.booking-enhanced .staybar.is-visible{transform:translateY(0)}.booking-enhanced{padding-bottom:var(--staybar-height)}.booking-error{font-size:14px;color:#922d28;padding:8px 20px;margin:0}.direct-drawer{position:fixed;bottom:var(--staybar-height);left:0;z-index:29;font-family:Georgia,serif;max-width:100vw}.booking-enhanced:not(.booking-shown) .direct-drawer{visibility:hidden}.direct-drawer summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 26px;background:var(--booking-gold);color:white;border-radius:0 10px 0 0;cursor:pointer;font-family:var(--serif);font-size:1.4rem;line-height:1.1;box-shadow:0 -5px 20px #0003}.direct-drawer summary::-webkit-details-marker{display:none}.direct-drawer[open] summary{width:360px;max-width:100vw}.drawer-plus{font-size:22px}.direct-drawer[open] .drawer-plus{transform:rotate(45deg)}.gift-icon{display:none;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}.direct-card{position:relative;width:360px;max-width:100vw;background:linear-gradient(#fbfaf8,#f5f1ea);border:1px solid #e6dccb;box-shadow:0 16px 46px #0003;border-radius:0 0 12px 0;padding:35px 30px 25px;max-height:calc(100svh - var(--staybar-height) - 110px);overflow-y:auto;overscroll-behavior:contain}.direct-close{position:absolute;right:10px;top:9px;width:32px;height:32px;border:1px solid #d9cfbe;border-radius:50%;background:none;color:var(--booking-dark);font-size:22px}.direct-card .eyebrow{text-align:center;font-family:var(--sans);font-size:11px;color:var(--booking-dark);margin:10px 0 15px;letter-spacing:.17em}.direct-card h3{text-align:center;font-size:1.7rem;line-height:1.2}.gold-rule{height:1px;background:#bba67d;width:42px;margin:18px auto}.direct-sub{text-align:center;font-style:italic;font-size:16px;line-height:1.6;color:#6a6258}.direct-perks{list-style:none;padding:0;margin:25px 0;display:grid;gap:20px}.direct-perks li{display:flex;align-items:flex-start;gap:15px;font-size:16px;line-height:1.45;color:#5a534a}.direct-perks li>span,.direct-perks svg{width:21px;flex-shrink:0;color:var(--booking-gold);margin-top:2px}.direct-perks svg{height:21px;stroke:currentColor;fill:none;stroke-width:1.5}.direct-perks strong{font-weight:400;color:#302d29}.direct-perks p{font-size:11px;margin-top:5px}.direct-foot{border-top:1px solid #e4ddd0;padding-top:20px;text-align:center}.direct-foot p{font-size:14px;color:#6a6258}.direct-foot .stay-search{margin:18px 0 12px}.direct-foot small{display:block;font-size:12px;color:#6a6258}.stay-calendar{position:fixed;top:auto;bottom:calc(var(--staybar-height) + 12px);left:50%;transform:translateX(-50%);margin:0;background:#fff;border:1px solid #e6dccb;border-radius:12px;padding:20px;width:600px;max-width:calc(100vw - 24px);max-height:calc(100svh - var(--staybar-height) - 24px);overflow:auto;box-shadow:0 18px 52px #0004;color:var(--ink)}.stay-calendar::backdrop{background:#0002}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-heading h2{font-size:1.5rem}.calendar-heading button{border:0;background:none;font-size:25px;min-width:35px;min-height:35px}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin:14px 0;font-size:12px;color:var(--booking-dark)}.calendar-nav button{width:35px;height:35px;background:#fff;border:1px solid #d8cdb8;border-radius:50%;font-size:23px;color:var(--booking-dark)}.calendar-nav button:disabled{opacity:.3;cursor:default}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:25px}.calendar-month h3{text-align:center;font-size:1.45rem;margin-bottom:15px;text-transform:capitalize}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.calendar-week span{font-size:11px;color:var(--booking-dark);padding-bottom:9px}.calendar-days button,.calendar-days>span{height:36px;min-width:0;padding:0;border:0;font-family:Georgia,serif;font-size:14px;background:none;border-radius:50%;color:var(--ink)}.calendar-days button:hover:not(:disabled){background:#eee4d2}.calendar-days button:disabled{color:#c8c3ba;cursor:default}.calendar-days button.in-range{border-radius:0;background:#f3ecdd}.calendar-days button.selected{background:var(--booking-gold);color:white}.calendar-status{font-size:14px;text-align:center;margin-top:15px;min-height:24px}.calendar-reset{background:none;border:0;text-decoration:underline;display:block;margin:10px auto 0;color:var(--booking-dark);font-size:14px}
@media(max-width:1100px){.staybar h2{padding:15px 22px;font-size:1.3rem}.stay-dates,.guest-field{padding:10px 12px}.stay-search{margin:0 16px;padding:12px 24px}}
@media(max-width:860px){.staybar-inner{flex-wrap:wrap}.staybar h2{display:none}.stay-dates,.guest-field{flex:1 1 33.333%;border-left:0;padding:10px 6px}.stay-search{flex:1 1 100%;margin:6px 16px 10px;padding:12px}.native-dates{flex-direction:column}.direct-foot .stay-search{width:auto}.staybar{padding-bottom:env(safe-area-inset-bottom,0px)}}
@media(max-width:600px){.dates-trigger>.field-label{display:none}.dates-trigger svg{display:block;width:25px;height:25px;fill:none;stroke:var(--booking-gold);stroke-width:1.6;margin:0 auto}.date-summary{display:none}.dates-trigger.has-dates .date-summary{display:block;font-size:11px;margin-top:4px;line-height:1.2}.guest-step{gap:5px}.guest-step button{width:30px;height:30px}.guest-step input{width:25px}.field-label{font-size:11px}.direct-drawer:not([open]) summary{padding:10px 15px;gap:8px;min-height:44px}.direct-drawer:not([open]) summary>span[lang]{display:none}.direct-drawer:not([open]) .gift-icon{display:block}.direct-drawer[open] summary,.direct-card{width:min(80vw,340px)}.direct-card{padding:30px 22px 20px}.direct-drawer[open] summary{font-size:1.25rem;padding:12px 22px}.direct-card h3{font-size:1.5rem}.calendar-months{grid-template-columns:1fr;gap:25px}.stay-calendar{width:350px;padding:16px}.calendar-days button{height:39px}.calendar-heading h2{font-size:1.3rem}.calendar-month h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.booking-enhanced .staybar{transition:none}}
/* Ajustements de proportions et centrage des commandes. */
.staybar h2{font-size:1.35rem;line-height:1.2;padding:16px 28px}
.staybar .stay-dates{flex:1.5;padding:10px 16px}
.staybar .guest-field{flex:.8;padding:10px 14px}
.staybar .field-label{line-height:1.25;margin-bottom:5px}
.staybar .stay-search{display:inline-flex;align-items:center;justify-content:center;line-height:1.25;padding:11px 28px;margin:0 22px}
.guest-step button{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;font-family:Arial,sans-serif}
.direct-close{display:grid;place-items:center;padding:0;font-size:0;line-height:1}
.direct-close::before,.direct-close::after{content:'';position:absolute;top:50%;left:50%;width:13px;height:1.5px;background:currentColor;border-radius:1px;transform:translate(-50%,-50%) rotate(45deg)}
.direct-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.calendar-nav .month-prev,.calendar-nav .month-next{position:relative;display:grid;place-items:center;padding:0;font-size:0;line-height:1;flex-shrink:0}
.calendar-nav .month-prev::before,.calendar-nav .month-next::before{content:'';position:absolute;top:50%;left:50%;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.calendar-nav .month-prev::before{transform:translate(-35%,-50%) rotate(135deg)}
.calendar-nav .month-next::before{transform:translate(-65%,-50%) rotate(-45deg)}
@media(min-width:861px) and (max-width:1100px){
 .staybar h2{font-size:1.2rem;padding:14px 20px}
 .staybar .stay-dates,.staybar .guest-field{padding:9px 10px}
 .staybar .stay-search{font-size:13px;padding:10px 22px;margin:0 16px}
}
@media(max-width:860px){
 .staybar .stay-dates,.staybar .guest-field{flex:1 1 33.333%;padding:7px 8px}
 .staybar .stay-search{flex:1 1 100%;margin:4px 16px 7px;padding:8px 20px;min-height:36px;font-size:13px;line-height:20px}
 .staybar .field-label{margin-bottom:3px}
 .staybar .dates-trigger{min-height:42px}
}
@media(max-width:600px){
 .staybar .stay-dates,.staybar .guest-field{padding:6px}
 .staybar .guest-step{gap:7px}
 .staybar .guest-step button{width:28px;height:28px;font-size:18px}
 .staybar .dates-trigger svg{width:23px;height:23px}
 .staybar .stay-search{margin:3px 14px 6px;letter-spacing:.06em}
}

.direct-drawer .drawer-plus1 {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: rotate(180deg);
  transition: transform .25s ease;
}

.direct-drawer[open] .drawer-plus1 {
  transform: rotate(0deg);
}/* Navigation FR/EN, WhatsApp mobile et navigation de galerie. */
.header-whatsapp{display:none}
.language-switch{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-family:var(--sans);font-size:13px;line-height:1.4}
.language-switch [aria-current]{font-weight:700}
.language-switch>span[aria-hidden]{opacity:.5}
.language-switch a{padding:10px 2px;text-decoration:underline;text-underline-offset:4px}
#mobile-menu>.language-switch{margin-top:22px;font-size:16px}
.lightbox{width:min(1100px,94vw);padding:48px 60px 42px;max-height:96svh;overflow:auto}
.lightbox>img{max-width:100%;max-height:calc(96svh - 130px);width:auto;height:auto;margin:auto;object-fit:contain}
.lightbox>button.lightbox-close{position:absolute;top:0;right:8px;width:40px;height:40px;display:grid;place-items:center;padding:0;line-height:1}
.lightbox>button.gallery-prev,.lightbox>button.gallery-next{position:absolute;top:50%;bottom:auto;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff80;border-radius:50%;color:white;background:#302d2999;line-height:1}
.lightbox>button.gallery-prev{left:4px;right:auto}
.lightbox>button.gallery-next{right:4px;left:auto}
.lightbox>button.gallery-prev:hover,.lightbox>button.gallery-next:hover{background:#9C7C46}
.lightbox>button:disabled{opacity:.35;cursor:default}
.lightbox>button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lightbox p{margin-top:14px}
@media(max-width:850px){
 .header .header-book{display:none}
 .header-whatsapp{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;color:inherit;border:1px solid currentColor;border-radius:50%}
 .header-whatsapp svg{width:23px;height:23px}
 .header-end{gap:13px}
 .header-end .language-switch{display:inline-flex;order:-1}
}
@media(max-width:600px){
 .lightbox{padding:45px 0 65px;width:94vw;overflow:auto}
 .lightbox>img{max-height:calc(96svh - 155px)}
 .lightbox>button.gallery-prev,.lightbox>button.gallery-next{top:auto;bottom:3px;transform:none}
 .lightbox>button.gallery-prev{left:calc(50% - 54px)}
 .lightbox>button.gallery-next{right:calc(50% - 54px)}
}
@media(max-width:380px){
 .header{padding:17px 12px;gap:10px}
 .header .brand>span{font-size:21px}
 .header-end{gap:9px}
 .header .language-switch{gap:5px;font-size:12px}
 .header-whatsapp{width:36px;height:36px}
 .menu-toggle{padding:0 3px}
}

/* Bouton du panneau avantages : fond transparent, contour brun. */
.direct-card .direct-reserve,
.direct-card .direct-reserve:hover,
.direct-card .direct-reserve:focus-visible{
 background:transparent;
 border:1px solid #9C7C46;
 color:#9C7C46;
 box-shadow:none;
}

/* Cartes Dar More : restauration, spa et excursions. */
.experience-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding:75px 6vw 95px}.experience-offer{padding:30px 0;border-top:1px solid var(--line)}.experience-offer h2{font-size:2.8rem;margin-bottom:25px}.experience-offer p{font-size:16px;color:var(--muted);margin-bottom:30px}.menu-outline{background:transparent;color:#9C7C46;border:1px solid #9C7C46}.menu-outline:hover{background:#9C7C46;color:white}.menu-page{padding:40px 18px 65px;background:#eae5dd}.menu-paper{max-width:920px;margin:auto;padding:48px 65px 60px;background:#fcfaf6;border:1px solid #d4c7bb;outline:1px solid #d4c7bb;outline-offset:-12px;box-shadow:0 18px 50px #302d2914}.menu-back{display:block;text-align:center;font-size:14px;text-decoration:underline;margin-bottom:35px}.menu-brand{text-align:center;font-family:var(--serif);font-size:2.4rem;letter-spacing:.12em;color:#9C7C46}.menu-brand small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.24em;margin:8px 0 28px}.menu-paper h1{text-align:center;font-size:3.4rem}.menu-subtitle{text-align:center;font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--muted);margin:16px 0 25px}.menu-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:25px 0 45px}.menu-links a{font-size:14px;border:1px solid #baa79c;border-radius:30px;padding:6px 15px;color:#9C7C46}.menu-group{margin:38px 0;break-inside:avoid}.menu-group>h2{text-align:center;color:#9C7C46;font-size:2.2rem;padding-bottom:17px;margin-bottom:24px;border-bottom:1px solid #d8ccc1}.menu-item{margin:18px 0}.menu-item-line{display:flex;gap:20px;justify-content:space-between;align-items:baseline}.menu-item h3{font-size:1.45rem;line-height:1.25}.menu-item-line>span{white-space:nowrap;color:#9C7C46;font-size:16px}.menu-item p{font-size:15px;color:var(--muted);line-height:1.6;margin-top:6px}.discovery{border:1px solid #d8ccc1;padding:26px}.discovery .eyebrow{text-align:center}.discovery h2 span{display:block;margin-top:12px}.discovery>h3{font-size:1.6rem;margin:22px 0 12px}.discovery p,.discovery li,.menu-intro{font-size:16px}.discovery ul{padding-left:20px}.discovery li{margin-bottom:10px}.spa-ritual{text-align:center}.ritual-price{font-family:var(--serif);font-size:3rem;color:#9C7C46;margin:22px 0}.spa-ritual ol{display:inline-block;text-align:left;line-height:2.3;padding-left:25px}.menu-note{margin-top:32px;text-align:center;font-style:italic;color:#9C7C46;font-size:16px}.menu-intro{text-align:center;max-width:650px;margin:auto}.menu-paper .menu-group:last-child{margin-bottom:0}@media(max-width:850px){.experience-offers{grid-template-columns:1fr;padding:40px 6vw 65px;gap:15px}.experience-offer h2{font-size:2.6rem}.menu-paper{padding:40px 35px}}@media(max-width:600px){.menu-page{padding:20px 10px 40px}.menu-paper{padding:32px 24px}.menu-paper h1{font-size:2.6rem}.menu-item-line{gap:12px}.menu-item h3{font-size:1.3rem}.menu-item p{font-size:15px}.menu-group>h2{font-size:1.9rem}.menu-links{gap:6px}.menu-links a{padding:6px 10px;font-size:13px}.discovery{padding:18px}.menu-brand{font-size:2rem}}

/* Présentation verticale des trois expériences. */
.experience-offers{display:flex;flex-direction:column;gap:65px;max-width:1080px;margin:0 auto;padding:60px 30px 90px}
.experience-offer{padding:0;border:0;display:block}
.experience-offer-image{width:100%;height:auto;aspect-ratio:2.1;object-fit:cover;object-position:center bottom;display:block;}
.experience-offer-image.spa-illustration{object-fit:contain;background:#fdfdfd}
.experience-offer-copy{padding:30px 0 0;max-width:800px}
.experience-offer-copy .eyebrow{margin-bottom:16px}
.experience-offer-copy h2{margin-bottom:20px}
.experience-offer-copy p{margin-bottom:24px}
@media(max-width:600px){.experience-offers{padding:35px 20px 60px;gap:45px}.experience-offer-image{aspect-ratio:1.6}.experience-offer-image.spa-illustration{aspect-ratio:2.1}.experience-offer-copy{padding-top:24px}.experience-offer-copy h2{font-size:2.4rem}}

.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #f7f5f0;
  color: #302d29;
}

.home .header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: transparent;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
  box-shadow: none;
  transition: background .25s ease, color .25s ease;
}

.home .header.is-scrolled {
  background: #f7f5f0;
  color: #302d29;
  border-bottom-color: #d9d4c9;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .05);
}

.home .header .button {
  background: #9C7C46;
  border-color: #9C7C46;
  color: #fff;
}

/* Experiences : blocs alternes et cartes en fenetre superposee. */
.experiences-intro{text-align:center;padding:65px 24px 30px}
.experiences-intro h1{font-size:clamp(2.6rem,5vw,4.5rem)}
.experiences-intro nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;margin-top:25px;color:#9C7C46}
.experiences-intro nav a{text-decoration:underline;text-underline-offset:6px}
.experiences-page .experience-offers{max-width:1800px;padding:30px 24px 80px;gap:32px}
.experiences-page .experience-offer{display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch;gap:0;padding:20px;border:1px solid #9c7c4640;background:#fff;scroll-margin-top:110px}
.experiences-page .experience-offer:nth-child(even){grid-template-columns:1fr 1.2fr}
.experiences-page .experience-offer:nth-child(even) .experience-offer-image{grid-column:2;grid-row:1}
.experiences-page .experience-offer:nth-child(even) .experience-offer-copy{grid-column:1;grid-row:1}
.experiences-page .experience-offer-image{height:100%;min-height:390px;aspect-ratio:1.65;object-fit:cover;object-position:center bottom}
.experiences-page .experience-offer-copy{align-self:center;max-width:none;padding:45px clamp(25px,4vw,75px)}
.experiences-page .experience-offer-copy .eyebrow{color:#9C7C46;letter-spacing:.2em}
.experiences-page .experience-offer-copy h2{font-size:clamp(2.3rem,3.2vw,3.7rem);margin-bottom:28px}
.experiences-page .experience-offer-copy p{font-family:var(--serif);font-size:22px;line-height:1.8;margin-bottom:30px}
.experiences-page .menu-outline{border-radius:999px;background:transparent;border:1px solid #9C7C46;color:#9C7C46;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:14px 28px;gap:12px}
.experiences-page .menu-outline::before{content:'◇';font-size:19px;line-height:1}
.experiences-page .menu-outline:hover{background:#9C7C46;color:#fff}
.experience-menu-dialog{inset:0;margin:auto;width:calc(100% - 32px);max-width:1800px;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:7px;background:#e6dec9;color:var(--ink);overflow:hidden}
.experience-menu-dialog[open]{display:flex;flex-direction:column}
.experience-menu-dialog::backdrop{background:rgba(25,23,20,.78)}
.experience-menu-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px}
.experience-menu-toolbar h2{font-family:var(--serif);font-size:1.6rem;text-align:center}
.experience-menu-toolbar button,.experience-menu-toolbar>a{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:#736d5d;color:#fff}
.experience-menu-toolbar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.experience-menu-content{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:20px 24px 55px}
.experience-menu-content>.menu-paper{max-width:1100px;background:#f7f3e7;box-shadow:0 15px 45px #302d2920}
.experience-menu-content>p{text-align:center;padding:40px 12px}
.experience-menu-content>p a{text-decoration:underline}
@media(max-width:850px){
.experiences-intro{padding:40px 20px 20px}
.experiences-page .experience-offers{padding:20px 16px 50px;gap:26px}
.experiences-page .experience-offer,.experiences-page .experience-offer:nth-child(even){grid-template-columns:1fr;padding:12px}
.experiences-page .experience-offer:nth-child(even) .experience-offer-image,.experiences-page .experience-offer:nth-child(even) .experience-offer-copy{grid-column:auto;grid-row:auto}
.experiences-page .experience-offer-image{height:auto;min-height:0;aspect-ratio:1.5}
.experiences-page .experience-offer-copy{padding:28px 14px 24px}
.experiences-page .experience-offer-copy p{font-size:20px;line-height:1.65}
}
@media(max-width:600px){
.experience-menu-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}
.experience-menu-toolbar{padding:10px;gap:8px}
.experience-menu-toolbar h2{font-size:1.15rem}
.experience-menu-toolbar button,.experience-menu-toolbar>a{width:44px;height:44px}
.experience-menu-content{padding:8px 10px 25px}
.experience-menu-content>.menu-paper{padding:32px 22px}
}

/* Languette : entree de gauche a droite, puis ouverture animee en JavaScript. */
.booking-enhanced .direct-drawer{
 transform:translateX(0);
 transition:transform .55s cubic-bezier(.22,.61,.36,1),visibility 0s;
}
.booking-enhanced:not(.booking-shown) .direct-drawer{
 transform:translateX(calc(-100% - 24px));
 visibility:hidden;
 pointer-events:none;
}
.staybar .stay-search{
 transition:background .25s,box-shadow .3s ease,transform .3s ease;
}
@media(hover:hover) and (pointer:fine){
 .staybar .stay-search:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(156,124,70,.32);
 }
}
@media(prefers-reduced-motion:reduce){
 .booking-enhanced .staybar,.booking-enhanced .direct-drawer,.staybar .stay-search{transition:none}
 .staybar .stay-search:hover{transform:none}
}

/* Photos des chambres : image principale et vignettes, toutes agrandissables. */
.room-detail>.room-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:24px;align-content:start;min-width:0}
.room-gallery-photo{display:block;min-width:0;width:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in}
.room-gallery-photo:first-child{grid-column:1/-1}
.room-detail>.room-photo-gallery .room-gallery-photo img{width:100%;height:auto;max-height:none;aspect-ratio:4/3;object-fit:cover;transition:transform .3s ease}
.room-gallery-photo:hover img{transform:scale(1.025)}
.room-photo-gallery:has(>.room-gallery-photo:last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}
.room-photo-gallery:has(>.room-gallery-photo:last-child:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-centered{max-width:1000px;margin:0 auto;text-align:center;padding:70px 24px}
.contact-intro{max-width:650px;margin:0 auto 38px}
.contact-intro h1{font-size:clamp(3rem,6vw,4.7rem);margin-bottom:24px}
.contact-centered p{color:var(--muted);max-width:570px;margin:18px auto 0}
.contact-details{max-width:650px;margin:auto}
.contact-item{padding:30px 0;border-top:1px solid var(--line)}
.contact-item h2{font-size:1.8rem;margin-bottom:16px}
.contact-item .contact-value{font-size:clamp(1.7rem,5vw,2.5rem)}
.contact-item .button,.contact-item .text-link{margin-top:22px}
.contact-item .contact-email{margin-top:0}
.contact-item address{font-style:normal}
.contact-map{margin-top:25px;overflow:hidden;border:1px solid var(--line)}
.contact-map iframe{display:block;width:100%;height:380px}
.contact-booking{margin:45px auto 0;padding:35px 24px;background:#eee8dd}
.contact-booking h2{font-size:clamp(2rem,5vw,3rem)}
.contact-booking .button{margin-top:24px}
@media(max-width:600px){
.room-detail>.room-photo-gallery{padding:16px;gap:8px}
.contact-centered{padding:45px 20px}
.contact-map iframe{height:300px}
.contact-booking{padding:30px 16px}
}
@media(prefers-reduced-motion:reduce){.room-detail>.room-photo-gallery img{transition:none}.room-gallery-photo:hover img{transform:none}}

/* Empêcher la sélection dans la galerie agrandie */
.lightbox,
.lightbox * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* Empêcher le glissement involontaire de l’image */
.lightbox img {
  -webkit-user-drag: none;
}

/* Language selector: same page in all five languages, desktop and mobile. */
.language-picker{position:relative;display:block!important;flex-shrink:0;font-family:var(--sans);font-size:13px}
.language-picker>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;padding:9px 3px;white-space:nowrap}
.language-picker>summary::-webkit-details-marker{display:none}
.language-options{position:absolute;top:100%;right:0;z-index:150;min-width:145px;padding:8px;background:#f7f5f0;color:#302d29;border:1px solid #d9d4c9;box-shadow:0 8px 25px #0002;text-align:left}
.language-picker .language-options a{display:block;padding:9px 12px;text-decoration:none;font-size:14px}
.language-picker .language-options a:hover,.language-picker .language-options a[aria-current]{background:#eae3d7;color:#765c31}
.language-picker .language-options a[aria-current]{font-weight:700}
.menu-language{display:flex;justify-content:center;margin:0 0 25px}
#mobile-menu>.language-picker{width:max-content}
#mobile-menu>.language-picker .language-options{left:0;right:auto}
.header .language-picker{line-height:1.4}
html[lang="de"] .staybar h2{font-size:1.15rem}
@media(max-width:1100px) and (min-width:851px){.header{gap:12px}.header nav{gap:15px}.header-end{gap:12px}}

/* Identite Dar More : symbole, nom et signature Marrakech. */
a.brand{display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1;color:#9C7C46;text-align:center;text-decoration:none;flex-shrink:0}
a.brand .brand-symbol{display:block;width:43px;height:49px;flex-shrink:0}
a.brand>.brand-copy{display:block;font-size:inherit;letter-spacing:normal}
a.brand .brand-name{display:block;font-family:var(--serif);font-size:32px;font-weight:500;letter-spacing:-.035em;line-height:1.1;white-space:nowrap}
a.brand .brand-copy small{display:block;font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;line-height:1.2;margin-top:7px;padding-left:.34em}
.home .header:not(.is-scrolled) a.brand{color:#fff}
.home .header.is-scrolled a.brand,.header a.brand,#mobile-menu a.brand,footer a.brand{color:#9C7C46}
footer a.brand{justify-content:flex-start}
@media(min-width:851px) and (max-width:1100px){
 .header a.brand{gap:9px}
 .header a.brand .brand-symbol{width:34px;height:40px}
 .header a.brand .brand-name{font-size:27px}
}
@media(max-width:850px){
 .header a.brand{gap:8px}
 .header a.brand .brand-symbol{width:32px;height:38px}
 .header a.brand .brand-name{font-size:26px}
 .header a.brand .brand-copy small{font-size:7px;margin-top:5px;letter-spacing:.28em}
 #mobile-menu a.brand .brand-name{font-size:29px}
 #mobile-menu a.brand .brand-symbol{width:36px;height:43px}
}
@media(max-width:380px){
 .header a.brand{gap:6px}
 .header a.brand .brand-symbol{width:27px;height:33px}
 .header a.brand .brand-name{font-size:22px}
 .header a.brand .brand-copy small{font-size:6px}
 #mobile-menu a.brand .brand-name{font-size:25px}
}
/* Fleche du selecteur de langue : centrage vertical. */
.language-picker>summary{display:flex;align-items:center;gap:7px;line-height:1}
.language-picker>summary>span[aria-hidden]{font-size:0;display:flex;align-items:center;justify-content:center;width:12px;height:16px}
.language-picker>summary>span[aria-hidden]::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}

/* Logo vertical uniquement dans le footer */
footer a.brand {
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}

footer a.brand .brand-symbol {
  width: 58px;
  height: 65px;
}

footer a.brand .brand-name {
  font-size: 34px;
  line-height: 1.15;
}

footer a.brand .brand-copy small {
  font-size: 10px;
  letter-spacing: .34em;
  margin-top: 9px;
}

@media (max-width: 600px) {
  footer a.brand .brand-symbol {
    width: 48px;
    height: 55px;
  }

  footer a.brand .brand-name {
    font-size: 30px;
  }
}
