.cart-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0}.cart-header,.cart-total{flex:0 0 auto}.cart-items{flex:0 1 22vh;min-height:70px;max-height:190px;overflow-y:auto;margin:14px 0}.cart-panel #checkout-form{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:2px}.cart-panel #checkout-form button[type="submit"]{position:sticky;bottom:0;z-index:2;background:var(--orange);box-shadow:0 -10px 18px var(--cream);margin-top:4px}.cart-panel .fulfillment-options{flex:0 0 auto}
.extras-modal{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;padding:18px}.extras-modal.open{display:flex}.extras-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(23,35,33,.72);backdrop-filter:blur(4px)}.extras-modal-panel{position:relative;z-index:1;width:min(480px,100%);max-height:min(82vh,720px);overflow:auto;padding:30px;background:var(--cream);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.extras-modal-panel h2{margin:8px 42px 20px 0;font:800 30px/1.05 'Fraunces',serif;color:var(--ink)}.extras-modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:24px;cursor:pointer}.extras-modal .cart-extras{display:grid;gap:10px;border:0;margin:0;padding:0}.extras-modal .cart-extras h3{margin:0 0 4px;font:700 14px 'DM Sans',sans-serif}.extras-modal .cart-extras label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.extras-modal .cart-extras label input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--orange)}.extras-modal .cart-extras label span{margin-left:auto;color:var(--green);font-size:12px;font-weight:800}.extras-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.extras-modal-actions .button{min-height:46px;padding:10px 12px}.extras-modal-actions .button:not(.primary){background:var(--paper);color:var(--ink)}@media(max-width:520px){.extras-modal{align-items:flex-end;padding:0}.extras-modal-panel{width:100%;max-height:88vh;border-radius:16px 16px 0 0;padding:26px 20px calc(20px + env(safe-area-inset-bottom))}.extras-modal-actions{grid-template-columns:1fr}}
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&family=Fraunces:opsz,wght@9..144,600;9..144,800&display=swap');
:root{--ink:#172321;--paper:#f3eee5;--cream:#fffaf1;--orange:#f26b4f;--green:#1e6259;--mustard:#f4bb45;--line:#d8cec0;--muted:#6c746e;--shadow:0 20px 55px rgba(23,35,33,.12)}
body{background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.site-header{height:82px;padding:0 clamp(20px,6vw,88px);background:rgba(255,250,241,.92);border-bottom:1px solid rgba(216,206,192,.7);box-shadow:0 8px 24px rgba(23,35,33,.05)}.brand{gap:13px}.brand-mark{position:relative;width:45px;height:45px;border-radius:13px;background:var(--orange);color:#fff;overflow:hidden;box-shadow:4px 5px 0 var(--mustard);font-family:'Fraunces',serif;transform:rotate(-3deg)}.brand-mark span{position:relative;z-index:1;font-size:14px;letter-spacing:-1px}.brand-mark i{position:absolute;width:34px;height:7px;right:-8px;bottom:9px;background:var(--green);transform:rotate(-27deg);border-radius:10px}.brand-copy strong{font:800 20px 'Fraunces',serif;letter-spacing:-.4px}.brand-copy strong em{font-style:normal;color:var(--orange)}.brand-copy small{color:var(--green);font:700 9px 'DM Sans',sans-serif;letter-spacing:1.5px;text-transform:uppercase;margin-top:2px}.site-header nav{gap:10px;font:700 13px 'DM Sans',sans-serif}.site-header nav a{padding:10px 14px;border-radius:99px}.site-header nav a:first-child{background:var(--ink);color:var(--cream)}.site-header nav a:hover{transform:translateY(-2px)}.nav-admin{color:var(--green);border:1px solid var(--line)}
.hero{min-height:570px;background:linear-gradient(90deg,rgba(23,35,33,.94) 0%,rgba(23,35,33,.68) 46%,rgba(23,35,33,.12) 100%),var(--hero-image) center/cover;position:relative;isolation:isolate}.hero:after{content:'SABOR DE CALLE';position:absolute;right:5vw;bottom:32px;color:rgba(255,250,241,.7);font:800 11px 'DM Sans',sans-serif;letter-spacing:4px;writing-mode:vertical-rl}.hero-content{width:min(680px,88%);margin-left:clamp(24px,10vw,150px);padding-top:28px}.eyebrow{color:var(--mustard);font:800 11px 'DM Sans',sans-serif;letter-spacing:2.4px}.hero h1{font:800 clamp(48px,7vw,92px)/.91 'Fraunces',serif;letter-spacing:-2px;max-width:760px;margin:18px 0 22px;color:var(--cream)}.hero p{font:500 17px/1.6 'DM Sans',sans-serif;max-width:520px;color:#f4eadc}.button{border-radius:7px;padding:13px 19px;font:800 13px 'DM Sans',sans-serif;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(23,35,33,.13)}.button.primary{background:var(--orange);color:#fff}.content,.admin-shell{width:min(1180px,90%);padding:88px 0}.section-heading h2,.admin-top h1{font:800 clamp(36px,5vw,58px)/1 'Fraunces',serif;letter-spacing:-1px;color:var(--ink);margin:9px 0 27px}.section-heading{align-items:end}.search,input,textarea,select{border:1px solid var(--line);background:rgba(255,250,241,.82);padding:13px 15px;border-radius:8px;color:var(--ink);font-family:'DM Sans',sans-serif}.search:focus,input:focus,textarea:focus,select:focus{outline:3px solid rgba(242,107,79,.18);border-color:var(--orange)}.search{width:280px}.filters{gap:9px;margin-bottom:30px}.filter{border:1px solid var(--line);border-radius:99px;background:transparent;padding:10px 16px;font:700 12px 'DM Sans',sans-serif}.filter.active{background:var(--green);color:#fff;border-color:var(--green)}.product-grid{gap:22px}.product-card{background:var(--cream);border:1px solid rgba(216,206,192,.85);border-radius:15px;box-shadow:0 8px 25px rgba(23,35,33,.06);transition:transform .25s,box-shadow .25s;overflow:hidden}.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.product-card img{height:215px;filter:saturate(1.08)}.product-body{padding:20px}.tag{display:inline-block;color:var(--green);background:#e1eee8;border-radius:99px;padding:5px 9px;font:800 9px 'DM Sans',sans-serif;letter-spacing:1px}.product-card h3{font:800 24px/1.05 'Fraunces',serif;margin:14px 0 9px}.product-card p{font:14px/1.55 'DM Sans',sans-serif}.product-bottom{padding-top:17px}.product-bottom strong{color:var(--orange);font:800 21px 'DM Sans',sans-serif}.button.small{padding:10px 13px}.cart-trigger{right:27px;bottom:27px;box-shadow:0 12px 25px rgba(242,107,79,.35);border-radius:99px}.cart-panel{background:var(--cream);width:min(420px,100%);padding:30px;box-shadow:-18px 0 50px rgba(23,35,33,.18)}.cart-header h2{font:800 30px 'Fraunces',serif}.cart-total{font-family:'DM Sans',sans-serif}.cart-total strong{color:var(--orange)}.site-footer{background:var(--ink);border:0;color:#d8cec0;padding:30px clamp(20px,6vw,88px);font-family:'DM Sans',sans-serif}.flash{background:var(--green);border-radius:8px;box-shadow:var(--shadow);font-family:'DM Sans',sans-serif}
.admin-shell{padding-top:52px}.admin-top h1{margin-bottom:0}.metric-grid{gap:16px}.metric,.panel{background:rgba(255,250,241,.75);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 25px rgba(23,35,33,.05)}.metric{padding:23px}.metric strong{font-family:'DM Sans',sans-serif;color:var(--green)}.panel{padding:25px}.panel h2{font:800 28px 'Fraunces',serif}.admin-top .eyebrow{color:var(--orange)}.orders-panel{box-shadow:var(--shadow)}.auth-card{border-radius:15px;box-shadow:var(--shadow);background:var(--cream)}.auth-card h1{font:800 44px 'Fraunces',serif}.upload-field{border-radius:8px}.order-status-form .link{font-family:'DM Sans',sans-serif}.success-text{color:var(--green)}
@media(max-width:800px){.site-header{height:72px}.brand-mark{width:40px;height:40px}.brand-logo{width:42px;height:42px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:8px;letter-spacing:1px}.site-header nav a{padding:8px 10px;font-size:11px}.hero{min-height:540px}.hero:after{display:none}.hero h1{font-size:clamp(46px,14vw,70px)}.hero-content{margin-left:7vw}.section-heading{display:block}.content,.admin-shell{padding:60px 0}.search{width:100%;margin-top:8px}.panel-heading{align-items:flex-start;display:block}.panel-heading .muted{display:block;margin-top:5px}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:16px}.metric strong{font-size:22px}.site-footer{display:flex;flex-direction:column;gap:5px}.cart-panel{padding:22px}}
.brand-logo{width:52px;height:52px;object-fit:contain;border-radius:10px}.admin-image-preview{display:block;max-width:100%;height:auto;object-fit:cover;border-radius:10px;border:1px solid var(--line);margin:4px 0 10px}.logo-preview{width:110px;height:110px}.banner-preview{width:100%;max-height:180px}
.product-card.out-of-stock{opacity:.62}.product-card.out-of-stock img{filter:grayscale(.7)}.add-to-cart:disabled{cursor:not-allowed;opacity:.7;transform:none;box-shadow:none}
.cart-extras label.extra-out-of-stock{opacity:.55}.cart-extras label.extra-out-of-stock span{color:var(--muted);font-weight:800}
.hero{overflow:hidden;background:var(--ink)}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;background:linear-gradient(90deg,rgba(23,35,33,.94) 0%,rgba(23,35,33,.68) 46%,rgba(23,35,33,.12) 100%),var(--hero-image) center/cover;transition:opacity .8s ease}.hero-slide.active{opacity:1}.hero-content{position:relative;z-index:1}.hero-controls{position:absolute;z-index:2;bottom:30px;left:clamp(24px,10vw,150px);display:flex;gap:8px}.hero-dot{width:34px;height:5px;padding:0;border:0;border-radius:5px;background:rgba(255,250,241,.45);cursor:pointer}.hero-dot.active{background:var(--mustard)}
.hero-slide{background-image:linear-gradient(90deg,rgba(23,35,33,.94) 0%,rgba(23,35,33,.68) 46%,rgba(23,35,33,.12) 100%),var(--hero-image);background-position:center;background-size:cover;background-repeat:no-repeat}
.hero{min-height:clamp(600px,78vh,760px)}.hero-slide{width:100%;height:100%}
@media(max-width:800px){.hero{min-height:560px}.hero-slide{min-height:560px}}
.hero-slides{z-index:0}.hero-slide{background-color:var(--ink);background-position:center center;background-size:cover !important;background-repeat:no-repeat;z-index:0;visibility:hidden;opacity:0;transition:opacity .8s ease,visibility 0s linear .8s}.hero-slide.active{visibility:visible;opacity:1;transition-delay:0s}.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,35,33,.88) 0%,rgba(23,35,33,.55) 46%,rgba(23,35,33,.18) 100%);pointer-events:none}.hero-content{z-index:3}
