/* Pittro Pizza V5 — pizzería alegre, misma estructura y paleta. */
@font-face{font-family:PittroDisplay;src:url('assets/fonts/pizza-headings.woff') format('woff');font-weight:700 900;font-style:normal;font-display:swap}
:root{--pink:#bf006e;--pink2:#f0008c;--ink:#38142c;--muted:#76556c;--line:#f0cddd;--soft:#fff0f7;--paper:#fffafd;--display:PittroDisplay,Georgia,serif}
body{background:var(--paper);color:var(--ink);font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif}
h1,h2,h3,.brand span,.footer-brand{font-family:var(--display);font-weight:800;letter-spacing:-.045em}
.notice{background:#ffdcf0;color:#761149;font-size:13px;border-bottom:1px dashed #ce6a9f;padding:9px 16px}
.header{height:88px;padding:0 6%;background:#fffafd;border-bottom:2px solid var(--pink);backdrop-filter:none;gap:20px}
.brand{gap:10px;font-size:21px;white-space:nowrap}.brand img{width:52px;height:52px;border:2px solid var(--pink);padding:3px;background:#fff}.brand span{line-height:1}.brand b{color:var(--pink)}
nav{gap:6px;font-weight:700}nav a{padding:12px 16px;border-radius:999px;font-size:14px;white-space:nowrap}nav a:hover{background:#ffe2f1;color:var(--pink)}
.cart-mini{border-radius:999px;background:var(--pink);color:#fff;border:2px solid var(--pink);box-shadow:0 4px 0 #721048;padding:12px 16px;white-space:nowrap}.cart-mini strong{color:#fff}
.hero{min-height:610px;grid-template-columns:1.1fr 1fr;gap:18px;background:#ffeff7;position:relative;padding:40px 6% 55px;border-bottom:0}
.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:16px;background:repeating-conic-gradient(#df4c9c 0% 25%,#ffeff7 0% 50%) 0 0/32px 32px}
.hero-copy{padding:24px 0;position:relative}.eyebrow{align-self:flex-start;display:inline-block;background:#fff;border:1.5px solid #e4a1c4;border-radius:999px;padding:9px 14px;font-size:12px;letter-spacing:1.1px;color:#a2005b;font-weight:800}
.hero h1{font-size:clamp(2.8rem,4.8vw,4.65rem);line-height:1.06;max-width:650px;margin:22px 0 18px;letter-spacing:-.055em;overflow-wrap:normal}.hero h1 span{color:var(--pink);margin-top:5px}.hero p{font-size:17px;line-height:1.65;color:#69465e;max-width:500px}.hero-actions{gap:14px;margin:22px 0 26px}
.btn,.checkout{border:2px solid var(--pink);border-radius:999px;font-weight:800;background:var(--pink);box-shadow:0 5px 0 #761347;transition:transform .18s,box-shadow .18s;padding:14px 25px}.btn:hover,.checkout:hover{transform:translateY(-2px);box-shadow:0 7px 0 #761347;filter:none}.btn:active,.checkout:active{transform:translateY(3px);box-shadow:0 2px 0 #761347}.btn.ghost{border:2px solid var(--pink);box-shadow:0 5px 0 #f0b4d3;background:#fffafd}.checkout:disabled{box-shadow:none;transform:none;opacity:.6}
.hero-pizza{align-self:center;display:block;min-width:0;overflow:hidden;transform:rotate(3deg);padding:10px;background:#fff;border:2px solid var(--pink);border-radius:190px 190px 40px 40px;box-shadow:10px 10px 0 #efafd1;max-height:none;margin:0 12px 0 18px}
.hero-pizza img{display:block;min-height:0;height:495px;width:100%;object-fit:cover;object-position:center 61%;border-radius:180px 180px 30px 30px}
.delivery-badge{background:#fff!important;color:var(--pink)!important;border:1.5px dashed #dc76af;border-radius:14px;font-size:14px!important;box-shadow:none;padding:10px 14px;margin-bottom:22px!important}.benefits{max-width:500px;gap:12px}.benefits div{font-size:25px}.benefits b{font-size:12px;color:#6d3658;font-weight:700;line-height:1.4}
.categories{padding:26px 7%;background:#fffafd;border-bottom:0;gap:15px}.categories button{background:#fff;border:2px solid #efbfd9;border-radius:20px;padding:20px 12px;font-size:17px;box-shadow:0 4px 0 #f6dfeb;transition:transform .18s}.categories button.active,.categories button:hover{background:#ffe0ef;color:#9e0059;border-color:var(--pink);box-shadow:0 4px 0 #e08cb9;transform:translateY(-2px)}
.section{padding:55px 7%}.section-title{margin-bottom:34px;align-items:center}.section-title span{font-size:12px;letter-spacing:1.6px;color:var(--pink)}.section-title h2{font-size:clamp(2rem,4vw,3.3rem);margin-top:10px;color:var(--ink)}.outline{border:2px solid #d575aa;border-radius:999px;padding:11px 20px;background:#fff;color:var(--pink);font-weight:750;box-shadow:0 3px 0 #f0c9de}
.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.product{border:2px solid #e9b1cf;border-radius:26px;padding:9px 9px 0;box-shadow:5px 6px 0 #f4d6e6;background:#fff;transition:transform .2s,box-shadow .2s}.product:hover{transform:translateY(-5px) rotate(-.5deg);box-shadow:7px 11px 0 #edbed8}.product-img{aspect-ratio:4/5;height:auto;border-radius:18px;overflow:hidden;background:#e8e3dd}.product-img img{object-fit:contain;transition:filter .2s}.product-body{padding:20px 12px 23px}.product h3{font-size:clamp(1.2rem,2vw,1.65rem);color:#981254;line-height:1.2;margin-bottom:9px}.product p{font-size:15px;line-height:1.6;color:var(--muted)}.product-bottom{margin-top:16px;gap:10px;flex-wrap:wrap}.product-bottom strong{font-family:inherit;font-size:14px;color:#806176;font-weight:600}.product-bottom .btn{font-size:14px;padding:10px 20px;min-height:44px}
.promo{margin:30px 7% 0;border:2px solid var(--pink);border-radius:30px;background:#ffdded;box-shadow:7px 7px 0 #f1bad6;position:relative;overflow:hidden}.promo::after{content:"";position:absolute;inset:0 0 0 auto;width:28px;background:repeating-conic-gradient(#c9197d 0% 25%,#ffeff7 0% 50%) 0 0/28px 28px}.promo>div{padding:42px 48px}.promo span{font-size:12px;letter-spacing:2px}.promo h2{font-size:clamp(2rem,4vw,3rem);color:#ad0564}.promo p{font-size:17px;line-height:1.6;max-width:540px}.promo .btn{margin-top:8px}
.about{text-align:center;padding-top:75px;padding-bottom:65px}.about .eyebrow{transform:rotate(-2deg)}.about h2{font-size:clamp(2rem,4vw,3rem);margin:20px 0 12px}.about p{margin:0 auto;max-width:680px;font-size:17px;color:#74546a;line-height:1.8}
.help-section{background:#fff0f7;border-top:2px dashed #edb1d0;padding-bottom:65px}.help-section h2{font-size:clamp(2rem,4vw,3rem);margin:18px 0 22px}.help-card{background:#fff;border:2px solid #eeb6d4;border-radius:24px;box-shadow:4px 5px 0 #f6d9e9}.help-card h3{font-size:1.4rem;color:#a50c60}.help-card dt{color:#98245f}.faq-list{border:2px solid #eeb6d4;border-radius:24px;background:#fff}.faq-list details{padding:0 22px}.faq-list summary{font-weight:700;padding:20px 0}.faq-list details[open]{background:#fffafd}.faq-list details+details{border-color:#f0d8e5}.faq-list summary::marker{color:var(--pink)}.help-actions{gap:16px;margin-bottom:30px}
.secondary-button{border:2px solid #d888b3;border-radius:999px;background:#fff;box-shadow:0 3px 0 #f2cede;color:#a5005e}.secondary-button:hover{background:#ffe7f3}.back-button{border-radius:999px}.dialog-navigation,.cart-head{border-bottom:2px solid #f0c4dc;background:#fff8fc}.checkout-dialog,.product-dialog{border:2px solid #e8abd0;border-radius:26px;background:#fffafd}.checkout-dialog h2,.modal-content h2{font-family:var(--display);color:#9e085b;letter-spacing:-.035em}.checkout-dialog{color:#38142c}.cart-dialog{background:#fffafd;border-left:2px solid #ecbad6}.cart-head h2{font-size:1.25rem;white-space:nowrap}.modal-content .eyebrow{font-size:11px}.modal-content h2{font-size:30px;margin:18px 0}.sizes button{border-radius:16px;border:2px solid #efd1e2;font-size:14px}.sizes button.selected{border-color:var(--pink);background:#ffe3f1}#pizzaPreferences{background:#fff2f8;border:2px solid #efcce0;border-radius:20px}.modal-content label.preference-option{border-radius:14px}.qty button{background:#ffe0f0;color:var(--pink);font-weight:800}#orderSummary{border:2px solid #efc7dc;border-radius:20px}.summary-totals{background:#ffeaf5}.step-number{border-radius:50%}.pickup-location{border:2px dashed #e7b2ce;background:#fff5fa;border-radius:18px}.map-link{font-weight:700}.checkout-dialog input,.checkout-dialog select,.checkout-dialog textarea{border-color:#ddb0cb;border-radius:14px}.cart-summary{background:#fff6fb;border-top:2px solid #efd0e1}.close-button,.cart-head>button:not(.back-button){background:#ffe3f2;color:#931057}.mobile-cart{border:2px solid #ffe2f2}.empty{border:2px dashed #ebbad5;border-radius:22px;background:#fff5fa}.toast{border:2px solid #f2b4d5;background:#671b47;border-radius:16px}
footer{background:#80134e;color:#fff5fb;border-top:14px solid #ed91c2;padding:50px 7%;gap:40px}.footer-brand{font-size:32px;line-height:1.2}.footer-brand b{color:#ffaad9}.footer-brand small,footer p{color:#f4c7e0}footer .map-link{color:#fff0f9}footer b{font-weight:750}
@media(min-width:1500px){.hero,.header{padding-left:max(6%,calc((100vw - 1450px)/2));padding-right:max(6%,calc((100vw - 1450px)/2))}.grid{gap:32px}.section,.categories{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}}
@media(max-width:1050px){.header{padding:14px 4%;height:auto;flex-wrap:wrap;gap:12px}.header nav{display:flex;order:3;width:100%;justify-content:center}.hero{grid-template-columns:1fr 1fr;padding:24px 5% 45px;gap:16px;min-height:0}.hero h1{font-size:clamp(2.5rem,5vw,3.6rem)}.hero-copy{padding:20px 0}.hero-pizza{margin:0 5px 0 5px;border-radius:130px 130px 30px 30px}.hero-pizza img{height:430px;border-radius:120px 120px 22px 22px}.hero-actions{flex-wrap:wrap}.hero-actions .btn{font-size:14px;padding:12px 17px}.benefits{grid-template-columns:repeat(2,1fr)}.grid{gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.product h3{font-size:1.55rem}.section{padding:45px 5%}.categories{padding:24px 5%}.promo{margin-left:5%;margin-right:5%}}
@media(max-width:640px){
 .notice{font-size:12px;padding:8px 12px}.header{padding:10px 14px 6px;gap:9px}.brand{font-size:18px}.brand img{width:43px;height:43px}.brand span{font-size:18px}.cart-mini{padding:8px 12px;box-shadow:0 3px 0 #721048}.header nav{justify-content:flex-start;gap:4px;overflow-x:auto;margin-top:3px}.header nav a{font-size:13px;padding:8px 12px;flex-shrink:0;min-height:40px;background:#fff0f7}
 .hero{grid-template-columns:1fr;padding:24px 20px 42px;gap:24px}.hero-copy{padding:6px 0 0;align-items:center;text-align:center}.hero .eyebrow{align-self:center;font-size:11px;padding:8px 12px}.hero h1{font-size:clamp(2.35rem,10.4vw,3.6rem);margin:18px 0 12px;line-height:1.05}.hero p{font-size:16px;max-width:390px;margin:10px auto}.hero-actions{width:100%;gap:12px;margin:18px 0 24px;flex-wrap:wrap}.hero-actions .btn{flex:1;min-width:0;white-space:normal;font-size:14px;padding:12px 14px}.delivery-badge{align-self:center;justify-content:center;font-size:13px!important;margin-bottom:20px!important}.benefits{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}.benefits div{font-size:23px}.benefits b{font-size:11px;margin-top:5px;line-height:1.4}.hero-pizza{max-height:none;max-width:380px;width:calc(100% - 22px);margin:0 auto;transform:rotate(2deg);border-radius:150px 150px 28px 28px;padding:7px;box-shadow:7px 7px 0 #efafd1}.hero-pizza img{min-height:0;height:320px;object-position:center 62%;border-radius:140px 140px 20px 20px}
 .categories{grid-template-columns:repeat(2,minmax(0,1fr));padding:26px 18px 18px;gap:12px}.categories button{padding:14px 10px;border-radius:17px;font-size:16px}.section{padding:36px 18px}.section-title{gap:12px;align-items:center;margin-bottom:24px}.section-title h2{font-size:clamp(1.8rem,7.6vw,2.4rem)}.section-title span{font-size:11px;letter-spacing:1px}.outline{padding:10px 13px;font-size:13px;flex-shrink:0}.grid{grid-template-columns:1fr;gap:24px}.product{border-radius:24px;padding:8px 8px 0;box-shadow:4px 5px 0 #f4d6e6}.product-img{height:auto;aspect-ratio:4/5;border-radius:16px}.product h3{font-size:1.6rem}.product-body{padding:18px 12px 23px}.product-bottom{flex-wrap:wrap}.product-bottom strong{font-size:14px}.product-bottom .btn{padding:10px 22px}.promo{margin:20px 18px 0;border-radius:24px;box-shadow:5px 5px 0 #f1bad6}.promo>div{padding:30px 32px 32px 23px}.promo::after{width:14px;background-size:28px 28px}.promo h2{font-size:clamp(1.6rem,7vw,2.4rem)}.promo p{font-size:16px}.promo .btn{font-size:14px;padding:12px 20px}.about{padding:55px 22px}.about h2{font-size:2rem}.about p{font-size:16px}.help-section h2{font-size:2rem}.help-card{padding:22px}.help-card h3{font-size:1.35rem}.faq-list details{padding:0 17px}.help-actions{gap:13px}.help-actions .secondary-button{padding:12px 18px}
 .checkout-dialog,.product-dialog,.cart-dialog{width:100%;max-width:100%;border-radius:0;border:0;margin:0;height:100vh;max-height:100vh;height:100dvh;max-height:100dvh}.checkout-dialog h2{font-size:1.6rem}.modal-content h2{font-size:1.8rem;overflow-wrap:anywhere}.modal-box>img{border-radius:0}.cart-head h2{font-size:1.15rem}.cart-head .back-button{font-size:14px}.checkout-dialog .checkout{font-size:15px;white-space:normal}.cart-summary .checkout{font-size:15px}.mobile-cart:not([hidden]){border-radius:999px;box-shadow:0 5px 0 #761347,0 10px 22px #67013b30}.footer-brand{font-size:30px}footer{padding:36px 22px;gap:24px}.dialog-navigation{padding-left:12px;padding-right:12px}
}
@media(max-width:360px){.hero{padding-left:16px;padding-right:16px}.hero h1{font-size:2.3rem}.benefits b{font-size:10px}.hero-pizza img{height:280px}.brand span{font-size:16px}.section-title h2{font-size:1.8rem}.outline{padding:9px 10px}.product h3{font-size:1.4rem}.categories button{font-size:15px}}
@media(prefers-reduced-motion:reduce){.product:hover,.categories button:hover,.btn:hover,.checkout:hover{transform:none}}

.preference-shortcuts{margin-top:16px;padding-top:14px;border-top:1px dashed #ddb0cb}.preference-shortcuts small{display:block;font-size:13px;line-height:1.5;color:var(--muted)}#ingredientOptions:empty{display:none}#fixedIngredients{margin-top:14px!important;line-height:1.5}.preference-shortcuts .text-button{font-size:14px}
