:root{--font-display:"Anton",Impact,"Arial Narrow",sans-serif;--font-text:"Barlow",Arial,Helvetica,sans-serif;--font-accent:"Fraunces",Georgia,serif;--font-hand:"Caveat","Segoe Print",cursive;--red:#ef3c23;--yellow:#ffd53d;--cream:#f5eddb;--black:#14110e;--white:#fffdf6;--green:#207a49;--line:#2d2822}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--cream);color:var(--black);font-family:var(--font-text);line-height:1.45}a{color:inherit}button,input{font:inherit}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.skip{position:fixed;top:8px;left:8px;background:white;padding:10px;z-index:99;transform:translateY(-150%)}.skip:focus{transform:none}
.header{height:76px;background:var(--black);color:white;display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1360px)/2));position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff25}.brand{font-family:var(--font-display);line-height:.75;letter-spacing:.03em;text-decoration:none;transform:skew(-4deg)}.brand span{font-size:1.8rem}.brand small{display:block;font-family:var(--font-text);font-size:.48rem;letter-spacing:.32em;color:var(--yellow)}.header nav{display:flex;gap:34px;margin:auto}.header nav a{text-decoration:none;font-size:.69rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.cart-shortcut{display:flex;align-items:center;gap:10px;text-decoration:none;text-transform:uppercase;font-size:.65rem;font-weight:900}.cart-shortcut span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--red)}.menu-toggle{display:none;border:0;background:none;color:white;font-size:.65rem;font-weight:900}.menu-toggle i{display:inline-block;width:20px;border-top:2px solid;margin-left:8px}
.hero{min-height:780px;height:calc(100vh - 76px);display:grid;grid-template-columns:1.15fr .85fr;position:relative;background:var(--red);overflow:hidden}.hero-image{position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#ef3c2366)}.flash{position:absolute;z-index:2;left:35px;bottom:35px;width:120px;height:120px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;text-align:center;font-family:var(--font-display);font-size:1rem;line-height:1;transform:rotate(-9deg);color:var(--black);border:3px solid}.hero-copy{padding:90px max(28px,calc((100vw - 1320px)/2 - 500px)) 60px 45px;color:var(--black);display:flex;flex-direction:column;justify-content:center}.overline,.builder-head p,.section-title>p,.local-copy>p{font-size:.66rem;letter-spacing:.15em;font-weight:900}.hero h1,.section-title h2,.builder-head h2,.local h2,.checkout-dialog h2{font-family:var(--font-display);font-weight:900;line-height:.76;letter-spacing:-.025em}.hero h1{font-size:clamp(6.5rem,11vw,12rem);margin:35px 0}.hero h1 i{font-family:var(--font-accent);font-weight:400;color:var(--yellow);font-size:.72em}.hero-copy>p:not(.overline){font-weight:700;max-width:390px}.hero-actions{display:flex;gap:12px;margin-top:25px}.hero-actions a{border:2px solid var(--black);padding:13px 16px;text-transform:uppercase;text-decoration:none;font-size:.7rem;font-weight:900}.hero-actions a:first-child{background:var(--black);color:white}.scribble{position:absolute;right:30px;bottom:24px;color:white;font-family:var(--font-hand);font-size:1.1rem;transform:rotate(-9deg);text-align:center}.marquee{background:var(--yellow);border-top:3px solid;border-bottom:3px solid;height:58px;display:flex;align-items:center;overflow:hidden}.marquee div{font-family:var(--font-display);white-space:nowrap;letter-spacing:.06em;animation:roll 20s linear infinite}.marquee b{color:var(--red);margin:0 25px}@keyframes roll{to{transform:translateX(-50%)}}
.favorites{padding:120px max(20px,calc((100vw - 1280px)/2))}.section-title{display:grid;grid-template-columns:.28fr 1fr .4fr;align-items:end;gap:35px;margin-bottom:55px}.section-title h2,.builder-head h2{font-size:clamp(4.7rem,7vw,8rem);margin:0}.section-title>span,.builder-head>span{font-size:.78rem;font-weight:700}.pizza-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pizza-card{border:3px solid var(--black);box-shadow:8px 8px 0 var(--black)}.pizza-photo{height:340px;overflow:hidden;position:relative;background:var(--red)}.pizza-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.pizza-card:hover img{transform:scale(1.04)}.pizza-card:nth-child(2) img{object-position:30% center;filter:hue-rotate(-10deg) saturate(.85)}.pizza-card:nth-child(3) img{object-position:70% center;filter:brightness(.8)}.pizza-photo span{position:absolute;right:12px;top:12px;background:var(--yellow);border:2px solid;padding:6px 9px;font-size:.6rem;font-weight:900;transform:rotate(4deg)}.pizza-info{display:grid;grid-template-columns:1fr auto;padding:22px;gap:15px;min-height:190px}.red .pizza-info{background:var(--red)}.yellow .pizza-info{background:var(--yellow)}.cream .pizza-info{background:var(--white)}.pizza-info h3{font-family:var(--font-display);font-size:2.2rem;margin:0}.pizza-info p{font-size:.75rem;font-weight:700}.pizza-info em{font-style:normal;font-size:.58rem;border:1px solid;border-radius:999px;padding:5px 8px}.pizza-info>div:last-child{text-align:right}.pizza-info strong{display:block;font-family:var(--font-display);font-size:1.6rem}.pizza-info button{width:43px;height:43px;border-radius:50%;border:2px solid;background:var(--black);color:white;font-size:1.5rem;cursor:pointer;margin-top:45px}.pizza-info button:hover{background:white;color:var(--black)}
.builder{background:var(--black);color:white;padding:115px max(20px,calc((100vw - 1360px)/2))}.builder-head{display:grid;grid-template-columns:1fr .3fr;align-items:end;margin-bottom:55px}.builder-head h2{color:var(--yellow)}.builder-layout{display:grid;grid-template-columns:.7fr 1.1fr .48fr;gap:28px;align-items:start}.pizza-preview{position:sticky;top:105px}.preview-stage{aspect-ratio:1;background:#25211d;border:2px solid #3c3732;display:grid;place-items:center;position:relative;overflow:hidden;background-image:radial-gradient(#3c3732 1px,transparent 1px);background-size:18px 18px}.pizza-disc{position:relative;width:76%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f0bd62 0 59%,#c77a2a 60% 67%,#8b451c 68% 72%,transparent 73%);filter:drop-shadow(0 18px 18px #0008);transition:width .3s}.cheese-layer{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,#f3c255,#ef9e2f 70%,#c83b1e 73%);box-shadow:inset 8px -7px 18px #9b241e55}.size-label{position:absolute;bottom:15px;background:var(--yellow);color:var(--black);font-size:.58rem;font-weight:900;padding:6px 9px;transform:rotate(-2deg)}#topping-layer span{position:absolute;z-index:2;transform:translate(-50%,-50%)}#topping-layer .pepperoni{width:13%;height:13%;border-radius:50%;background:#b5211c;border:2px solid #842018}#topping-layer .mushroom{width:12%;height:7%;border-radius:50% 50% 30% 30%;background:#d4b488;border-bottom:4px solid #876c4e}#topping-layer .jalapeno{width:10%;height:10%;border:4px solid #39712e;border-radius:50%}#topping-layer .basil{width:12%;height:6%;border-radius:100% 0 100% 0;background:#317643;transform:translate(-50%,-50%) rotate(35deg)}#topping-layer .onion{width:14%;height:5%;border:3px solid #7a326a;border-left-color:transparent;border-radius:50%;transform:translate(-50%,-50%) rotate(-25deg)}#topping-layer .olive{width:8%;height:8%;border:4px solid #292318;border-radius:50%}#topping-layer .pineapple{width:11%;height:9%;background:#f4bd2f;border-radius:20%;transform:translate(-50%,-50%) rotate(20deg)}.live-price{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid var(--line);padding:20px 0 11px}.live-price span{font-size:.6rem;font-weight:900;letter-spacing:.1em}.live-price strong{font-family:var(--font-display);font-size:2rem;color:var(--yellow)}.pizza-preview>p{font-size:.7rem;color:#aaa19a;text-transform:uppercase}.builder-form{border-top:2px solid #3b3530}.builder-form fieldset{border:0;border-bottom:2px solid #3b3530;padding:26px 0;margin:0}.builder-form legend{width:100%;display:grid;grid-template-columns:40px 1fr auto;align-items:center}.builder-form legend>span{color:var(--red);font-family:var(--font-display)}.builder-form legend b{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.04em}.builder-form legend small{color:#8b827b}.option-row{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0 0 40px}.option-row label{cursor:pointer}.option-row input{position:absolute;opacity:0}.option-row label>span{display:block;border:1px solid #4b443e;padding:10px 12px;font-size:.7rem;font-weight:800}.option-row label i{display:block;font-style:normal;color:#89817a;font-size:.56rem;font-weight:400;margin-top:2px}.option-row input:checked+span{background:var(--yellow);color:var(--black);border-color:var(--yellow)}.option-row input:checked+span i{color:#4b3f20}.option-row.toppings label>span{min-width:120px}.limit-message{margin:10px 0 0 40px;color:var(--red);font-size:.65rem;min-height:14px}.add-custom{border:0;width:100%;display:flex;justify-content:space-between;background:var(--red);color:white;padding:18px 20px;margin-top:22px;text-transform:uppercase;font-weight:900;cursor:pointer}.add-custom:hover{background:var(--yellow);color:var(--black)}.cart{position:sticky;top:105px;border:2px solid #4a433e;padding:18px;background:#1d1a17}.cart-title{display:flex;justify-content:space-between;font-family:var(--font-display);letter-spacing:.05em}.cart-title b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--red)}.cart-items{margin:20px 0;max-height:360px;overflow:auto}.empty-cart{color:#7f7770;font-size:.72rem}.cart-item{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid #3b3530;padding:12px 0}.cart-item b{font-size:.72rem}.cart-item p{font-size:.58rem;color:#8f877f;margin:3px 0}.cart-item strong{font-size:.72rem;color:var(--yellow)}.cart-item button{grid-column:2;border:0;background:none;color:#8f877f;font-size:.6rem;text-decoration:underline;cursor:pointer}.cart-total{border-top:2px solid #4a433e;padding:13px 0;display:flex;justify-content:space-between}.cart-total strong{font-family:var(--font-display);font-size:1.5rem;color:var(--yellow)}.checkout{width:100%;border:0;background:var(--yellow);padding:13px 10px;display:flex;justify-content:space-between;font-size:.65rem;font-weight:900;text-transform:uppercase;cursor:pointer}.checkout:disabled{opacity:.35;cursor:not-allowed}.cart>small{display:block;color:#6e665f;font-size:.52rem;margin-top:9px}
.local{display:grid;grid-template-columns:.7fr 1.3fr;min-height:720px;background:var(--yellow)}.local-copy{padding:110px 50px 70px max(20px,calc((100vw - 1260px)/2))}.local h2{font-size:clamp(5rem,7vw,8rem);margin:35px 0}.local-copy>p:not(:first-child){max-width:420px;font-weight:700}.local dl{border-top:2px solid;margin-top:45px}.local dl div{display:flex;justify-content:space-between;border-bottom:1px solid;padding:12px 0;font-size:.7rem}.local dd{margin:0}.local-photo{position:relative;overflow:hidden}.local-photo img{width:100%;height:100%;object-fit:cover}.local-photo span{position:absolute;right:30px;bottom:30px;background:var(--red);color:white;padding:20px;font-family:var(--font-display);font-size:1.6rem;line-height:.9;transform:rotate(5deg);box-shadow:6px 6px 0 var(--black)}
footer{background:var(--red);color:white;padding:75px max(20px,calc((100vw - 1220px)/2)) 25px;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:45px;font-size:.72rem}.footer-logo{font-family:var(--font-display);font-size:3.5rem;line-height:.75}.footer-logo small{display:block;font-family:var(--font-text);font-size:.5rem;letter-spacing:.3em;color:var(--yellow)}footer b{text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;color:var(--yellow)}footer p{color:#ffd4cd}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff3a;padding-top:20px;display:flex;justify-content:space-between;font-size:.64rem}.footer-bottom a{text-decoration:none}
.checkout-dialog{width:min(600px,calc(100% - 24px));padding:50px;background:var(--cream);border:3px solid var(--black);box-shadow:12px 12px 0 var(--yellow);color:var(--black)}.checkout-dialog::backdrop{background:#000b}.checkout-dialog>p{font-size:.65rem;font-weight:900;letter-spacing:.12em}.checkout-dialog h2{font-size:4.5rem;margin:25px 0}.dialog-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:2px solid;border-radius:50%;background:white;font-size:1.3rem;cursor:pointer}.checkout-line{display:flex;justify-content:space-between;border-top:1px solid;padding:11px 0;font-size:.76rem}.checkout-total{border-top:3px solid;padding:15px 0;display:flex;justify-content:space-between}.checkout-total strong{font-family:var(--font-display);font-size:1.6rem}.checkout-dialog>button:not(.dialog-close){width:100%;display:flex;justify-content:space-between;background:var(--red);color:white;border:0;padding:15px;font-weight:900;text-transform:uppercase;cursor:pointer}.checkout-dialog>small{display:block;font-size:.58rem;color:#776e66;margin-top:10px}.sent-message{display:none;background:var(--yellow);border:2px solid;padding:13px;margin-top:15px;font-size:.7rem;font-weight:800}.sent-message.show{display:block}.toast{position:fixed;right:22px;bottom:22px;background:var(--yellow);border:2px solid var(--black);box-shadow:5px 5px 0 var(--black);padding:12px 16px;font-size:.7rem;font-weight:900;z-index:60;transform:translateY(180%);transition:.25s}.toast.show{transform:none}
@media(max-width:1100px){.builder-layout{grid-template-columns:.7fr 1fr}.cart{grid-column:1/-1;position:static}.cart-items{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-height:none}.header nav{gap:18px}.pizza-grid{gap:12px}.pizza-info{padding:15px}}
@media(max-width:800px){.header{padding:0 18px}.menu-toggle{display:block;margin-left:auto;margin-right:18px}.header nav{display:none;position:absolute;left:0;right:0;top:75px;background:var(--black);padding:24px;flex-direction:column}.header nav.open{display:flex}.hero{height:auto;min-height:800px;grid-template-columns:1fr}.hero-image{height:450px;clip-path:polygon(0 0,100% 0,100% 92%,0 100%)}.hero-copy{padding:55px 25px 85px}.hero h1{font-size:8rem}.scribble{bottom:22px}.section-title{grid-template-columns:1fr}.pizza-grid{grid-template-columns:1fr}.pizza-photo{height:420px}.pizza-info{min-height:160px}.builder-head{grid-template-columns:1fr;gap:25px}.builder-layout{grid-template-columns:1fr}.pizza-preview{position:static;max-width:600px;margin:auto;width:100%}.cart-items{grid-template-columns:1fr 1fr}.local{grid-template-columns:1fr}.local-copy{padding:85px 25px}.local-photo{min-height:530px}footer{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}}
@media(max-width:500px){.hero-image{height:340px}.hero h1{font-size:5.8rem}.flash{width:90px;height:90px;font-size:.75rem}.favorites{padding:80px 15px}.section-title h2,.builder-head h2{font-size:4.7rem}.pizza-photo{height:300px}.builder{padding:80px 15px}.builder-form legend{grid-template-columns:32px 1fr}.builder-form legend small{grid-column:2}.option-row{margin-left:0}.option-row label{flex:1}.option-row label>span{min-width:95px}.option-row.toppings label>span{min-width:125px}.cart-items{grid-template-columns:1fr}.local h2{font-size:5rem}footer{grid-template-columns:1fr}.footer-logo{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}.checkout-dialog{padding:42px 22px}.checkout-dialog h2{font-size:3.6rem}}

/* Segunda pasada: títulos enérgicos con mejor respiración */
.hero h1,.section-title h2,.builder-head h2,.local h2,.checkout-dialog h2{line-height:.92;letter-spacing:-.012em}
.hero h1{margin:42px 0 32px}
.section-title{row-gap:18px;margin-bottom:68px}
.section-title h2,.builder-head h2{line-height:.94}
.builder-head{row-gap:18px;margin-bottom:68px}
.local h2{line-height:.94;margin:42px 0 36px}
.checkout-dialog h2{line-height:.96;margin:30px 0 36px}
.pizza-info h3{line-height:.98;margin-bottom:10px}
.builder-form legend b{line-height:1.08}
.pizza-card:nth-child(2) img,.pizza-card:nth-child(3) img{object-position:center;filter:none}
.local-photo img{object-position:center}
@media(max-width:800px){.hero h1{line-height:.92;margin:34px 0 28px}.section-title,.builder-head{margin-bottom:54px}.section-title h2,.builder-head h2{line-height:.96}.local h2{line-height:.96;margin:34px 0 30px}}
@media(max-width:500px){.hero h1{font-size:5.45rem;line-height:.94}.section-title h2,.builder-head h2{font-size:4.35rem;line-height:.98}.local h2{font-size:4.65rem;line-height:.98}.checkout-dialog h2{font-size:3.35rem;line-height:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Tipografía Kobaltica · 22-09-2026 — Anton (titulares) + Barlow (lectura) + Caveat (nota a mano).
   Anton tiene un solo peso: se evita la negrita sintética. */
body{font-size:1.0625rem;line-height:1.5}
.brand,.flash,.hero h1,.section-title h2,.builder-head h2,.local h2,.checkout-dialog h2,.marquee div,.pizza-info h3,.pizza-info strong,.live-price strong,.builder-form legend>span,.builder-form legend b,.cart-title,.cart-total strong,.local-photo span,.footer-logo,.checkout-total strong{font-weight:400;font-synthesis:none}
.hero h1 i{font-style:italic;letter-spacing:-.01em}
.header nav a{font-size:.8rem;font-weight:800;letter-spacing:.1em}
.cart-shortcut,.menu-toggle{font-size:.78rem;font-weight:800}
.overline,.builder-head p,.section-title>p,.local-copy>p{font-size:.78rem;font-weight:800;letter-spacing:.14em}
.hero-copy>p:not(.overline){font-size:1.1rem;line-height:1.45}
.hero-actions a{font-size:.82rem;font-weight:800;letter-spacing:.05em}
.scribble{font-size:1.55rem;font-weight:700;line-height:1.05}
.section-title>span,.builder-head>span{font-size:.94rem}
.pizza-photo span{font-size:.74rem;font-weight:800}
.pizza-info p{font-size:.94rem;line-height:1.45}
.pizza-info em{font-size:.8rem}
.pizza-info strong,.live-price strong,.cart-total strong,.checkout-total strong,.cart-item strong{font-variant-numeric:tabular-nums}
.size-label,.live-price span{font-size:.74rem}
.pizza-preview>p{font-size:.82rem}
.builder-form legend small{font-size:.92rem}
.option-row label>span{font-size:.88rem}
.option-row label i{font-size:.76rem}
.limit-message{font-size:.82rem}
.add-custom{font-size:1rem;letter-spacing:.04em}
.empty-cart{font-size:.88rem}
.cart-item b,.cart-item strong{font-size:.9rem}
.cart-item p,.cart-item button{font-size:.8rem}
.checkout{font-size:.82rem}
.cart>small{font-size:.76rem;line-height:1.4}
.local-copy>p:not(:first-child){font-size:1.06rem}
.local dl div{font-size:.88rem}
footer{font-size:.9rem}
footer b{font-size:.74rem}
.footer-bottom{font-size:.8rem}
.checkout-dialog>p{font-size:.8rem}
.checkout-line{font-size:.92rem}
.checkout-dialog>small{font-size:.78rem}
.sent-message{font-size:.88rem}
.toast{font-size:.86rem}
@media(max-width:500px){.scribble{font-size:1.3rem}}
.cart>small{color:#9a918a}

/* 24-09-2026 · Portada: el sello «Horno + barrio» vive en la columna roja, no sobre la foto. */
.hero-copy{position:relative}
.hero-copy>.flash{left:auto;right:clamp(24px,4vw,64px);top:clamp(28px,6vh,72px);bottom:auto}
@media(max-width:800px){.hero-copy>.flash{top:26px;right:22px}}

/* Interaction states · 28-09-2026: hover only with a mouse/trackpad, a short press on every device.
   Selections (checked, .active, .selected) keep their own look; disabled buttons never react.
   Colours derive from the brand variables, which the dark theme redefines, so both appearances stay legible. */
.hero-actions a,.checkout,.dialog-close{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
@media (hover:hover) and (pointer:fine){
  .hero-actions a:first-child:hover{background:var(--yellow);border-color:var(--black);color:var(--black)}
  .hero-actions a:not(:first-child):hover{background:var(--black);color:#fff}
  .checkout:not(:disabled):hover{background:color-mix(in srgb,var(--yellow) 80%,#000)}
  .dialog-close:hover{background:var(--yellow)}
  html[data-theme="dark"] .pizza-info button:hover{background:#fffdf6;border-color:#fffdf6;color:#14110e}
  .cart-item button:hover{color:var(--red)}
  .option-row label:hover input:not(:checked)+span{border-color:var(--cream);background:#ffffff14}
}
.hero-actions a:active,.pizza-info button:active,.add-custom:active,.checkout:not(:disabled):active,.dialog-close:active,.cart-item button:active,.option-row label:active{scale:.97}
