@import "tailwindcss";
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--green:#23372d;--green2:#304b3d;--cream:#f7f0e5;--paper:#fffaf3;--gold:#d5a858;--ink:#20231f;--muted:#686b64}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "DM Sans",Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}img{display:block;width:100%;height:auto}.skip{position:fixed;top:-80px;left:12px;background:#fff;padding:10px;z-index:1000}.skip:focus{top:10px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:#9a6a2e;font-size:.73rem;font-weight:600;margin:0 0 12px}.pale{color:#e4c58c}h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.07;margin:0}h1{font-size:clamp(2.55rem,10.5vw,5.8rem)}h2{font-size:clamp(2.25rem,8vw,4.3rem)}h3{font-size:1.5rem}p{margin:0 0 1rem}header{position:sticky;top:0;z-index:100;min-height:72px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,250,243,.96);border-bottom:1px solid #e9dece;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand i{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:italic 1.65rem Georgia;color:var(--green)}.brand span{display:flex;flex-direction:column;line-height:1.05}.brand b{font-family:Georgia;font-size:1rem}.brand small{font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;color:#7b6958}.desk,.phone,.head-actions>.small{display:none}.burger{border:0;background:var(--green);color:#fff;border-radius:50%;width:45px;height:45px;font-size:1.2rem}.mobile{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:10px 20px 22px;box-shadow:0 18px 30px #1b2b221f;display:grid}.mobile a{padding:12px 4px;border-bottom:1px solid #e7dccd}.mobile a:last-child{color:#fff;background:var(--green);border-radius:8px;margin-top:12px;padding:12px}.hero{min-height:720px;display:flex;align-items:end;position:relative;color:#fff;background:linear-gradient(90deg,rgba(15,26,20,.89) 0%,rgba(15,26,20,.56) 57%,rgba(15,26,20,.13)),url('/hero.png') center/cover}.hero-inner{padding:76px 22px 72px;max-width:780px}.hero h1{margin-bottom:24px}.hero-inner>p:not(.eyebrow){font-size:1.08rem;max-width:600px;color:#f2ede5}.actions{display:flex;flex-direction:column;gap:10px;margin:28px 0 20px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;background:var(--gold);color:#172219;border:0;border-radius:4px;font-weight:600;cursor:pointer}.outline{border:1px solid #fff;background:transparent;color:#fff}.hero-tel{font-size:1.03rem;font-weight:600}.trust{background:var(--green);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:1px}.trust span{text-align:center;padding:16px 8px;background:#293f34;font-size:.82rem}.section{padding:76px 22px;max-width:1200px;margin:auto}.cuisine h2{margin-bottom:25px}.lead{font-size:1.04rem;color:var(--muted)}.features{display:grid;gap:14px;margin-top:35px}.features article{padding:24px;background:var(--cream);border-top:2px solid var(--gold)}.features article>b{color:var(--gold);font-size:.78rem}.features h3{margin:10px 0}.features p{color:var(--muted);margin:0}.card-section{max-width:none;background:#eee4d6}.card-section>*{max-width:1100px;margin-left:auto;margin-right:auto}.section-title{text-align:center;max-width:680px;margin:0 auto 36px}.section-title h2{margin-bottom:14px}.section-title>p:last-child{color:var(--muted)}.menu-wrap{display:grid;gap:20px}.menu details{background:#fffaf4;border-bottom:1px solid #d7c7b2}.menu summary{list-style:none;min-height:68px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;font:600 1.2rem Georgia;cursor:pointer}.menu summary::-webkit-details-marker{display:none}.menu details[open] summary b{transform:rotate(180deg)}.menu details>div{padding:0 18px 14px}.menu details p{display:flex;align-items:baseline;gap:8px;margin:0;padding:11px 0;border-top:1px dotted #d6c7b5}.menu details p span{flex:1}.menu details strong{white-space:nowrap;color:#805b2c}.menu-wrap aside{background:var(--green);color:#fff;padding:28px}.menu-wrap aside h3{font-size:2rem;margin-bottom:18px}.menu-wrap aside>p:not(.eyebrow){display:flex;justify-content:space-between;border-bottom:1px solid #ffffff26;padding:10px 0}.menu-wrap aside small{display:block;color:#d9ded9;margin-top:18px}.note{text-align:center;color:#665f55;font-size:.9rem;margin-top:25px}.gallery{background:#192b23;color:#fff;padding:76px 22px}.gallery>div:first-child{max-width:1150px;margin:0 auto 30px}.gallery h2{margin-bottom:12px}.photos{max-width:1150px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px}.photos img{aspect-ratio:1/1;object-fit:cover}.photos img:first-child{grid-column:span 2;aspect-ratio:1.7/1}.gallery>small{display:block;max-width:1150px;margin:12px auto 0;color:#b9c1bc}.story{display:grid;gap:38px}.portrait{position:relative}.portrait img{aspect-ratio:4/5;object-fit:cover}.portrait small{position:absolute;bottom:10px;left:10px;background:#ffffffdc;padding:5px 9px}.story h2{margin-bottom:24px}.story p{color:var(--muted)}.story em{font:italic 1.35rem Georgia;color:#805b2c}.review-grid{display:grid;gap:14px}.review-grid article{background:#fff;padding:25px;border:1px solid #e5d9c9}.review-grid article>b{color:#ca943a;letter-spacing:.15em}.review-grid article small{color:var(--muted)}.google{margin-top:20px;background:#f1eadf;padding:20px;display:grid;gap:12px;align-items:center}.google i{font:bold 1.8rem Arial;color:#4285f4}.google p{margin:0}.google button{padding:10px;border:1px solid #cfc1ae;background:#f8f4ee;color:#777}.reservation{background:var(--green);color:#fff;padding:76px 22px;display:grid;gap:38px}.reservation>div,.reservation form{max-width:650px}.reservation h2{margin-bottom:20px}.reservation>div>a{font-weight:600;font-size:1.2rem;color:#e4c58c}.reservation>div>p:last-child{margin-top:28px}.reservation form{background:#fff;color:var(--ink);padding:22px;border-radius:3px}.fields{display:grid;gap:15px}label{display:grid;gap:5px;font-size:.87rem;font-weight:600;margin-bottom:15px}input,select,textarea{width:100%;min-height:48px;border:1px solid #cfc9bf;background:#fff;padding:10px;border-radius:3px;font-size:16px}textarea{resize:vertical}.consent{grid-template-columns:auto 1fr;align-items:start;font-weight:400}.consent input{width:20px;min-height:20px}.success{background:#e4f3e8;color:#245231;padding:12px;margin:15px 0 0}.contact{display:grid;gap:35px}.contact h2{margin-bottom:22px}.contact-list{display:grid;gap:10px}.contact-list article{display:flex;gap:18px;padding:20px;background:var(--cream)}.contact-list i{font-style:normal;color:#9a6a2e;font-size:1.5rem}.contact-list p{margin:0;display:grid}.contact-list small{color:var(--muted)}.contact-list a{font-weight:600}.faq{max-width:900px}.faq details{border-bottom:1px solid #d7cabb}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:15px;padding:20px 0;font-weight:600;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq details p{color:var(--muted);padding-right:30px}footer{background:#14241d;color:#d8dfdb;padding:48px 22px 28px}.foot-main{display:grid;gap:20px;max-width:1150px;margin:auto}.foot-main .brand i{color:#fff}.foot-main a:last-child{color:#e4c58c}.share{max-width:1150px;margin:30px auto 0;border-top:1px solid #ffffff24;padding-top:20px;display:flex;align-items:center;gap:8px}.share a,.share button{width:34px;height:34px;border:1px solid #ffffff42;background:transparent;color:#fff;border-radius:50%;display:grid;place-items:center}.share small{color:#e4c58c}.legal{max-width:1150px;margin:30px auto 0;border-top:1px solid #ffffff24;padding-top:20px;font-size:.78rem;color:#aeb9b3}.legal details{display:inline-block;margin:0 14px 10px 0}.legal summary{cursor:pointer;color:#d8dfdb}.legal details p{max-width:550px}.legal a{text-decoration:underline}
@media(min-width:700px){header{padding:10px 5vw}.hero-inner{padding-left:7vw}.actions{flex-direction:row}.trust{grid-template-columns:repeat(4,1fr)}.features,.review-grid{grid-template-columns:repeat(3,1fr)}.menu-wrap,.story,.contact{grid-template-columns:1.35fr .65fr}.photos{grid-template-columns:repeat(3,1fr)}.photos img,.photos img:first-child{grid-column:auto;aspect-ratio:1/1}.story{align-items:center;grid-template-columns:.85fr 1.15fr}.portrait img{aspect-ratio:4/4.5}.fields{grid-template-columns:1fr 1fr}.reservation{grid-template-columns:.85fr 1.15fr;padding:90px 6vw;justify-content:center}.google{grid-template-columns:auto 1fr auto auto}.foot-main{grid-template-columns:1fr 1fr auto;align-items:center}}
@media(min-width:1040px){header{height:82px}.desk{display:flex;gap:25px;margin-left:auto;margin-right:30px;font-size:.88rem}.desk a{position:relative}.desk a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--gold);transition:.2s}.desk a:hover:after{right:0}.phone,.head-actions>.small{display:inline-flex}.head-actions{display:flex;align-items:center;gap:14px}.phone{font-weight:600;font-size:.88rem}.small{min-height:42px;padding:8px 15px}.burger{display:none}.hero{min-height:calc(100vh - 82px)}.hero-inner{padding-bottom:9vh}.cuisine{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px}.features{grid-column:1/-1}.section{padding-top:105px;padding-bottom:105px}.gallery{padding-top:105px;padding-bottom:105px}.story{grid-template-columns:1fr 1fr;gap:80px}.reservation{padding-top:105px;padding-bottom:105px}.foot-main{padding-top:10px}}
@media(max-width:380px){h1{font-size:2.35rem}.hero-inner{padding-left:17px;padding-right:17px}.trust{grid-template-columns:1fr}.section,.gallery,.reservation{padding-left:17px;padding-right:17px}.brand{gap:8px}.brand b{font-size:.9rem}.brand small{font-size:.58rem;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Ajustements éditoriaux Restaurant local */
.reviews{max-width:none;background:#f1e7d9}
.reviews>.review-grid,.reviews>.google{max-width:1150px;margin-left:auto;margin-right:auto}
.full-menu{background:#fffaf4;border:1px solid #d7c7b2}
.menu-more>summary{list-style:none;min-height:68px;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;font:600 1.2rem Georgia;cursor:pointer;border-top:1px solid #d7c7b2}
.menu-more>summary::-webkit-details-marker{display:none}
.menu-more[open]>summary b{transform:rotate(180deg)}
.menu-more>summary b{transition:transform .2s}
.menu-categories{padding:5px 22px 22px}
.menu-visible{padding-bottom:0}
.menu-more .menu-categories{padding-top:0}
.menu-categories section+section{margin-top:28px}
.menu-categories h3{text-align:center;font-size:1.7rem;padding:12px 0;margin-bottom:6px;border-top:1px solid #d7c7b2;border-bottom:1px solid #d7c7b2}
.menu-categories p{display:flex;align-items:baseline;gap:8px;margin:0;padding:11px 0;border-bottom:1px dotted #d6c7b5}
.menu-categories p span{flex:1}
.menu-categories strong{white-space:nowrap;color:#805b2c}
.cuisine{align-items:start}
.cuisine .lead{padding-top:4px}
.values{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.values span{border:1px solid #cdbb9f;padding:6px 11px;color:#65533d;font-size:.83rem}
.google img{width:42px;height:42px;object-fit:contain;border-radius:50%}
.owner-info{display:grid;gap:7px;margin:23px 0;padding:18px 0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}
.owner-info a{color:#e4c58c;font-weight:600;overflow-wrap:anywhere}
.owner-info a[href^="tel:"]{font-size:1.15rem}
.contact-map{margin:20px 0 25px}
.contact-map small{display:block;margin-bottom:8px;color:#d8dfdb}
.contact-map iframe{display:block;width:100%;height:220px;border:0;border-radius:3px;background:#e9e1d4}
.legal-section{background:#f3eadf;padding:76px 22px}
.legal-section>div{max-width:1100px;margin:auto}
.legal-section h2{margin-bottom:15px}
.legal-section>div>p:not(.eyebrow){color:var(--muted);max-width:700px}
.legal-grid{margin-top:30px;border-top:1px solid #cfbea7}
.legal-grid details{border-bottom:1px solid #cfbea7}
.legal-grid summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-weight:600;cursor:pointer}
.legal-grid summary::-webkit-details-marker{display:none}
.legal-grid details p{max-width:850px;color:var(--muted);padding:0 30px 18px 0}
.legal-grid details[open] summary b{transform:rotate(45deg)}
.copyright{max-width:1150px;margin:25px auto 0;border-top:1px solid #ffffff24;padding-top:18px;font-size:.78rem;color:#aeb9b3}
.copyright p{margin:.35rem 0}
.copyright a{text-decoration:underline;color:#d8dfdb}
.form-error{background:#f9e7e3;color:#7a2e24;padding:12px;margin:15px 0 0}
.foot-nav{display:grid;gap:5px}
.foot-nav b{font-family:Georgia,serif;color:#fff;margin-bottom:3px}
.foot-nav a{font-size:.88rem;color:#d8dfdb}
.foot-nav a:hover{text-decoration:none}
.copy-link{font-family:Arial,sans-serif!important;font-size:1rem;line-height:1}
.mobile a.mobile-phone{color:var(--ink);background:transparent;border-radius:0;margin-top:0;padding:12px 4px}
.phone-icon{display:inline-block;flex:0 0 auto;width:14px;height:14px;fill:currentColor;vertical-align:-2px}
.phone,.mobile-phone,.owner-info a[href^="tel:"]{align-items:center;gap:8px}
.mobile-phone,.owner-info a[href^="tel:"]{display:flex}
.owner-info a[href^="tel:"]{width:fit-content;max-width:100%}
.owner-info a[href^="tel:"] .phone-icon{width:17px;height:17px}
.mobile a.mobile-reserve{color:#172219;background:var(--gold);border:0;border-radius:8px;margin-top:14px;padding:13px;text-align:center;font-weight:600}
.hero{min-height:auto;align-items:flex-start;color:var(--ink);background:var(--paper)}
.hero-inner{width:100%;max-width:none;padding:26px 20px 42px}
.hero .eyebrow{color:#9a6a2e;margin-bottom:9px}
.hero h1{font-size:clamp(2.35rem,11.2vw,3rem);line-height:1.02;margin-bottom:0}
.desktop-title{display:none}
.hero .mobile-title{display:block;position:absolute;z-index:2;top:30%;left:18px;right:16px;transform:translateY(-50%);color:#fff;font-size:clamp(2.15rem,9vw,2.5rem);line-height:1.06;text-shadow:0 2px 12px rgba(12,22,17,.52)}
.hero .mobile-title>span{display:block;white-space:nowrap}
.hero .hero-mobile-visual{display:block;position:relative;width:90%;max-width:390px;margin:8px auto 24px;overflow:hidden}
.hero .hero-mobile-visual:after{content:"";position:absolute;inset:0 0 auto;height:42%;background:linear-gradient(180deg,rgba(18,31,24,.62),transparent);pointer-events:none}
.hero .hero-mobile-image{display:block;width:100%;aspect-ratio:4/5.35;object-fit:cover;object-position:72% 62%;margin:0}
.hero .hero-mobile-badge{position:absolute;z-index:2;left:0;bottom:16px;margin:0;padding:9px 13px;background:rgba(255,250,243,.94);border-left:3px solid var(--gold);box-shadow:0 7px 22px rgba(20,36,29,.16);color:var(--green);font-size:.78rem;font-weight:600;line-height:1.25;letter-spacing:.02em}
.hero .hero-mobile-badge span{color:var(--gold);padding:0 3px}
.hero-inner>p:not(.eyebrow){font-size:1rem;line-height:1.58;max-width:36rem;color:var(--muted)}
.actions{margin:23px 0 18px}
.outline{border-color:var(--green);color:var(--green)}
.hero-tel{color:var(--green)}
@media(orientation:landscape) and (max-width:699px){
  .hero-inner{padding-top:20px}
  .hero .eyebrow{margin-bottom:6px}
  .hero h1{font-size:clamp(2.2rem,7.5vw,3rem)}
  .hero .hero-mobile-visual{width:96%;max-width:820px;margin-top:8px}
  .hero .hero-mobile-image{aspect-ratio:2.8/1;object-position:72% 100%}
  .hero .mobile-title{top:13px;left:15px;right:15px;font-size:clamp(1.65rem,4.3vw,2.15rem);white-space:nowrap}
  .hero .mobile-title>span{display:inline}
  .hero .mobile-title>span+span{margin-left:.22em}
  .hero .hero-mobile-badge{bottom:12px}
}
@media(min-width:700px){
  .hero{min-height:auto;align-items:flex-start;color:#fff;background:linear-gradient(90deg,rgba(15,26,20,.89) 0%,rgba(15,26,20,.56) 57%,rgba(15,26,20,.13)),url('hero.png') center/cover}
  .hero{min-height:720px;align-items:end}
  .hero-inner{width:auto;padding:76px 22px 72px;max-width:780px}
  .hero .eyebrow{color:#e4c58c;margin-bottom:12px}
  .hero h1{font-size:clamp(2.55rem,10.5vw,5.8rem);line-height:1.07;margin-bottom:24px}
  .desktop-title{display:block}
  .hero .mobile-title,.hero .hero-mobile-visual{display:none}
  .hero-inner>p:not(.eyebrow){font-size:1.08rem;line-height:1.65;max-width:600px;color:#f2ede5}
  .actions{margin:28px 0 20px}
  .outline{border-color:#fff;color:#fff}
  .hero-tel{color:#fff}
}
@media(min-width:1040px){.desk{margin-right:58px}.legal-section{padding-top:95px;padding-bottom:95px}}
@media(min-width:700px){.owner-info a[href^="tel:"]{font-size:1.28rem}}
@media(min-width:700px){.reservation form{align-self:start;padding-bottom:40px}}

/* Pied de page professionnel */
footer{background:#14241d;color:#d8dfdb;padding:64px 22px 26px;overflow:hidden}
.footer-grid{width:100%;max-width:1150px;margin:0 auto;display:grid;gap:38px}
.footer-identity .brand i{color:#fff}
.footer-identity p{max-width:360px;margin:18px 0 0;color:#eef2ef;font-family:Georgia,serif;font-size:1rem;line-height:1.6}
.foot-nav{align-content:start;gap:7px}
.foot-nav h3,.footer-info h3,.share h3{margin:0 0 13px;font:600 .76rem "DM Sans",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e4c58c}
.foot-nav a{width:max-content;max-width:100%;font-size:.92rem;color:#f2f5f3}
.footer-accordions{border-top:1px solid #ffffff24}
.footer-accordions details{border-bottom:1px solid #ffffff24}
.footer-accordions summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:15px 0;color:#fff;cursor:pointer;font-weight:500}
.footer-accordions summary::-webkit-details-marker{display:none}
.footer-accordions summary b{color:#e4c58c;transition:transform .2s}
.footer-accordions details[open] summary b{transform:rotate(45deg)}
.footer-accordions p{max-width:680px;margin:0;padding:0 28px 17px 0;color:#bfc9c3;font-size:.84rem;line-height:1.65;overflow-wrap:anywhere}
.share{max-width:1150px;margin:38px auto 0;border:0;padding:0;display:grid;justify-items:center;gap:9px}
.share h3{margin:0}
.share-buttons{display:flex;align-items:center;justify-content:center;gap:9px}
.share a,.share button{position:relative;width:38px;height:38px;border:1px solid #ffffff42;background:transparent;color:#fff;border-radius:5px;display:grid;place-items:center;cursor:pointer}
.share a:hover,.share button:hover,.share a:focus-visible,.share button:focus-visible{border-color:#e4c58c;background:#ffffff10;color:#e4c58c;outline:2px solid transparent}
.share small{min-height:1.1em;color:#e4c58c}
.copyright{max-width:1150px;margin:18px auto 0;border-top:1px solid #ffffff24;padding-top:18px;text-align:center;font-size:.75rem;color:#aeb9b3;overflow-wrap:anywhere}
.copyright p{margin:.3rem 0}
.copyright a{color:#d8dfdb;text-decoration:none}
@media(min-width:760px){.footer-grid{grid-template-columns:1fr .62fr 1.55fr;gap:56px;align-items:start}.share{margin-top:34px}}
@media(max-width:759px){footer{padding:50px 20px 24px}.footer-grid{gap:32px}.share{margin-top:30px}.copyright{margin-top:14px}.copyright p:last-child{line-height:1.8}}

/* Largeurs fluides de bureau : 1 360 px utiles, sans modifier le mobile */
@media(min-width:1040px){
  :root{--desktop-gutter:clamp(32px,4vw,64px)}
  .section{width:100%;max-width:calc(1360px + 2 * var(--desktop-gutter));padding-left:var(--desktop-gutter);padding-right:var(--desktop-gutter)}
  .section.card-section,.section.reviews{max-width:none}
  .card-section>*,.reviews>.review-grid,.reviews>.google{width:100%;max-width:1360px}
  .gallery{padding-left:var(--desktop-gutter);padding-right:var(--desktop-gutter)}
  .gallery>div:first-child,.photos,.gallery>small{width:100%;max-width:1360px}
  .section.faq{max-width:calc(1120px + 2 * var(--desktop-gutter))}
  .reservation{grid-template-columns:minmax(0,550px) minmax(0,760px);column-gap:50px;padding-left:var(--desktop-gutter);padding-right:var(--desktop-gutter)}
  .reservation>div,.reservation form{width:100%;max-width:none}
  .footer-grid,.share,.copyright{width:100%;max-width:1360px}
}
@media(min-width:1680px){
  body{font-size:17px}
  h1{font-size:6.15rem}
  h2{font-size:4.55rem}
  .hero-inner{max-width:880px}
}

/* Survols sobres sur ordinateur : ligne glissante pour les liens et légère élévation des boutons */
@media (min-width:1040px) and (hover:hover) and (pointer:fine){
  .desk a,
  .phone,
  .hero-tel,
  .owner-info a,
  .foot-nav a,
  .copyright a{
    position:relative;
    text-decoration:none;
  }
  .desk a::after,
  .phone::after,
  .hero-tel::after,
  .owner-info a::after,
  .foot-nav a::after,
  .copyright a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-4px;
    height:1px;
    background:var(--gold);
    transition:right .24s ease;
  }
  .desk a:hover::after,
  .desk a:focus-visible::after,
  .phone:hover::after,
  .phone:focus-visible::after,
  .hero-tel:hover::after,
  .hero-tel:focus-visible::after,
  .owner-info a:hover::after,
  .owner-info a:focus-visible::after,
  .foot-nav a:hover::after,
  .foot-nav a:focus-visible::after,
  .copyright a:hover::after,
  .copyright a:focus-visible::after{
    right:0;
  }
  .btn,
  button:not(:disabled),
  .share a{
    transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease;
  }
  .btn:hover,
  .btn:focus-visible,
  button:not(:disabled):hover,
  button:not(:disabled):focus-visible,
  .share a:hover,
  .share a:focus-visible{
    transform:translateY(-2px);
    box-shadow:0 7px 16px rgba(10,20,15,.16);
  }
}

/* Finitions des icônes et de la navigation */
.burger{width:49px;height:49px;padding:0;display:grid;place-items:center;font-size:0}
.menu-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.mobile-icon{display:inline-block;flex:0 0 auto;width:16px;height:16px;fill:currentColor}
.hero-tel{display:inline-flex;align-items:center;gap:9px}
.hero-tel .mobile-icon{width:18px;height:18px}
.external-icon,.copy-icon{display:inline-block;flex:0 0 auto;width:15px;height:15px;fill:currentColor}
.owner-info a:not([href^="tel:"]){display:inline-flex;align-items:center;gap:7px;width:fit-content;max-width:100%}
.owner-info a:not([href^="tel:"]) span{min-width:0;overflow-wrap:anywhere}
.copy-link .copy-icon{width:16px;height:16px}

@media(max-width:699px){
  .owner-info .external-icon{display:none}
}

@media(min-width:700px){
  .photos{grid-template-columns:repeat(4,minmax(0,1fr))}
  .photos img:first-child{grid-column:span 2;aspect-ratio:2/1}
}

@media(min-width:1040px){
  .desk{position:absolute;left:50%;transform:translateX(-50%);margin:0}
  .burger{display:none}
}

/* Smartphone horizontal : panorama piloté uniquement par CSS */
@media (min-width:500px) and (max-width:1039px) and (max-height:700px) and (orientation:landscape){
  .hero{min-height:auto;align-items:flex-start;color:var(--ink);background:var(--paper)}
  .hero-inner{width:100%;max-width:none;padding:16px 8px 28px}
  .hero .eyebrow{color:#9a6a2e;margin:0 18px 8px}
  .hero .desktop-title{display:none}
  .hero .hero-mobile-visual{display:block;width:calc(100vw - 16px);max-width:none;margin:0 auto 16px;overflow:hidden}
  .hero .hero-mobile-image{display:block;width:100%;height:clamp(165px,34vh,220px);aspect-ratio:auto;object-fit:cover;object-position:72% 84%}
  .hero .mobile-title{display:block;top:38%;left:22px;right:22px;transform:translateY(-50%);font-size:clamp(1.7rem,4vw,2.2rem);line-height:1;white-space:normal}
  .hero .mobile-title>span{display:inline}
  .hero .mobile-title>span:first-child:after{content:" "}
  .hero .mobile-title>span:nth-child(2):after{content:"";display:block}
  .hero .mobile-title>span+span{margin-left:0}
  .hero .hero-mobile-badge{bottom:8px;padding:7px 11px;font-size:.72rem}
  .hero-inner>p:not(.eyebrow){max-width:760px;margin-left:18px;margin-right:18px;color:var(--muted)}
  .hero-tel{color:var(--green)}
}

[hidden]{display:none!important}

.form-status{margin:14px 0 0;padding:11px 13px;border-radius:3px;background:#f1eadf;color:#514a41}
.form-status.success{background:#e4f3e8;color:#245231}
.form-status.error{background:#f8e5e2;color:#7b2f26}
.error-page{min-height:100vh;max-width:760px;margin:auto;padding:70px 24px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px}
.error-page .eyebrow,.error-page p{margin:0}
.error-page h1{font-size:clamp(2.5rem,8vw,5rem)}
/* Mise à jour responsive et animations de la démonstration. */
.review-window{overflow:hidden;width:100%;max-width:1360px;margin:0 auto}.review-grid.is-carousel{display:flex;gap:14px;width:max-content;max-width:none;margin:0;animation:none;--review-width:350px;--review-step:364px}.review-grid.is-carousel article{flex:0 0 var(--review-width);width:var(--review-width)}.review-window:hover .review-grid,.review-window:focus-within .review-grid,.review-window.is-held .review-grid{animation-play-state:paused}.review-window:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
@keyframes reviews-step{0%,29.411765%{transform:translateX(0)}33.333333%,62.745098%{transform:translateX(calc(-1 * var(--review-step)))}66.666667%,96.078431%{transform:translateX(calc(-2 * var(--review-step)))}100%{transform:translateX(calc(-3 * var(--review-step)))}}
.back-top{display:none}
@media(min-width:1200px){.back-top{position:fixed;right:24px;bottom:24px;z-index:110;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #d6ba85;border-radius:50%;background:var(--green);color:#f5dca8;box-shadow:0 5px 18px #14241d33;cursor:pointer}.back-top svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2}.back-top:focus-visible{outline:3px solid var(--gold);outline-offset:4px}}
@media(max-width:699px){.trust{grid-template-columns:repeat(2,minmax(0,1fr))}.trust span{display:flex;align-items:center;justify-content:center;min-height:76px;padding:14px 10px;font-size:.78rem;line-height:1.5}}
@media(min-width:700px) and (max-width:1199px){.hero-tel{font-size:1.4rem;gap:11px}.hero-tel .mobile-icon{width:22px;height:22px}.reservation>.contact-map{grid-column:1/-1;max-width:none;width:100%;margin:0}.reservation>.contact-map iframe{height:320px;border-radius:8px}.reservation{row-gap:30px}}
@media(prefers-reduced-motion:reduce){.review-window{overflow-x:auto;scroll-snap-type:x mandatory}.review-grid.is-carousel{animation:none}.review-grid.is-carousel article{scroll-snap-align:start}.review-grid .review-clone{display:none}}

/* Retouches mobile/tablette et positionnement exact des avis. */
.review-grid.is-carousel{justify-content:flex-start;flex-wrap:nowrap;will-change:transform}.review-grid.is-carousel article{min-width:0;box-sizing:border-box;margin:0}
@media(max-width:699px){.hero>.hero-inner>.eyebrow{font-size:.84rem;letter-spacing:.14em;line-height:1.65;margin-bottom:14px}.hero-tel{display:flex;width:fit-content;margin-left:auto;margin-right:auto;justify-content:center}}
@media(min-width:700px) and (max-width:1199px){.story{align-items:stretch}.story .portrait{min-height:560px}.story .portrait img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:65% 50%}}
@media(prefers-reduced-motion:reduce){.review-grid.is-carousel{transform:none!important;transition:none!important;will-change:auto}}
