/*
Theme Name: L'Oustal d'Aure
Theme URI: https://loustal-daure.magic-bead-3651.chatgpt.site
Author: L'Oustal d'Aure
Description: Thème WordPress sur mesure pour la page d'accueil de L'Oustal d'Aure à Saint-Lary-Soulan.
Version: 5.2.37
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: loustal-daure
*/

:root{--black:#131311;--gold:#bd8745;--cream:#f2eee6;--ink:#211f1b;--line:#d8cfc0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{display:block;width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,p{margin-top:0}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav{position:absolute;z-index:5;width:100%;height:88px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;color:white;background:linear-gradient(#070706aa,transparent)}
.nav nav{position:absolute;left:56%;transform:translateX(-50%);display:flex;gap:31px;font-size:11px;letter-spacing:.08em;white-space:nowrap}
.nav nav a{padding:12px 0}
.nav nav .active{color:var(--gold);border-bottom:2px solid var(--gold)}
.goldButton,.darkButton,.outlineButton{display:inline-flex;align-items:center;justify-content:center;padding:17px 28px;font-size:9px;letter-spacing:.12em}
.goldButton{background:var(--gold);color:white}
.nav>.goldButton{margin-left:auto}
.outlineButton{border:1px solid #ffffff75;color:white}
.darkButton{background:var(--black);color:white}
.hero{height:min(80vh,720px);min-height:610px;position:relative;background:#10151b center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090909c9,transparent 37%),linear-gradient(180deg,#08080852,transparent 26%)}
.heroBottom{position:absolute;z-index:2;left:4.5vw;right:4.5vw;bottom:52px;display:flex;align-items:end;justify-content:space-between;color:white}
.heroBottom p{font:12px/1.5 Georgia,serif;letter-spacing:.08em;margin-bottom:8px}
.heroBottom span{font:italic 26px Georgia,serif;color:#d39b56}
.heroBottom>div:last-child{display:flex;gap:14px}
.down{position:absolute;z-index:2;bottom:10px;left:50%;color:white;font-size:30px}
.about{display:grid;grid-template-columns:43% 57%;height:460px;min-height:460px}
.aboutCopy{padding:66px 6vw;background:#f7f4ee}
.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.16em;font-weight:bold;margin-bottom:22px}
.eyebrow:after{content:"";display:block;width:30px;height:2px;background:var(--gold);margin-top:12px}
.about h1{font:35px/1.18 Georgia,serif}
.about h1 i{color:var(--gold);font-weight:400}
.aboutCopy>p:not(.eyebrow){font-size:13px;line-height:1.75;color:#56534d;max-width:520px;margin:25px 0}
.aboutImage{height:460px;min-height:0;overflow:hidden;background:#1b1813;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.aboutImage img{width:100%;height:100%;object-fit:cover;object-position:center}
.serviceBand{background:linear-gradient(105deg,#121210,#1d1b16);color:white;padding:32px 4vw;display:grid;grid-template-columns:repeat(5,1fr)}
.serviceBand article{text-align:center;padding:0 22px;border-right:1px solid #ffffff1f}
.serviceBand article:last-child{border:0}
.serviceBand b{display:block;color:var(--gold);font-size:28px;font-weight:400;margin-bottom:13px}
.serviceIcon{display:block;width:38px;height:38px;margin:0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.serviceBand h3{color:var(--gold);font-size:9px;letter-spacing:.08em}
.serviceBand p{font-size:10px;line-height:1.55;color:#d1cec7}
.rooms{padding:58px 4.5vw 64px;text-align:center;background:#f6f2ea}
.center:after{margin:12px auto}
.rooms>h2{font:36px Georgia,serif;margin:-10px 0 18px}
.roomsSubhead{font:24px Georgia,serif;margin:0 0 7px}
.roomsLead{max-width:650px;margin:0 auto 35px;font:15px/1.65 Georgia,serif;color:#6c665d}
.roomGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.roomGrid article{background:#faf8f3;border:1px solid #d7c5aa;padding-bottom:18px}
.roomPhoto{height:220px;position:relative;overflow:hidden}
.roomPhoto img{height:100%;object-fit:cover;transition:.5s}
.roomGrid article:hover img{transform:scale(1.03)}
.roomPhoto span{position:absolute;right:12px;top:10px;background:#151411c7;color:white;width:32px;height:32px;display:grid;place-items:center;font:11px Georgia,serif}
.roomGrid h3{font:17px Georgia,serif;text-transform:uppercase;letter-spacing:.06em;margin:16px 0 5px}
.roomGrid p{font:12px Georgia,serif;color:#69645c;margin:0 15px 12px}
.roomGrid a{font-size:9px;color:var(--gold);letter-spacing:.1em}
.temp{font-size:9px;color:#8b857b;margin:25px 0 0}
.contact{background:linear-gradient(120deg,#161612,#211f19);color:white;padding:45px 4.5vw;display:grid;grid-template-columns:1fr 1.45fr .75fr;gap:34px;align-items:center}
.contactIntro{border-right:1px solid #8e754f66;padding-right:28px}
.contactIntro h2{font:27px Georgia,serif;margin-bottom:25px}
.contactIntro>p:not(.eyebrow){font-size:11px;line-height:1.6;color:#d3cfc7;margin-bottom:11px}
.contact form{display:grid;gap:8px;border-right:1px solid #8e754f66;padding-right:25px}
.contact form>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.contact input,.contact select,.contact textarea{width:100%;background:transparent;color:#d8d4cc;border:1px solid #6b604f;padding:10px;font:10px Arial,sans-serif}
.contact textarea{height:70px;resize:none}
.contact form button{border:0;background:var(--gold);color:white;text-align:center;padding:12px;font-size:9px;letter-spacing:.1em;cursor:pointer}
.contactBrand{text-align:center}
.contactBrand strong{font:35px/1 Georgia,serif}
.contactBrand p{font:italic 18px Georgia,serif;color:var(--gold);margin:17px 0}
.contactBrand .outlineButton{padding:12px 20px}
.siteFooter{background:#11110f;color:#77746e;border-top:1px solid #ffffff16;padding:18px 4.5vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.05em}
.admin-bar .nav{top:32px}
@media(max-width:900px){
 .loustal-inner-nav{position:relative}
 .nav nav{display:none}.hero{height:60vw;min-height:440px}.about{grid-template-columns:1fr;height:auto;min-height:0}.aboutImage{height:480px}.serviceBand{grid-template-columns:repeat(2,1fr)}.serviceBand article{border-bottom:1px solid #ffffff1f;padding:22px}.serviceBand article:last-child{grid-column:1/-1}.roomGrid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr 1.4fr}.contactBrand{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:30px}
}
@media(max-width:782px){.admin-bar .nav{top:46px}}
@media(max-width:600px){
 .nav{height:75px}.goldButton{padding:13px 17px}.hero{height:70vw;min-height:315px;background-size:contain;background-position:center 75px}.heroBottom{display:none}.aboutCopy{padding:55px 7vw}.about h1{font-size:30px}.aboutImage{height:350px}.serviceBand{grid-template-columns:1fr}.serviceBand article,.serviceBand article:last-child{grid-column:auto;border-right:0}.rooms{padding:55px 5vw}.rooms>h2{font-size:30px}.roomGrid{grid-template-columns:1fr}.roomPhoto{height:280px}.contact{grid-template-columns:1fr;padding:50px 7vw}.contactIntro,.contact form{border-right:0;padding-right:0}.contact form>div{grid-template-columns:1fr}.contactBrand{grid-column:auto}.siteFooter{flex-direction:column;gap:9px;text-align:center}
}

/* Mise en page Gutenberg entièrement éditable */
.loustal-nav{position:absolute;z-index:10;top:0;left:0;width:100%;height:88px;padding:0 4.5vw;color:#fff;background:linear-gradient(#070706aa,transparent)}
.loustal-nav>.wp-block-navigation{position:absolute;left:56%;transform:translateX(-50%);font-size:11px;letter-spacing:.08em;white-space:nowrap}
.loustal-nav .wp-block-navigation__container{gap:31px}
.loustal-nav>.wp-block-buttons{margin-left:auto}
.loustal-nav .wp-block-button__link,.loustal-hero .wp-block-button__link{border-radius:0;background:var(--gold);padding:17px 28px;font-size:9px;letter-spacing:.12em}
.loustal-hero{position:relative;margin:0;min-height:610px!important}
.loustal-hero .wp-block-cover__inner-container{position:absolute;inset:0;width:100%;max-width:none;display:flex;align-items:flex-end}
.loustal-hero-content{width:100%;margin:0;padding:0 5.5vw 44px;color:#fff;align-items:flex-start!important}
.loustal-hero-content>.wp-block-group,.loustal-hero-content>.wp-block-buttons{margin:0;align-self:flex-start}
.loustal-hero-content p{font:12px/1.5 Georgia,serif;letter-spacing:.08em;margin-bottom:8px}
.loustal-hero-content h3{font:italic 26px Georgia,serif;color:#d39b56;margin:0}
.loustal-hero .is-style-outline .wp-block-button__link{background:transparent;border:1px solid #ffffff75}
.loustal-hero-content .is-style-outline{display:none}
.loustal-hero-content>.wp-block-buttons{display:none!important}
.loustal-about{margin:0;gap:0;height:460px}
.loustal-about-copy{padding:66px 6vw;background:#f7f4ee}
.loustal-eyebrow{display:table;width:auto;color:var(--gold);font-size:10px;letter-spacing:.16em;font-weight:bold;margin-bottom:22px;padding-bottom:12px;border-bottom:2px solid var(--gold)}
.loustal-eyebrow:after{display:none!important;content:none!important}
.has-text-align-center.loustal-eyebrow{margin-left:auto!important;margin-right:auto!important}
.loustal-about-copy .loustal-eyebrow{display:table!important;width:auto!important;padding-bottom:12px;border-bottom:2px solid var(--gold)}
.loustal-about-copy .loustal-eyebrow:after{display:none!important;content:none!important}
.loustal-rooms .loustal-eyebrow{display:table!important;width:auto!important;margin-left:auto!important;margin-right:auto!important;padding-bottom:12px;border-bottom:2px solid var(--gold)}
.loustal-rooms .loustal-eyebrow:after{display:none!important;content:none!important}
.loustal-about-copy h1{font:35px/1.18 Georgia,serif}
.loustal-about-copy h1 mark{background:none;color:var(--gold);font-style:italic}
.loustal-about-copy>p:not(.loustal-eyebrow){font-size:13px;line-height:1.75;color:#56534d;margin:25px 0}
.loustal-dark-button .wp-block-button__link{border-radius:0;background:var(--black);padding:17px 28px;font-size:9px;letter-spacing:.12em}
.loustal-about-images{display:grid;grid-template-columns:1fr 1fr;gap:2px;height:460px;overflow:hidden;background:#1b1813}
.loustal-about-images figure{margin:0;height:460px}
.loustal-about-images img{height:100%;object-fit:cover}
.loustal-services{margin:0;padding:32px 4vw;gap:0;background:linear-gradient(105deg,#121210,#1d1b16);color:#fff}
.loustal-services>.wp-block-column{text-align:center;padding:0 22px;border-right:1px solid #ffffff1f}
.loustal-services>.wp-block-column:last-child{border:0}
.loustal-service-icon,.loustal-symbol{color:var(--gold);height:40px;margin:0 0 13px}
.loustal-symbol{font-size:28px}
.loustal-services h3{color:var(--gold);font-size:9px;letter-spacing:.08em}
.loustal-services p:not(.loustal-symbol){font-size:10px;line-height:1.55;color:#d1cec7}
.loustal-rooms{max-width:none!important;padding:58px 4.5vw 64px;background:#f6f2ea}
.loustal-rooms>.wp-block-heading{font-family:Georgia,serif}
.loustal-rooms>h2{font-size:36px;margin:0 0 18px}
.loustal-rooms>h3{font-size:24px;margin:0 0 7px}
.loustal-rooms-lead{max-width:650px;margin:0 auto 35px;font:15px/1.65 Georgia,serif;color:#6c665d}
.loustal-room-grid{gap:16px}
.loustal-room-grid>.wp-block-column{background:#faf8f3;border:1px solid #d7c5aa;padding-bottom:18px}
.loustal-room-grid figure{height:220px;margin:0;overflow:hidden}
.loustal-room-grid img{height:100%;object-fit:cover}
.loustal-room-grid h3{font:17px Georgia,serif;letter-spacing:.06em;margin:16px 0 5px}
.loustal-room-grid p{font:12px Georgia,serif;color:#69645c;margin:0 15px 12px}
.loustal-room-grid .wp-block-button__link{border:0!important;border-radius:0;color:var(--gold);padding:6px;background:transparent;font-size:9px;letter-spacing:.1em}
.loustal-note{display:none!important}
.loustal-contact{margin:0;padding:45px 4.5vw;gap:34px;align-items:center;background:linear-gradient(120deg,#161612,#211f19);color:#fff}
.loustal-contact>.wp-block-column{border-right:1px solid #8e754f66;padding-right:28px}
.loustal-contact>.wp-block-column:last-child{border:0;padding:0}
.loustal-contact h2{font:27px Georgia,serif}
.loustal-contact p{font-size:11px;line-height:1.6;color:#d3cfc7}
.loustal-contact .contactLine{display:flex;align-items:flex-start;gap:11px;margin-bottom:11px}
.loustal-contact .contactIcon{display:inline-flex;flex:0 0 17px;width:17px;height:17px;color:var(--gold)}
.loustal-contact .contactIcon svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.loustal-contact .contactValue{display:block;min-width:0}
.loustal-form{display:grid;gap:8px}
.loustal-form-construction-notice{width:100%;margin:0 0 12px;padding:15px 18px;box-sizing:border-box;border:2px solid #e2b16e;background:#bd8745;color:#fff;text-align:center;font:800 14px/1.4 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 5px 16px #0003}
.loustal-form>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.loustal-form>div:nth-child(2){display:flex!important;gap:12px!important;width:100%}
.loustal-form>div:nth-child(2)>input{display:block!important;flex:1 1 0!important;width:0!important;min-width:0!important;max-width:calc(50% - 6px)!important;-webkit-appearance:none;appearance:none}
.loustal-form input,.loustal-form select,.loustal-form textarea{width:100%;background:transparent;color:#d8d4cc;border:1px solid #6b604f;padding:10px;font:10px Arial,sans-serif}
.loustal-form input,.loustal-form select,.loustal-form textarea{min-width:0;max-width:100%}
.loustal-form textarea{height:70px;resize:none}
.loustal-form button{border:0;background:var(--gold);color:#fff;padding:12px;font-size:9px;letter-spacing:.1em;cursor:pointer}
.loustal-form input:focus,.loustal-form select:focus,.loustal-form textarea:focus{border-color:var(--gold)}
.loustal-contact-brand h2{font:35px/1 Georgia,serif}
.loustal-contact-brand p{font:italic 18px Georgia,serif;color:var(--gold)}
.loustal-contact-brand .wp-block-button__link{border:1px solid #ffffff75!important;border-radius:0;background:transparent;color:#fff;padding:12px 20px;font-size:9px;letter-spacing:.12em}
.loustal-footer{padding:18px 4.5vw;background:#11110f;color:#77746e;border-top:1px solid #ffffff16;font-size:8px;letter-spacing:.05em}
.loustal-footer p{margin:0}

/* Information temporaire visible sur toutes les pages publiques */
body{padding-bottom:48px}
.loustal-construction-notice{position:fixed;z-index:999999;right:0;bottom:0;left:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;margin:0;padding:11px 5vw;box-sizing:border-box;background:#bd8745;color:#fff;border-top:1px solid #d8aa70;box-shadow:0 -4px 18px #0003;text-align:center;font:600 14px/1.35 Arial,sans-serif;letter-spacing:.035em}
.loustal-construction-notice strong{font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* Pages Gutenberg des quatre chambres */
.loustal-inner-nav{min-height:88px;margin:0;padding:0 4.5vw;background:#151511;color:#fff}
.loustal-inner-nav h3{margin:0;font:21px Georgia,serif;letter-spacing:.08em}
.loustal-inner-nav .wp-block-navigation{font-size:11px;letter-spacing:.08em}
.loustal-inner-nav .wp-block-navigation__container{gap:28px}
.loustal-inner-nav .wp-block-button__link{border-radius:0;background:var(--gold);padding:17px 28px;font-size:9px;letter-spacing:.12em}
.loustal-mobile-toggle,.loustal-mobile-panel{display:none}
.loustal-room-hero{margin:0;min-height:610px!important;align-items:flex-end;padding:0 7vw 70px}
.loustal-room-hero .wp-block-cover__inner-container{width:100%;max-width:none}
.loustal-room-hero .wp-block-cover__inner-container>p:first-child{font-size:10px;letter-spacing:.18em;color:#d6a05c}
.loustal-room-hero h1{font:64px Georgia,serif;margin:12px 0}
.loustal-room-hero .wp-block-cover__inner-container>p:last-child:not(:first-child){display:none!important}
.loustal-room-details{margin:0;padding:90px 8vw;gap:8vw;background:#f7f4ee}
.loustal-room-details h2,.loustal-room-reserve h2,.loustal-room-gallery h2{font:46px/1.08 Georgia,serif}
.loustal-room-details>.wp-block-column:first-child>p:not(.loustal-eyebrow){font:17px/1.75 Georgia,serif;color:#615c54}
.loustal-amenities{gap:28px;margin-top:32px}
.loustal-amenities p{border-bottom:1px solid #d8cfc0;padding:14px 0;margin:0;font-size:14px;line-height:1.45}
.loustal-shared-spaces{margin-top:28px!important}
.loustal-price-card{align-self:flex-start;box-sizing:border-box;background:#181713;color:#fff;padding:35px;min-width:0}
.loustal-price-card h3{font:24px Georgia,serif;color:#d3a05d}
.loustal-price-card h2{font:30px/1.15 Georgia,serif;margin:22px 0 8px;white-space:nowrap}
.loustal-price-card p{border-bottom:1px solid #ffffff22;padding:13px 0;margin:0;color:#d5d1ca;font-size:11px;line-height:1.55}
.loustal-room-gallery{max-width:none!important;padding:12px 4vw 70px;background:#f7f4ee}
.loustal-room-gallery h2{margin-bottom:35px}
.loustal-room-gallery figure{height:480px;margin:0}
.loustal-room-gallery img{height:100%;object-fit:cover}
.loustal-room-gallery .loustal-gallery-with-full-photo{flex-wrap:wrap!important}
.loustal-room-gallery .loustal-photo-full-column{flex:0 0 100%!important;min-width:0!important;width:100%!important}
.loustal-room-gallery figure.loustal-photo-full{height:auto!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible!important}
.loustal-room-gallery figure.loustal-photo-full img{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}
.loustal-room-reserve{margin:0;padding:75px 8vw;gap:8vw;background:#e8e0d4}
.loustal-room-reserve>.wp-block-column:first-child>p:last-child{font:15px/1.7 Georgia,serif}
.loustal-room-reserve .loustal-form input,.loustal-room-reserve .loustal-form textarea{background:#f7f4ee;color:#332f2a;border-color:#c7b9a5;padding:13px;font-size:11px}
.loustal-room-reserve .loustal-form select[name="travellers"]{background:#f7f4ee;color:#aaa49b;border-color:#c7b9a5;padding:13px;font-size:11px;font-weight:400;line-height:1.35}
.loustal-room-reserve .loustal-form select[name="travellers"] option{background:#fff;color:#27231e;font-size:16px}
.loustal-room-reserve .loustal-form textarea{height:90px}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.roomPhoto img,.loustal-mobile-toggle span{transition:none!important}}

/* Pages Galerie et Saint-Lary entièrement éditables */
.loustal-page-hero{margin:0;align-items:flex-end;padding:0 7vw 65px}
.loustal-page-hero .wp-block-cover__inner-container{width:100%;max-width:none}
.loustal-page-hero p{font-size:10px;letter-spacing:.18em;color:#d6a05c}
.loustal-page-hero h1{font:64px Georgia,serif;margin:12px 0;color:#fff}
.loustal-about-hero h1{font-size:52px;line-height:1.05;margin:6px 0}
.loustal-about-hero .wp-block-cover__inner-container>p{display:none!important}
.loustal-gallery-page{max-width:none!important;padding:75px 5vw 90px;background:#f7f4ee}
.loustal-gallery-page h2,.loustal-destination-intro h2,.loustal-page-cta h2{font:46px/1.1 Georgia,serif}
.loustal-gallery-page>.loustal-eyebrow{display:table;margin-left:auto;margin-right:auto}
.loustal-page-lead{max-width:700px;margin:0 auto 42px;font:17px/1.7 Georgia,serif;color:#69645c}
.loustal-main-gallery{gap:14px!important}
.loustal-main-gallery figure.wp-block-image{height:340px!important;margin:0!important}
.loustal-main-gallery img{width:100%!important;height:100%!important;object-fit:cover!important}
.loustal-destination-intro{margin:0;padding:85px 7vw;gap:7vw;background:#f7f4ee;align-items:center!important}
.loustal-destination-intro p:not(.loustal-eyebrow){font:17px/1.75 Georgia,serif;color:#615c54}
.loustal-destination-intro figure{height:480px;margin:0}
.loustal-destination-intro img{height:100%;object-fit:cover}
.loustal-activities{margin:0;padding:70px 7vw;gap:18px;background:#181713;color:#fff}
.loustal-activities>.wp-block-column{padding:35px;border:1px solid #ffffff22}
.loustal-activities h3{font:28px Georgia,serif;color:#d3a05d}
.loustal-activities p{font:14px/1.75 Georgia,serif;color:#d5d1ca}
.loustal-page-cta{max-width:none!important;padding:75px 7vw;background:#e8e0d4;text-align:center}
.loustal-page-cta p:not(.loustal-eyebrow){font:15px/1.7 Georgia,serif}
.loustal-page-cta p a{text-decoration:underline;text-underline-offset:3px}
.loustal-page-cta .wp-block-button__link{border-radius:0;background:var(--gold);padding:16px 25px;font-size:10px;letter-spacing:.12em}
.loustal-saint-lary-hero img{object-position:center 58%}
.loustal-hikes{max-width:none!important;padding:80px 5vw 90px;background:#f7f4ee}
.loustal-hikes>.loustal-eyebrow{display:table;margin-left:auto;margin-right:auto}
.loustal-hikes>h2{font:46px/1.1 Georgia,serif;margin-bottom:16px}
.loustal-hike-grid{gap:20px;margin-top:42px}
.loustal-hike-grid>.wp-block-column{background:#fff;border:1px solid #d8cfc0;padding-bottom:25px}
.loustal-hike-grid figure{height:280px;margin:0;overflow:hidden}
.loustal-hike-grid img{height:100%;object-fit:cover}
.loustal-hike-grid h3{font:25px Georgia,serif;margin:24px 24px 12px}
.loustal-hike-grid p{font:14px/1.7 Georgia,serif;color:#615c54;margin:0 24px}
.loustal-hike-grid-two{max-width:980px;margin:20px auto 0}
.loustal-photo-credits{margin:32px 0 0!important;text-align:center;font-size:9px!important;line-height:1.6!important;color:#7b756c!important}
.loustal-photo-credits a{text-decoration:underline}
.loustal-about-story{margin:0;padding:85px 7vw;gap:7vw;background:#f7f4ee;align-items:center!important}
.loustal-about-story h2,.loustal-about-outdoors>h2{font:46px/1.1 Georgia,serif}
.loustal-about-story p:not(.loustal-eyebrow){font:16px/1.75 Georgia,serif;color:#615c54}
.loustal-about-story figure{height:520px;margin:0}
.loustal-about-story img{height:100%;object-fit:cover}
.loustal-about-cyclists{max-width:none!important;padding:68px 7vw 62px;background:#181713;color:#fff;text-align:center}
.loustal-about-cyclists>.loustal-eyebrow{display:table;margin-left:auto;margin-right:auto}
.loustal-about-cyclists>h2{font:40px/1.1 Georgia,serif;color:#fff}
.loustal-about-cyclists>.loustal-page-lead{margin-bottom:0;color:#d5d1ca}
.loustal-about-outdoors{max-width:none!important;padding:80px 5vw 90px;background:#e8e0d4}
.loustal-about-outdoors>.loustal-eyebrow{display:table;margin-left:auto;margin-right:auto}
.loustal-about-feature-grid{gap:20px;margin-top:42px}
.loustal-about-feature-grid>.wp-block-column{background:#f7f4ee;padding-bottom:26px;border:1px solid #d3c5b2}
.loustal-about-feature-grid figure{height:300px;margin:0;overflow:hidden}
.loustal-about-feature-grid img{height:100%;object-fit:cover}
.loustal-about-feature-grid h3{font:25px Georgia,serif;margin:24px 24px 12px}
.loustal-about-feature-grid p{font:14px/1.7 Georgia,serif;color:#615c54;margin:0 24px}

/* Page Réservation entièrement éditable */
.loustal-reservation-hero img{object-position:center 56%}
.loustal-reservation-hero .wp-block-cover__inner-container>p{display:none!important}
.loustal-booking-intro{margin:0;padding:85px 7vw;gap:7vw;background:#f7f4ee;align-items:center!important}
.loustal-booking-intro h2,.loustal-booking-form-section h2,.loustal-booking-steps>h2{font:46px/1.1 Georgia,serif}
.loustal-booking-intro>.wp-block-column:first-child>p:not(.loustal-eyebrow){font:16px/1.75 Georgia,serif;color:#615c54}
.loustal-booking-summary{box-sizing:border-box;background:#181713;color:#fff;padding:38px}
.loustal-booking-summary h3{font:27px Georgia,serif;color:#d3a05d;margin-top:0}
.loustal-booking-summary ul{padding-left:20px;color:#d5d1ca;font:14px/1.9 Georgia,serif}
.loustal-booking-summary>p{border-top:1px solid #ffffff22;padding-top:18px;color:#fff;font:14px/1.7 Georgia,serif}
.loustal-booking-form-section{margin:0;padding:80px 8vw;gap:8vw;background:#181713;color:#fff}
.loustal-booking-form-section>.wp-block-column:first-child>p:last-child{font:15px/1.7 Georgia,serif;color:#d5d1ca}
.loustal-booking-form{display:grid;gap:12px}
.loustal-booking-form>div{display:flex;gap:12px;width:100%}
.loustal-booking-form>div>*{flex:1 1 0;width:0;min-width:0}
.loustal-booking-form input,.loustal-booking-form select,.loustal-booking-form textarea{box-sizing:border-box;padding:13px;font-size:11px}
.loustal-booking-form textarea{height:110px}
.loustal-booking-form button{padding:14px}
.loustal-booking-steps{max-width:none!important;padding:80px 6vw 90px;background:#e8e0d4;text-align:center}
.loustal-booking-steps>.wp-block-columns{gap:20px;margin-top:42px}
.loustal-booking-steps>.wp-block-columns>.wp-block-column{background:#f7f4ee;border:1px solid #d3c5b2;padding:32px 28px}
.loustal-booking-steps h3{font:24px Georgia,serif;color:#a97236}
.loustal-booking-steps .wp-block-column p{font:14px/1.7 Georgia,serif;color:#615c54}

/* Pages juridiques et liens de pied de page */
.loustal-legal-hero{max-width:none!important;padding:82px 8vw 65px;background:#181713;color:#fff}
.loustal-legal-hero h1{font:54px/1.08 Georgia,serif;margin:0}
.loustal-legal-page{max-width:none!important;padding:70px max(8vw,calc((100vw - 1040px)/2)) 90px;background:#f7f4ee}
.loustal-legal-page h2{font:31px/1.2 Georgia,serif;margin:46px 0 16px;color:#24211d}
.loustal-legal-page p,.loustal-legal-page li{font:15px/1.75 Georgia,serif;color:#5f5a52}
.loustal-legal-page a{text-decoration:underline;text-underline-offset:3px}
.loustal-legal-notice{padding:22px 25px;border-left:4px solid var(--gold);background:#ede2d2;color:#4f4538!important}
.loustal-legal-links{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.loustal-footer a{color:inherit;text-decoration:none}

/* Calendrier de disponibilités */
.loustal-calendar{margin:0 0 24px;padding:22px;border:1px solid #6b604f;background:#201f1b;color:#fff}
.loustal-room-reserve .loustal-calendar{background:#f7f4ee;color:#27231e;border-color:#c7b9a5}
.loustal-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.loustal-calendar-head strong{font:22px Georgia,serif;text-transform:capitalize}
.loustal-calendar-nav{display:flex;gap:8px}
.loustal-calendar-nav button{width:38px;height:38px;padding:0;border:1px solid #8b765b;background:transparent;color:inherit;font-size:20px;cursor:pointer}
.loustal-calendar-week,.loustal-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.loustal-calendar-week span{text-align:center;color:#c99552;font-size:10px;font-weight:700;padding:5px 0}
.loustal-calendar-day{aspect-ratio:1;border:1px solid #ffffff25;background:transparent;color:inherit;font-size:12px;cursor:pointer}
.loustal-room-reserve .loustal-calendar-day{border-color:#d9cebd}
.loustal-calendar-day:hover:not(:disabled),.loustal-calendar-day.is-selected{background:var(--gold);color:#fff}
.loustal-calendar-day.is-in-range{background:#bd874544}
.loustal-calendar-day:disabled{cursor:not-allowed;color:#807c75;text-decoration:line-through;background:#00000012}
.loustal-calendar-day.is-empty{visibility:hidden}
.loustal-calendar-status{min-height:20px;margin:15px 0 0;font-size:12px;line-height:1.5;color:#d3a05d}
.loustal-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:10px;color:#aaa49b}
.loustal-calendar-legend i{display:inline-block;width:11px;height:11px;margin-right:5px;vertical-align:-1px;border:1px solid #8b765b}
.loustal-calendar-legend .busy{background:#00000018;text-decoration:line-through}
.loustal-availability-status{grid-column:1/-1;min-height:22px;margin:4px 0 2px;padding:9px 12px;border-left:3px solid #8b765b;font-size:12px;line-height:1.45;color:#c9c3b8;background:#ffffff09}
.loustal-availability-status.is-available{border-color:#6f9c72;color:#a9d0ac}
.loustal-availability-status.is-unavailable{border-color:#c66f5f;color:#e3a599}
.loustal-availability-status.is-unavailable strong{display:block;margin-bottom:4px;font-size:18px;line-height:1.25;font-weight:800}
.loustal-availability-status.is-unavailable span{display:block;font-size:13px;line-height:1.45}
.loustal-room-reserve .loustal-availability-status{background:#fff;color:#625c53}
.loustal-room-reserve .loustal-availability-status.is-available{color:#47784b}
.loustal-room-reserve .loustal-availability-status.is-unavailable{color:#9a4035}
.loustal-price-estimate{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0;padding:15px 17px;border:1px solid #bd8745;background:#bd87451a;color:#fff}
.loustal-price-estimate[hidden]{display:none!important}
.loustal-price-estimate strong{font:25px/1.1 Georgia,serif;color:#d8a15c;white-space:nowrap}
.loustal-price-estimate span{font-size:12px;line-height:1.45;text-align:right;color:#ddd7ce}
.loustal-room-reserve .loustal-price-estimate{background:#fff;color:#27231e;border-color:#bd8745}
.loustal-room-reserve .loustal-price-estimate span{color:#625c53}
.loustal-availability-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 8px}
.loustal-availability-suggestions button{padding:11px 8px;border:1px solid #8b765b;background:transparent;color:inherit;font-size:10px;line-height:1.4;cursor:pointer}
.loustal-availability-suggestions button:hover{border-color:var(--gold);background:#bd874522}
.loustal-form>.loustal-date-row,.loustal-booking-form>.loustal-date-row,.loustal-room-reserve .loustal-form>.loustal-date-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:12px!important;row-gap:0!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important;align-items:start}
.loustal-form>.loustal-date-row>.loustal-date-field,.loustal-booking-form>.loustal-date-row>.loustal-date-field,.loustal-room-reserve .loustal-form>.loustal-date-row>.loustal-date-field{display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important;max-width:100%!important;min-width:0!important;min-inline-size:0!important;height:auto!important;margin:0!important;padding:0!important;overflow:hidden;box-sizing:border-box!important;color:inherit;font:700 12px/1.3 Arial,sans-serif}
.loustal-date-field>span{display:block;width:100%;min-width:0;color:inherit;opacity:.9}
.loustal-form>.loustal-date-row>.loustal-date-field>input[type="date"],.loustal-booking-form>.loustal-date-row>.loustal-date-field>input[type="date"]{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;inline-size:100%!important;min-inline-size:0!important;min-height:48px;margin:0!important;box-sizing:border-box!important;-webkit-appearance:none;appearance:none}
.loustal-room-reserve .loustal-date-field{color:#4c4338}

@media(max-width:900px){
 .loustal-nav>.wp-block-navigation{display:none!important}.loustal-about{height:auto;flex-wrap:wrap!important}.loustal-about>.wp-block-column{flex-basis:100%!important}.loustal-about-images{height:480px}.loustal-services{flex-wrap:wrap!important}.loustal-services>.wp-block-column{flex-basis:50%!important;padding:22px;border-bottom:1px solid #ffffff1f}.loustal-room-grid{flex-wrap:wrap!important}.loustal-room-grid>.wp-block-column{flex-basis:calc(50% - 16px)!important}.loustal-contact{flex-wrap:wrap!important}.loustal-contact>.wp-block-column{flex-basis:calc(50% - 34px)!important}
 .loustal-inner-nav>.wp-block-navigation{display:none!important}.loustal-room-details,.loustal-room-reserve{flex-wrap:wrap!important}.loustal-room-details>.wp-block-column,.loustal-room-reserve>.wp-block-column{flex-basis:100%!important}
 .loustal-mobile-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;margin-left:14px;padding:10px;border:1px solid #ffffff66;border-radius:0;background:#151511;color:#fff;cursor:pointer;z-index:22}
 .loustal-mobile-toggle span{display:block;width:100%;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
 .is-mobile-menu-open .loustal-mobile-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .is-mobile-menu-open .loustal-mobile-toggle span:nth-child(2){opacity:0}
 .is-mobile-menu-open .loustal-mobile-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .loustal-mobile-panel{position:absolute;display:none;top:100%;left:0;right:0;z-index:21;padding:18px 5vw 24px;background:#151511;box-shadow:0 14px 24px #0004;flex-direction:column;align-items:stretch}
 .is-mobile-menu-open .loustal-mobile-panel{display:flex}
 .loustal-mobile-panel>a{display:block;padding:15px 5px;border-bottom:1px solid #ffffff1f;color:#fff;font-size:13px;letter-spacing:.1em;text-align:center;text-decoration:none}
 .loustal-mobile-panel>a:last-child{border-bottom:0}
 .loustal-mobile-panel .loustal-mobile-reserve{margin-top:14px;padding:16px;background:var(--gold);color:#fff}
 .loustal-main-gallery{grid-template-columns:repeat(2,1fr)!important}.loustal-destination-intro{flex-wrap:wrap!important}.loustal-destination-intro>.wp-block-column{flex-basis:100%!important}.loustal-activities{flex-wrap:wrap!important}.loustal-activities>.wp-block-column{flex-basis:calc(50% - 18px)!important}
 .loustal-hike-grid{flex-wrap:wrap!important}.loustal-hike-grid>.wp-block-column{flex-basis:calc(50% - 20px)!important}
 .loustal-about-story{flex-wrap:wrap!important}.loustal-about-story>.wp-block-column{flex-basis:100%!important}.loustal-about-feature-grid{flex-wrap:wrap!important}.loustal-about-feature-grid>.wp-block-column{flex-basis:calc(50% - 20px)!important}
 .loustal-booking-intro,.loustal-booking-form-section{flex-wrap:wrap!important}.loustal-booking-intro>.wp-block-column,.loustal-booking-form-section>.wp-block-column{flex-basis:100%!important}.loustal-booking-steps>.wp-block-columns{flex-wrap:wrap!important}.loustal-booking-steps>.wp-block-columns>.wp-block-column{flex-basis:calc(50% - 20px)!important}
}
@media(max-width:600px){
 .loustal-nav{height:75px}.loustal-nav>.wp-block-buttons,.loustal-inner-nav>.wp-block-buttons{display:none}.loustal-nav .loustal-mobile-toggle{margin-left:auto}.loustal-hero{min-height:315px!important}.loustal-hero-content{display:none}.loustal-about-copy{padding:55px 7vw}.loustal-about-copy h1{font-size:30px}.loustal-about-images{height:350px}.loustal-about-images figure{height:350px}.loustal-services>.wp-block-column,.loustal-room-grid>.wp-block-column,.loustal-contact>.wp-block-column{flex-basis:100%!important}.loustal-rooms{padding:55px 5vw}.loustal-room-grid figure{height:280px}.loustal-contact{padding:50px 7vw}.loustal-contact>.wp-block-column{border-right:0;padding-right:0}.loustal-form>div{grid-template-columns:1fr}.loustal-footer{justify-content:center!important;flex-direction:column;text-align:center}
 .loustal-inner-nav{min-height:75px}.loustal-inner-nav h3{font-size:16px}.loustal-inner-nav .wp-block-button__link{padding:13px 17px}.loustal-room-hero{min-height:470px!important;padding:0 7vw 45px}.loustal-room-hero h1{font-size:44px}.loustal-room-details,.loustal-room-reserve{padding:60px 7vw}.loustal-room-details h2,.loustal-room-reserve h2,.loustal-room-gallery h2{font-size:37px}.loustal-amenities{flex-wrap:wrap!important}.loustal-amenities>.wp-block-column{flex-basis:100%!important}.loustal-room-gallery .wp-block-columns{flex-wrap:wrap!important}.loustal-room-gallery .wp-block-column{flex-basis:100%!important}.loustal-room-gallery figure{height:340px}
 .loustal-page-hero{min-height:420px!important;padding:0 7vw 42px}.loustal-page-hero h1{font-size:43px}.loustal-gallery-page,.loustal-destination-intro,.loustal-activities,.loustal-page-cta{padding:55px 7vw}.loustal-gallery-page h2,.loustal-destination-intro h2,.loustal-page-cta h2{font-size:36px}.loustal-main-gallery{grid-template-columns:1fr!important}.loustal-main-gallery figure.wp-block-image{height:300px!important}.loustal-activities>.wp-block-column{flex-basis:100%!important}
 .loustal-hikes{padding:55px 7vw}.loustal-hikes>h2{font-size:36px}.loustal-hike-grid>.wp-block-column{flex-basis:100%!important}.loustal-hike-grid figure{height:260px}
 .loustal-about-story,.loustal-about-cyclists,.loustal-about-outdoors{padding:55px 7vw}.loustal-about-story h2,.loustal-about-cyclists>h2,.loustal-about-outdoors>h2{font-size:36px}.loustal-about-story figure{height:360px}.loustal-about-feature-grid>.wp-block-column{flex-basis:100%!important}.loustal-about-feature-grid figure{height:280px}
 .loustal-booking-intro,.loustal-booking-form-section,.loustal-booking-steps{padding:55px 7vw}.loustal-booking-intro h2,.loustal-booking-form-section h2,.loustal-booking-steps>h2{font-size:36px}.loustal-booking-summary{padding:28px}.loustal-booking-form>div{flex-direction:column}.loustal-booking-form>div>*{display:block!important;flex:none!important;width:100%!important;max-width:100%!important;height:56px!important;min-height:56px!important}.loustal-booking-form>div:nth-child(2)>input[name="phone"]{display:block!important;flex:none!important;width:100%!important;max-width:100%!important;height:56px!important;min-height:56px!important}.loustal-booking-form>select{height:56px!important;min-height:56px!important}.loustal-booking-form>textarea{height:150px!important;min-height:150px!important}.loustal-booking-steps>.wp-block-columns>.wp-block-column{flex-basis:100%!important}
 .loustal-legal-hero{padding:58px 7vw 48px}.loustal-legal-hero h1{font-size:40px}.loustal-legal-page{padding:48px 7vw 65px}.loustal-legal-page h2{font-size:27px}.loustal-legal-links{justify-content:center}
 .loustal-calendar{padding:15px}.loustal-calendar-head strong{font-size:18px}.loustal-calendar-week,.loustal-calendar-grid{gap:3px}.loustal-calendar-day{font-size:11px}
 .loustal-availability-suggestions{grid-template-columns:1fr}
 .loustal-form>.loustal-date-row,.loustal-booking-form>.loustal-date-row,.loustal-room-reserve .loustal-form>.loustal-date-row{grid-template-columns:minmax(0,1fr)!important;row-gap:14px!important}.loustal-form>.loustal-date-row>.loustal-date-field,.loustal-booking-form>.loustal-date-row>.loustal-date-field{font-size:14px}.loustal-form>.loustal-date-row>.loustal-date-field>input[type="date"]{height:56px!important;min-height:56px!important}.loustal-availability-status.is-unavailable strong{font-size:20px}.loustal-room-reserve .loustal-form select[name="travellers"]{font-size:16px;min-height:56px;color:#aaa49b;font-weight:400}
 .loustal-price-estimate{align-items:flex-start;flex-direction:column}.loustal-price-estimate span{text-align:left}.loustal-form-construction-notice{padding:13px 14px;font-size:12px;letter-spacing:.06em}
 body{padding-bottom:70px}.loustal-construction-notice{min-height:70px;flex-wrap:wrap;gap:3px 8px;padding:9px 16px;font-size:12px}.loustal-construction-notice strong{flex-basis:100%}
}

/* Lien discret vers les quatre chambres, avant la demande de séjour. */
.loustal-room-discovery-link{box-sizing:border-box;max-width:none!important;margin:0!important;padding:24px 7vw;background:#f7f4ee;color:#615c54;font-size:14px;line-height:1.7;text-align:center}
.loustal-room-discovery-link a{color:inherit;text-decoration:underline;text-underline-offset:3px}
