/* Aprimoramentos progressivos: sem JS, as receitas continuam em uma grade. */
[hidden]{display:none!important}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,.is-carousel:focus-visible{outline:3px solid var(--wine);outline-offset:4px}
.hero-art.has-flavor-picker{margin-bottom:90px}
.hero-flavors{position:absolute;top:calc(100% + 28px);left:0;right:0;text-align:center;z-index:3}
.hero-flavors p{font-family:var(--serif);font-style:italic;font-size:1rem;margin-bottom:12px;color:var(--muted)}
.hero-flavors [role=group]{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}
.hero-flavors button{border:1px solid #d3c3af;border-radius:30px;background:transparent;padding:9px 16px;min-height:44px;font-size:.8rem;transition:background .2s,color .2s,border-color .2s}
.hero-flavors button:hover{background:#f0e3d5}
.hero-flavors button[aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}
.art-orbit{transition:background .5s}
[data-flavor=chocolate] .art-orbit{background:radial-gradient(circle,#ead8cf,#f4e8df 55%,#faf6ed 72%)}
[data-flavor=limao] .art-orbit{background:radial-gradient(circle,#e7e7ce,#f1eedc 55%,#faf6ed 72%)}
.carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:22px}
.carousel-toolbar>p{font-size:.86rem;color:var(--muted)}
.carousel-toolbar>p span{color:var(--wine);margin-right:8px;font-size:1.2rem}
.carousel-arrows{display:flex;gap:8px;flex-shrink:0}
.carousel-arrows button{background:transparent;border:1px solid #c6b49e;width:48px;height:48px;border-radius:50%;font-size:1.35rem;transition:background .2s,color .2s}
.carousel-arrows button:hover:not(:disabled){background:var(--wine);color:white;border-color:var(--wine)}
.carousel-arrows button:disabled{opacity:.3;cursor:default}
.recipe-grid.is-carousel{position:relative;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#bca087 transparent;padding:5px 2px 18px;margin-inline:-2px;scroll-padding-inline:2px}
.is-carousel .recipe-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}
.is-carousel .recipe-image{aspect-ratio:1.12;border-radius:100px 100px 5px 5px}
.is-carousel .recipe-number{top:25px;left:0;width:100%;text-align:center}
.is-carousel .recipe-image img{margin-top:35px;filter:drop-shadow(0 14px 10px #60432615)}
.recipe-explore{display:flex;align-items:center;border:0;border-bottom:1px solid #d8bcad;background:transparent;padding:10px 0;min-height:44px;margin-top:8px;color:var(--wine);font-size:.83rem;transition:color .2s}
.recipe-explore:hover{color:var(--wine-dark);border-bottom-color:var(--wine)}
.carousel-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:17px}
.carousel-dots{display:flex;align-items:center;gap:0}
.carousel-dots button{position:relative;display:grid;place-items:center;width:36px;height:44px;border:0;background:none;border-radius:5px}
.carousel-dots button:after{content:'';width:7px;height:7px;border-radius:50%;background:#cdbfaa;transition:width .2s,background .2s}
.carousel-dots button[aria-pressed=true]:after{width:23px;border-radius:9px;background:var(--wine)}
.carousel-status{font-size:.8rem;color:var(--muted);white-space:nowrap}
.recipes .gallery-footnote{margin-top:20px}
.flavor-dialog{width:min(900px,calc(100% - 40px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #d5bfa4;border-radius:8px;background:var(--cream);color:var(--ink);overflow:auto;box-shadow:0 25px 100px #28181050}
.flavor-dialog[open]{display:grid;grid-template-columns:1fr 1fr;animation:dialog-arrive .25s ease-out}
.flavor-dialog::backdrop{background:#2e211dcc;backdrop-filter:blur(5px)}
.dialog-image{display:flex;align-items:center;min-height:380px;padding:18px;border-radius:7px 0 0 7px}
.dialog-image img{width:100%;height:auto;filter:drop-shadow(0 15px 15px #4f35281c)}
.dialog-copy{padding:56px 35px 32px}
.dialog-copy .eyebrow{margin-bottom:14px}
.dialog-copy h2{font-size:2.45rem;line-height:1.1;margin-bottom:22px}
#flavor-dialog-description{font-size:1rem;line-height:1.7}
.dialog-copy .dialog-note{font-size:.85rem;color:var(--muted);padding-block:18px;margin-top:20px;border-top:1px solid var(--line)}
.dialog-copy .button{width:100%;font-size:.85rem;gap:12px}
.dialog-close{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:50%;border:1px solid #d4c3af;background:var(--cream);font-size:1.8rem;line-height:1;z-index:1}
.dialog-close:hover{background:#eadccc}
.dialog-return{display:block;margin:14px auto 0;min-height:44px;background:none;border:none;text-decoration:underline;text-underline-offset:5px;font-size:.85rem;color:var(--muted)}
.dialog-open{overflow:hidden}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:20;pointer-events:none}
.reading-progress span{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:1050px){.is-carousel .recipe-card{flex-basis:calc((100% - 24px)/2)}.hero-flavors button{padding:9px 12px}.hero-art.has-flavor-picker{margin-bottom:110px}}
@media(max-width:760px){.hero-art.has-flavor-picker{margin-bottom:116px}.hero-flavors{top:calc(100% + 28px)}.hero-flavors p{font-size:.95rem}.hero-flavors button{font-size:.77rem}.carousel-toolbar{gap:10px;padding-block:15px}.carousel-toolbar>p{max-width:210px;font-size:.8rem}.carousel-arrows button{width:44px;height:44px}.recipe-grid.is-carousel{gap:16px;padding-bottom:15px}.is-carousel .recipe-card{flex-basis:85%}.is-carousel .recipe-image{aspect-ratio:1.16;border-radius:90px 90px 5px 5px}.is-carousel .recipe-card>p{font-size:.75rem;margin-top:16px}.is-carousel .recipe-card h3{font-size:1.5rem}.is-carousel .recipe-number{font-size:.75rem}.is-carousel .recipe-image img{max-width:100%;width:100%;margin-left:0}.carousel-dots button{width:27px}.carousel-status{font-size:.75rem}.flavor-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 30px)}.flavor-dialog[open]{grid-template-columns:1fr}.dialog-image{min-height:200px;max-height:260px;padding:25px;border-radius:7px 7px 0 0}.dialog-image img{max-height:210px;object-fit:contain}.dialog-copy{padding:26px 24px 20px}.dialog-copy h2{font-size:2.05rem;margin-bottom:15px}.dialog-copy .dialog-note{margin-top:15px}.dialog-close{width:44px;height:44px}.carousel-footer{gap:5px}}
@media(prefers-reduced-motion:reduce){.flavor-dialog[open]{animation:none}.hero-flavors button,.art-orbit,.carousel-dots button:after{transition:none}}
