/* La Fleur — direção editorial e movimento, sem alterar a ordem das seções. */
:root{--lf-gold:#cdb58a;--lf-cream:#f4ede1;--lf-ink:#17110e;--lf-line:rgba(205,181,138,.23);--lf-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{background:var(--lf-ink);font-size:17px;line-height:1.7}
::selection{background:#876247;color:#fff8ec}
h1,h2,h3{text-wrap:balance}h1,h2{letter-spacing:-.035em}p{max-width:65ch}
.container-site{max-width:1504px;padding-inline:clamp(24px,5.2vw,88px)}
.text-corpo{font-size:clamp(17px,1.28vw,19px);line-height:1.8}
.text-h2{font-size:clamp(40px,4.35vw,66px);line-height:1.06}
.text-h3{line-height:1.15}.text-text-muted{color:#c9bcaa}
.section-pad{padding-block:clamp(96px,10vw,160px)}
main section{scroll-margin-top:30px}
a,button,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #e0c79d;outline-offset:6px}
[hidden]{display:none!important}
/* Header */
body>header{border-bottom:1px solid transparent;transition:background .45s,border-color .45s,backdrop-filter .45s!important}
body>header>div:first-child{height:100px;transition:height .45s var(--lf-ease)}
body>header[class*="bg-bg/90"]{background:rgba(23,17,14,.92);backdrop-filter:blur(16px);border-color:var(--lf-line)}
body>header[class*="bg-bg/90"]>div:first-child{height:80px}
body>header a[aria-label="La Fleur Bistrô"]{width:auto;height:62px;gap:14px;border-radius:0;background:transparent;color:var(--lf-cream);flex-shrink:0}
body>header a[aria-label="La Fleur Bistrô"] img{width:48px;height:48px;border-radius:50%;background:#f3ece0;padding:3px}
.lf-wordmark{display:flex;flex-direction:column;font-family:var(--font-display),Georgia,serif;font-size:27px;line-height:1;letter-spacing:.035em}
.lf-wordmark small{margin-top:7px;font-family:var(--font-sans),sans-serif;font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--lf-gold)}
header nav[aria-label="Principal"]>ul{gap:32px}
header nav[aria-label="Principal"]>ul a{position:relative;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
header nav[aria-label="Principal"]>ul a:after{content:"";position:absolute;height:1px;background:var(--lf-gold);bottom:0;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--lf-ease)}
header nav[aria-label="Principal"]>ul a:is(:hover,[aria-current="location"]):after{transform:scaleX(1)}
header .btn-primary{min-height:44px;padding:11px 19px;font-size:11px;background:transparent;color:var(--lf-cream);border:1px solid rgba(205,181,138,.55)}
/* Controls: precise shapes, warm highlights. */
.btn-primary{position:relative;gap:22px;border:1px solid var(--lf-cream);border-radius:1px;padding:17px 26px;min-height:56px;font-size:12px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;background:var(--lf-cream);color:#42271c;transition:background .35s,color .35s,border-color .35s,box-shadow .35s,transform .45s var(--lf-ease)}
.btn-primary:after{content:"↗";font-size:18px;font-weight:400;line-height:1;letter-spacing:0;transition:transform .4s var(--lf-ease)}
.btn-primary:hover{background:#d9c29a;border-color:#d9c29a;color:#261b15;box-shadow:0 8px 28px #0002;transform:translateY(-2px)}
.btn-primary:hover:after{transform:translate(2px,-2px)}
.link-secondary{font-size:13px;letter-spacing:.04em;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-color:#cdb58a99;transition:color .3s,text-decoration-color .3s}
.link-secondary:hover{color:#e5cd9f;text-decoration-thickness:1px;text-decoration-color:#e5cd9f}
.lf-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 26px;font-size:10px;font-weight:500;letter-spacing:.23em;line-height:1.6;text-transform:uppercase;color:#ddc59b}
.lf-eyebrow:before{content:"";height:1px;width:36px;background:var(--lf-gold);opacity:.7;flex-shrink:0}
/* Opening */
#inicio{min-height:100svh;isolation:isolate}
#inicio>.container-site{padding-top:160px;padding-bottom:160px}
#inicio>.container-site>div{width:65%;max-width:820px}
#hero-title{font-size:clamp(56px,6.1vw,94px);line-height:.99;letter-spacing:-.035em;font-weight:400;max-width:10.6em;animation:none}
#hero-title .lf-hero-line{display:block}
#hero-title .lf-hero-line:last-child{font-style:italic;color:#ddc8a4}
#inicio .text-corpo{max-width:460px;font-size:17px;line-height:1.8;color:#e8dfd2;margin-top:30px}
#inicio .lf-hero-line{animation:lf-hero-arrive 1.3s var(--lf-ease) both}
#inicio .lf-hero-line:last-child{animation-delay:.14s}
#inicio .lf-eyebrow{animation:lf-arrive 1s var(--lf-ease) both}
#inicio .text-corpo,#inicio .mt-10{animation:lf-arrive 1.2s .26s var(--lf-ease) both}
.lf-hero-bottom{position:absolute;left:clamp(24px,5.2vw,88px);right:clamp(24px,5.2vw,88px);bottom:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:22px;border-top:1px solid #f3ece035;color:#e1d7c8}
.lf-hero-bottom p{font-family:var(--font-display),Georgia,serif;font-style:italic;font-size:20px;letter-spacing:.015em}
.lf-scroll-invite{display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;min-height:44px}
.lf-scroll-invite span{position:relative;width:1px;height:36px;overflow:hidden;background:#e8d8b830}
.lf-scroll-invite span:after{content:"";position:absolute;width:1px;height:18px;background:#ddc59b;animation:lf-scroll 2.8s ease-in-out infinite}
/* The background is continuous; overlays protect the reading areas. */
.lf-scene-root{background:#17110e;isolation:isolate}
.lf-scene-root>div:has(picture){inset:-4%;transition:opacity .9s ease!important;will-change:transform,opacity}
.lf-scene-root picture{display:block;width:100%;height:100%}
.lf-scene-root picture img{filter:saturate(.88) contrast(1.035);width:100%;height:100%;object-fit:cover}
.lf-scene-root>.scene-overlay{transition:opacity 1s ease!important}
.lf-scene-root:after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(12,8,6,.42),transparent 25%,transparent 65%,rgba(12,8,6,.33))}
.lf-scene-root[data-scene="inicio"]:after{background:linear-gradient(90deg,#120c0938 0%,#120c0938 55%,transparent 82%),linear-gradient(180deg,#0c080666,transparent 28%,transparent 64%,#0c080655)}
.lf-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;pointer-events:none}
.lf-film.lf-film-ready{opacity:1}
.lf-progress{position:fixed;z-index:60;left:0;top:0;width:100%;height:2px;pointer-events:none;background:#d5ba86;transform:scaleX(0);transform-origin:left}
.lf-chapter{position:fixed;left:74px;bottom:29px;z-index:30;display:flex;gap:12px;align-items:center;color:#e0ceaf;font-size:10px;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;text-shadow:0 1px 10px #000;transition:opacity .3s}
.lf-chapter-number{opacity:.65;font-variant-numeric:tabular-nums}
body:has([aria-label="Aviso de cookies"]) .lf-chapter{opacity:0}
/* Room and editorial panels */
#resumo{padding-block:100px 120px;min-height:0}
.panel{background:linear-gradient(130deg,rgba(37,26,21,.95),rgba(25,18,15,.88));border:1px solid var(--lf-line);border-radius:2px!important;box-shadow:0 24px 80px #0002;padding:clamp(28px,4.2vw,64px)}
#resumo .panel{width:65%;max-width:800px;border-top-color:#c9a77b88}
#resumo-title{font-size:clamp(32px,3.2vw,48px);line-height:1.1}
#resumo dl dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lf-gold);padding-top:3px}
#resumo dl dd{font-size:15px;line-height:1.75}
#salao figure{position:relative;overflow:hidden;box-shadow:0 28px 60px #0004}
#salao figure:first-child{border-radius:180px 180px 2px 2px}
#salao figure:nth-child(2){border-radius:2px 2px 100px 100px}
#salao figure img{aspect-ratio:4/5;object-fit:cover;transition:scale 1.2s var(--lf-ease),filter 1s}
#salao figure:after{content:"";position:absolute;inset:12px;border:1px solid #f1d5ae33;border-radius:inherit;pointer-events:none}
#salao .space-y-5 p{font-size:16px;line-height:1.85}
/* Menu: keep the original categories, dishes and prices. */
#cardapio{background:linear-gradient(180deg,transparent,#17110e55 12%,#17110e55 90%,transparent)}
#cardapio .lg\:sticky{top:112px}
#cardapio figure{overflow:hidden;border-radius:1px 110px 1px 1px}
#cardapio figure img{max-height:410px;object-fit:cover;transition:scale 1.2s var(--lf-ease)}
#cardapio .mb-14>.flex{align-items:center;flex-wrap:wrap;gap:16px;padding-bottom:8px}
#cardapio .mb-14>.flex>div{flex:1 1 200px}
#cardapio .mb-14>.flex>img{width:86px;height:86px;border-radius:50%;border:1px solid #cdb58a50;padding:3px}
#cardapio .mb-14>.flex>img[src*="sec-cardapio-"][src*=".webp"]{object-fit:contain;border:0;border-radius:0;padding:0;background:transparent}
#cardapio .mb-14 h3{font-size:clamp(29px,2.5vw,38px);font-style:italic;color:#e5d1ae}
#cardapio .mb-14 .font-display.text-prato{font-size:20px}
#cardapio li{position:relative;padding-block:19px;border-color:var(--lf-line);transition:background .35s,padding .35s var(--lf-ease)}
#cardapio li p{font-size:15px;line-height:1.65}
.price{color:#dcc398;font-size:15px;font-weight:400}
#vinhos .panel{border-color:#c7a37a44}
#vinhos .panel h2{max-width:12ch}
#vinhos table th{font-size:22px;font-weight:400;line-height:1.3}
#vinhos table td{font-size:14px}
#vinhos table tr{border-color:var(--lf-line);transition:background .3s}
#vinhos table td,#vinhos table th{padding-block:18px}
#vinhos img{transition:scale 1.2s var(--lf-ease)}
/* Reviews: the same testimonials, with an editorial rhythm. */
#avaliacoes .container-site>div{width:100%;max-width:1100px}
#avaliacoes-title{max-width:650px}
#avaliacoes .space-y-12{display:grid;grid-template-columns:1fr 1fr;column-gap:72px;row-gap:52px}
#avaliacoes .space-y-12>figure{position:relative;margin:0!important;padding:36px 0 0;border-top:1px solid var(--lf-line)}
#avaliacoes .space-y-12>figure:before{content:"“";display:block;height:46px;font:74px/.9 var(--font-display),Georgia,serif;color:#cdb58a;opacity:.85}
#avaliacoes blockquote{font-size:clamp(25px,2.25vw,34px);line-height:1.28;font-style:italic;font-weight:400}
#avaliacoes figcaption{font-size:12px;line-height:1.8;letter-spacing:.035em;margin-top:24px}
/* Accordion and visit */
#faq .panel{width:75%;max-width:960px}
#faq details{border-color:var(--lf-line)}
#faq summary{padding-block:24px;transition:color .3s}
#faq summary h3{font-size:22px;line-height:1.3}
#faq details[open]>p{animation:lf-answer .4s var(--lf-ease);font-size:16px;line-height:1.8}
#faq summary:hover h3{color:#dfc69c}
#visite h2{max-width:12ch}
#visite address{border-left:1px solid #c9aa7a88;padding-left:22px;font-size:16px;line-height:1.9}
#visite .btn-primary{margin-top:24px}
#visite figure{overflow:hidden;border-radius:130px 130px 2px 2px}
#visite img{transition:scale 1.2s var(--lf-ease)}
footer{border-top:1px solid #cbb38d22;background:#17110e!important;padding-top:64px!important}
footer>.container-site{border-top:0;padding-top:0}
footer address>span:first-child{font-size:42px;margin-bottom:20px}
footer a,footer button{transition:color .3s}
footer a:hover,footer button:hover{color:var(--lf-gold)}
/* Enter only once, and never hide content before enhancement succeeds. */
.lf-reveal.lf-await{opacity:0;translate:0 24px}
.lf-reveal{transition:opacity .9s var(--lf-ease),translate 1.1s var(--lf-ease);transition-delay:var(--lf-delay,0ms)}
.lf-motion-paused .lf-reveal{opacity:1!important;translate:0 0!important}
.lf-motion-paused *{animation:none!important}
/* Full menu and secondary pages */
body:not(:has(#inicio)) main{background:radial-gradient(ellipse at 85% 0,#53352633,transparent 34%)}
body:not(:has(#inicio)) main h1{font-size:clamp(48px,5.5vw,78px);line-height:1.03;max-width:900px}
nav[aria-label="Seções do cardápio"]{top:80px;background:#17110ef5;border-color:var(--lf-line)}
nav[aria-label="Seções do cardápio"] a{font-size:12px;letter-spacing:.025em;border-bottom:1px solid transparent}
nav[aria-label="Seções do cardápio"] a[aria-current="location"]{border-color:var(--lf-gold);color:var(--lf-gold)}
body:not(:has(#inicio)) section{scroll-margin-top:184px}
body:not(:has(#inicio)) table tr{border-color:var(--lf-line)}
body:not(:has(#inicio)) main section .text-h3{color:#dfc69c}
body:not(:has(#inicio)) main section img{border-radius:50%}
body:not(:has(#inicio)) main section img[src*="sec-cardapio-"][src*=".webp"]{object-fit:contain;border:0;border-radius:0;padding:0;background:transparent}
/* Cookie choices and floating contact retain their original behavior. */
[aria-label="Aviso de cookies"]{background:#241b16f5;backdrop-filter:blur(18px);border-color:#cdb58a55;box-shadow:0 16px 60px #0006;border-radius:2px;padding:24px}
[aria-label="Aviso de cookies"] .btn-primary{min-height:46px;padding:12px 16px;font-size:10px;letter-spacing:.07em}
[aria-label="Aviso de cookies"] .btn-primary:after{display:none}
body>a.fixed[data-event="whatsapp_click"]{border-radius:2px;min-height:48px;font-size:12px;letter-spacing:.06em;padding:12px 18px;box-shadow:0 10px 35px #0003}
/* Responsive */
@media(hover:hover) and (pointer:fine){#salao figure:hover img,#cardapio figure:hover img,#visite figure:hover img{scale:1.035}#cardapio li:hover{background:#cdb58a09;padding-left:10px;padding-right:10px}#vinhos table tr:hover{background:#cdb58a09}}
@media(min-width:1600px){#inicio .container-site{padding-block:180px}#inicio>.container-site>div{width:68%}.lf-hero-bottom{left:max(88px,calc((100vw - 1328px)/2));right:max(88px,calc((100vw - 1328px)/2))}}
@media(max-width:1023px){body>header>div:first-child{height:80px}#inicio>.container-site>div{width:78%}#resumo .panel{width:85%}#faq .panel{width:90%}.lf-chapter{display:none}#menu-mobile{height:calc(100dvh - 80px);background:#19120ffb;overflow-y:auto}#menu-mobile nav{padding-top:32px;padding-bottom:48px}#menu-mobile nav>a:not(.btn-primary){font-size:42px;padding-block:20px;border-color:var(--lf-line)}#menu-mobile:not([hidden]) nav>a{animation:lf-arrive .55s var(--lf-ease) both}#menu-mobile:not([hidden]) nav>a:nth-child(2){animation-delay:.05s}#menu-mobile:not([hidden]) nav>a:nth-child(3){animation-delay:.1s}#menu-mobile:not([hidden]) nav>a:nth-child(4){animation-delay:.15s}}
@media(max-width:767px){html{scroll-padding-top:90px}body{font-size:16px}.section-pad{padding-block:86px;min-height:0}body>header>div:first-child,body>header[class*="bg-bg/90"]>div:first-child{height:76px}body>header a[aria-label="La Fleur Bistrô"] img{width:42px;height:42px}.lf-wordmark{font-size:24px}.lf-wordmark small{font-size:8px;letter-spacing:.25em}.lf-eyebrow{font-size:9px;letter-spacing:.16em;gap:10px;margin-bottom:22px}.lf-eyebrow:before{width:24px}#inicio{align-items:center}#inicio>.container-site{padding-top:150px;padding-bottom:170px}#inicio>.container-site>div{width:100%;max-width:600px}#hero-title{font-size:clamp(51px,9.3vw,70px);line-height:1.03;max-width:10.5em}#inicio .text-corpo{font-size:16px;line-height:1.7;max-width:33ch;margin-top:26px}#inicio .mt-10{margin-top:30px;gap:20px}.btn-primary{padding:16px 21px;font-size:11px;gap:18px}.lf-hero-bottom{bottom:27px;display:block;padding-top:18px}.lf-hero-bottom p{font-size:17px}.lf-scroll-invite{font-size:9px;gap:12px;margin-top:9px}.lf-scroll-invite span{height:23px}#resumo{padding-block:56px 72px}#resumo .panel,#faq .panel{width:100%;padding:27px 24px}.text-h2{font-size:clamp(38px,8.6vw,52px)}#salao figure:first-child{border-radius:110px 110px 1px 1px}#salao figure:nth-child(2){margin-top:80px}#salao figure:after{inset:7px}#cardapio .mb-14>.flex>img{width:66px;height:66px}#cardapio .mb-14>.flex>div{flex-basis:190px}#cardapio .mb-14>.flex>div p{font-size:18px}#cardapio li>div{gap:16px}#vinhos .panel{padding:28px 22px}#vinhos table th{font-size:18px;padding-right:9px}#vinhos table td{font-size:12px;padding-right:7px}#vinhos .price{font-size:12px}#avaliacoes .space-y-12{grid-template-columns:1fr;gap:38px}#avaliacoes blockquote{font-size:28px}#faq summary h3{font-size:20px}#faq summary{gap:15px;padding-block:21px}#menu-mobile{height:calc(100dvh - 76px)}nav[aria-label="Seções do cardápio"]{top:76px}footer{padding-bottom:110px!important}[aria-label="Aviso de cookies"]{padding:20px}.lf-scene-root>div:has(picture){inset:-2%}}
@media(max-width:374px){#hero-title{font-size:46px}.lf-hero-bottom p{font-size:16px}.container-site{padding-inline:20px}#vinhos .panel{padding-inline:16px}#vinhos table th{font-size:16px}#vinhos table td{font-size:11px}}
@keyframes lf-hero-arrive{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes lf-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes lf-answer{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes lf-scroll{0%{transform:translateY(-19px)}60%,100%{transform:translateY(38px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.lf-reveal.lf-await{opacity:1!important;translate:none!important}.lf-scene-root>div:has(picture){transform:none!important}[data-parallax]{transform:none!important}.lf-film{display:none!important}}
@media print{body{background:#fff!important;color:#222!important}body>header,.lf-scene-root,.lf-progress,.lf-chapter,.lf-hero-bottom,body>button.fixed,body>a.fixed,[aria-label="Aviso de cookies"]{display:none!important}main,section,footer,.panel{background:#fff!important;color:#222!important;border-color:#bbb!important;min-height:0!important;padding-block:24px!important}h1,h2,h3,p,span,dd,dt,td,th,a{color:#222!important}.lf-reveal.lf-await{opacity:1;translate:none}}
