@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--cream:#f3ecdf;--paper:#fffaf2;--ink:#202821;--wine:#7b2d3b;--olive:#455340;--muted:#70756f;--line:rgba(32,40,33,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 38px));margin:auto}.header{position:fixed;top:0;width:100%;z-index:10;background:rgba(255,250,242,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.08em}.brand img{width:48px;height:48px;object-fit:contain}.nav nav{display:flex;gap:25px;font-weight:600;font-size:.92rem}.btn{display:inline-flex;padding:13px 20px;border-radius:99px;background:var(--wine);border:1px solid var(--wine);color:#fff;font-weight:700}.btn.alt{background:transparent;border-color:currentColor}.hero{min-height:100vh;display:grid;align-items:center;background:linear-gradient(90deg,rgba(17,23,19,.86),rgba(17,23,19,.2)),url('../img/hero.jpg') center/cover;color:#fff;padding:120px 0 60px}.hero-inner{max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:#d8a85e}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.08;margin:.18em 0}.hero h1{font-size:clamp(3.4rem,8vw,6.6rem)}.hero p{font-size:1.18rem;color:rgba(255,255,255,.82)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}section{padding:92px 0}.head{max-width:730px;margin-bottom:40px}.head h2{font-size:clamp(2.4rem,5vw,4rem)}.head p,.card p{color:var(--muted)}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card,.menu-card,.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:27px;box-shadow:0 16px 40px rgba(31,39,32,.05)}.icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--cream);font-size:1.4rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.media{min-height:440px;border-radius:30px;overflow:hidden}.media img{width:100%;height:100%;object-fit:cover}.dark{background:var(--ink);color:#fff}.dark p{color:rgba(255,255,255,.72)}.features{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feature{border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px}.menu{background:var(--cream)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dish{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px dashed var(--line)}.dish small{display:block;color:var(--muted)}.qr{margin-top:34px;display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:center;background:var(--wine);color:#fff;padding:42px;border-radius:30px}.qr img{background:#fff;padding:10px;border-radius:16px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:26px}.list{display:grid;gap:12px}.footer{background:#172019;color:#fff;padding:48px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.float{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.5rem;box-shadow:0 12px 28px #0004}.page-hero{padding:145px 0 75px;background:var(--cream)}.page-hero h1{font-size:clamp(3rem,7vw,5.5rem)}.tag{display:inline-block;background:var(--cream);padding:5px 9px;border-radius:99px;font-size:.72rem;font-weight:700}.price{font-family:'DM Sans';color:var(--wine);font-size:1rem}.allergens{font-size:.78rem;color:var(--muted)}@media(max-width:900px){.nav nav{display:none}.grid4,.grid3{grid-template-columns:1fr 1fr}.split,.contact{grid-template-columns:1fr}.qr{grid-template-columns:1fr;text-align:center}.qr img{margin:auto}.footer-grid{grid-template-columns:1fr}}@media(max-width:600px){.grid4,.grid3,.features{grid-template-columns:1fr}.hero h1{font-size:3.5rem}.container{width:min(100% - 24px,1160px)}section{padding:68px 0}}
/* v2.1 */
.planet{background:#f8f2e8}.world-wrap{position:relative;max-width:1000px;margin:0 auto 35px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:25px;overflow:hidden}.world{width:100%;height:auto}.world path{fill:#e2d3be;stroke:#c7b69d;stroke-width:3}.pin{position:absolute;width:16px;height:16px;background:var(--wine);border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 5px #7b2d3b33}.p1{left:20%;top:38%}.p2{left:46%;top:28%}.p3{left:59%;top:44%}.p4{left:75%;top:34%}.p5{left:84%;top:72%}.travel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.travel-grid figure{margin:0;background:#fff;padding:10px;border-radius:18px;box-shadow:0 12px 30px #20282112}.travel-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.travel-grid figcaption{font-size:.8rem;color:var(--muted);padding:8px 4px 2px}.center{text-align:center;margin-top:30px}.wine-preview{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:12px;align-items:center;background:#fff;padding:24px;border-radius:24px;margin-bottom:25px}.wine-line{padding:14px;border-left:1px solid var(--line)}.wine-line span,.wine-line b{display:block}.menu-list{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px 28px;columns:2;column-gap:44px}.menu-list .dish{break-inside:avoid}.wine-table{background:#fff;color:var(--ink);border-radius:24px;padding:18px}.wine-row{display:grid;grid-template-columns:1fr 90px 90px;gap:15px;padding:12px;border-bottom:1px solid var(--line)}.wine-head{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.allergen-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.allergen-grid span{background:var(--cream);padding:12px;border-radius:12px;text-align:center;font-size:.8rem}.page-hero+.container{}
@media(max-width:900px){.travel-grid{grid-template-columns:repeat(2,1fr)}.wine-preview{grid-template-columns:1fr 1fr}.allergen-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.travel-grid,.wine-preview{grid-template-columns:1fr}.menu-list{columns:1}.wine-line{border-left:0;border-top:1px solid var(--line)}.wine-row{grid-template-columns:1fr 65px 70px}.allergen-grid{grid-template-columns:repeat(2,1fr)}}
/* v2.2 experience photography */
.grid4{align-items:stretch}
.experience-card{position:relative;min-height:330px;border-radius:26px;overflow:hidden;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background-position:center;background-size:cover;box-shadow:0 22px 55px rgba(32,40,33,.14);isolation:isolate;transition:transform .3s ease,box-shadow .3s ease}
.experience-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,22,19,.06) 15%,rgba(20,22,19,.86) 100%);z-index:-1}
.experience-card::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.18);border-radius:inherit;pointer-events:none}
.experience-card:hover{transform:translateY(-7px);box-shadow:0 30px 70px rgba(32,40,33,.22)}
.experience-card h3{font-size:2rem;margin:0 0 10px;color:#fff}.experience-card p{margin:0;color:rgba(255,255,255,.9)}
.experience-card.gastroteca{background-image:url('../img/vinos.jpg')}
.experience-card.tapas{background-image:url('../img/hero.jpg');background-position:58% center}
.experience-card.eventos-exp{background-image:url('../img/eventos.jpg')}
.experience-card.despensa-exp{background-image:url('../img/despensa.jpg')}
.travel-grid figcaption{font-weight:700;color:var(--ink);padding-top:12px}
.wine-row{grid-template-columns:minmax(180px,1.4fr) minmax(170px,1fr) 82px 82px;align-items:center}
@media(max-width:900px){.experience-card{min-height:290px}.wine-row{grid-template-columns:minmax(150px,1.3fr) minmax(135px,1fr) 70px 76px;font-size:.9rem}}
@media(max-width:600px){.experience-card{min-height:360px}.wine-row{grid-template-columns:1fr 1fr 58px 66px;gap:8px;padding:11px 6px;font-size:.78rem}.wine-head{font-size:.64rem}}
/* v2.3 refinements */
.experience-card.eventos-exp{background-image:url('../img/eventos-jamon.svg');background-position:center 44%}
.experience-card.despensa-exp{background-image:url('../img/despensa-queso.svg');background-position:center}
.wine-preview{grid-template-columns:1.35fr repeat(5,1fr)}
.dish>span:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.dish-name{display:inline}
.dish-allergens{display:inline-flex;gap:4px;align-items:center}
.allergen-icon{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;font-size:12px;line-height:1;background:#f4e8d9;border:1px solid rgba(32,40,33,.12);cursor:help;box-shadow:0 2px 6px rgba(32,40,33,.08)}
.a-pescado{background:#dcecf3}.a-moluscos,.a-crustaceos{background:#f2d6d8}.a-leche{background:#e6edf6}.a-gluten{background:#f3dfb7}.a-huevos{background:#fae7a8}.a-sesamo,.a-frutos{background:#e5d4bd}.a-mostaza{background:#f4e183}.a-sulfitos{background:#ead5df}
@media(max-width:900px){.wine-preview{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.wine-preview{grid-template-columns:1fr}.allergen-icon{width:21px;height:21px;font-size:11px}}

/* v2.4 Gourmet Edition */
.experience-card.eventos-exp{background-image:url('../img/eventos-card.jpg');background-position:center}
.experience-card.despensa-exp{background-image:url('../img/despensa-card.jpg');background-position:center}
.experience-card.eventos-exp::before,.experience-card.despensa-exp::before{background:linear-gradient(180deg,rgba(20,22,19,.02) 6%,rgba(20,22,19,.88) 100%)}
.planet-stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:-12px 0 28px}.planet-stats span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-size:.82rem;color:var(--muted);box-shadow:0 8px 24px rgba(32,40,33,.05)}.planet-stats b{color:var(--wine);font-size:1rem}
.world-wrap{padding:18px 22px 10px;background:radial-gradient(circle at 50% 42%,#fff 0,#faf4e9 62%,#f2e6d3 100%);box-shadow:0 24px 70px rgba(32,40,33,.08)}
.world{filter:drop-shadow(0 8px 10px rgba(69,83,64,.08))}.world .continent{fill:#d9c6aa;stroke:#baa486;stroke-width:2.5;transition:fill .25s}.world .island{fill:#ceb793}
.map-pin{position:absolute;width:19px;height:19px;border:3px solid #fff;border-radius:50%;background:var(--wine);padding:0;cursor:pointer;box-shadow:0 0 0 6px rgba(123,45,59,.18),0 8px 18px rgba(32,40,33,.25);transform:translate(-50%,-50%);transition:transform .2s,box-shadow .2s;z-index:2}.map-pin::after{content:"";position:absolute;width:7px;height:7px;background:#fff;border-radius:50%;left:3px;top:3px}.map-pin span{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);white-space:nowrap;background:#202821;color:#fff;font:600 11px/1 'DM Sans',sans-serif;padding:7px 9px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.map-pin span::after{content:"";position:absolute;top:100%;left:50%;margin-left:-4px;border:4px solid transparent;border-top-color:#202821}.map-pin:hover,.map-pin:focus,.map-pin.active{transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 0 9px rgba(123,45,59,.2),0 10px 22px rgba(32,40,33,.28);outline:none}.map-pin:hover span,.map-pin:focus span,.map-pin.active span{opacity:1;transform:translateX(-50%) translateY(-2px)}
.map-pin.dublin{left:47.2%;top:29%}.map-pin.praga{left:53.9%;top:31.5%}.map-pin.madrid{left:48.7%;top:39.2%}.map-pin.tunel{left:46.7%;top:43.2%}.map-pin.roma{left:53.2%;top:40.2%}.map-pin.milan{left:52.1%;top:35.6%}.map-pin.newyork{left:25.3%;top:36.7%}.map-pin.barcelona{left:49.5%;top:40.5%}.map-pin.london{left:48.8%;top:29.5%}.map-pin.amsterdam{left:50.8%;top:28.5%}
.travel-grid figure{transition:transform .28s,box-shadow .28s,outline-color .28s;outline:3px solid transparent;scroll-margin-top:110px}.travel-grid figure.highlight{transform:translateY(-8px);box-shadow:0 24px 55px rgba(123,45,59,.2);outline-color:rgba(123,45,59,.42)}.travel-grid figcaption{display:flex;flex-direction:column;gap:1px}.travel-grid figcaption strong{font-family:'Playfair Display',serif;font-size:1rem}.travel-grid figcaption span{font-size:.76rem;color:var(--muted);font-weight:500}
.allergen-grid{grid-template-columns:repeat(7,minmax(100px,1fr));gap:12px}.allergen-key{display:flex;align-items:center;gap:9px;background:var(--cream);padding:11px 12px;border-radius:14px;border:1px solid rgba(32,40,33,.07);font-size:.79rem;font-weight:600}.allergen-key .allergen-icon{flex:0 0 25px;width:25px;height:25px;font-size:13px;cursor:default}
@media(max-width:900px){.map-pin span{display:none}.allergen-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.world-wrap{padding:8px;margin-left:-5px;margin-right:-5px}.map-pin{width:15px;height:15px;border-width:2px;box-shadow:0 0 0 4px rgba(123,45,59,.17)}.map-pin::after{width:5px;height:5px;left:3px;top:3px}.planet-stats{gap:7px}.planet-stats span{padding:7px 10px}.allergen-grid{grid-template-columns:repeat(2,1fr)}.allergen-key{font-size:.75rem;padding:9px}}

/* v3.0 Premium Gastronómico */
.experience-card.eventos-exp,.experience-card.despensa-exp{background-position:center;background-size:cover}
.experience-card.eventos-exp::before,.experience-card.despensa-exp::before{background:linear-gradient(180deg,rgba(12,12,10,.03) 10%,rgba(12,12,10,.9) 100%)}

/* Compact, perfectly even allergen legend */
.allergen-grid{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:8px;align-items:stretch}
.allergen-key{height:68px;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:7px 5px!important;border-radius:11px!important;text-align:center;line-height:1.05;font-size:.68rem!important;overflow:hidden}
.allergen-key>span:last-child{display:block;max-width:100%;min-height:1.5em}
.allergen-key .allergen-icon{flex:0 0 24px!important;width:24px!important;height:24px!important;font-size:12px!important}

/* Real-world map and featured destination */
.planet-v3{background:linear-gradient(180deg,#f8f2e8 0%,#efe4d2 100%)}
.planet-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:22px;align-items:stretch;margin-bottom:34px}
.world-card{background:#172019;border-radius:28px;padding:18px;box-shadow:0 30px 80px rgba(22,28,23,.18);overflow:hidden}
.world-map-stage{position:relative;min-height:420px;border-radius:20px;overflow:hidden;background:radial-gradient(circle at 52% 42%,#425143 0%,#243027 47%,#121915 100%)}
.world-map-stage::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) .8px,transparent .8px);background-size:18px 18px;opacity:.2;pointer-events:none}
.world-map-image{position:absolute;inset:5% 3%;width:94%;height:90%;object-fit:contain;filter:sepia(.15) brightness(1.08) drop-shadow(0 12px 16px rgba(0,0,0,.25));opacity:.93}
.map-legend{display:flex;justify-content:space-between;align-items:center;color:#fff;padding:13px 5px 0;font-size:.76rem;gap:15px}.map-legend small{color:rgba(255,255,255,.58)}.legend-pin{display:inline-block;width:10px;height:10px;border-radius:50%;background:#a22732;box-shadow:0 0 0 4px rgba(255,255,255,.18);margin-right:8px}
.map-pin{width:24px;height:24px;border:2px solid #fff;background:#a22732;box-shadow:0 0 0 6px rgba(162,39,50,.24),0 8px 24px rgba(0,0,0,.4)}
.map-pin i{position:absolute;inset:4px;border-radius:50%;background:url('../img/logo.png') center/cover no-repeat;background-color:#fff}
.map-pin::after{display:none}
.map-pin span{bottom:31px;background:#fff;color:#202821;font-size:10px;padding:6px 8px;box-shadow:0 8px 18px rgba(0,0,0,.2)}
.map-pin span::after{border-top-color:#fff}
.map-pin.dublin{left:47.8%;top:27%}.map-pin.praga{left:54.2%;top:29.5%}.map-pin.madrid{left:49.2%;top:38.5%}.map-pin.tunel{left:47.2%;top:42.7%}.map-pin.roma{left:53.4%;top:39.7%}.map-pin.milan{left:52.4%;top:34.5%}.map-pin.newyork{left:25.7%;top:35.8%}.map-pin.barcelona{left:49.8%;top:39.8%}.map-pin.london{left:49.1%;top:28.2%}.map-pin.amsterdam{left:51.1%;top:27.6%}
.travel-feature{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 25px 70px rgba(32,40,33,.12);display:flex;flex-direction:column;min-height:100%}
.travel-feature-photo{position:relative;min-height:310px;flex:1;overflow:hidden}.travel-feature-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(16,20,17,.34))}
.travel-feature-photo img{width:100%;height:100%;object-fit:cover;transition:opacity .2s,transform .5s}.travel-feature-photo img.changing{opacity:.25;transform:scale(1.04)}
.travel-feature-copy{padding:25px}.travel-feature-copy h3{font-size:2rem;margin:4px 0}.travel-feature-copy p{color:var(--wine);font-weight:700}.travel-feature-copy blockquote{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);font-family:'Playfair Display',serif;color:var(--muted);font-style:italic}
.travel-polaroids{grid-template-columns:repeat(5,1fr);gap:12px}.travel-polaroids figure{padding:7px 7px 12px;border-radius:4px;transform:rotate(-1deg);box-shadow:0 14px 30px rgba(32,40,33,.12)}.travel-polaroids figure:nth-child(even){transform:rotate(1deg)}.travel-polaroids img{aspect-ratio:1/1}.travel-polaroids figcaption{padding:7px 3px 0}.travel-polaroids figcaption strong{font-size:.84rem}.travel-polaroids figcaption span{font-size:.66rem}.travel-polaroids figure.highlight{transform:translateY(-8px) rotate(0);outline:none;box-shadow:0 20px 45px rgba(123,45,59,.25)}
.planet-cta{margin-top:30px;background:#fff;border-radius:24px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid var(--line)}.planet-cta h3{margin:4px 0 5px;font-size:1.65rem}.planet-cta p{margin:0;color:var(--muted)}
@media(max-width:1000px){.planet-layout{grid-template-columns:1fr}.travel-feature{display:grid;grid-template-columns:1fr 1fr}.travel-feature-photo{min-height:260px}.travel-polaroids{grid-template-columns:repeat(4,1fr)}.allergen-grid{grid-template-columns:repeat(7,minmax(72px,1fr))}}
@media(max-width:720px){.world-map-stage{min-height:300px}.map-pin{width:18px;height:18px}.map-pin i{inset:3px}.travel-feature{display:block}.travel-feature-photo{height:280px}.travel-polaroids{grid-template-columns:repeat(2,1fr)}.planet-cta{align-items:flex-start;flex-direction:column}.allergen-grid{grid-template-columns:repeat(4,minmax(68px,1fr))}.allergen-key{height:64px;font-size:.63rem!important}.map-legend{display:block}.map-legend small{display:block;margin-top:7px}}
@media(max-width:430px){.world-map-stage{min-height:235px}.map-pin{width:14px;height:14px;border-width:1px;box-shadow:0 0 0 3px rgba(162,39,50,.25)}.map-pin span{display:none}.allergen-grid{grid-template-columns:repeat(3,1fr)}.travel-feature-photo{height:230px}}

/* v3.0 revised: clean experience imagery and floating world-photo viewer */
.experience-card.eventos-exp{background-image:url('../img/eventos-clean.jpg')!important;background-position:42% center!important}
.experience-card.despensa-exp{background-image:url('../img/despensa-clean.jpg')!important;background-position:55% center!important}
.travel-feature-photo img,.travel-grid figure img{cursor:zoom-in}
.photo-lightbox{position:fixed;inset:0;z-index:3000;background:rgba(9,10,9,.92);display:none;align-items:center;justify-content:center;padding:34px;backdrop-filter:blur(10px)}
.photo-lightbox.open{display:flex}
.photo-lightbox figure{margin:0;max-width:min(1120px,88vw);max-height:88vh;display:flex;flex-direction:column;align-items:center}
.photo-lightbox img{display:block;max-width:100%;max-height:76vh;object-fit:contain;border-radius:18px;box-shadow:0 35px 100px rgba(0,0,0,.55)}
.photo-lightbox figcaption{margin-top:15px;color:#fff;text-align:center;display:flex;flex-direction:column;gap:3px}
.photo-lightbox figcaption strong{font-family:'Playfair Display',serif;font-size:1.35rem}.photo-lightbox figcaption span{color:rgba(255,255,255,.68)}
.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.3);background:rgba(20,20,18,.68);color:#fff;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:.2s}
.lightbox-close:hover,.lightbox-nav:hover{background:var(--wine);border-color:var(--wine)}
.lightbox-close{top:24px;right:28px;width:48px;height:48px;font-size:2rem}
.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:2.5rem}.lightbox-prev{left:24px}.lightbox-next{right:24px}
body.lightbox-open{overflow:hidden}
@media(max-width:700px){.photo-lightbox{padding:18px}.photo-lightbox figure{max-width:94vw}.photo-lightbox img{max-height:72vh}.lightbox-nav{width:42px;height:42px;font-size:2rem}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{top:12px;right:12px;width:42px;height:42px}}

/* v3.5 social media, premium cards and allergen tooltips */
.header .nav{gap:18px}
.social-links,.footer-social{display:flex;align-items:center;gap:9px}
.social-link{width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid rgba(123,45,59,.28);color:var(--wine);background:rgba(255,255,255,.55);transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}
.social-link svg{width:19px;height:19px;fill:currentColor}
.social-link:hover,.social-link:focus-visible{transform:translateY(-2px);background:var(--wine);color:#fff;box-shadow:0 10px 24px rgba(123,45,59,.22);outline:none}
.footer .social-link{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.07)}
.footer .social-link:hover,.footer .social-link:focus-visible{background:#fff;color:var(--wine)}

.experience-card{background-color:#26251f;background-repeat:no-repeat;transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s ease,background-size .55s ease}
.experience-card::before{transition:background .38s ease}
.experience-card:hover{transform:translateY(-6px);box-shadow:0 30px 72px rgba(32,40,33,.22);background-size:108% auto}
.experience-card:hover::before{background:linear-gradient(180deg,rgba(20,22,19,.02) 6%,rgba(20,22,19,.92) 100%)}
.experience-card.eventos-exp{background-position:center center;background-size:cover}
.experience-card.despensa-exp{background-position:center center;background-size:cover}

.dish-allergens{position:relative}
.dish-allergens .allergen-icon{position:relative;outline:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.dish-allergens .allergen-icon:hover,.dish-allergens .allergen-icon:focus-visible,.dish-allergens .allergen-icon.is-active{transform:translateY(-2px) scale(1.08);box-shadow:0 5px 14px rgba(32,40,33,.18)}
.dish-allergens .allergen-icon::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,5px);padding:6px 9px;border-radius:8px;background:#172019;color:#fff;font:600 11px/1.2 'DM Sans',sans-serif;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:50;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.dish-allergens .allergen-icon::before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);transform:translateX(-50%);border:5px solid transparent;border-top-color:#172019;opacity:0;visibility:hidden;z-index:51;transition:opacity .16s ease,visibility .16s ease}
.dish-allergens .allergen-icon:hover::after,.dish-allergens .allergen-icon:focus-visible::after,.dish-allergens .allergen-icon.is-active::after,.dish-allergens .allergen-icon:hover::before,.dish-allergens .allergen-icon:focus-visible::before,.dish-allergens .allergen-icon.is-active::before{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dish-allergens .allergen-icon:hover::before,.dish-allergens .allergen-icon:focus-visible::before,.dish-allergens .allergen-icon.is-active::before{transform:translateX(-50%)}

@media(max-width:1050px){.header .social-links{display:none}}
@media(max-width:600px){.experience-card:hover{background-size:cover}.dish-allergens .allergen-icon::after{font-size:10px}}

/* v3.6 - definitive imagery for experience cards */
.experience-card.eventos-exp{
  background-image:url('../img/jamon3.jpg')!important;
  background-position:center center!important;
  background-size:cover!important;
}
.experience-card.despensa-exp{
  background-image:url('../img/despensa2.jpg')!important;
  background-position:center center!important;
  background-size:cover!important;
}

/* v4.0 - unified premium interaction for all four experience cards */
.experience-card,
.experience-card.gastroteca,
.experience-card.tapas,
.experience-card.eventos-exp,
.experience-card.despensa-exp {
  background-size: cover !important;
  transition: transform .38s cubic-bezier(.2,.7,.2,1), box-shadow .38s ease;
}
.experience-card:hover,
.experience-card:focus-within,
.experience-card.gastroteca:hover,
.experience-card.tapas:hover,
.experience-card.eventos-exp:hover,
.experience-card.despensa-exp:hover {
  background-size: cover !important;
  transform: translateY(-5px);
  box-shadow: 0 28px 68px rgba(32,40,33,.21);
}
.experience-card:hover::before,
.experience-card:focus-within::before {
  background: linear-gradient(180deg,rgba(20,22,19,.04) 6%,rgba(20,22,19,.91) 100%);
}
@media (prefers-reduced-motion: reduce) {
  .experience-card { transition: none; }
}


/* v4.2 - carta completa y bodega editorial */
.wine-actions{margin-top:28px}
.wine-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.wine-mini-card{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.055)}
.wine-mini-card h3{margin:0 0 14px;color:#d6b46d;font-size:1.35rem}
.wine-mini-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid rgba(255,255,255,.1)}
.wine-mini-row div{display:flex;flex-direction:column}.wine-mini-row small{color:rgba(255,255,255,.58)}.wine-mini-row>span{white-space:nowrap;color:#e8d8af;font-weight:700;font-size:.86rem}
.bodega-inline-cta{margin-top:26px;padding:28px;border-radius:22px;background:linear-gradient(135deg,rgba(214,180,109,.14),rgba(255,255,255,.04));border:1px solid rgba(214,180,109,.28);display:flex;justify-content:space-between;align-items:center;gap:22px}.bodega-inline-cta h3{margin:4px 0 5px}.bodega-inline-cta p{margin:0;color:rgba(255,255,255,.68)}
.bodega-page{background:#111411;color:#f4f0e7}.bodega-page .header{background:rgba(14,17,14,.82);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}.bodega-page .brand,.bodega-page .header nav a{color:#f6f1e7}
.bodega-hero{min-height:82vh;display:flex;align-items:flex-end;padding:150px 0 80px;background:linear-gradient(90deg,rgba(8,10,8,.9) 0%,rgba(8,10,8,.45) 55%,rgba(8,10,8,.15)),url('../img/vinos.jpg') center/cover no-repeat;position:relative}.bodega-hero::after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,#111411)}.bodega-hero-inner{position:relative;z-index:1;max-width:820px}.bodega-hero h1{font-size:clamp(3.7rem,8vw,7.5rem);line-height:.92;margin:12px 0 24px;max-width:900px}.bodega-hero p{font-size:1.25rem;max-width:680px;color:rgba(255,255,255,.78)}
.bodega-intro{padding:90px 0 60px}.bodega-manifesto{display:grid;grid-template-columns:1.7fr repeat(3,.55fr);gap:30px;align-items:end}.manifesto-big{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,4.4rem);line-height:1.08;margin:0}.manifesto-note{border-top:1px solid rgba(255,255,255,.2);padding-top:18px}.manifesto-note span{color:#d6b46d;font-weight:800}.manifesto-note p{color:rgba(255,255,255,.62)}
.wine-regions{padding:80px 0 110px}.region-collage{display:grid;grid-template-columns:1.25fr .8fr 1fr;grid-auto-rows:270px;gap:18px}.region-card{position:relative;overflow:hidden;border-radius:26px;padding:28px;display:flex;align-items:flex-end;background-position:center;background-size:cover;isolation:isolate;transition:transform .35s ease,box-shadow .35s ease}.region-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,11,9,.08),rgba(9,11,9,.88));z-index:-1}.region-card:hover{transform:translateY(-7px) rotate(.35deg);box-shadow:0 30px 70px rgba(0,0,0,.35)}.region-card h3{font-size:2.2rem;margin:3px 0 4px}.region-card p{margin:0;color:rgba(255,255,255,.68)}.region-card small{color:#d9bd7d;text-transform:uppercase;letter-spacing:.16em}.wine-tag{position:absolute;top:20px;right:20px;padding:8px 11px;border-radius:999px;background:rgba(214,180,109,.92);color:#171812;font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.region-rioja{grid-row:span 2;background-image:url('../img/mapa_rioja.webp')}.region-ribera{background-image:url('../img/mapa-ribera.webp')}.region-rias{grid-column:span 1;background-image:url('../img/mapa_riasbaixas.webp')}.region-bierzo{grid-column:span 2;background-image:url('../img/mapa_internacional.webp')}.region-rueda{background-image:url('../img/mapa_rueda.webp')}.region-champagne{background-image:url('../img/mapa_espumosos.webp')}
.wine-editorial{padding:110px 0}.editorial-wines{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:start}.editorial-wine{position:relative;min-height:300px;border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:34px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));overflow:hidden}.editorial-wine::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-70px;bottom:-80px;background:radial-gradient(circle,rgba(214,180,109,.25),transparent 70%)}.editorial-wine.wide{grid-column:1/8}.editorial-wine.offset{grid-column:8/13;margin-top:75px}.editorial-wine.tall{grid-column:2/7;min-height:390px}.editorial-wine.champagne{grid-column:7/13;margin-top:-15px;min-height:360px;background:linear-gradient(135deg,rgba(214,180,109,.16),rgba(255,255,255,.035))}.wine-number{font-family:'Playfair Display',serif;font-size:5rem;color:rgba(255,255,255,.08);line-height:1}.editorial-wine h3{font-size:2.4rem;margin:5px 0 12px}.editorial-wine p{color:rgba(255,255,255,.64);max-width:520px}.wine-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.wine-meta span{padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:.78rem;color:#e7d4a5}
.wine-concierge{padding:90px 0 120px}.concierge-card{padding:55px;border-radius:32px;background:linear-gradient(135deg,#eee2c7,#caa55d);color:#171812;display:flex;align-items:center;justify-content:space-between;gap:35px}.concierge-card h2{font-size:clamp(2.3rem,5vw,4.8rem);margin:8px 0}.concierge-card p{font-size:1.1rem}.concierge-card .eyebrow{color:#6c3b2e}.concierge-card .btn.alt{border-color:rgba(23,24,18,.35);color:#171812}
@media(max-width:950px){.bodega-manifesto{grid-template-columns:1fr 1fr}.manifesto-big{grid-column:1/-1}.region-collage{grid-template-columns:1fr 1fr}.region-rioja{grid-row:span 1}.region-bierzo{grid-column:span 1}.editorial-wine.wide,.editorial-wine.offset,.editorial-wine.tall,.editorial-wine.champagne{grid-column:span 6;margin-top:0}.concierge-card{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.wine-mini-grid{grid-template-columns:1fr}.bodega-inline-cta{align-items:flex-start;flex-direction:column}.bodega-hero{min-height:72vh;padding-top:130px}.bodega-manifesto{grid-template-columns:1fr}.region-collage{grid-template-columns:1fr;grid-auto-rows:250px}.editorial-wines{display:block}.editorial-wine{margin:0 0 16px!important}.concierge-card{padding:32px}.bodega-page .header nav{display:none}}


/* Language selector - Sabor Alegre v5.0 */
.language-selector{position:relative;flex:0 0 auto;z-index:120}.language-toggle{height:42px;min-width:72px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(20,20,16,.12);color:inherit;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;cursor:pointer;font:inherit;font-size:.78rem;font-weight:900;letter-spacing:.08em;backdrop-filter:blur(12px);transition:.2s}.language-toggle:hover,.language-selector.open .language-toggle{background:rgba(202,165,93,.18);border-color:#caa55d}.language-globe{font-size:1rem;line-height:1}.language-chevron{font-size:.68rem;transition:.2s}.language-selector.open .language-chevron{transform:rotate(180deg)}.language-menu{position:absolute;right:0;top:calc(100% + 10px);width:210px;padding:8px;border-radius:16px;background:#fff;color:#171812;box-shadow:0 18px 55px rgba(0,0,0,.22);border:1px solid rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(-7px);transition:.2s}.language-selector.open .language-menu{opacity:1;visibility:visible;transform:none}.language-option{width:100%;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:26px 36px 1fr;align-items:center;text-align:left;gap:5px;padding:10px;border-radius:10px;cursor:pointer;font:inherit}.language-option:hover,.language-option.active{background:#f2ead9}.language-option b{font-size:.76rem;letter-spacing:.08em}.language-option small{font-size:.78rem;opacity:.68}.mm-header .language-toggle{color:#0b1c31;border-color:rgba(24,60,104,.24);background:rgba(255,255,255,.7)}
@media(max-width:1100px){.header .nav{gap:10px}.header .language-toggle{min-width:64px;padding:0 9px}.header .language-globe{display:none}}
@media(max-width:700px){.language-selector{margin-left:auto}.language-toggle{height:38px}.language-menu{position:fixed;right:16px;top:68px;width:min(240px,calc(100vw - 32px))}.header .nav>.btn{display:none}.mm-nav .language-selector{margin-left:auto}.mm-nav .back{margin-left:0}}


/* Sabor Alegre v5.2: events, contact choices and expanded menu */
.event-copy h2{font-size:clamp(2.8rem,5.5vw,5.7rem);line-height:.96;margin:12px 0 22px;max-width:760px}
.event-copy>p{font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.75;max-width:680px;color:rgba(255,255,255,.76)}
.event-copy .eyebrow{font-size:.88rem;letter-spacing:.2em}
.contact-choice-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.menu-note{margin:24px 0 0;padding:16px 18px;border-left:4px solid #caa55d;background:rgba(202,165,93,.1);border-radius:0 12px 12px 0;font-weight:700}
#vinos .wine-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#vinos .wine-mini-card{min-width:0}
#vinos .wine-mini-row small{line-height:1.35;margin-top:4px}
@media(max-width:1050px){#vinos .wine-mini-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){#vinos .wine-mini-grid{grid-template-columns:1fr}.event-copy h2{font-size:clamp(2.5rem,12vw,4rem)}}


/* v5.3: richer event services */
.event-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}
.event-service-card{position:relative;min-height:230px;padding:28px;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));overflow:hidden;transition:transform .35s ease,border-color .35s ease,background .35s ease}
.event-service-card::before{content:"";position:absolute;inset:auto -45px -80px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(216,168,94,.28),transparent 68%);transition:transform .45s ease}
.event-service-card:hover{transform:translateY(-8px) rotate(-.35deg);border-color:rgba(216,168,94,.62);background:linear-gradient(145deg,rgba(216,168,94,.16),rgba(255,255,255,.035))}
.event-service-card:hover::before{transform:scale(1.35)}
.event-service-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.event-service-top small{text-transform:uppercase;letter-spacing:.14em;color:#d8a85e;font-weight:800}.event-service-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:rgba(216,168,94,.15);font-size:1.55rem}.event-service-card h3{font-size:1.75rem;margin:28px 0 10px}.event-service-card p{margin:0;max-width:90%;font-size:.96rem}.event-service-arrow{position:absolute;right:24px;bottom:18px;font-size:1.5rem;color:#d8a85e;transition:transform .3s}.event-service-card:hover .event-service-arrow{transform:translate(4px,-4px)}
/* v5.3: pantry editorial collage */
.pantry-showcase{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.pantry-copy h2{font-size:clamp(2.7rem,5vw,4.7rem)}.pantry-lead{font-size:1.16rem;color:var(--ink)}.pantry-copy p{color:var(--muted)}.pantry-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.pantry-chips span{padding:9px 13px;border-radius:999px;background:var(--cream);font-size:.8rem;font-weight:800}.pantry-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:220px 220px;gap:15px}.pantry-photo{position:relative;margin:0;border-radius:24px;overflow:hidden;box-shadow:0 20px 55px rgba(32,40,33,.13)}.pantry-photo-main{grid-row:1/3}.pantry-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.pantry-photo:hover img{transform:scale(1.055)}.pantry-photo::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,12,10,.78))}.pantry-photo figcaption{position:absolute;z-index:1;left:18px;bottom:15px;color:#fff;font-weight:800}
/* v5.3: wine-region flip cards */
.region-flip-card{padding:0;perspective:1200px;background:transparent!important;overflow:visible}.region-flip-card::before{display:none}.region-flip-card:hover{transform:translateY(-7px);box-shadow:none}.region-flip-inner{position:relative;width:100%;height:100%;min-height:270px;transition:transform .72s cubic-bezier(.2,.75,.2,1);transform-style:preserve-3d}.region-flip-card:hover .region-flip-inner,.region-flip-card:focus .region-flip-inner,.region-flip-card:focus-within .region-flip-inner{transform:rotateY(180deg)}.region-face{position:absolute;inset:0;border-radius:26px;padding:28px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.region-front{display:flex;align-items:flex-end;background:inherit;background-position:center;background-size:cover;color:#fff}.region-front::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,11,9,.08),rgba(9,11,9,.88));z-index:-1}.region-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#582530,#211d1d);color:#fff}.region-back small{color:#d9bd7d;text-transform:uppercase;letter-spacing:.16em}.region-back h3{font-size:1.55rem;margin:12px 0}.region-back p{color:rgba(255,255,255,.75);line-height:1.55}.region-flip-hint{margin-top:auto;font-size:.72rem;opacity:.55;text-transform:uppercase;letter-spacing:.1em}
/* v5.3: expanded bottle stories */
.editorial-wines{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.editorial-wine.wine-story-card{grid-column:auto!important;margin-top:0!important;min-height:430px!important;display:flex;flex-direction:column;padding:28px}.wine-story-card .wine-number{position:absolute;left:22px;top:18px;font-size:3.4rem}.wine-visual{height:145px;margin:20px 0 10px;display:flex;justify-content:center;align-items:flex-end;gap:16px;opacity:.9}.bottle-shape{position:relative;width:45px;height:115px;border:2px solid rgba(231,212,165,.75);border-radius:9px 9px 13px 13px;background:linear-gradient(90deg,rgba(214,180,109,.08),rgba(214,180,109,.2),rgba(214,180,109,.05))}.bottle-shape::before{content:"";position:absolute;width:17px;height:34px;left:12px;top:-32px;border:2px solid rgba(231,212,165,.75);border-bottom:0;border-radius:4px 4px 0 0}.bottle-shape::after{content:"SA";position:absolute;left:8px;right:8px;top:48px;padding:5px 0;border-block:1px solid rgba(231,212,165,.45);text-align:center;font-family:'Playfair Display',serif;color:#e7d4a5;font-size:.72rem}.glass-shape{position:relative;width:53px;height:61px;border:2px solid rgba(255,255,255,.48);border-radius:5px 5px 24px 24px;border-top-width:1px}.glass-shape::before{content:"";position:absolute;width:2px;height:43px;background:rgba(255,255,255,.48);left:24px;top:59px}.glass-shape::after{content:"";position:absolute;width:40px;height:2px;background:rgba(255,255,255,.48);left:5px;top:101px}.wine-story-copy h3{font-size:2rem}.wine-story-copy p{font-size:.92rem}.wine-story-card .wine-meta{margin-top:auto;padding-top:18px}
.contact-choice-actions{display:flex!important}.contact-choice-actions .btn{white-space:normal;text-align:center;justify-content:center}
@media(max-width:950px){.pantry-showcase{grid-template-columns:1fr}.editorial-wines{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.event-services,.editorial-wines{grid-template-columns:1fr}.pantry-gallery{grid-template-columns:1fr;grid-template-rows:280px 190px 190px}.pantry-photo-main{grid-row:auto}.contact-choice-actions{flex-direction:column}.contact-choice-actions .btn{width:100%}}
.region-rioja .region-front{background-image:url('../img/mapa_rioja.webp')}.region-ribera .region-front{background-image:url('../img/mapa-ribera.webp')}.region-rias .region-front{background-image:url('../img/mapa_riasbaixas.webp')}.region-bierzo .region-front{background-image:url('../img/mapa_internacional.webp')}.region-rueda .region-front{background-image:url('../img/mapa_rueda.webp')}.region-champagne .region-front{background-image:url('../img/mapa_espumosos.webp')}


/* v5.4 refinements */
.contact-choice-actions-visible{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
.contact-choice-actions-visible .btn{display:inline-flex!important;visibility:visible!important;opacity:1!important}
.manifesto-note span{display:inline-block;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
.region-back p{font-size:.96rem;line-height:1.65;margin-bottom:0}
.region-rioja .region-back p,.region-bierzo .region-back p{font-size:.91rem;line-height:1.52}
.wine-photo-visual{height:210px!important;margin:8px 0 12px!important;align-items:center!important}
.wine-photo-visual img{display:block;max-height:210px;max-width:145px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.4));transition:transform .35s ease}
.wine-story-card:hover .wine-photo-visual img{transform:translateY(-7px) scale(1.035)}
.editorial-wine.wine-story-card{min-height:530px!important}
@media(max-width:700px){.contact-choice-actions-visible{flex-direction:column}.contact-choice-actions-visible .btn{width:100%}.wine-photo-visual{height:185px!important}.wine-photo-visual img{max-height:185px}}


/* v5.5: balanced titles, monthly recommendation and robust menu pricing */
.section-title-balanced,.event-copy .section-title-balanced,.pantry-copy .section-title-balanced{font-size:clamp(2.4rem,5vw,4rem)!important;line-height:1.08!important;max-width:820px}
#eventos .media img{width:100%;height:100%;object-fit:cover;object-position:center}
.monthly-recommendation{background:linear-gradient(180deg,#fffaf2,#f3ecdf)}
.monthly-head{max-width:850px}.monthly-head h2{font-size:clamp(2.35rem,5vw,4rem)}
.monthly-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.monthly-card{position:relative;min-height:580px;border-radius:30px;overflow:hidden;background:#172019;color:#fff;box-shadow:0 22px 60px rgba(32,40,33,.18);outline:none;isolation:isolate}
.monthly-image{position:absolute;inset:0}.monthly-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .65s ease}.monthly-card::after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(transparent,rgba(10,14,11,.96));z-index:1}
.monthly-summary,.monthly-detail{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px;transition:opacity .4s ease,transform .45s ease}.monthly-summary h3,.monthly-detail h3{font-size:clamp(1.8rem,3vw,2.7rem)}.monthly-summary p,.monthly-detail p{color:rgba(255,255,255,.82)}
.monthly-label{display:inline-block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:#e0b968}.monthly-action{display:inline-flex;margin-top:10px;padding-bottom:3px;border-bottom:1px solid currentColor;font-weight:800}
.monthly-detail{top:0;display:flex;flex-direction:column;justify-content:center;background:rgba(23,32,25,.96);opacity:0;transform:translateY(20px);overflow:auto}.monthly-card:hover .monthly-detail,.monthly-card:focus .monthly-detail,.monthly-card.is-open .monthly-detail{opacity:1;transform:none}.monthly-card:hover .monthly-summary,.monthly-card:focus .monthly-summary,.monthly-card.is-open .monthly-summary{opacity:0;transform:translateY(18px)}.monthly-card:hover .monthly-image img,.monthly-card:focus .monthly-image img,.monthly-card.is-open .monthly-image img{transform:scale(1.05);filter:brightness(.55)}
.dish{align-items:flex-start}.dish>span:first-child{flex:1 1 auto}.dish>b{flex:0 0 auto;white-space:nowrap;text-align:right;margin-left:auto}.dish-name{overflow-wrap:anywhere}
.wine-preview .wine-line span{font-weight:700}.wine-preview .wine-line span::first-line{font-weight:700}
.wine-story-card .wine-number{display:none!important}.editorial-wine.wine-story-card{min-height:515px!important}.wine-photo-visual img[src$=".svg"]{max-height:225px;max-width:130px}
@media(max-width:760px){.monthly-grid{grid-template-columns:1fr}.monthly-card{min-height:530px}.monthly-summary,.monthly-detail{padding:26px}.dish{gap:12px}.dish>b{font-size:.95rem}.menu-list{padding:14px 18px;columns:1}.section-title-balanced,.event-copy .section-title-balanced,.pantry-copy .section-title-balanced{font-size:clamp(2.25rem,10vw,3.6rem)!important}}

/* v5.6 */
.wine-story-card{position:relative}
.parker-tag,.wine-tag{position:absolute;top:1rem;z-index:4;border-radius:999px;padding:.48rem .8rem;font-size:.68rem;letter-spacing:.08em;font-weight:800;text-transform:uppercase;white-space:nowrap}
.parker-tag{left:1rem;background:#f2ead8;color:#492d28;border:1px solid rgba(73,45,40,.22)}
.wine-tag{right:1rem}
.history-link-wrap{text-align:center;margin-top:2rem}
.history-page{min-height:65vh}
.wine-qr-card{margin-top:2.4rem;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center;padding:2rem;border:1px solid rgba(75,42,32,.16);border-radius:24px;background:#fffaf2;box-shadow:0 18px 55px rgba(55,35,24,.10)}
.wine-qr-visual{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}
.wine-qr-logo,.wine-qr-code{width:100%;max-width:220px;margin:auto;object-fit:contain}
.wine-qr-logo{mix-blend-mode:multiply}
@media(max-width:760px){.wine-qr-card{grid-template-columns:1fr;text-align:center}.wine-qr-visual{grid-template-columns:1fr 1fr}.parker-tag,.wine-tag{font-size:.58rem;padding:.4rem .58rem}.parker-tag{left:.65rem}.wine-tag{right:.65rem}}


/* v5.8: monthly archive spacing */
.history-month-block{margin-top:clamp(4rem,8vw,7rem);padding-top:clamp(3rem,6vw,5rem);border-top:1px solid rgba(255,255,255,.16)}

/* v5.9 - Carta digital con identidad burdeos suave y lectura optimizada para movil */
.carta-page {
  --carta-bg: #fbf5f5;
  --carta-bg-accent: #f7eded;
  --carta-surface: #fffdfd;
  --carta-wine-soft: rgba(123, 45, 59, 0.18);
  background: var(--carta-bg);
}

.carta-page .header {
  background: rgba(255, 253, 253, 0.94);
}

.carta-page .page-hero {
  background:
    linear-gradient(135deg, rgba(123, 45, 59, 0.05), transparent 58%),
    var(--carta-bg-accent);
  border-bottom: 1px solid var(--carta-wine-soft);
}

.carta-page main > section:not(.page-hero) {
  background: transparent;
}

.carta-page main > section:nth-of-type(even):not(.page-hero) {
  background: rgba(255, 255, 255, 0.28);
}

.carta-page .menu-list,
.carta-page .wine-table,
.carta-page .monthly-card {
  background: var(--carta-surface);
  border-color: var(--carta-wine-soft);
  box-shadow: 0 16px 42px rgba(74, 26, 36, 0.055);
}

.carta-page section[id^="s"] .head,
.carta-page section#ensaladas .head,
.carta-page section#cervezas .head,
.carta-page section#tardeo .head,
.carta-page section#vinos .head,
.carta-page section#alergenos .head {
  position: relative;
  padding-top: 20px;
}

.carta-page section[id^="s"] .head::before,
.carta-page section#ensaladas .head::before,
.carta-page section#cervezas .head::before,
.carta-page section#tardeo .head::before,
.carta-page section#vinos .head::before,
.carta-page section#alergenos .head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(150px, 34vw);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--wine), rgba(123, 45, 59, 0.12));
}

.carta-page section[id^="s"] .head h2,
.carta-page section#ensaladas .head h2,
.carta-page section#cervezas .head h2,
.carta-page section#tardeo .head h2,
.carta-page section#vinos .head h2,
.carta-page section#alergenos .head h2 {
  display: flex;
  align-items: center;
  gap: 14px;
}

.carta-page section[id^="s"] .head h2::before,
.carta-page section#ensaladas .head h2::before,
.carta-page section#cervezas .head h2::before,
.carta-page section#tardeo .head h2::before,
.carta-page section#vinos .head h2::before,
.carta-page section#alergenos .head h2::before {
  content: "";
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  background-color: var(--wine);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

/* Iconos SVG monocromos y discretos por categoria */
.carta-page #s0 .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M12 18h40v8H12zm5 13h30l-4 19H21zM24 8h16v7H24z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M12 18h40v8H12zm5 13h30l-4 19H21zM24 8h16v7H24z'/%3E%3C/svg%3E");
}

.carta-page #s1 .head h2::before,
.carta-page #s2 .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 42h48v8H8zm6-5c2-15 10-23 18-23s16 8 18 23H14zm15-28h6v7h-6z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 42h48v8H8zm6-5c2-15 10-23 18-23s16 8 18 23H14zm15-28h6v7h-6z'/%3E%3C/svg%3E");
}

.carta-page #s3 .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M34 5c4 12-7 15-2 25 2-7 8-9 9-17 10 11 13 22 7 33-4 8-12 12-20 12S12 54 9 46c-4-12 4-22 14-31-1 10 4 13 6 18 3-9-2-17 5-28z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M34 5c4 12-7 15-2 25 2-7 8-9 9-17 10 11 13 22 7 33-4 8-12 12-20 12S12 54 9 46c-4-12 4-22 14-31-1 10 4 13 6 18 3-9-2-17 5-28z'/%3E%3C/svg%3E");
}

.carta-page #s4 .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 21c0-7 6-12 13-12h22c7 0 13 5 13 12v5H8zm0 10h48v13c0 6-5 11-11 11H19C13 55 8 50 8 44z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 21c0-7 6-12 13-12h22c7 0 13 5 13 12v5H8zm0 10h48v13c0 6-5 11-11 11H19C13 55 8 50 8 44z'/%3E%3C/svg%3E");
}

.carta-page #ensaladas .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 24h48c0 18-10 31-24 31S8 42 8 24zm19-14c5 3 7 8 5 13-5-1-9-5-10-11zm15 1c2 6-1 11-7 14-2-6 1-11 7-14z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 24h48c0 18-10 31-24 31S8 42 8 24zm19-14c5 3 7 8 5 13-5-1-9-5-10-11zm15 1c2 6-1 11-7 14-2-6 1-11 7-14z'/%3E%3C/svg%3E");
}

.carta-page #cervezas .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M12 12h31v9h8c7 0 10 5 10 12s-3 13-10 13h-8v8H12zm31 15v13h6c3 0 5-2 5-7s-2-6-5-6zM18 20h18v27H18z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M12 12h31v9h8c7 0 10 5 10 12s-3 13-10 13h-8v8H12zm31 15v13h6c3 0 5-2 5-7s-2-6-5-6zM18 20h18v27H18z'/%3E%3C/svg%3E");
}

.carta-page #tardeo .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M12 18h37v24c0 8-7 14-15 14h-7c-8 0-15-6-15-14zm37 5h5c6 0 9 4 9 10s-3 10-10 10h-4v-7h4c2 0 3-1 3-3s-1-3-3-3h-4zM17 7h27v6H17z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M12 18h37v24c0 8-7 14-15 14h-7c-8 0-15-6-15-14zm37 5h5c6 0 9 4 9 10s-3 10-10 10h-4v-7h4c2 0 3-1 3-3s-1-3-3-3h-4zM17 7h27v6H17z'/%3E%3C/svg%3E");
}

.carta-page #s5 .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 49h48v7H8zm6-8 6-25h24l6 25zm9-31h18v6H23z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 49h48v7H8zm6-8 6-25h24l6 25zm9-31h18v6H23z'/%3E%3C/svg%3E");
}

.carta-page #vinos .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M17 6h30c0 16-5 27-12 31v12h10v7H19v-7h10V37C22 33 17 22 17 6zm7 8c1 8 4 14 8 16 4-2 7-8 8-16z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M17 6h30c0 16-5 27-12 31v12h10v7H19v-7h10V37C22 33 17 22 17 6zm7 8c1 8 4 14 8 16 4-2 7-8 8-16z'/%3E%3C/svg%3E");
}

.carta-page #alergenos .head h2::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M29 5h6v25h-6zm3 32a6 6 0 1 1 0 12 6 6 0 0 1 0-12zM32 1 61 57H3z' fill-rule='evenodd'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M29 5h6v25h-6zm3 32a6 6 0 1 1 0 12 6 6 0 0 1 0-12zM32 1 61 57H3z' fill-rule='evenodd'/%3E%3C/svg%3E");
}

/* Lineas de puntos y precios firmemente alineados sin romper nombres largos */
.carta-page .menu-list .dish {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  background-image: radial-gradient(circle, rgba(123, 45, 59, 0.34) 1px, transparent 1.2px);
  background-repeat: repeat-x;
  background-size: 6px 2px;
  background-position: left calc(100% - 19px);
}

.carta-page .menu-list .dish > span:first-child,
.carta-page .menu-list .dish > b {
  position: relative;
  z-index: 1;
  background: var(--carta-surface);
}

.carta-page .menu-list .dish > span:first-child {
  min-width: 0;
  width: fit-content;
  max-width: 100%;
  padding-right: 8px;
}

.carta-page .menu-list .dish > b {
  min-width: 64px;
  padding-left: 8px;
  color: var(--wine);
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.carta-page .monthly-head {
  padding-left: 18px;
  border-left: 3px solid var(--wine);
}

@media (max-width: 600px) {
  .carta-page {
    --carta-bg: #fcf7f7;
  }

  .carta-page .page-hero {
    padding-bottom: 58px;
  }

  .carta-page section[id^="s"] .head h2::before,
  .carta-page section#ensaladas .head h2::before,
  .carta-page section#cervezas .head h2::before,
  .carta-page section#tardeo .head h2::before,
  .carta-page section#vinos .head h2::before,
  .carta-page section#alergenos .head h2::before {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }

  .carta-page .menu-list .dish {
    gap: 8px;
    padding: 14px 0;
    background-position: left calc(100% - 20px);
  }

  .carta-page .menu-list .dish > b {
    min-width: 58px;
    font-size: 0.94rem;
  }
}

/* v5.10 - Restauracion del bloque oscuro de Chateo y nueva seccion Guarrindongadas */
.carta-page #vinos.dark {
  background: var(--ink);
  color: #fff;
}

.carta-page #vinos.dark .head h2,
.carta-page #vinos.dark .head p,
.carta-page #vinos.dark .eyebrow {
  color: #fff;
}

.carta-page #vinos.dark .head p {
  color: rgba(255, 255, 255, 0.72);
}

.carta-page #vinos.dark .wine-mini-card {
  background: rgba(255, 255, 255, 0.055);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

.carta-page #vinos.dark .wine-mini-row small {
  color: rgba(255, 255, 255, 0.62);
}

.carta-page #guarrindongadas .head {
  position: relative;
  padding-top: 20px;
}

.carta-page #guarrindongadas .head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(150px, 34vw);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--wine), rgba(123, 45, 59, 0.12));
}

.carta-page #guarrindongadas .head h2 {
  display: flex;
  align-items: center;
  gap: 14px;
}

.carta-page #guarrindongadas .head h2::before {
  content: "";
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  background-color: var(--wine);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 19h48v8H8zm3 13h42l-5 20H16zM18 8h28v7H18zM23 37h18v6H23z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 19h48v8H8zm3 13h42l-5 20H16zM18 8h28v7H18zM23 37h18v6H23z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.carta-page .guarrindongadas-list {
  columns: 1;
}

.carta-page .guarrindongada-dish {
  padding: 22px 0;
  align-items: start;
}

.carta-page .guarrindongada-dish .dish-name {
  display: grid;
  gap: 7px;
}

.carta-page .guarrindongada-dish .dish-name strong {
  color: var(--wine);
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  line-height: 1.25;
}

.carta-page .guarrindongada-dish .dish-name small {
  max-width: 900px;
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.55;
}

@media (max-width: 600px) {
  .carta-page #guarrindongadas .head h2::before {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }

  .carta-page .guarrindongada-dish {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }

  .carta-page .guarrindongada-dish .dish-name small {
    font-size: 0.88rem;
  }
}



/* ==========================================================
   v5.15 - Carta premium: refinamiento editorial y rendimiento
   ========================================================== */
.carta-page.carta-premium {
  --carta-shadow-soft: 0 18px 52px rgba(74, 26, 36, 0.07);
  --carta-shadow-lift: 0 24px 66px rgba(74, 26, 36, 0.13);
  --carta-gold: #c99a52;
  --carta-radius-xl: 30px;
}

.carta-page.carta-premium .page-hero {
  position: relative;
  isolation: isolate;
  min-height: 420px;
  display: grid;
  align-items: end;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(22, 17, 17, 0.88), rgba(63, 22, 31, 0.60), rgba(63, 22, 31, 0.22)),
    url('../img/jamon1.jpg') center 44% / cover no-repeat;
}

.carta-page.carta-premium .page-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  z-index: -1;
  background: linear-gradient(transparent, rgba(18, 12, 13, 0.36));
  pointer-events: none;
}

.carta-page.carta-premium .page-hero .container {
  padding-bottom: clamp(18px, 4vw, 48px);
}

.carta-page.carta-premium .page-hero .eyebrow {
  color: #f0c883;
}

.carta-page.carta-premium .page-hero h1 {
  max-width: 820px;
  text-wrap: balance;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.24);
}

.carta-page.carta-premium .page-hero p {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.84);
}

.carta-page.carta-premium .monthly-recommendation {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 16%, rgba(123, 45, 59, 0.08), transparent 26rem),
    linear-gradient(180deg, #fffdfb, #f8eeee);
}

.carta-page.carta-premium .monthly-card {
  border-radius: var(--carta-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 24px 70px rgba(31, 20, 23, 0.17);
  transform: translateZ(0);
  transition:
    transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1),
    box-shadow 0.45s ease;
}

@media (hover: hover) {
  .carta-page.carta-premium .monthly-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 34px 84px rgba(31, 20, 23, 0.23);
  }
}

.carta-page.carta-premium .monthly-image img {
  filter: saturate(0.96) contrast(1.03);
}

.carta-page.carta-premium .menu-list {
  position: relative;
  overflow: hidden;
  border-radius: var(--carta-radius-xl);
  box-shadow: var(--carta-shadow-soft);
}

.carta-page.carta-premium .menu-list::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  right: 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(123, 45, 59, 0.35), transparent);
}

.carta-page.carta-premium .menu-list .dish {
  border-bottom-color: rgba(123, 45, 59, 0.10);
  transition:
    background-color 0.22s ease,
    transform 0.22s ease,
    padding-left 0.22s ease,
    padding-right 0.22s ease;
}

@media (hover: hover) {
  .carta-page.carta-premium .menu-list .dish:hover {
    border-radius: 12px;
    background-color: rgba(123, 45, 59, 0.045);
    transform: none;
  }
}

.carta-page.carta-premium .dish-signature {
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(123, 45, 59, 0.22);
}

.carta-page.carta-premium .dish-signature .dish-name {
  font-weight: 700;
  color: #5f2632;
}

.carta-page.carta-premium .head h2 {
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.carta-page.carta-premium .head::after {
  content: "";
  display: block;
  width: 34px;
  height: 1px;
  margin-top: 18px;
  background: var(--carta-gold);
}

.carta-page.carta-premium #vinos.dark .head::after {
  background: #e2bd79;
}

.carta-page.carta-premium .allergen-grid {
  gap: 12px;
}

.carta-page.carta-premium .allergen-key {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

@media (hover: hover) {
  .carta-page.carta-premium .allergen-key:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(74, 26, 36, 0.08);
  }
}

/* Aparicion progresiva: se activa solo cuando JavaScript esta disponible. */
.carta-page.carta-premium.js-reveal-ready main > section:not(.page-hero) .container {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.65s ease,
    transform 0.65s cubic-bezier(0.22, 0.75, 0.25, 1);
}

.carta-page.carta-premium.js-reveal-ready main > section.is-visible .container {
  opacity: 1;
  transform: none;
}

/* Navegacion compacta para movil creada a partir de los enlaces ya traducidos. */
.carta-quick-nav {
  display: none;
}

@media (max-width: 900px) {
  .carta-page.carta-premium .page-hero {
    min-height: 390px;
    background-position: 58% center;
  }

  .carta-quick-nav {
    position: sticky;
    top: 78px;
    z-index: 8;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px 12px;
    background: rgba(255, 250, 250, 0.94);
    border-bottom: 1px solid rgba(123, 45, 59, 0.13);
    backdrop-filter: blur(14px);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .carta-quick-nav::-webkit-scrollbar {
    display: none;
  }

  .carta-quick-nav a {
    flex: 0 0 auto;
    padding: 8px 13px;
    border: 1px solid rgba(123, 45, 59, 0.16);
    border-radius: 999px;
    background: #fff;
    color: #6e2938;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }

  .carta-quick-nav a.is-active {
    color: #fff;
    border-color: var(--wine);
    background: var(--wine);
  }
}

@media (max-width: 600px) {
  .carta-page.carta-premium {
    background: #fcf8f8;
  }

  .carta-page.carta-premium .page-hero {
    min-height: 360px;
  }

  .carta-page.carta-premium .page-hero h1 {
    font-size: clamp(2.75rem, 13vw, 4rem);
  }

  .carta-page.carta-premium .menu-list {
    border-radius: 22px;
  }

  .carta-page.carta-premium .menu-list .dish {
    padding-block: 15px;
  }

  .carta-page.carta-premium .dish-signature {
    padding-top: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .carta-page.carta-premium *,
  .carta-page.carta-premium *::before,
  .carta-page.carta-premium *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .carta-page.carta-premium.js-reveal-ready main > section:not(.page-hero) .container {
    opacity: 1;
    transform: none;
  }
}


/* SABOR ALEGRE v7.0 */
.carta-page #s4 .head{max-width:none}
.carta-page #s4 .head h2{white-space:nowrap;font-size:clamp(2rem,4.25vw,4rem)}
.landing-order-btn{background:#fff;color:#7b2d3b;border-color:#fff}
.landing-order-btn:hover{background:#f3ecdf}
.landing-access{background:#f3ecdf}
.landing-access-head{margin-inline:auto;text-align:center}
.landing-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.landing-access-card{display:grid;grid-template-columns:1fr 150px;gap:24px;align-items:center;background:#fff;border:1px solid rgba(32,40,33,.12);border-radius:28px;padding:30px;box-shadow:0 18px 50px rgba(31,39,32,.07)}
.landing-access-card-order{background:#202821;color:#fff}
.landing-access-card-order p{color:rgba(255,255,255,.72)}
.landing-access-card small{display:block;margin:7px 0 4px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#7b2d3b}
.landing-access-card-order small{color:#d8a85e}
.landing-access-card h3{font-size:2rem}
.landing-access-card p{color:#70756f}
.landing-access-card img{width:150px;padding:9px;background:#fff;border-radius:16px}
.landing-access-icon{font-size:1.8rem}
@media(max-width:850px){.landing-access-grid{grid-template-columns:1fr}.landing-access-card{grid-template-columns:1fr 125px}.landing-access-card img{width:125px}}
@media(max-width:520px){.carta-page #s4 .head h2{font-size:clamp(1.45rem,7.2vw,2.2rem);letter-spacing:-.025em}.landing-access-card{grid-template-columns:1fr;text-align:center;padding:24px}.landing-access-card img{margin:auto}.landing-access-card .btn{justify-content:center;width:100%}}
