:root{--red:#94151a;--red-dark:#651014;--cream:#f7f0df;--paper:#fffaf0;--ink:#171411;--muted:#736a5e;--line:#d9cdb8;--green:#1f9b56;--shadow:0 20px 55px rgba(61,31,18,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;background-image:radial-gradient(#aa8f6d2b 1px,transparent 1px);background-size:8px 8px}.hero{min-height:390px;display:grid;place-items:center;text-align:center;color:white;padding:55px 20px;position:relative;overflow:hidden;background:linear-gradient(115deg,#160d0aeb,#5b0b10dc),radial-gradient(circle at 50% 20%,#c22129,transparent 48%),#2a1010}.hero:before,.hero:after{content:"";position:absolute;width:44vw;height:7px;background:#f8efe0;top:49%;opacity:.75}.hero:before{right:76%;box-shadow:0 -24px #f8efe0,0 24px #f8efe0}.hero:after{left:76%;box-shadow:0 -24px #f8efe0,0 24px #f8efe0}.hero-inner{max-width:810px;position:relative;z-index:1}.eyebrow,.kicker{margin:0;text-transform:uppercase;letter-spacing:.22em;font-weight:800;font-size:.76rem}.hero h1{font-family:Lobster,cursive;font-size:clamp(4.4rem,12vw,8.6rem);line-height:.8;margin:22px 0 30px;text-shadow:5px 6px 0 #000;transform:rotate(-2deg)}.hero h1 span{color:#fff}.hero-copy{font-size:clamp(1rem,2vw,1.22rem);line-height:1.6;max-width:670px;margin:0 auto 28px;color:#f8eedd}.start-button,.next-button{display:inline-flex;align-items:center;gap:12px;border:0;border-radius:5px;background:var(--red);color:white;padding:15px 24px;text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:.06em;cursor:pointer;box-shadow:0 6px 0 var(--red-dark)}.start-button:hover,.next-button:hover{background:#ae1b21;transform:translateY(-1px)}.builder-shell{width:min(1220px,94%);margin:-28px auto 70px;position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.builder,.summary{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.builder{padding:clamp(22px,4vw,45px)}.builder-heading{text-align:center;border-bottom:1px dashed var(--line);padding-bottom:25px}.kicker{color:var(--red)}.builder-heading h2,.summary h2{font-family:"Bebas Neue",sans-serif;text-transform:uppercase;letter-spacing:.04em}.builder-heading h2{font-size:clamp(2.4rem,5vw,4rem);margin:5px 0}.builder-heading>p:last-child{margin:0;color:var(--muted)}.progress{margin:28px 0}.progress-copy{display:flex;justify-content:space-between;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.progress-copy strong{color:var(--red)}.progress-track{height:7px;border-radius:10px;background:#e5dccc;margin-top:9px;overflow:hidden}.progress-track span{display:block;width:14.285%;height:100%;background:var(--red);transition:width .3s}.step{display:none;animation:slide .3s ease}.step.active{display:block}@keyframes slide{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}.step-title{display:flex;gap:15px;align-items:center;margin-bottom:20px}.step-number{flex:0 0 48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:white;font-family:"Bebas Neue";font-size:1.7rem;box-shadow:inset 0 0 0 3px var(--paper),0 0 0 2px var(--red)}.step-title p{margin:0;color:var(--red);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.step-title h3{margin:1px 0 0;font-family:"Bebas Neue";font-size:2rem;letter-spacing:.04em}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.option{position:relative;display:flex;align-items:center;gap:14px;min-height:90px;padding:16px;border:2px solid var(--line);border-radius:10px;background:#fffdf7;cursor:pointer;transition:.2s}.option:hover{border-color:#bd9a7b;transform:translateY(-2px)}.option.selected{border-color:var(--red);background:#fff4ed;box-shadow:0 0 0 2px #94151a20}.option input{position:absolute;opacity:0}.option-icon{font-size:2rem;width:44px;text-align:center}.option strong{display:block;font-size:1rem}.option small{display:block;color:var(--muted);margin-top:3px;line-height:1.3}.option-check{margin-left:auto;width:22px;height:22px;border:2px solid #bcae99;border-radius:50%}.selected .option-check{border:6px solid var(--red)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.back-button{border:1px solid var(--line);background:white;border-radius:5px;padding:14px 20px;font-weight:800;cursor:pointer}.customer-panel{animation:slide .3s}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields>label{display:grid;gap:7px;font-weight:700;font-size:.86rem}.fields span{font-weight:400;color:var(--muted)}input,textarea{width:100%;border:1px solid #cdbfa9;border-radius:7px;padding:13px;background:white;font:inherit;color:var(--ink)}input:focus,textarea:focus{outline:3px solid #94151a21;border-color:var(--red)}textarea{resize:vertical}.wide,.address-field{grid-column:1/-1}.delivery-field{margin:0;padding:9px 12px;border:1px solid #cdbfa9;border-radius:7px}.delivery-field legend{font-size:.8rem;font-weight:700}.delivery-field label{display:inline-flex;gap:7px;margin:5px 14px 4px 0;font-size:.85rem}.delivery-field input{width:auto}.summary{padding:24px;position:sticky;top:20px}.summary-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:3px solid var(--ink)}.summary-top p{margin:0;color:var(--red);font-weight:800;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em}.summary h2{margin:1px 0;font-size:2rem}.summary-top>span{background:var(--ink);color:white;border-radius:30px;padding:6px 10px;font-size:.75rem;font-weight:800}.summary-items{min-height:220px;padding:12px 0}.empty-state{text-align:center;color:var(--muted);margin:70px 20px;font-size:.9rem}.summary-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}.summary-item span{color:var(--red);font-family:"Bebas Neue";font-size:1.2rem}.summary-item small{display:block;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}.summary-item strong{font-size:.85rem}.summary-ready{padding:10px;text-align:center;background:#e8f7ec;color:#146536;font-weight:800;border-radius:7px;margin:5px 0 13px}.whatsapp-button{width:100%;border:0;border-radius:7px;background:var(--green);color:white;padding:15px 12px;font-weight:800;font-size:.9rem;cursor:pointer}.whatsapp-button:disabled{background:#b7b3aa;cursor:not-allowed}.whatsapp-button span{font-size:1.2rem}.privacy{text-align:center;color:var(--muted);font-size:.68rem;line-height:1.45;margin:12px 5px 0}footer{background:#150d0b;color:white;display:flex;justify-content:center;gap:20px;align-items:center;padding:25px;text-align:center}footer strong{font-family:Lobster;font-size:1.8rem}footer span{text-transform:uppercase;letter-spacing:.12em;color:#d7cab7;font-size:.66rem}
.cart-items{display:grid;gap:8px;margin-top:13px}.cart-card{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.cart-card>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:var(--red);color:#fff;font-family:"Bebas Neue";font-size:1.05rem}.cart-copy{min-width:0;flex:1}.cart-copy strong{display:block;font-size:.8rem}.cart-copy strong b{color:var(--red)}.cart-copy small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.65rem}.edit-philly,.remove-philly{width:30px;height:30px;border:0;border-radius:6px;background:#f5ecdd;color:var(--red);font-size:1rem;font-weight:800;cursor:pointer;padding:0}.edit-philly:hover,.remove-philly:hover{background:#eadbc6}.quantity-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden}.quantity-control button{width:25px;height:27px;border:0;background:#f5ecdd;color:var(--red);font-size:1rem;font-weight:800;cursor:pointer}.quantity-control strong{min-width:22px;text-align:center;font-size:.72rem}.add-philly-button{width:100%;border:2px solid var(--red);border-radius:7px;background:#fff;color:var(--red);padding:12px;font-weight:800;cursor:pointer;margin-bottom:9px}.add-philly-button:hover{background:#fff1eb}
@media(max-width:900px){.builder-shell{grid-template-columns:1fr}.summary{position:static}.summary-items{min-height:0}.empty-state{margin:30px}.hero:before,.hero:after{display:none}}
.more-order-actions{margin-top:24px;padding:18px;border:2px dashed #c7aa86;border-radius:10px;background:#fff8ec;text-align:center}.more-order-actions>div{display:grid;grid-template-columns:1fr;gap:10px}.more-order-actions button{border:2px solid var(--red);border-radius:7px;padding:13px 10px;background:var(--red);color:#fff;font-weight:800;cursor:pointer}.more-order-actions small{display:block;color:var(--muted);margin-top:10px}
@media(max-width:600px){.hero{min-height:360px}.hero h1{font-size:4.6rem}.builder-shell{width:100%;margin-top:0}.builder,.summary{border-radius:0;border-left:0;border-right:0;box-shadow:none}.builder{padding:25px 17px}.options,.fields{grid-template-columns:1fr}.option{min-height:77px}.delivery-field,.address-field,.wide{grid-column:auto}.form-actions{justify-content:stretch}.form-actions button{flex:1;padding-inline:10px}footer{flex-direction:column;gap:5px}}
@media(max-width:600px){.more-order-actions>div{grid-template-columns:1fr}}
.builder-context{display:inline-block;margin-top:14px;border-radius:999px;background:#1b1713;color:#fff;padding:7px 13px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.customer-title{margin-top:30px}

/* Ajustes de experiencia y respuesta */
html,body{max-width:100%;overflow-x:hidden}.hero-inner{width:100%}.hero h1{max-width:100%;overflow-wrap:normal}.builder-heading>p:not(.kicker){margin:0;color:var(--muted)}.builder-shell,.builder,.summary,.step,.options,.option{min-width:0}.step{min-height:280px}.option>span:not(.option-icon){min-width:0}.option strong,.option small{overflow-wrap:anywhere}.empty-state.compact{margin:18px 8px}.cart-items:not(:empty)+.summary-items{min-height:0}.cart-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.cart-card>span{grid-column:1;grid-row:1}.cart-copy{grid-column:2;grid-row:1}.quantity-control{grid-column:2;grid-row:2;justify-self:start;margin-top:8px}.remove-philly{grid-column:3;grid-row:1}.cart-personalize,.cart-personalize input{max-width:100%}.start-button,.next-button,.back-button,.more-order-actions button,.add-philly-button,.whatsapp-button,.quantity-control button{min-height:44px}.option:focus-within,.start-button:focus-visible,.next-button:focus-visible,.back-button:focus-visible,.more-order-actions button:focus-visible,.add-philly-button:focus-visible,.whatsapp-button:focus-visible,.cart-links button:focus-visible,.quantity-control button:focus-visible,.remove-philly:focus-visible{outline:3px solid #d8a13b;outline-offset:3px}.whatsapp-button:not(:disabled):hover{background:#178348}.back-button:hover{background:#f8f1e5}.more-order-actions button:hover{background:#ae1b21}.more-order-actions button+button:hover{background:#fff1eb}

@media(max-width:900px){.builder-shell{width:min(720px,94%);margin-bottom:45px}.summary{top:auto}.summary-items{min-height:0}.cart-card{padding:14px}.cart-copy strong{font-size:.9rem}.cart-copy small{font-size:.72rem}.cart-personalize summary,.edit-philly{font-size:.72rem}}
@media(max-width:600px){body{background-size:7px 7px}.hero{display:block;min-height:340px;padding:42px 16px}.hero-inner{width:calc(100vw - 32px);max-width:358px;min-width:0;margin:0 auto;overflow:visible}.hero h1{width:100%;font-size:clamp(3rem,14vw,3.55rem);line-height:.9;margin:18px auto 24px;white-space:normal;text-shadow:3px 4px 0 #000}.hero-copy{width:calc(100vw - 32px);max-width:358px;font-size:.96rem;line-height:1.5;padding:0 2px;overflow-wrap:break-word}.start-button{width:min(100%,230px);justify-content:center}.builder-shell{display:block;width:100vw;max-width:100vw;margin:0 auto 36px}.builder,.summary{width:100vw;max-width:100vw}.builder{padding:27px 16px}.builder-heading{width:calc(100vw - 32px);max-width:calc(100vw - 32px);padding-bottom:21px}.builder-heading h2{font-size:2.45rem;line-height:1}.builder-heading>p:last-of-type{width:100%;font-size:.91rem;line-height:1.45}.builder-context{font-size:.66rem;padding:7px 11px}.progress{width:calc(100vw - 32px);max-width:calc(100vw - 32px);margin:24px 0}.step{width:calc(100vw - 32px);max-width:calc(100vw - 32px);min-height:430px}.progress-copy{font-size:.72rem}.step-title{gap:12px}.step-number{flex-basis:42px;height:42px;font-size:1.45rem}.step-title h3{font-size:1.72rem}.option{padding:13px;gap:10px}.option-icon{width:36px;font-size:1.7rem}.option-check{flex:0 0 21px}.form-actions{position:sticky;bottom:0;z-index:5;margin:24px -16px -27px;padding:12px 16px 16px;background:linear-gradient(transparent,#fffaf0 18%)}.summary{padding:21px 16px}.cart-card{grid-template-columns:auto minmax(0,1fr) auto}.more-order-actions{padding:15px}.customer-title{margin-top:26px}.fields{gap:14px}footer{padding:22px 16px}}
@media(max-width:360px){.hero h1{font-size:3.2rem}.step-title h3{font-size:1.55rem}.cart-card>span{display:none}.cart-copy{grid-column:1 / 3}.quantity-control{grid-column:1 / 3}.remove-philly{grid-column:3}.form-actions{gap:8px}.form-actions button{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.step{animation:none}.option,.start-button,.next-button{transition:none}}
.cart-card{grid-template-columns:auto minmax(0,1fr) 36px 30px;column-gap:9px}.edit-philly{grid-column:3;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid #d8c8b0;border-radius:50%;background:#fff8ec;color:var(--red);font-family:Arial,sans-serif;font-size:1.25rem;line-height:1;padding:0;box-shadow:0 2px 7px #42190d14;transition:background .18s,border-color .18s,transform .18s}.edit-philly:hover{background:#f7e6d0;border-color:#b98663;transform:translateY(-1px)}.edit-philly:active{transform:translateY(0)}.remove-philly{grid-column:4;grid-row:1;align-self:center}.edit-philly:focus-visible{outline:3px solid #d8a13b;outline-offset:3px}
@media(max-width:360px){.cart-copy{grid-column:1 / 3}.quantity-control{grid-column:1 / 3}.edit-philly{grid-column:3}.remove-philly{grid-column:4}}
.option.unavailable{opacity:.5;cursor:not-allowed;background:#eee9df;border-style:dashed}.option.unavailable:hover{transform:none;border-color:var(--line)}.option.unavailable .option-check{background:#d2cbc0}.option.unavailable small{color:#7d2929;font-weight:700}
.cart-card.has-unavailable{border-color:#a42525;background:#fff0ed}.cart-card.has-unavailable .cart-copy em{display:block;margin-top:5px;color:#8b1f1f;font-size:.68rem;font-weight:800;line-height:1.3}.cart-card.has-unavailable .edit-philly{background:#94151a;color:#fff;border-color:#94151a}

/* Ilustraciones individuales del menú */
.option-icon{flex:0 0 72px;width:72px;height:72px;display:grid;place-items:center;overflow:hidden;font-size:0}
.option-icon img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.option-icon{flex-basis:64px;width:64px;height:64px}}
.extras-panel{margin-top:28px;padding-top:25px;border-top:1px dashed var(--line)}
.extras-panel .step-title{margin-bottom:8px}.extras-help{margin:0 0 16px;color:var(--muted);font-size:.86rem}
.extra-card{min-width:0;display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;cursor:default}.extra-card .option-icon{grid-column:1;grid-row:1 / 3}.extra-copy{grid-column:2;grid-row:1;min-width:0}.extra-quantity{grid-column:2;grid-row:2;width:max-content;margin-top:10px}.extra-quantity button{min-height:36px}.extra-quantity button:disabled{cursor:not-allowed}.extra-quantity strong{min-width:30px}
@media(max-width:600px){.extra-card{grid-template-columns:64px minmax(0,1fr)}}
.summary-extras{margin-top:12px;padding:12px;border:1px dashed var(--line);border-radius:8px;background:#fff8ec}.summary-extras small{display:block;margin-bottom:5px;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.summary-extras strong{display:block;font-size:.78rem;line-height:1.55}
@media(max-width:600px){.extras-options{grid-template-columns:1fr}.extras-panel{margin-top:24px;padding-top:22px}}
