/* Bistró: carta de cocina clásica, tipografía serif y pliegue de papel. */
:root{font-family:Georgia,"Times New Roman",serif;--line:#e0d3c0;background:#f5efe4}
body{background:var(--page-background,#faf6ee)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif}
.restaurant-header{max-width:none;display:flex;flex-direction:column;align-items:center;padding:0}
.cover{order:1;width:100%;max-width:1240px;height:300px;border-radius:0;margin:0 auto;border-bottom:4px solid var(--primary)}
.cover.has-image:after{background:linear-gradient(transparent 42%,#25140fc9)}
.cover-pattern{background:var(--primary);color:#f2e7d399}.cover-pattern i{outline-color:#f2e7d31a}
.cover-label{font-size:.62rem;letter-spacing:.24em;font-weight:500;text-transform:uppercase;background:#25140fba;border:1px solid #f2e7d333;border-radius:0}
.restaurant-identity{order:0;position:relative;width:100%;max-width:840px;padding:64px 24px 48px}
.restaurant-identity:after{content:"";display:block;margin:32px auto 0;width:150px;height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent)}
.logo{margin:0 auto 28px;width:76px;height:76px;border:1px solid var(--primary);border-radius:50%;background:#fffdf8;box-shadow:0 2px 14px #2b1e1530;font-size:2.4rem}
.logo img{border-radius:50%;object-fit:contain}
.kicker{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500;color:var(--page-muted);margin-bottom:20px}
.kicker::before{content:"— "}.kicker::after{content:" —"}
h1{font-size:clamp(2.3rem,5.4vw,4rem);font-weight:400;letter-spacing:-.03em;line-height:1.1;margin-bottom:18px}
.description{font-size:.95rem;line-height:1.85;color:var(--page-muted);max-width:520px;margin-bottom:16px}
.location{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--page-muted)}
body>main{max-width:940px;margin:0 auto;padding:0 34px}
.menu-navigation{padding:28px 0 0;border-bottom:1px solid var(--line)}
.search-wrap{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;max-width:310px;margin:0 auto 22px;padding:0 6px;color:var(--page-ink)}
.search-wrap input{font-size:.85rem;letter-spacing:.02em;padding:9px 0;color:var(--page-ink)}.search-wrap input::placeholder{color:var(--page-muted);opacity:1}
.search-wrap>span:first-child{color:var(--page-muted)}.search-wrap button{color:var(--page-ink)}
.categories{justify-content:center;gap:30px;border:0;padding:0;scrollbar-width:thin}
.categories a{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:12px 1px 16px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--page-muted)}
.categories a.active{background:transparent;color:var(--page-ink);border-bottom-color:var(--primary)}
.menu-category{padding-top:52px;scroll-margin-top:150px}
.category-title{justify-content:center;text-align:center;margin-bottom:26px}
.category-title h2{font-style:italic;font-weight:400;font-size:2.05rem;letter-spacing:-.02em}
.category-title p{font-size:.83rem;font-style:italic;color:var(--page-muted);max-width:470px}
.category-title>span{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--page-muted)}
.products{display:grid;grid-template-columns:1fr;max-width:680px;margin:0 auto}
.product{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--page-ink);padding:22px 0;gap:20px;align-items:center}
.product:last-child{border-bottom:0}
.product-image{width:104px;height:104px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}
.product h3{font-weight:400;font-size:1.18rem;letter-spacing:-.01em;line-height:1.35;margin-bottom:6px}
.product p{font-size:.83rem;line-height:1.7;color:var(--page-muted);margin-bottom:12px}
.product-bottom{display:flex;align-items:baseline;gap:12px}
.product-bottom strong{font-size:.9rem;font-weight:700;letter-spacing:.02em;color:var(--primary)}
.featured{font-size:.6rem;letter-spacing:.2em;color:var(--primary);margin-bottom:8px;font-weight:600}
.sold-label{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;background:var(--primary);color:#fffdf8;padding:4px 10px;border-radius:99px}
.sold-out h3,.sold-out .product-bottom strong{color:var(--page-muted)}
.product:has(.product-photo-link):hover{border-bottom-color:var(--primary)}
.product-photo-link{border-radius:12px}.product-photo-link:after{right:5px;top:5px;background:#fffdf8;border:1px solid #e4d8c6;color:var(--primary)}
.contact{margin:64px 0 30px;padding:38px 24px;border-radius:0;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--page-ink)}
.contact .kicker{font-size:.64rem}
.contact h2{font-weight:400;font-size:2rem;letter-spacing:-.02em}
.contact p:not(.kicker){font-size:.84rem;color:var(--page-muted)}
.contact-links{font-size:.82rem}.contact-links a{border-bottom:1px solid var(--line)}
.whatsapp{border-radius:0;background:transparent;color:var(--page-ink);border:1px solid var(--primary);font-size:.72rem;letter-spacing:.1em;padding:12px 22px}
.business-carousel{padding-top:40px}.carousel-heading{margin-bottom:18px}.carousel-heading h2{font-style:italic;font-weight:400;font-size:1.3rem}
.carousel-controls{font-size:.72rem}.carousel-controls button{width:44px;height:44px;border-radius:50%;background:transparent;border-color:var(--line);color:var(--page-ink)}
.carousel-slide{background:#fffdf8;border-radius:12px;border-color:var(--line)}
.carousel-slide img{border-radius:2px 2px 0 0;background:var(--secondary);max-height:420px}
.carousel-slide figcaption{padding:18px 0 20px}.carousel-slide h3{font-style:italic;font-weight:400;font-size:1.22rem}.carousel-slide p{font-size:.82rem;color:var(--page-muted)}
.photo-viewer{border-radius:12px;background:#fffdf8}.photo-full{background:#f1e8d9}.photo-close{border-radius:50%}.photo-viewer h2{font-style:italic;font-weight:400;font-size:1.45rem}
.empty{font-style:italic;font-size:1.1rem;padding:60px 15px}
@media(max-width:700px){.cover{height:210px}.cover.has-image:after{background:linear-gradient(transparent 35%,#25140fc9)}.restaurant-header{padding:0}.restaurant-identity{padding:44px 20px 36px}.logo{width:68px;height:68px;margin-bottom:24px}h1{font-size:2.35rem}.description{font-size:.9rem}body>main{padding:0 20px}.categories{gap:22px}.menu-category{padding-top:38px}.category-title h2{font-size:1.75rem}.product{padding:19px 0;gap:14px;align-items:flex-start}.product h3{font-size:1.08rem}.product p{font-size:.82rem}.product-image{width:86px;height:92px}.contact{margin-top:46px;padding:30px 12px}.contact h2{font-size:1.7rem}.carousel-heading{flex-direction:row;align-items:center}.carousel-controls button{width:40px;height:40px}}
@media(max-width:380px){body>main{padding:0 14px}.product{gap:11px}.product-image{width:74px;height:84px}.product h3{font-size:1rem}.restaurant-identity h1{font-size:2rem}.carousel-heading{align-items:flex-start;flex-direction:column}}