*{box-sizing:border-box}body{margin:0;background:#f4f7f3;color:#17352b;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.wrap{max-width:950px;margin:auto;padding:20px 14px 60px}header{padding:30px 10px}h1{font-size:clamp(32px,6vw,52px);margin:4px 0}h2{font-size:23px;margin:0 0 10px}.eyebrow{letter-spacing:.15em;color:#26794e;font-weight:800;font-size:12px}.card{background:white;border:1px solid #dfebe2;border-radius:22px;box-shadow:0 12px 35px #163d2210;padding:clamp(18px,4vw,30px);margin-bottom:20px}.item{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #edf0ed;padding:12px 0}.item small{display:block;color:#60786b}.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:37px;height:37px;padding:0;border-radius:11px}.stepper b{min-width:24px;text-align:center}button{border:0;background:#167447;color:white;font:inherit;font-weight:750;padding:13px 20px;border-radius:12px;cursor:pointer}button:hover{filter:brightness(.94)}button.secondary{background:#e4f2e8;color:#135b35}button:disabled{opacity:.55;cursor:not-allowed}label{display:block;font-weight:650;margin:12px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:12px;border:1px solid #b9cfc1;border-radius:10px;font:inherit;margin-top:6px;background:white}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;gap:9px;align-items:center}.summary{background:#edf6ef;padding:18px;border-radius:14px;white-space:pre-line;font-variant-numeric:tabular-nums}.warn{color:#955112;font-size:14px}.trap{display:none!important}#error{color:#b42318;font-weight:650}@media(max-width:600px){.two{grid-template-columns:1fr}.item{align-items:flex-start}.stepper{gap:5px}.card{border-radius:16px}}
.stepper .qty-input{width:76px!important;min-width:66px;text-align:center;margin:0!important;padding:9px 4px!important;font-weight:750;font-variant-numeric:tabular-nums}.stepper .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper .qty-input{-moz-appearance:textfield}input[readonly]{background:#f0f5f1!important;color:#4b6255}@media(max-width:600px){.item{flex-wrap:wrap}.stepper{margin-left:auto}}

#delivery_map{height:340px;width:100%;border-radius:14px;border:1px solid #cbd5d1;margin:12px 0;z-index:1}#map_section{padding:12px 0}#map_section[hidden]{display:none!important}@media(max-width:540px){#delivery_map{height:300px}}

/* Diseño premium responsivo, exclusivamente visual. No modifica reglas de negocio. */
:root{--green:#08763a;--deep:#123c27;--orange:#f69b0b;--cream:#fff8eb;--stroke:#eadfca}
html{scroll-behavior:smooth}body{background:radial-gradient(circle at 5% 0%,#fff0d4 0%,transparent 36%),#fffaf2;color:#183a2c}
.wrap{max-width:1320px;padding:0 18px 36px}
.brand-hero{margin:0 -18px 24px;padding:24px clamp(18px,4vw,48px);border-radius:0 0 28px 28px;background:linear-gradient(115deg,#fff9eb 15%,#ffedc5 70%,#fff9eb);border-bottom:5px solid var(--orange);box-shadow:0 10px 35px #5b3b0915}
.hero-inner{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.brand-mascot{width:clamp(96px,13vw,160px);height:auto;object-fit:contain;filter:drop-shadow(0 7px 5px #3b270526)}
.brand-copy{flex:1;min-width:210px}.brand-copy h1{font-size:clamp(29px,4.2vw,58px);line-height:1.05;margin:6px 0;color:#106231;letter-spacing:-.04em;text-shadow:1px 2px 0 #ffd57b}.brand-copy h1 span{color:#df541a}.brand-copy p{margin:7px 0;font-size:clamp(15px,1.5vw,20px);font-weight:700;color:#6b4223}.brand-copy .eyebrow{color:#a15b00;letter-spacing:.12em}
.hero-perks{display:flex;flex-direction:column;gap:9px;background:#ffffffb8;padding:18px 20px;border-radius:18px;color:#145b33;font-size:13px;font-weight:800}
.order-steps{display:flex;justify-content:center;gap:clamp(8px,2vw,25px);align-items:center;margin:12px auto 26px;flex-wrap:wrap}.order-steps span{display:flex;gap:9px;align-items:center;font-size:13px;color:#637269;font-weight:700}.order-steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9e9e4;color:#54655c}.order-steps .active,.order-steps .active b{color:#086e37}.order-steps .active b{background:#086e37;color:white}
.order-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,350px);gap:20px;align-items:start}.order-main{min-width:0}.card{border-color:var(--stroke);border-radius:22px;box-shadow:0 12px 35px #63451312;padding:clamp(17px,2.8vw,28px)}.card h2{display:flex;align-items:center;gap:11px;color:#173d28;font-size:clamp(21px,2vw,27px)}.step-number{display:inline-grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:var(--orange);color:white;font-size:23px}
#products h3{padding:13px 16px;margin:22px 0 5px;border-radius:15px;background:linear-gradient(90deg,#f9efda,#fff8e9);color:#24402c;font-size:20px}#products h3:not(:first-child){margin-top:28px}#products h3:nth-of-type(2){background:linear-gradient(90deg,#e4f4e4,#f7fff5)}#products h3:nth-of-type(3){background:linear-gradient(90deg,#fff0df,#fffaf3)}
.item{padding:15px 10px;gap:14px}.item strong{font-size:15px}.item small{font-size:12px;color:#52765b}.stepper{flex-shrink:0;gap:6px}.stepper button{background:linear-gradient(145deg,#159a52,#006c32);border-radius:11px}.stepper .qty-input{width:64px!important;min-width:58px!important;border-color:#c7d8c7!important}
button:not(.secondary){background:linear-gradient(110deg,#118944,#006b2e)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #ffb92f;outline-offset:2px}.secondary{background:#fff1d4!important;color:#7d4d04!important;border:1px solid #f2d69a!important}
.order-sidebar{position:sticky;top:16px;min-width:0}.sidebar-card{border-radius:22px;background:#fff;border:1px solid #dcebdc;box-shadow:0 12px 35px #163d2215;overflow:hidden}.sidebar-card h2{background:linear-gradient(90deg,#d7f2d9,#f1faeb);padding:20px 19px;font-size:21px;margin:0;color:#11532d}.sidebar-card .summary{margin:16px 15px;padding:19px 15px;border-radius:15px;white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:1.85;background:#f2f8ee;color:#183a2c}.sidebar-note{margin:15px;background:#fff2eb;border:1px solid #f9d2c2;border-radius:14px;padding:15px;font-size:13px;color:#7e3224}.sidebar-note strong{color:#b62f18}.sidebar-note p{margin:6px 0 0}.sidebar-link{display:block;margin:15px;padding:14px;border-radius:12px;text-align:center;background:#08783a;color:white;font-weight:800;text-decoration:none}
#count{display:block;margin-top:18px;color:#086e37}.site-footer{text-align:center;color:#6b634f;font-size:13px;padding:22px 10px;border-top:1px solid #e9dfce}.warn{line-height:1.5}
@media(max-width:900px){.order-layout{grid-template-columns:1fr}.order-sidebar{position:static;grid-row:1}.sidebar-card .summary{font-size:13px}.hero-perks{width:100%;flex-direction:row;justify-content:center;flex-wrap:wrap}}
@media(max-width:600px){.wrap{padding:0 11px 25px}.brand-hero{margin:0 -11px 18px;padding:15px 12px;border-radius:0 0 22px 22px}.hero-inner{gap:12px}.brand-mascot{width:88px}.brand-copy{min-width:0;flex:1}.brand-copy h1{font-size:29px}.brand-copy .eyebrow{font-size:9px}.brand-copy p{font-size:13px}.hero-perks{padding:9px;gap:8px;font-size:10px}.order-steps{gap:8px;margin:12px auto 17px}.order-steps span{font-size:0;gap:0}.order-steps b{font-size:13px;width:30px;height:30px}.card{padding:16px 13px;border-radius:16px}.item{padding:13px 0;align-items:center;flex-wrap:wrap}.item>div:first-child{min-width:145px;flex:1}.stepper{margin-left:auto}.stepper button{width:36px;height:36px}.stepper .qty-input{width:60px!important}.sidebar-card h2{padding:15px}.sidebar-card .summary{margin:10px}.site-footer{line-height:1.8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Carrito flotante premium; visible solo en móviles y tabletas. */
.cart-fab,.cart-backdrop{display:none}
@media(max-width:900px){
 .order-sidebar{grid-row:auto!important;position:static!important;z-index:auto}
 .order-layout{display:flex;flex-direction:column}
 .order-main,.order-sidebar{width:100%}
 .cart-fab{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1002;display:flex;align-items:center;gap:10px;border:2px solid #fff6d9;border-radius:999px;padding:13px 17px;min-height:58px;color:white;background:linear-gradient(130deg,#079348,#005a2b)!important;box-shadow:0 9px 26px #005f3270,0 0 0 5px #ffe6a65c;font-size:14px;animation:cartPulse 2.4s ease-in-out infinite}
 .cart-fab svg{width:25px;height:25px;flex-shrink:0}
 .cart-fab-label{font-weight:850}
 .cart-fab-dot{position:absolute;right:-2px;top:-3px;width:12px;height:12px;border:2px solid white;border-radius:50%;background:#ff9b08}
 .cart-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:1000;background:#0c241bb8;backdrop-filter:blur(4px)}
 body.cart-open{overflow:hidden}
 body.cart-open .cart-fab{animation:none;bottom:calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 8px 22px #0005}
 body.cart-open .order-sidebar{position:fixed!important;top:auto;bottom:calc(85px + env(safe-area-inset-bottom,0px));left:12px;right:12px;width:auto;max-height:calc(100dvh - 110px - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;z-index:1001;outline:none;border-radius:20px;box-shadow:0 20px 65px #0006}
 body.cart-open .sidebar-card{border:2px solid #ffce72}
 body.cart-open .sidebar-card h2{position:sticky;top:0;z-index:1}
 .wrap{padding-bottom:105px}
}
@media(max-width:420px){.cart-fab{left:12px;padding:12px 15px}.cart-fab-label{font-size:13px}}
@keyframes cartPulse{0%,100%{transform:scale(1);box-shadow:0 9px 26px #005f3270,0 0 0 5px #ffe6a65c}50%{transform:scale(1.055);box-shadow:0 12px 28px #005f3280,0 0 0 10px #ffe6a620}}
@media(prefers-reduced-motion:reduce){.cart-fab{animation:none!important}}

/* Ajustes premium de confirmación, factura y entrega */
.kitchen-location{margin:18px 0 20px}.kitchen-location[hidden]{display:none!important}
.kitchen-map-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:49px;padding:13px 20px;background:linear-gradient(120deg,#087b3d,#005d2a);color:#fff!important;border-radius:13px;text-decoration:none;font-weight:850;box-shadow:0 7px 18px #006b3430;letter-spacing:.02em}
.kitchen-map-button:hover{filter:brightness(1.1);transform:translateY(-1px)}.kitchen-location small{display:block;color:#587362;margin:8px 0 0}
.invoice-choice{margin-top:16px;padding:17px;border-radius:16px;background:#f2f8f0;border:1px solid #d9e8d5}.invoice-choice label{display:block;font-weight:850;margin-bottom:8px}.invoice-choice select{max-width:220px;background:white;border:1px solid #b7d2bc;border-radius:10px;padding:12px;font-size:16px}.invoice-explanation{background:#fff7e4;border-left:4px solid #e5a11a;padding:12px 14px;border-radius:8px;line-height:1.55;margin:12px 0 0}.invoice-explanation[hidden]{display:none!important}
#route_notice{font-weight:750;color:#096b38;line-height:1.6;padding:10px 0}#route_notice:not(:empty){overflow-wrap:anywhere}
#success .premium-whatsapp{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;padding:18px 20px;margin:24px 0 8px;min-height:66px;border-radius:16px;color:white!important;background:linear-gradient(120deg,#1fbf61,#067c38);box-shadow:0 12px 28px #098b4847;text-decoration:none;font-weight:900;font-size:clamp(14px,2vw,19px);letter-spacing:.015em;transition:transform .2s,box-shadow .2s}
#success .premium-whatsapp:hover{transform:translateY(-2px);box-shadow:0 16px 32px #098b4866}#success .premium-whatsapp:focus-visible{outline:3px solid #ffb51b;outline-offset:4px}
#success pre{background:#fbfaf6;border:1px solid #eee3cf;padding:18px;border-radius:14px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap;font-size:13px}
@media(max-width:600px){.kitchen-map-button{display:flex;width:100%;font-size:13px}.invoice-choice select{max-width:100%;width:100%}#success .premium-whatsapp{font-size:14px;padding:16px 10px}}
@media(prefers-reduced-motion:reduce){#success .premium-whatsapp{transition:none}}

/* Información premium y anticipo */
.taco-info-card{background:linear-gradient(145deg,#fff9e8,#fff 55%,#edf9ec);border:1px solid #e9d8b6;box-shadow:0 12px 32px #69420d13}
.taco-info-heading{display:flex;align-items:center;gap:14px;margin-bottom:17px}.taco-info-heading>span{font-size:40px}.taco-info-heading h2{margin:2px 0 0;color:#155332;font-size:clamp(21px,2.6vw,29px)}.taco-info-eyebrow{color:#b2690b;font-weight:800;font-size:11px;letter-spacing:.13em}.taco-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.taco-info-point{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #f0e3ca;background:#ffffffd9;border-radius:15px}.taco-info-point>span{font-size:26px;line-height:1.2}.taco-info-point p{margin:0;line-height:1.55;font-size:14px}.taco-info-wide{grid-column:1/-1;background:#eff8e9}.tp-advance{margin-top:15px;padding:16px;border:2px solid #e4c06b;border-radius:17px;background:linear-gradient(135deg,#fff7d9,#f0f8e7);color:#183e2b}.tp-advance-head{font-weight:900;font-size:15px}.tp-advance-amount{font-size:clamp(24px,3vw,33px);font-weight:900;color:#086333;line-height:1.3}.tp-advance-note{font-size:12px;color:#456453;margin-top:4px}.tp-advance-balance{font-size:13px;margin-top:8px}.tp-advance-success{margin:16px 0}.tp-advance-success .tp-advance-amount{font-size:30px}
@media(max-width:600px){.taco-info-grid{grid-template-columns:1fr}.taco-info-wide{grid-column:auto}.taco-info-point{padding:12px}.taco-info-heading>span{font-size:32px}}

/* Tarjetas de canastas con iconos individuales */
#baskets .item>div:first-child{position:relative;padding-left:48px}
#baskets .item>div:first-child:before{position:absolute;left:0;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff0d5;font-size:22px;content:"🧺"}
#baskets .item:nth-child(2)>div:first-child:before{background:#f6e6bf;font-size:25px}
#baskets .item:nth-child(3)>div:first-child:before{background:#e7d4a9;font-size:28px}
/* Fecha, día de la semana y horario */
.tp-schedule{display:grid;gap:6px;margin:10px 0 18px}
.tp-schedule label{margin:6px 0}
.tp-weekday{color:#096537;font-weight:850;background:#edf7e9;padding:10px 13px;border-radius:10px}
.tp-schedule-hint{margin:5px 0 12px;background:#fff6e4;color:#81500e;border-left:4px solid #f2a50b;padding:12px 14px;border-radius:9px;font-size:14px}
#tp_delivery_time{max-width:100%}
/* Resumen: móvil solo desde el carrito; tablet y escritorio al lado */
@media(max-width:600px){
 body:not(.cart-open) #cart-panel{display:none!important}
 body.cart-open #cart-panel{display:block!important}
 .order-layout{display:flex!important;flex-direction:column!important}
 .order-main{width:100%}
}
@media(min-width:601px){
 .order-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(270px,34%)!important;align-items:start!important}
 .order-sidebar{display:block!important;position:sticky!important;top:16px!important;grid-row:auto!important;width:auto!important}
 .cart-fab,.cart-backdrop{display:none!important}
}
@media(min-width:601px) and (max-width:900px){
 .order-layout{gap:12px!important}
 .sidebar-card .summary{font-size:12px;line-height:1.6}
}
