:root{--sea:#087f91;--deep:#063e4a;--orange:#ef6b21;--foam:#eefafb;--ink:#102f35;--muted:#60777b;--white:#fff;--shadow:0 18px 50px rgba(4,64,74,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,"Segoe UI",sans-serif;background:#fff}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:8px max(5vw,20px);position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #d8eef0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--deep)}.brand strong{display:block;font-size:1.05rem}.brand small{display:block;color:var(--orange);font-weight:700;font-size:.72rem;margin-top:2px}.logo-crop{position:relative;width:62px;height:62px;overflow:hidden;border-radius:50%;border:3px solid #d8eef0;background:#bdecee;flex:none}.logo-crop img{position:absolute;width:286px;max-width:none;left:-112px;top:-116px}.cart-shortcut{border:0;border-radius:999px;background:var(--deep);color:#fff;padding:11px 15px;display:flex;gap:8px;align-items:center;font-weight:800;cursor:pointer}.cart-count{display:inline-grid;place-items:center;background:var(--orange);color:#fff;border-radius:50%;min-width:24px;height:24px;padding:0 5px}.hero{min-height:570px;display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(135deg,#e8fbfc,#c8f1f2);overflow:hidden}.hero-copy{padding:90px 6vw 70px;align-self:center;position:relative}.hero-copy:after{content:"";position:absolute;width:160px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='18' viewBox='0 0 80 18'%3E%3Cpath d='M0 12 Q10 2 20 12 T40 12 T60 12 T80 12' fill='none' stroke='%23087f91' stroke-width='3'/%3E%3C/svg%3E") repeat-x;opacity:.25;bottom:45px;left:6vw}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--sea);font-weight:900;font-size:.75rem}.hero h1{font-size:clamp(2.65rem,6vw,5.5rem);line-height:.92;letter-spacing:-.055em;margin:16px 0 22px;color:var(--deep);max-width:740px}.hero h1 em{font-style:normal;color:var(--orange)}.hero p{font-size:1.12rem;line-height:1.6;max-width:570px;color:#456a70;margin:0 0 30px}.primary{display:inline-block;background:var(--orange);color:#fff;padding:15px 23px;border-radius:12px;font-weight:900;text-decoration:none;box-shadow:0 10px 28px rgba(239,107,33,.3)}.hero-photo{min-height:460px;background-image:linear-gradient(0deg,rgba(4,53,62,.55),transparent 55%),url('https://images.unsplash.com/photo-1689774329109-9b70beeefc0a?auto=format&fit=crop&q=85&w=1400');background-size:cover;background-position:center;position:relative;clip-path:polygon(11% 0,100% 0,100% 100%,0 100%)}.hero-photo span{position:absolute;right:25px;bottom:25px;color:#fff;background:rgba(6,62,74,.82);backdrop-filter:blur(8px);padding:12px 16px;border-radius:999px;font-weight:800}.menu-section{padding:80px max(5vw,20px);max-width:1380px;margin:auto}.section-title{display:flex;justify-content:space-between;align-items:end;gap:25px}.section-title h2{font-size:clamp(2rem,4vw,3.4rem);margin:8px 0 0;letter-spacing:-.04em;color:var(--deep)}.section-title p{color:var(--muted)}.filters{display:flex;gap:9px;margin:30px 0;overflow:auto;padding-bottom:4px}.filter{border:1px solid #bedfe2;background:#fff;color:var(--deep);border-radius:999px;padding:10px 17px;font-weight:800;cursor:pointer;white-space:nowrap}.filter.active{background:var(--sea);border-color:var(--sea);color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-card{background:#fff;border:1px solid #d7ebed;border-radius:22px;overflow:hidden;box-shadow:0 8px 25px rgba(5,83,94,.07);transition:.2s transform,.2s box-shadow}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-card.hide{display:none}.product-photo{height:210px;position:relative;background:#ccecef;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:cover;transition:.4s transform}.product-card:hover img{transform:scale(1.04)}.badge{position:absolute;top:13px;left:13px;background:var(--orange);color:#fff;border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.product-info{padding:19px}.product-info .category{color:var(--sea);font-weight:900;text-transform:uppercase;letter-spacing:.09em}.product-info h3{font-size:1.18rem;margin:7px 0 18px;min-height:45px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.price{font-size:1.4rem;color:var(--deep)}.add{border:0;background:#e8f7f8;color:var(--sea);padding:10px 12px;border-radius:11px;font-weight:900;cursor:pointer}.add span{display:inline-grid;place-items:center;margin-left:4px;background:var(--sea);color:white;border-radius:50%;width:21px;height:21px}.add.added{background:#dff6e8;color:#14733b}.order-note{margin:0 max(5vw,20px) 80px;padding:36px 5vw;border-radius:26px;background:var(--deep);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:35px}.order-note>div{display:flex;align-items:center;gap:15px}.order-note span{font-size:2.4rem}.order-note h2{margin:0}.order-note p{margin:0;max-width:550px;color:#bfe3e6;line-height:1.5}footer{padding:28px max(5vw,20px);background:#052f38;color:#fff;display:flex;justify-content:space-between;gap:15px}footer span{color:#a9d7db}.floating-cart{position:fixed;z-index:25;left:14px;right:14px;bottom:14px;border:0;border-radius:16px;background:var(--orange);color:white;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 35px rgba(109,47,13,.35);cursor:pointer}.floating-cart[hidden]{display:none}.floating-cart .cart-count{background:#fff;color:var(--orange);margin-right:5px}.overlay{position:fixed;inset:0;background:rgba(4,31,36,.58);z-index:40}.overlay[hidden]{display:none}.cart-panel{position:fixed;z-index:41;top:0;right:0;width:min(470px,100%);height:100dvh;background:#fff;transform:translateX(105%);transition:.3s transform;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.2)}.cart-panel.open{transform:none}.cart-header{padding:24px;display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid #d9ecee}.cart-header h2{font-size:2rem;margin:5px 0 0}.close{border:0;background:#eaf6f7;width:42px;height:42px;border-radius:50%;font-size:1.8rem;color:var(--deep);cursor:pointer}.cart-items{padding:10px 22px;overflow:auto}.cart-line{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid #e2eff0}.cart-line h3{font-size:1rem;margin:0 0 6px}.cart-line .line-price{color:var(--sea);font-weight:800}.qty{display:flex;align-items:center;gap:10px}.qty button{width:32px;height:32px;border:1px solid #badde0;border-radius:9px;background:#fff;color:var(--sea);font-weight:900;cursor:pointer}.empty-cart{text-align:center;margin:auto;padding:35px}.empty-cart span{font-size:3rem}.empty-cart h3{font-size:1.4rem;margin:15px 0 5px}.empty-cart p{color:var(--muted)}.empty-cart button{border:0;background:var(--sea);color:#fff;padding:12px 18px;border-radius:11px;font-weight:800}.checkout{margin-top:auto;padding:20px 24px calc(20px + env(safe-area-inset-bottom));border-top:1px solid #d9ecee;background:#f7fcfc}.checkout label{display:block;font-weight:800;font-size:.88rem;margin:0 0 7px}.checkout label:not(:first-child){margin-top:13px}.checkout label small{font-weight:400;color:var(--muted)}.checkout input,.checkout textarea{width:100%;border:1px solid #bcdadd;border-radius:10px;padding:11px 12px;background:#fff;resize:none}.total-row{display:flex;justify-content:space-between;font-size:1.25rem;margin:18px 0 12px}.total-row strong{font-size:1.6rem}.whatsapp{width:100%;border:0;border-radius:12px;padding:14px;background:#20b85a;color:#fff;font-weight:900;font-size:1rem;cursor:pointer}.whatsapp span{background:#fff;color:#159348;border-radius:6px;padding:4px 6px;margin-right:5px}.checkout-help{text-align:center;font-size:.75rem;color:var(--muted);margin:8px 0 0}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-copy{padding:55px 22px 50px}.hero-photo{min-height:330px;clip-path:none}.menu-grid{grid-template-columns:repeat(2,1fr)}.order-note{align-items:start;flex-direction:column}.section-title{align-items:start;flex-direction:column}.section-title p{margin:0}}
@media(max-width:560px){body{padding-bottom:76px}.topbar{height:68px;padding:5px 12px}.logo-crop{width:52px;height:52px}.logo-crop img{left:-117px;top:-121px}.brand{gap:8px}.brand strong{font-size:.91rem}.brand small{font-size:.6rem}.cart-shortcut span{display:none}.cart-shortcut{padding:7px}.hero{display:block;min-height:365px;background-image:linear-gradient(90deg,rgba(4,49,57,.94) 0%,rgba(4,49,57,.76) 68%,rgba(4,49,57,.42) 100%),url('https://images.unsplash.com/photo-1689774329109-9b70beeefc0a?auto=format&fit=crop&q=82&w=900');background-size:cover;background-position:center}.hero-copy{padding:45px 20px 40px;min-height:365px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy:after{display:none}.hero .eyebrow{color:#7ce2ea}.hero h1{font-size:2.55rem;color:#fff;margin:13px 0 15px;line-height:.95}.hero p{font-size:.96rem;line-height:1.45;color:#d7f1f2;margin-bottom:22px;max-width:310px}.primary{padding:13px 18px}.hero-photo{display:none}.menu-section{padding:42px 12px}.section-title{gap:5px}.section-title h2{font-size:2rem}.section-title p{font-size:.9rem}.filters{margin:20px -12px 18px;padding:0 12px 5px}.filter{min-height:42px;padding:9px 15px}.menu-grid{grid-template-columns:1fr;gap:12px}.product-card{display:grid;grid-template-columns:112px 1fr;border-radius:16px;min-height:148px}.product-photo{height:100%;min-height:148px}.product-info{padding:13px}.product-info h3{font-size:1rem;line-height:1.2;min-height:auto;margin:5px 0 15px}.price{font-size:1.16rem}.add{min-height:40px;padding:8px}.order-note{margin:0 12px 16px;padding:24px 18px}.order-note>div{align-items:start}.order-note h2{font-size:1.25rem}footer{display:none}.floating-cart{bottom:calc(10px + env(safe-area-inset-bottom));left:10px;right:10px;min-height:56px}.cart-panel{width:100%;border-radius:0}.cart-header{padding:18px}.cart-header h2{font-size:1.65rem}.cart-items{padding:6px 18px}.checkout{padding:16px 18px calc(14px + env(safe-area-inset-bottom))}.whatsapp{min-height:50px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Exact crop from the supplied original brand artwork. */
.logo-crop{border:0;clip-path:circle(50%)}
.logo-crop img{inset:auto;width:108.4%;height:108.4%;left:-4.2%;top:-1.5%;object-fit:fill;max-width:none}
.hero-logo{display:block;width:148px;height:148px;margin:0 auto 24px;align-self:center;border:0;box-shadow:0 14px 35px rgba(4,65,74,.2)}
.hero-logo img{width:108.4%;height:108.4%;left:-4.2%;top:-1.5%;object-fit:fill}
@media(max-width:560px){.logo-crop img{width:108.4%;height:108.4%;left:-4.2%;top:-1.5%}}
@media(max-width:560px){.hero-logo{width:108px;height:108px;margin:0 auto 18px;align-self:center;border:0}.hero-logo img{width:108.4%;height:108.4%;left:-4.2%;top:-1.5%}}

/* Controles claros de cantidad y subtotal en cada platillo. */
.product-actions{display:flex;align-items:center;gap:7px}.decrease{width:38px;height:40px;border:1px solid #a7d5d9;border-radius:11px;background:#fff;color:var(--sea);font-size:1.35rem;font-weight:900;cursor:pointer}.decrease[hidden],.card-qty[hidden],.item-subtotal[hidden]{display:none}.card-qty{display:flex;min-width:39px;flex-direction:column;align-items:center;line-height:1}.card-qty b{font-size:1.15rem;color:var(--deep)}.card-qty small{margin-top:3px;color:var(--muted);font-size:.58rem;white-space:nowrap}.add{display:flex;align-items:center;gap:5px}.add .add-icon{display:inline-grid;place-items:center;background:var(--sea);color:#fff;border-radius:50%;width:21px;height:21px}.add.added{background:var(--sea);color:#fff}.add.added .add-icon{background:#fff;color:var(--sea)}.item-subtotal{margin-top:12px;padding:9px 11px;border-radius:10px;background:#fff1e8;color:#9b4315;font-size:.82rem;font-weight:800;text-align:right}.item-subtotal strong{font-size:1rem;color:var(--orange)}.cart-shortcut .cart-total{color:#fff}.floating-cart strong{font-size:1rem}
.add .add-label{display:inline;margin:0;background:transparent;color:inherit;border-radius:0;width:auto;height:auto}
@media(max-width:560px){.product-bottom{align-items:flex-end}.product-actions{gap:5px}.decrease{width:34px;height:38px}.card-qty{min-width:28px}.card-qty small{display:none}.add{min-height:38px}.add.added .add-label{display:none}.item-subtotal{margin-top:8px;padding:7px 9px}.floating-cart{outline:3px solid rgba(255,255,255,.75);outline-offset:-5px}}

.location-button{width:100%;margin-top:9px;padding:11px 12px;border:1px solid #9dd4d9;border-radius:11px;background:#e9f8f9;color:var(--deep);display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.location-button>span:first-child{font-size:1.45rem}.location-button strong,.location-button small{display:block}.location-button small{margin-top:2px;color:var(--muted);font-size:.72rem}.location-button.ready{border-color:#69c48d;background:#e5f8ec;color:#126b36}.location-button:disabled{cursor:wait;opacity:.7}.location-status{min-height:16px;margin:5px 2px 0;font-size:.72rem}.location-status.success{color:#14733b}.location-status.error{color:#b54124}.location-status.loading{color:var(--sea)}
.location-preview{margin-top:7px;overflow:hidden;border:1px solid #b8dcdf;border-radius:12px;background:#fff}.location-preview[hidden]{display:none}#location-map{display:block;width:100%;height:190px;border:0;cursor:crosshair}.location-preview>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;font-size:.72rem}.location-preview a{color:var(--sea);font-weight:800;text-decoration:none;white-space:nowrap}

/* El pedido completo usa un solo desplazamiento y conserva el resumen visible. */
.cart-panel{overflow-y:auto}.cart-header{position:sticky;top:0;z-index:3;background:#fff}.cart-overview{position:sticky;top:91px;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 22px;background:#e7f7f8;border-bottom:1px solid #c5e4e6;color:var(--deep)}.cart-overview[hidden]{display:none}.cart-overview span{font-size:.86rem;font-weight:800}.cart-overview .cart-count{display:inline-grid;margin-right:4px}.cart-overview strong{font-size:1.25rem;color:var(--sea)}.cart-items{flex:none;overflow:visible;padding:8px 22px}.cart-line{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px 0}.line-main h3{margin-bottom:5px}.line-controls{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.line-subtotal{color:var(--deep);font-size:1rem}.checkout{margin-top:0;flex:none}.checkout:before{content:"Datos para la entrega";display:block;margin-bottom:17px;color:var(--deep);font-size:1.08rem;font-weight:900}.empty-cart{min-height:calc(100dvh - 110px)}
@media(max-width:560px){.cart-header{top:0}.cart-overview{top:78px;padding:10px 18px}.cart-items{padding:5px 18px}.cart-line{padding:13px 0}.checkout{padding-top:18px}#location-map{height:180px}}

.schedule-bar{display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 16px;background:#e1f7e8;color:#126b36;border-bottom:1px solid #b7e3c5;font-size:.82rem;text-align:center}.schedule-bar .status-dot{width:9px;height:9px;border-radius:50%;background:#20a957;box-shadow:0 0 0 4px rgba(32,169,87,.13)}.schedule-bar.closed{background:#fff0e8;color:#a33e16;border-color:#f1cbb8}.schedule-bar.closed .status-dot{background:#e25b28;box-shadow:0 0 0 4px rgba(226,91,40,.13)}.product-description{min-height:42px;margin:-10px 0 17px;color:var(--muted);font-size:.84rem;line-height:1.4}.primary.disabled{pointer-events:none;background:#77878a;box-shadow:none}.add:disabled,.decrease:disabled,.qty button:disabled,.whatsapp:disabled{cursor:not-allowed;opacity:.55}.whatsapp:disabled{background:#77878a}.checkout textarea#delivery-comments{min-height:62px}
@media(max-width:560px){.schedule-bar{align-items:flex-start;gap:6px;padding:8px 10px;font-size:.7rem;line-height:1.25}.schedule-bar>span:last-child{display:block}.product-card{min-height:178px}.product-photo{min-height:178px}.product-info h3{margin-bottom:5px}.product-description{min-height:48px;margin:0 0 10px;font-size:.72rem;line-height:1.3}}

/* Aviso principal de apertura y cierre. */
.schedule-bar{gap:13px;padding:14px 20px;background:linear-gradient(135deg,#e1f8e9,#c8f0d5);border-bottom:1px solid #9fd8b2;box-shadow:0 6px 20px rgba(6,62,74,.1)}.schedule-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:#fff;font-size:1.35rem;box-shadow:0 4px 12px rgba(6,62,74,.12)}.schedule-copy{display:flex;flex-direction:column;gap:2px;text-align:left}.schedule-copy strong{font-size:1.05rem}.schedule-copy>span{font-size:.82rem;font-weight:700}.schedule-bar.closed{background:linear-gradient(135deg,#fff4ed,#ffe0cf);border-color:#efb99d;color:#8f3211}.schedule-bar.closed .schedule-icon{box-shadow:0 0 0 4px rgba(239,107,33,.14),0 5px 14px rgba(121,48,13,.15)}
@media(max-width:560px){.schedule-bar{align-items:center;gap:10px;padding:11px 14px}.schedule-icon{width:38px;height:38px;font-size:1.15rem}.schedule-copy strong{font-size:.94rem}.schedule-copy>span{display:block;font-size:.7rem;line-height:1.3}}

.schedule-bar.closed{min-height:132px;gap:24px;padding:12px max(5vw,20px);background:linear-gradient(135deg,#fff7f1 0%,#ffe2d0 55%,#dff5f5 100%);border-bottom:3px solid var(--orange)}.schedule-bar.closed .schedule-icon{width:142px;height:106px;padding:0;border-radius:22px;background:rgba(255,255,255,.78);overflow:hidden}.sleeping-shrimp{width:100%;height:100%;object-fit:contain}.schedule-copy small{display:none;text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;font-weight:900}.schedule-bar.closed .schedule-copy small{display:block;color:var(--orange)}.schedule-bar.closed .schedule-copy strong{font-size:1.6rem;line-height:1;color:var(--deep);letter-spacing:.02em}.schedule-bar.closed .schedule-copy>span{margin-top:6px;color:#7f3518;font-size:1rem}.schedule-bar:not(.closed) .sleeping-shrimp{display:none}.schedule-bar:not(.closed) .schedule-icon:after{content:"🦐"}
@media(max-width:560px){.schedule-bar.closed{min-height:108px;gap:12px;padding:9px 12px;text-align:left}.schedule-bar.closed .schedule-icon{width:105px;height:84px;flex:0 0 105px;border-radius:17px}.schedule-bar.closed .schedule-copy strong{font-size:1.12rem;line-height:1.05}.schedule-bar.closed .schedule-copy>span{margin-top:4px;font-size:.78rem;line-height:1.3}.schedule-copy small{font-size:.57rem}}
.schedule-icon{position:relative}.sleeping-shrimp{display:block;width:auto;height:auto;font-size:4.5rem;line-height:1;transform:rotate(12deg)}.sleep-z{position:absolute;right:13px;top:8px;color:var(--sea);font-size:.8rem;font-weight:900}.schedule-bar:not(.closed) .sleep-z{display:none}
@media(max-width:560px){.schedule-bar.closed .schedule-icon{width:90px;height:78px;flex-basis:90px}.sleeping-shrimp{font-size:3.8rem}.sleep-z{right:7px;top:6px}}
