:root{
  --bg:#0d0d0d;--panel:#161616;--panel-2:#202020;--text:#f6f1e8;--muted:#b7b0a6;
  --red:#e42127;--gold:#d6a65a;--line:rgba(214,166,90,.28);--shadow:0 24px 70px rgba(0,0,0,.45)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a{font:inherit}button{cursor:pointer}.shell{width:min(1160px,calc(100% - 32px));margin-inline:auto}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:radial-gradient(circle at 20% 10%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 80% 40%,#fff 0 1px,transparent 1.4px);background-size:19px 19px,27px 27px;mix-blend-mode:soft-light}
.hero{min-height:88vh;position:relative;display:grid;align-content:start;overflow:hidden;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.42)),url('../assets/images/poster-demo-hattrick.jpg') center/cover}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,var(--bg))}.hero__noise{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.012) 3px 4px)}.nav{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:22px 0}.brand img{width:min(330px,60vw);display:block}.cart-button{border:1px solid var(--line);background:rgba(13,13,13,.76);color:var(--text);border-radius:999px;padding:10px 14px;display:flex;gap:10px;align-items:center}.cart-count{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:var(--red);font-weight:800}.hero__content{position:relative;z-index:2;padding:10vh 0 18vh;max-width:760px}.eyebrow{margin:0 0 10px;color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:900}.hero h1,.section-heading h2,.product-modal h2,.cart-header h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;letter-spacing:.02em}.hero h1{font-size:clamp(3.5rem,10vw,7.8rem);line-height:.87;margin:0;max-width:800px;text-shadow:0 6px 30px rgba(0,0,0,.8)}.hero__text{font-size:clamp(1rem,2vw,1.25rem);color:#ddd4c8;max-width:560px;line-height:1.6;margin:24px 0 32px}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:0;border-radius:12px;background:var(--red);color:white;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.04em;box-shadow:0 12px 28px rgba(228,33,39,.24);transition:.2s transform,.2s filter}.primary-button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.menu{padding:80px 0 100px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:34px}.section-heading h2{font-size:clamp(2.6rem,6vw,5rem);margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid #343434;background:#151515;color:#d9d2c8;padding:9px 13px;border-radius:999px}.filter.is-active{background:var(--gold);color:#17120b;border-color:var(--gold);font-weight:800}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.dish-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--panel);min-height:430px;isolation:isolate;box-shadow:var(--shadow);cursor:pointer}.dish-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .55s ease,filter .35s ease}.dish-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.95) 100%);z-index:1}.dish-card:hover img{transform:scale(1.055);filter:saturate(1.08)}.dish-card__content{position:absolute;z-index:2;inset:auto 22px 22px;display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:end}.dish-card__category{grid-column:1/-1;color:var(--gold);text-transform:uppercase;font-size:.74rem;letter-spacing:.12em;font-weight:900}.dish-card h3{font-size:clamp(1.65rem,3vw,2.45rem);line-height:.95;margin:0;text-transform:uppercase}.dish-card__price{font-size:1.7rem;font-weight:1000;color:white;background:var(--red);padding:7px 12px;border-radius:10px}.dish-card__hint{grid-column:1/-1;color:#d8d1c8;font-size:.9rem}.dish-card.is-hidden{display:none}
.product-modal,.cart-drawer{border:1px solid var(--line);background:#101010;color:var(--text);padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.product-modal{width:min(840px,calc(100% - 24px));max-height:88vh;border-radius:24px;overflow:hidden;grid-template-columns:.95fr 1.05fr}.product-modal[open]{display:grid;animation:pop .22s ease}.product-modal__media{min-height:0;height:min(520px,88vh);background:#050505}.product-modal__media img{width:100%;height:100%;object-fit:cover}.product-modal__body{padding:28px 30px;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.product-modal h2{font-size:clamp(2.25rem,4.7vw,4rem);line-height:.9;margin:4px 0 14px}.modal-description{color:#d1c9bf;line-height:1.7}.ingredients{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}.ingredient{padding:7px 10px;border-radius:999px;background:#252525;color:#ddd5ca;font-size:.86rem;border:1px solid #343434}.modal-actions{margin-top:auto;display:grid;gap:12px;padding-bottom:2px}.modal-price{font-size:2.2rem;color:var(--gold)}.quantity-control{display:grid;grid-template-columns:48px 58px 48px;width:max-content;border:1px solid #393939;border-radius:12px;overflow:hidden}.quantity-control button,.quantity-control output{border:0;background:#191919;color:white;display:grid;place-items:center;height:44px}.quantity-control output{border-inline:1px solid #393939}.close-button{position:absolute;z-index:5;right:14px;top:14px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.62);color:white;font-size:1.8rem;line-height:1}.close-button.static{position:static}.cart-drawer{width:min(520px,calc(100% - 20px));height:min(760px,calc(100% - 20px));margin-right:10px;border-radius:24px;padding:24px}.cart-drawer[open]{display:flex;flex-direction:column;animation:slide .24s ease}.cart-header{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #2d2d2d;padding-bottom:18px}.cart-header h2{font-size:3rem;margin:0}.cart-items{display:grid;gap:12px;overflow:auto;padding:18px 4px 18px 0}.cart-item{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid #2c2c2c;border-radius:14px;background:#171717}.cart-item img{width:74px;height:64px;object-fit:cover;border-radius:10px}.cart-item h3{font-size:1rem;margin:0 0 4px}.cart-item small{color:var(--muted)}.remove-item{border:0;background:transparent;color:#ff777b;font-size:1.2rem}.cart-empty{color:var(--muted);padding:30px 0;text-align:center}.cart-footer{margin-top:auto;border-top:1px solid #2d2d2d;padding-top:18px;display:grid;gap:14px}.total-row{display:flex;justify-content:space-between;font-size:1.25rem}.wide{width:100%}.cart-footer small{color:var(--muted);line-height:1.45}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#f4eee5;color:#17120f;padding:12px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:20;font-weight:800}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slide{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.hero{min-height:78vh}.nav{padding-top:14px}.brand img{width:220px}.hero__content{padding-top:9vh}.section-heading{align-items:start;flex-direction:column}.filters{justify-content:flex-start}.menu-grid{grid-template-columns:1fr}.dish-card{min-height:390px}.product-modal[open]{display:flex;flex-direction:column;max-height:92vh;overflow:auto}.product-modal__media{min-height:330px}.product-modal__body{padding:24px}.cart-drawer{margin:auto;height:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Clips, calculadora y contacto */
.play-chip{position:absolute;z-index:3;top:18px;right:18px;padding:8px 11px;border-radius:999px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.78rem;font-weight:900;backdrop-filter:blur(7px)}
.product-modal__media{position:relative;overflow:hidden}.product-modal__media video,.product-modal__media img{width:100%;height:100%;object-fit:cover;object-position:center}.video-badge{position:absolute;left:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.68);border:1px solid rgba(255,255,255,.2);font-size:.75rem;font-weight:800}.price-preview{display:flex;justify-content:space-between;align-items:end;gap:16px}.price-preview span,.line-total span{color:var(--muted)}.line-total{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-radius:12px;background:#1b1b1b;border:1px solid #333}.line-total strong{font-size:1.25rem;color:var(--gold)}.calculation-note{color:var(--muted);line-height:1.45}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;border:1px solid #444;background:#1d1d1d;color:#fff;text-transform:uppercase;font-weight:900;letter-spacing:.04em}.secondary-button:hover{background:#272727}.contact{padding:10px 0 100px}.contact h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;font-size:clamp(2.5rem,6vw,4.7rem);margin:0}.contact__text{color:var(--muted);max-width:650px;line-height:1.6}.social-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:28px}.social-link{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:18px;background:#161616;transition:.2s transform,.2s border-color,.2s background}.social-link:hover{transform:translateY(-3px);border-color:var(--gold);background:#1d1d1d}.social-link svg{width:31px;height:31px;fill:currentColor;stroke:currentColor;stroke-width:1.7}.social-link:nth-child(2) svg{fill:none}.social-link span{font-weight:900}.contact-note{color:var(--muted);font-size:.88rem;margin-top:14px}.contact-note code{color:var(--gold)}
@media(max-width:760px){.social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-link:last-child{grid-column:1/-1}.product-modal__media video,.product-modal__media img{min-height:330px}}

/* Ajuste final: modal compacto y botón siempre visible */
.product-modal .primary-button{min-height:54px;flex-shrink:0}
@media(min-width:761px){.product-modal__media{height:min(520px,88vh)}.product-modal__body{max-height:88vh}.modal-description{margin:0 0 4px}}
@media(max-width:760px){.product-modal{width:min(620px,calc(100% - 16px));max-height:90vh}.product-modal[open]{max-height:90vh}.product-modal__media{height:250px;min-height:250px;flex:0 0 250px}.product-modal__media video,.product-modal__media img{min-height:0}.product-modal__body{padding:20px;overflow:visible}.product-modal h2{font-size:clamp(2rem,12vw,3.25rem)}.modal-actions{margin-top:8px}}

/* Edición del cálculo */
.cart-item{grid-template-columns:74px minmax(0,1fr) auto}
.cart-item__actions{display:flex;flex-direction:column;gap:7px;align-items:stretch}
.edit-item,.remove-item{min-width:72px;border-radius:9px;padding:7px 10px;font-size:.78rem;font-weight:900;text-transform:uppercase}
.edit-item{border:1px solid #565656;background:#252525;color:#fff}
.edit-item:hover{border-color:var(--gold);color:var(--gold)}
.remove-item{border:1px solid rgba(255,119,123,.35);background:rgba(255,119,123,.08);color:#ff777b}
.remove-item:hover{background:rgba(255,119,123,.16)}
@media(max-width:480px){.cart-item{grid-template-columns:62px minmax(0,1fr)}.cart-item img{width:62px;height:58px}.cart-item__actions{grid-column:1/-1;flex-direction:row}.edit-item,.remove-item{flex:1}}


/* Instalación PWA */
.nav-actions{display:flex;align-items:center;gap:10px}
.install-button{border:1px solid var(--gold);background:var(--gold);color:#17120b;border-radius:999px;padding:11px 15px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.install-button:hover{filter:brightness(1.08)}
.install-button[hidden]{display:none}
@media(max-width:600px){.nav{align-items:flex-start}.nav-actions{flex-direction:column;align-items:flex-end}.install-button,.cart-button{font-size:.82rem;padding:9px 12px}}

/* Mejora de portada y guía de uso */
.how-it-works{padding:72px 0 52px;display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:start}
.how-it-works h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.95;margin:0 0 16px}
.how-it-works__intro>p:last-child{color:var(--muted);line-height:1.65;max-width:560px;margin:0}
.how-grid{display:grid;gap:12px}
.how-step{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:#151515}
.how-step>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--red);font-weight:1000;font-size:1.2rem}
.how-step strong{font-size:1.05rem;text-transform:uppercase}
.how-step p{margin:4px 0 0;color:var(--muted);line-height:1.45}

@media(min-width:761px){
  .brand img{width:min(390px,36vw)}
  .hero__content{padding-top:8vh}
  .hero h1{font-size:clamp(3.8rem,8.5vw,7rem);max-width:760px}
}

@media(max-width:760px){
  .hero{min-height:auto;background-position:center top}
  .nav{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0 4px}
  .brand{min-width:0}
  .brand img{width:min(270px,67vw);max-height:96px;object-fit:contain;object-position:left center}
  .nav-actions{gap:7px;align-items:flex-end}
  .install-button,.cart-button{font-size:.72rem;padding:8px 10px;white-space:nowrap}
  .cart-button{gap:7px}
  .cart-count{min-width:23px;height:23px}
  .hero__content{padding:64px 0 92px;max-width:100%}
  .hero h1{font-size:clamp(2.7rem,13.2vw,4.25rem);line-height:.92;max-width:94%;letter-spacing:0;overflow-wrap:normal;word-break:normal}
  .hero__text{font-size:1rem;line-height:1.55;margin:20px 0 26px;max-width:92%}
  .primary-button{min-height:50px;padding-inline:22px}
  .how-it-works{padding:48px 0 38px;grid-template-columns:1fr;gap:24px}
  .how-it-works h2{font-size:clamp(2.4rem,10vw,3.5rem)}
  .how-step{grid-template-columns:42px 1fr;padding:14px}
  .how-step>span{width:42px;height:42px}
}

@media(max-width:430px){
  .shell{width:min(100% - 22px,1160px)}
  .brand img{width:min(245px,66vw)}
  .hero__content{padding-top:52px}
  .hero h1{font-size:clamp(2.45rem,12.8vw,3.5rem);max-width:96%}
  .hero__text{max-width:96%;font-size:.96rem}
  .install-button{padding:8px 9px}
  .cart-button span:first-child{font-size:.72rem}
}

.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.share-button{min-height:52px;padding:0 22px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(13,13,13,.72);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;backdrop-filter:blur(8px)}
.share-button:hover{border-color:var(--gold);background:#181818}
.share-button svg{width:21px;height:21px;fill:currentColor}
@media(max-width:430px){.hero-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:350px}.hero-buttons .primary-button,.share-button{width:100%;padding-inline:12px;font-size:.82rem}}
