:root{--ink:#25231f;--muted:#858079;--line:#e9e5df;--paper:#fcfaf7;--white:#fff;--accent:#e85c3a;--soft:#fff1e9;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:auto;padding:0 26px}.hidden{display:none!important}.site-header,.admin-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-row{height:76px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{font-size:22px;font-weight:850;letter-spacing:-.8px;display:flex;align-items:center;gap:10px}.brand-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--accent);border-radius:12px;color:#fff}.header-note{font-size:12px;color:#448a61;background:#eaf8ed;padding:8px 13px;border-radius:30px}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:7px;white-space:nowrap}.btn.dark{background:var(--ink);color:#fff}.btn.outline{background:#fff;border:1px solid var(--line)}.btn.danger{background:#fff0ee;color:#b93e32}.btn.small{padding:7px 10px;font-size:12px}.btn.wide{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.cart-top span{background:#fff;color:#222;border-radius:30px;padding:1px 7px}.hero{background:#f4e8d9;border-radius:26px;min-height:325px;margin:35px 0 48px;padding:48px 64px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.eyebrow{color:#d56a48;letter-spacing:2px;font-size:10px;font-weight:850}.hero h1{font-size:clamp(38px,5.5vw,69px);letter-spacing:-3px;line-height:1.05;margin:18px 0}.hero h1 em{color:#dd7651;font-style:normal}.hero p{max-width:410px;color:#776e64}.hero-art{font-size:145px;transform:rotate(-9deg);filter:drop-shadow(15px 25px 15px #ae8c6e44);position:relative}.hero-art span{position:absolute;bottom:0;right:-24px;transform:rotate(12deg);font-size:16px;font-weight:800;background:#fff;padding:10px 18px;border-radius:30px}.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hero-pills span{background:#ffffff99;border-radius:30px;padding:9px 12px;font-size:12px}.menu-head,.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.menu-head h2,.section-heading h2{font-size:30px;letter-spacing:-1px;margin:6px 0 0}.search{max-width:300px;width:100%;border:1px solid var(--line);border-radius:12px;padding:14px 18px;background:#fff}.chips{display:flex;gap:9px;overflow-x:auto;padding:24px 0 30px}.chip{background:#fff;border:1px solid var(--line);border-radius:30px;padding:11px 20px;white-space:nowrap;font-weight:700}.chip.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:80px}.product-card{background:#fff;border:1px solid #efebe5;border-radius:20px;overflow:hidden;box-shadow:0 7px 30px #29201708}.product-photo{height:205px;position:relative;overflow:hidden;background:#f4e8d9}.product-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.product-card:hover img{transform:scale(1.045)}.promo-badge{position:absolute;top:14px;left:14px;background:#f85c39;color:#fff;font-size:10px;font-weight:850;letter-spacing:1px;border-radius:30px;padding:8px 12px}.product-info{padding:19px}.product-info small{color:var(--accent);font-weight:750}.product-info h3{font-size:20px;margin:5px 0;letter-spacing:-.5px}.product-info p{color:var(--muted);font-size:13px;min-height:40px;margin:5px 0 15px}.product-bottom{display:flex;align-items:center;justify-content:space-between}.product-bottom strong{font-size:21px}.product-bottom del{color:#aaa;font-size:12px}.add-btn{width:42px;height:42px;border:0;border-radius:12px;background:var(--ink);color:#fff;font-size:26px}.shade{position:fixed;inset:0;background:#17140fa8;z-index:30}.cart-panel{position:fixed;right:0;top:0;height:100dvh;width:min(480px,100%);background:#fff;z-index:31;display:flex;flex-direction:column;transform:translateX(102%);transition:transform .24s;box-shadow:-20px 0 70px #0002}.cart-panel.open{transform:none}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line)}.panel-head h2{margin:4px 0}.close{border:0;background:#f5f3f0;border-radius:12px;font-size:27px;width:40px;height:40px}.panel-body{overflow-y:auto;flex:1;padding:24px}.cart-item{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:13px 0}.cart-item img{width:72px;height:72px;object-fit:cover;border-radius:12px}.cart-item-info{flex:1}.cart-item-info strong,.cart-item-info small{display:block}.cart-item-info small{color:var(--muted)}.cart-item>b{font-size:14px}.qty{display:flex;align-items:center;gap:12px;margin-top:9px}.qty button{width:25px;height:25px;border:1px solid var(--line);border-radius:7px;background:#fff}.cart-empty{text-align:center;padding:65px 10px;color:var(--muted);font-size:34px}.cart-empty h3{font-size:20px;color:var(--ink)}#checkout{margin-top:22px}#checkout h3{font-size:17px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px}.choice{border:1px solid var(--line);background:#fff;padding:13px 8px;border-radius:12px;font-weight:750}.choice.active{border:2px solid var(--accent);background:var(--soft)}label{display:block;font-size:13px;font-weight:700;margin:12px 0}label input:not([type=checkbox]):not([type=file]),label textarea,label select,.inline-form input,.inline-form select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px;color:var(--ink)}textarea{resize:vertical}.hint{font-size:12px;color:var(--muted);line-height:1.5}.center{text-align:center}.location-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.panel-footer{padding:19px 25px 24px;border-top:1px solid var(--line);background:#fff}.price-row{display:flex;justify-content:space-between;margin:7px 0}.price-row.total{border-top:1px solid var(--line);padding-top:13px;margin-top:13px;font-size:21px}.error,.success{padding:12px 15px;border-radius:10px;background:#ffefec;color:#a63223;margin:12px 0;font-size:13px}.success{background:#e9f9ec;color:#286c3c}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);background:var(--ink);color:#fff;padding:13px 22px;border-radius:12px;opacity:0;transition:.2s;pointer-events:none;z-index:50}.toast.show{opacity:1;transform:translate(-50%,0)}.empty{padding:30px;text-align:center}.auth-body{min-height:100vh;display:grid;place-items:center;background:#f5eee5}.auth-card{background:#fff;border-radius:22px;box-shadow:0 20px 70px #0001;padding:40px;width:min(430px,calc(100% - 30px))}.auth-card h1{font-size:30px;letter-spacing:-1px;margin:30px 0 4px}.auth-card p{color:var(--muted)}.auth-card>a{display:block;margin-top:22px;text-align:center;color:var(--muted)}.admin-header{z-index:10}.admin-header .brand small{font-size:9px;background:#f3eee8;border-radius:5px;padding:4px}.admin-main{padding-top:35px;padding-bottom:70px}.admin-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-intro h1{font-size:40px;margin:6px 0;letter-spacing:-1.5px}.admin-intro p{color:var(--muted)}.stats{display:flex;gap:10px}.stats>div{min-width:105px;background:#fff;border:1px solid var(--line);padding:16px 20px;border-radius:15px}.stats strong,.stats small{display:block}.stats strong{font-size:26px}.stats small{color:var(--muted);font-size:11px}.admin-tabs{display:flex;gap:10px;overflow-x:auto;margin:28px 0;border-bottom:1px solid var(--line)}.admin-tabs a{white-space:nowrap;padding:13px 18px;font-weight:750}.admin-tabs a:hover{color:var(--accent)}.admin-section{padding:25px 0 40px;scroll-margin-top:95px}.section-heading{margin-bottom:18px}.section-heading span{color:var(--muted);font-size:13px}.admin-columns{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;min-width:0}.card h3{margin:0 0 15px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row,.days,.actions{display:flex;gap:12px;flex-wrap:wrap}.days label{margin:3px 0}.admin-product-list{max-height:670px;overflow:auto}.admin-product{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.admin-product img{width:58px;height:58px;object-fit:cover;border-radius:10px}.admin-product>div{flex:1;min-width:0}.admin-product strong,.admin-product small,.promo-row small{display:block}.admin-product small,.promo-row small{font-size:11px;color:var(--muted)}.admin-product form{margin:0}.inline-form{display:flex;align-items:end;gap:9px}.inline-form input,.inline-form select{margin:0}.promo-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:15px 0}.order{border-bottom:1px solid var(--line)}.order summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0;cursor:pointer;flex-wrap:wrap}.order summary span{color:var(--muted)}.status{background:#fff2e7;padding:5px 10px;border-radius:30px}.order-detail{background:#fcfaf7;border-radius:12px;padding:18px;margin-bottom:15px}.order-detail p{margin:7px 0}.card hr{border:0;border-top:1px solid var(--line);margin:25px 0}@media(max-width:850px){.product-grid{grid-template-columns:repeat(2,1fr)}.hero{padding:35px}.hero-art{font-size:100px}.admin-columns{grid-template-columns:1fr}.admin-intro{align-items:start;flex-direction:column}}@media(max-width:600px){.wrap{padding:0 16px}.header-row{height:67px}.brand{font-size:18px}.header-note{display:none}.hero{margin:18px 0 35px;min-height:270px;padding:27px}.hero h1{font-size:42px;letter-spacing:-2px}.hero-art{font-size:66px;position:absolute;right:15px;bottom:20px;opacity:.8}.hero-art span{display:none}.hero p{max-width:240px}.menu-head{align-items:stretch;flex-direction:column}.menu-head h2{font-size:25px}.search{max-width:none}.product-grid{grid-template-columns:1fr;gap:16px}.product-photo{height:230px}.admin-intro h1{font-size:30px}.stats{width:100%}.stats>div{min-width:0;flex:1;padding:10px}.stats strong{font-size:21px}.stats small{font-size:9px}.card{padding:16px}.two-cols{grid-template-columns:1fr}.admin-header .btn{padding:9px}.order summary{font-size:12px}}

/* V2: navegación de áreas y selección de promociones por pares */
.admin-tabs{position:sticky;top:0;z-index:10;background:#fff;display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-radius:14px;box-shadow:0 4px 18px #0000000b}
.admin-tabs a{padding:10px 14px;border-radius:9px;text-decoration:none}
.admin-tabs a:hover,.admin-tabs a:focus{background:#f2f2f2}
.admin-section{scroll-margin-top:95px}
.pair-products{display:grid;gap:8px;max-height:220px;overflow:auto;padding:12px;border:1px solid #e7e7e7;border-radius:12px;margin:8px 0 14px}
.pair-product{display:block;margin:0!important}


/* V3 interfaz mejorada */
.brand-logo{width:38px;height:38px;object-fit:cover;border-radius:12px;background:#fff;border:1px solid var(--line)}
.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start;margin-top:26px}
.admin-sidebar{position:sticky;top:100px}
.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 24px #00000005}
.sidebar-title{font-weight:800;margin-bottom:14px}
.sidebar-group-label{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:16px 0 10px}
.admin-side-nav{display:grid;gap:6px}
.admin-side-nav a{padding:11px 13px;border-radius:12px;color:var(--ink);font-weight:700}
.admin-side-nav a:hover,.admin-side-nav a.active{background:var(--soft);color:var(--accent)}
.admin-content{min-width:0}
.compact-top{padding-top:0}
.menu-grid-v3{grid-template-columns:minmax(320px,.95fr) minmax(0,1.3fr)}
.system-grid-v3{grid-template-columns:1fr 1fr}
.sticky-card{position:sticky;top:100px}
.wrap-inline-form{flex-wrap:wrap}
.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.list-head span{font-size:12px;color:var(--muted)}
.visual-preview-card{display:flex;flex-direction:column}
.mini-preview{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fcfaf7}
.mini-preview-top{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:linear-gradient(135deg,var(--preview-accent),color-mix(in srgb,var(--preview-accent) 18%, white));color:#fff}
.mini-brand{display:flex;align-items:center;gap:10px}.mini-brand img{width:36px;height:36px;border-radius:10px;object-fit:cover;background:#fff}.mini-brand span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#fff2;color:#fff}.mini-pill{font-size:11px;padding:8px 10px;border-radius:999px;background:#ffffff2b}
.mini-preview-body{padding:16px}.mini-card-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.mini-card{height:92px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.admin-v3 .section-heading h2{margin-bottom:4px}
.admin-v3 .section-heading span{display:block}
@media(max-width:1100px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static}.sticky-card{position:static}.system-grid-v3,.menu-grid-v3{grid-template-columns:1fr}}
@media(max-width:600px){.sidebar-card{padding:14px}.admin-side-nav{grid-template-columns:1fr 1fr}.admin-side-nav a{font-size:13px}.mini-card-row{grid-template-columns:1fr}.brand-logo{width:32px;height:32px}}

/* V4: visible validation of the second-product discount */
.pricing-status{font-size:12px;min-height:18px;color:#237b49;margin:8px 0;text-align:center;font-weight:700}
.pricing-status.pricing-error{color:#b3261e}
#pairDiscountRow{color:#237b49;font-weight:750}
#pairDiscountRow strong{color:#237b49}

/* V5 — insignias de promociones vigentes en el menú público */
.today-promos{padding:20px 24px;margin:-20px 0 32px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:18px;box-shadow:0 8px 28px #00000007}
.today-promos-title{font-weight:850;font-size:19px;letter-spacing:-.3px}
.today-promo-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}
.today-promo-tags span{background:var(--soft);padding:7px 11px;border-radius:100px;font-size:12px;font-weight:750}
.product-card-promo{border-color:color-mix(in srgb,var(--accent) 48%,white);box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 14%,transparent)}
.product-badges{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:7px;align-items:flex-start;max-width:calc(100% - 24px)}
.product-badges .promo-badge{position:static;font-size:11px;letter-spacing:.3px;box-shadow:0 4px 12px #0002}
.promo-badge-price{background:var(--accent)}
.promo-badge-pair{background:#22201d}
.pair-hint{font-size:12px;line-height:1.4;color:#694500;background:#fff3d7;border-radius:10px;padding:10px 11px;margin-bottom:14px}
.old-price{display:block;color:#9c928c;font-weight:650;font-size:13px;margin-bottom:1px}
.current-sale-price{color:var(--accent)}
.pair-action{width:100%;margin-top:15px;border:1px solid color-mix(in srgb,var(--accent) 40%,white);background:var(--soft);color:#22201d;font-weight:800;font-size:12px;border-radius:11px;padding:12px;cursor:pointer}
.pair-action:hover{background:color-mix(in srgb,var(--accent) 20%,white)}
@media(max-width:600px){.today-promos{margin:-10px 0 22px;padding:16px}.product-badges .promo-badge{font-size:10px}}


/* MenuFlow V6 — editor y lista de banners del dashboard */
.admin-banner-list{display:grid;gap:12px}
.admin-banner-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px}
.admin-banner-row>img,.admin-banner-row>.banner-noimage{width:110px;height:82px;object-fit:cover;border-radius:10px;background:#f7eee8;display:grid;place-items:center;color:var(--accent);font-size:36px}
.admin-banner-row .banner-meta{min-width:0;display:grid;gap:4px}
.admin-banner-row .banner-meta strong{font-size:14px;line-height:1.2}
.admin-banner-row .banner-meta small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-banner-row .banner-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-banner-row .banner-actions form{margin:0}
.banner-enabled-label{display:flex;align-items:center;gap:10px;margin:30px 0 0;font-weight:800;font-size:13px}
.banner-enabled-label input{width:18px;height:18px;accent-color:var(--accent)}
#bannerForm .actions{margin-top:18px}
@media(max-width:480px){.admin-banner-row{grid-template-columns:78px 1fr}.admin-banner-row>img,.admin-banner-row>.banner-noimage{width:78px;height:72px}}
