:root{--red:#b52d23;--red-dark:#8d211a;--cream:#faf6ee;--ink:#29251f;--muted:#706b61;--line:#e5ddcf;--green:#37503b;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{min-height:46px;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #2574a5;outline-offset:4px}img{display:block;width:100%}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.wrap{max-width:1260px;margin:auto;padding-left:36px;padding-right:36px}.header{position:sticky;top:0;z-index:5;background:#faf6eef5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:17px;padding-bottom:17px}.identity{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.08em}.identity small{display:block;font-size:9px;font-weight:500;letter-spacing:.18em;color:var(--muted);margin-top:3px}.pizza-mark{display:grid;place-items:center;width:43px;height:43px;font-size:38px;line-height:1;color:var(--red);transform:rotate(-20deg)}.cart-button{display:flex;align-items:center;gap:10px;background:var(--red);color:#fff;border:0;border-radius:9px;padding:12px 18px;font-size:14px;font-weight:650}.cart-button span{display:grid;place-items:center;min-width:25px;height:25px;background:#ffffff24;border-radius:5px}.hero{display:grid;grid-template-columns:1fr 1fr;margin-top:32px;background:#efe7d9;border-radius:var(--radius);overflow:hidden;min-height:420px}.hero-copy{padding:45px 42px;align-self:center}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;color:var(--red)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(40px,4.5vw,61px);line-height:1.05;letter-spacing:-.045em;margin:22px 0}h1 em{font-weight:400;color:var(--red)}.hero-copy>p{max-width:370px;font-size:15px;color:#615a50;margin-bottom:25px}.primary{border:0;background:var(--red);color:#fff;border-radius:8px;font-weight:650;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:18px}.primary:hover,.cart-button:hover{background:var(--red-dark)}.hero-foot{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted);margin-top:23px}.hero-foot span{font-size:21px;color:var(--red)}.photo-button{border:0;position:relative;padding:0;background:#f1ece3;overflow:hidden;display:block;cursor:zoom-in}.hero-photo{min-height:420px}.hero-photo img{height:100%;object-fit:contain;max-height:470px}.hero-stamp{position:absolute;bottom:24px;left:24px;background:var(--cream);color:var(--green);padding:13px 20px;text-align:left;border-radius:6px;font-size:9px;letter-spacing:.1em;box-shadow:0 3px 16px #0001}.hero-stamp strong{display:block;font:normal 22px Georgia,serif;letter-spacing:0;margin-top:3px}.photo-hint{position:absolute;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;background:#fffdf7df;border:1px solid #fff9;border-radius:50%;font-size:23px;color:var(--ink);box-shadow:0 2px 8px #0001}.menu-section{margin-top:38px}.menu-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}h2{font-size:34px;line-height:1.15;margin:8px 0}.tabs{display:flex;padding:4px;border:1px solid var(--line);border-radius:9px;gap:4px}.tabs button{border:0;background:transparent;color:var(--muted);padding:10px 17px;border-radius:6px;font-size:14px;font-weight:650}.tabs button.active{background:var(--red);color:white}.tabs span{margin-left:8px;opacity:.7;font-size:11px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{border:1px solid var(--line);border-radius:13px;background:#fffdf9;overflow:hidden;display:flex;flex-direction:column}.card-photo{width:100%;aspect-ratio:1.35;background:#f1ece3}.card-photo img{height:100%;object-fit:contain;transition:transform .3s}.card-photo:hover img{transform:scale(1.035)}.card-body{padding:20px;display:flex;flex-direction:column;flex:1}.card h3{font-size:25px;line-height:1.15;margin:0 0 8px}.card-description{font-size:12px;color:var(--muted);margin:0 0 20px;min-height:36px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.card-price{font-weight:750;font-size:19px}.outline{background:transparent;border:1px solid var(--line);border-radius:7px;padding:10px 14px;font-size:13px;font-weight:650;color:var(--ink)}.outline:hover{background:#f0e9dc}.card .outline{border-color:#dfb5aa;color:var(--red)}.sharing-note{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:38px 0 24px}.sharing-note h2{font-size:24px;margin:0 0 5px}.sharing-note p{font-size:13px;color:var(--muted);margin:0}.sharing-icon{width:45px;height:45px;display:grid;place-items:center;background:#e9eadc;color:var(--green);font-size:27px;border-radius:50%;flex-shrink:0}.sharing-note .text-button{margin-left:auto;white-space:nowrap}.text-button{border:0;background:transparent;color:var(--red);font-size:13px;font-weight:650;padding:8px}.full{width:100%}footer{display:flex;justify-content:space-between;gap:20px;padding-top:10px;padding-bottom:28px;color:var(--muted);font-size:10px;letter-spacing:.12em}.mobile-cart{display:none}dialog{border:1px solid var(--line);border-radius:16px;background:var(--cream);color:var(--ink);padding:24px;width:min(550px,calc(100% - 28px));max-height:90dvh;overflow:auto;box-shadow:0 24px 80px #0004;overscroll-behavior:contain}dialog::backdrop{background:#201b18aa;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.dialog-head h2{font-size:30px;margin:4px 0}.close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;font-size:26px;line-height:1;background:transparent;color:var(--ink)}.detail-photo{width:100%;height:210px;border-radius:10px}.detail-photo img{height:100%;object-fit:contain}.detail-dialog h2{font-size:33px;margin:18px 0 8px}.description{font-size:14px;color:var(--muted);margin:6px 0 14px}.detail-price{display:flex;gap:12px;align-items:center}.detail-price strong{font-size:23px}.detail-price>span{font-size:12px;color:var(--muted)}.extras{border:0;border-top:1px solid var(--line);margin:22px 0 0;padding:15px 0 0;min-width:0}.extras legend{font-size:15px;font-weight:650;padding-right:12px}.extras legend small{font-size:11px;color:var(--muted);font-weight:400;margin-left:8px}#extrasList{display:grid;grid-template-columns:1fr 1fr;gap:8px}.extra-option{display:flex;align-items:center;gap:8px;background:#fffdf9;border:1px solid var(--line);border-radius:7px;min-height:50px;padding:9px 10px;cursor:pointer;font-size:12px}.extra-option:has(input:checked){border-color:var(--red);background:#faeae4}.extra-option input{width:18px;height:18px;accent-color:var(--red);margin:0;flex-shrink:0}.extra-option span{flex:1}.extra-option small{font-size:11px;color:var(--muted);white-space:nowrap}.detail-bottom{display:flex;gap:14px;align-items:center;position:sticky;bottom:-24px;background:var(--cream);padding:18px 0;margin-bottom:-10px;margin-top:10px;border-top:1px solid var(--line);z-index:1}.detail-bottom .primary{flex:1;font-size:14px;gap:12px;min-width:0}.quantity-picker{display:flex;align-items:center;flex-shrink:0}.quantity-picker button{border:1px solid var(--line);background:#fffdf9;width:40px;color:var(--ink);font-size:20px}.quantity-picker button:first-child{border-radius:6px 0 0 6px}.quantity-picker button:last-child{border-radius:0 6px 6px 0}.quantity-picker input{width:40px;min-height:46px;border:1px solid var(--line);border-left:0;border-right:0;background:#fffdf9;text-align:center;appearance:textfield;-moz-appearance:textfield;border-radius:0}.quantity-picker input::-webkit-inner-spin-button{appearance:none}.form-error{font-size:12px;color:var(--red);margin:0}.form-error:empty{display:none}.cart-line{display:grid;grid-template-columns:66px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.cart-line>img{width:66px;height:66px;object-fit:contain;border-radius:7px;background:#f1ece3}.line-top,.line-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.line-top strong{font:normal 20px Georgia,serif}.line-top>span{font-size:14px;font-weight:650;white-space:nowrap}.line-extras{font-size:11px;color:var(--muted);margin:4px 0 8px}.line-bottom>.text-button{font-size:11px}.cart-qty{display:flex;align-items:center;gap:12px;font-size:14px}.cart-qty button{width:40px;min-height:40px;border:1px solid var(--line);background:#fffdf9;border-radius:5px;font-size:19px}.total{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:18px;margin:22px 0 10px}.total strong{font-size:28px}.empty{padding:35px 15px;background:#f0eadd;border-radius:8px;text-align:center;color:var(--muted);font-size:14px}.payer-state{font-size:12px;color:var(--muted);margin:0 0 18px}.split{padding:18px 0 8px;border-bottom:1px solid var(--line)}.split-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.split-heading h3{font-size:22px;margin:0}.split-heading .text-button{font-size:11px}.split-controls{display:flex;gap:12px;margin-top:12px}.split-controls label{flex:1;min-width:0;font-size:12px;color:var(--muted)}select{width:100%;padding:11px 8px;border:1px solid var(--line);border-radius:6px;background:#fffdf9;color:var(--ink);margin:5px 0 12px}.assignment{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}.assignment>span{flex:1;min-width:0}.assignment small{display:block;color:var(--muted);margin-top:4px}.assignment select{width:120px;margin:0;flex-shrink:0}.split-result{background:#eee7d7;padding:13px 16px;border-radius:8px;font-size:13px;margin-top:12px}.split-result p,.checkout-split p{display:flex;justify-content:space-between;gap:12px;margin:6px 0}.small{font-size:11px;color:var(--muted);line-height:1.6}.centered{text-align:center}.checkout-button{margin-top:20px}.clear-button{margin-top:6px}.simulation-chip{display:inline-block;padding:6px 10px;background:#e4eff6;color:#275b76;border-radius:4px;font-size:10px;font-weight:750;letter-spacing:.07em}.checkout-line{padding:14px 0;border-bottom:1px solid var(--line)}.checkout-line>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.checkout-line small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.checkout-split{background:#eee7d7;border-radius:7px;padding:12px 15px;font-size:12px;margin:16px 0}.mp-button{display:flex;align-items:center;justify-content:center;gap:10px;background:#007cae;color:white;border:0;border-radius:8px;padding:15px 16px;font-weight:650}.mp-button:hover{background:#00668f}.mp-symbol{display:inline-grid;place-items:center;border:1.5px solid currentColor;border-radius:50%;width:30px;height:22px;line-height:1;font-size:24px;font-weight:400;flex-shrink:0}.payment-brand{display:flex;justify-content:center;align-items:center;gap:10px;color:#007cae;font-size:20px;font-weight:700;margin:25px 0}.payment-dialog>h2,.payment-dialog>.description{text-align:center}.payment-amount{text-align:center;font-size:43px;font-weight:750;margin:18px 0}.routing-message{display:flex;gap:12px;background:#e8f0eb;border-radius:9px;padding:16px;font-size:14px;margin:20px 0}.routing-message>span{font-size:25px;color:var(--green)}.routing-message p{margin:0}.payment-success{background:#e8f0eb;border:1px solid #b5ccbb;border-radius:9px;padding:18px;margin-top:18px;text-align:center}.payment-success p{font-size:13px;color:var(--muted)}.lightbox{width:min(860px,calc(100% - 24px));padding:18px}.lightbox h2{font-size:25px;margin:0}.zoom-viewport{height:min(60dvh,620px);overflow:auto;border-radius:10px;background:#eee8dd;touch-action:pan-x pan-y;overscroll-behavior:contain}.zoom-canvas{width:100%;height:100%;display:grid;place-items:center}.zoom-canvas img{width:100%;height:100%;object-fit:contain;max-width:none;user-select:none;-webkit-user-drag:none}.zoom-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px}.zoom-controls output{font-size:13px;min-width:45px;text-align:center}.zoom-controls .outline{font-size:20px;min-width:46px}.toast{position:fixed;z-index:8;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:13px 21px;border-radius:8px;box-shadow:0 4px 20px #0002;font-size:14px;max-width:90%;text-align:center;pointer-events:none}.toast:empty{display:none}
@media(min-width:1440px){.hero{min-height:450px}}@media(max-width:900px){.wrap{padding-left:24px;padding-right:24px}.hero-copy{padding:30px}.hero{min-height:380px}.hero-photo{min-height:380px}.hero h1{font-size:45px}.grid{gap:14px}.card-body{padding:16px}.card h3{font-size:23px}.card-price{font-size:17px}.card .outline{padding:9px;font-size:12px}.menu-heading h2{font-size:30px}}@media(max-width:700px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-copy{padding:32px}.hero h1{font-size:48px}.hero-photo{height:300px;min-height:0}.hero-photo img{max-height:300px}.hero-stamp{bottom:15px;left:18px}.menu-heading{align-items:start;flex-direction:column;gap:15px}.sharing-note{flex-wrap:wrap}.sharing-note>div{flex:1}.sharing-note .text-button{margin-left:64px}.top{padding-top:12px;padding-bottom:12px}.identity small{display:none}.identity{font-size:12px}.cart-button{padding:10px 12px;font-size:12px}.cart-button svg{display:none}.mobile-cart:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:18px;position:fixed;bottom:0;left:0;right:0;background:#fffdf8;border-top:1px solid var(--line);padding:12px 20px calc(12px + env(safe-area-inset-bottom));z-index:4;box-shadow:0 -4px 20px #0001}.mobile-cart strong{display:block;font-size:19px}.mobile-cart small{display:block;color:var(--muted);font-size:10px}.mobile-cart .primary{padding:12px 17px;font-size:13px}body:has(.mobile-cart:not([hidden])) footer{padding-bottom:105px}body:has(.mobile-cart:not([hidden])) .toast{bottom:100px}.sharing-note h2{font-size:22px}footer{font-size:9px}.hero-foot{font-size:11px}.cart-dialog{max-height:94dvh}.card-description{min-height:54px}}@media(max-width:440px){.wrap{padding-left:16px;padding-right:16px}.hero{margin-top:20px}.hero-copy{padding:26px}.hero h1{font-size:43px}.hero-photo{height:250px}.hero-photo img{max-height:250px}.hero-copy>p{font-size:14px}.grid{gap:12px}.card h3{font-size:21px}.card-body{padding:13px}.card-bottom{align-items:flex-start;flex-direction:column;gap:12px}.card .outline{width:100%}.card-description{font-size:11px;min-height:50px;margin-bottom:12px}.card-photo{aspect-ratio:1}.card-photo .photo-hint{width:26px;height:26px;top:8px;right:8px;font-size:19px}.menu-heading h2{font-size:28px}.tabs button{padding:9px 16px}dialog{padding:18px}.detail-bottom{bottom:-18px;padding:15px 0}.detail-bottom .primary{font-size:12px;gap:8px;padding:13px 10px}.quantity-picker button{width:33px}.quantity-picker input{width:32px}#extrasList{grid-template-columns:1fr}.extra-option{font-size:13px}.detail-photo{height:180px}.dialog-head h2{font-size:27px}.line-top{align-items:flex-start;flex-direction:column;gap:3px}.cart-line{grid-template-columns:50px 1fr;gap:10px}.cart-line>img{width:50px;height:50px}.split-heading{flex-wrap:wrap}.split-controls{flex-direction:column;gap:0}.assignment select{width:106px;font-size:11px}.payment-amount{font-size:37px}.lightbox h2{font-size:22px}.zoom-controls{gap:9px}.sharing-note{gap:14px}.sharing-note .text-button{margin-left:0}.zoom-viewport{height:52dvh}.header .pizza-mark{width:30px;font-size:30px}.identity{gap:6px;letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Controles táctiles de cantidad con superficie mínima de 44 px. */
.cart-qty button{width:44px;min-height:44px}
@media(max-width:440px){.quantity-picker button{width:44px}.quantity-picker input{width:36px}.detail-bottom{gap:8px}.detail-bottom .primary{padding-left:7px;padding-right:7px;gap:5px}}
