:root{
  --ink:#1f211f;
  --ink-2:#2a2c29;
  --paper:#f4efe5;
  --paper-2:#e9e0d2;
  --line:rgba(244,239,229,.18);
  --line-dark:rgba(31,33,31,.16);
  --muted:#9d9b93;
  --accent:#a85d50;
  --accent-2:#c27767;
  --ok:#4f7c62;
  --danger:#8f443d;
  --shadow:0 18px 45px rgba(0,0,0,.14);
  --radius:18px;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--paper);background:var(--ink);-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Public menu */
.public-body{min-height:100vh;background:
  radial-gradient(circle at 15% -10%, rgba(168,93,80,.16), transparent 28rem),
  linear-gradient(180deg,#20221f 0%,#191b19 100%)}
.site-header{max-width:1080px;margin:auto;padding:24px 20px 16px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line)}
.brand{text-decoration:none;display:inline-flex;align-items:center;gap:12px}
.brand-symbol{font-size:34px;line-height:1;color:var(--paper)}
.brand-name{font-family:var(--serif);font-size:20px;line-height:.95;letter-spacing:.015em}
.site-header__eyebrow{margin:0;color:#bbb7ae;text-transform:uppercase;font-size:11px;letter-spacing:.16em}
.menu-shell{max-width:1080px;margin:auto;padding:0 20px 80px}
.catalog-switcher{display:flex;gap:6px;padding:18px 0 10px;position:sticky;top:0;z-index:30;background:linear-gradient(180deg,#1e201e 70%,rgba(30,32,30,.93) 86%,rgba(30,32,30,0));backdrop-filter:blur(8px)}
.catalog-tab{appearance:none;border:1px solid var(--line);background:transparent;color:#c9c4ba;padding:10px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}
.catalog-tab.is-active{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.catalog-panel{display:none}
.catalog-panel.is-active{display:block}
.category-nav-wrap{position:sticky;top:58px;z-index:25;padding:6px 0 16px;background:linear-gradient(180deg,#1e201e 60%,rgba(30,32,30,.9) 82%,rgba(30,32,30,0))}
.category-nav{display:flex;gap:18px;overflow:auto;padding:7px 2px 9px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.category-nav::-webkit-scrollbar{display:none}
.category-tab{flex:0 0 auto;appearance:none;border:0;border-bottom:1px solid transparent;background:transparent;color:#bcb7ad;font-family:var(--serif);font-size:15px;padding:7px 1px 9px;white-space:nowrap}
.category-tab:hover,.category-tab:focus{color:#fff}.category-tab.is-active{color:#fff;border-bottom-color:var(--accent-2)}
.menu-content{max-width:760px;margin:auto}
.menu-section{display:none;padding:38px 0 14px}
.menu-section.is-active{display:block}
.menu-section__header{padding:0 0 16px;border-bottom:1px solid var(--line)}
.section-kicker,.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent-2);font-size:11px;font-weight:750;margin:0 0 8px}
.menu-section__header h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:0;letter-spacing:-.02em}
.menu-section__header p:not(.section-kicker){max-width:600px;color:#aaa69e;margin:8px 0 0;line-height:1.55;font-size:14px}
.product-list{display:flex;flex-direction:column}
.menu-product{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.menu-product__image{width:78px;height:78px;object-fit:cover;border-radius:12px;background:#ece7df}
.menu-product__top{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline}
.menu-product h3{margin:0;font-family:var(--serif);font-size:21px;font-weight:500;line-height:1.2}
.menu-product__price{white-space:nowrap;font-size:17px;font-weight:700}
.menu-product__description{color:#b7b2a8;font-size:14px;line-height:1.55;margin:7px 0 0;max-width:620px}
.wine-meta{display:flex;flex-wrap:wrap;gap:7px 12px;color:#b8b3aa;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:700;margin:7px 0 0}
.wine-meta span+span::before{content:"·";margin-right:12px;color:var(--accent-2)}
.variant-list{margin-top:11px;border-top:1px dashed var(--line);padding-top:5px}
.variant-row{display:flex;justify-content:space-between;gap:20px;padding:6px 0;font-size:14px}
.variant-row span{color:#c4bfb6}.variant-row strong{white-space:nowrap}
.unit-label{margin:5px 0 0;color:#a7a39b;font-size:12px}
.allergen-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.allergen-badge{display:inline-grid;place-items:center;width:27px;height:27px;border:1px solid rgba(244,239,229,.35);border-radius:50%;font-size:9px;font-weight:800;letter-spacing:.04em;color:#e5dfd4;background:rgba(255,255,255,.02)}
.allergen-legend{max-width:760px;margin:42px auto 0;padding:20px 0;border-top:1px solid var(--line)}
.allergen-legend summary{cursor:pointer;font-family:var(--serif);font-size:17px}
.allergen-legend p{color:#aaa69e;font-size:13px;line-height:1.55}
.allergen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin-top:15px}
.allergen-grid>div{display:flex;align-items:center;gap:9px;font-size:13px;color:#cbc6bc}
.empty-state{max-width:680px;margin:80px auto;text-align:center}.empty-state h1{font-family:var(--serif);font-size:40px;font-weight:400}.empty-state p{color:#aaa69e;line-height:1.6}

/* Admin */
.admin-body{background:#f3f0e9;color:#262824;min-height:100vh}
.admin-header{height:64px;background:#232522;color:#f3efe6;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-brand{text-decoration:none;font-weight:800;letter-spacing:.08em}.admin-brand span{font-weight:400;color:#b7b1a7;margin-left:6px}
.admin-public-link{font-size:13px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
.admin-grid{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1440px;margin:auto;min-height:calc(100vh - 64px)}
.admin-nav{padding:24px 14px;border-right:1px solid var(--line-dark);display:flex;flex-direction:column;gap:5px}
.admin-nav a,.link-button{display:block;text-decoration:none;border:0;background:transparent;text-align:left;color:#4d504a;padding:11px 12px;border-radius:10px;font-size:14px;width:100%}
.admin-nav a:hover,.admin-nav a:focus,.link-button:hover{background:#e8e2d8;color:#1f211f}
.admin-nav .nav-priority{background:#252724;color:#f4efe5;font-weight:700;margin-bottom:9px}
.admin-main{padding:32px clamp(18px,4vw,52px) 80px;min-width:0}
.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.page-heading--row{align-items:center}.page-heading h1{font-family:var(--serif);font-size:36px;font-weight:400;margin:0}.page-heading p:not(.eyebrow){margin:8px 0 0;color:#6d7069;max-width:680px;line-height:1.5}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stat{background:#fff;border:1px solid #ded9cf;border-radius:16px;padding:20px}.stat strong{display:block;font-family:var(--serif);font-size:34px;font-weight:400}.stat span{color:#777970;font-size:13px}
.quick-action{margin-top:18px;background:#242623;color:#f5f0e7;border-radius:18px;padding:22px 24px;text-decoration:none;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.quick-action b{font-size:18px}.quick-action small{display:block;color:#b9b5ac;margin-top:5px;line-height:1.4}.quick-action>span:last-child{font-size:30px;color:var(--accent-2)}
.dashboard-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.dashboard-links a{background:#fff;border:1px solid #ded9cf;padding:11px 14px;border-radius:10px;text-decoration:none;font-size:14px}
.flash-success,.form-error{padding:12px 15px;border-radius:10px;margin-bottom:18px;font-size:14px}.flash-success{background:#e2efe6;color:#315641;border:1px solid #bed6c6}.form-error{background:#f5e6e3;color:#7b3732;border:1px solid #e3c0ba}.form-error ul{margin:6px 0 0;padding-left:18px}
.search-form{display:flex;gap:8px;margin-bottom:20px}.search-form input{flex:1;max-width:520px}
input,select,textarea{width:100%;border:1px solid #cbc6bb;background:#fff;color:#252724;border-radius:10px;padding:11px 12px;outline:none}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.search-form input:focus{border-color:#777c73;box-shadow:0 0 0 3px rgba(77,91,72,.08)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #c9c3b8;background:#fff;color:#30332e;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:700;font-size:13px}.btn-primary{background:#252724;color:#f5f0e7;border-color:#252724}.btn-small{padding:7px 9px;font-size:12px}
.availability-groups{display:flex;flex-direction:column;gap:22px}.availability-group{background:#fff;border:1px solid #ddd8ce;border-radius:16px;overflow:hidden}.availability-group h2{font-family:var(--serif);font-size:22px;font-weight:500;margin:0;padding:16px 18px;background:#f9f6f0;border-bottom:1px solid #e4dfd5}.availability-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid #eee9df}.availability-row:last-child{border-bottom:0}.availability-row strong{display:block}.availability-copy{display:block;color:#7d7f78;margin-top:3px}.switch{position:relative;flex:0 0 auto;width:54px;height:31px}.switch input{opacity:0;position:absolute;width:1px;height:1px}.switch-ui{position:absolute;inset:0;border-radius:999px;background:#b8b8b4;transition:.16s}.switch-ui::after{content:"";position:absolute;width:23px;height:23px;left:4px;top:4px;border-radius:50%;background:white;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.16s}.switch input:checked+.switch-ui{background:var(--ok)}.switch input:checked+.switch-ui::after{transform:translateX(23px)}.switch input:focus-visible+.switch-ui{outline:3px solid rgba(79,124,98,.25);outline-offset:2px}.switch.is-saving .switch-ui{opacity:.45}
.table-list{background:#fff;border:1px solid #ded9cf;border-radius:14px;overflow:hidden}.product-admin-row{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;text-decoration:none;border-bottom:1px solid #ece7dd;align-items:center}.product-admin-row:last-child{border-bottom:0}.product-admin-row:hover{background:#faf7f1}.product-admin-row b{display:block}.product-admin-row small{display:block;color:#7b7d76;margin-top:3px}.admin-row-price{white-space:nowrap;font-weight:700}
.admin-form{display:flex;flex-direction:column;gap:22px}.admin-form fieldset{border:1px solid #d8d2c7;border-radius:14px;padding:18px;background:#fff}.admin-form legend{padding:0 7px;font-family:var(--serif);font-size:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{font-size:13px;font-weight:700;color:#4d504a}.form-grid input,.form-grid select,.form-grid textarea{margin-top:6px}.form-span{grid-column:1/-1}.toggle-pair{display:flex;flex-wrap:wrap;gap:16px}.check{display:flex!important;align-items:center;gap:8px;font-size:14px!important;font-weight:500!important}.check input{width:auto;margin:0}.form-help{font-size:12px;color:#777970;margin:10px 0 0}
.variant-edit-row{display:grid;grid-template-columns:1.2fr .55fr 1fr auto;gap:8px;margin-bottom:8px}.form-actions{display:flex;gap:10px}.danger-zone{margin-top:22px;padding-top:20px;border-top:1px solid #d7d2c8}.link-danger{background:none;border:0;color:#8f443d;text-decoration:underline;padding:0}
.allergen-checkboxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.allergen-checkboxes label{display:flex;align-items:center;gap:8px;font-size:13px}.allergen-checkboxes input{width:auto}.admin-body .allergen-badge{border-color:#bcb7ad;color:#4d504a;background:#f6f2eb}
.inline-create{display:grid;grid-template-columns:180px minmax(0,360px) auto;gap:8px;margin-bottom:18px}.category-admin-list{display:flex;flex-direction:column;gap:8px}.category-admin-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #ddd8ce;border-radius:12px;padding:10px 12px}.category-admin-row form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center}.category-admin-row small{color:#7d7f78}.drag-handle{cursor:grab;color:#999}
.allergen-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.allergen-admin-grid>div{background:#fff;border:1px solid #ddd8ce;border-radius:12px;padding:13px;display:flex;align-items:center;gap:10px}
.qr-card{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:#fff;border:1px solid #ded9cf;border-radius:18px;padding:22px}.qr-card img{width:250px;height:250px}.qr-card>div{display:flex;gap:10px;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#232522;color:#f4efe5;padding:12px 16px;border-radius:999px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;box-shadow:var(--shadow);z-index:100}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.pagination-wrap{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pagination-status{font-size:13px;color:#74766f}.pagination-actions{display:flex;gap:8px;align-items:center}.pagination-wrap .btn{min-width:92px;text-align:center}.pagination-wrap .is-disabled{opacity:.42;cursor:not-allowed;pointer-events:none}.pagination-wrap svg{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important}

/* Login */
.login-body{min-height:100vh;display:grid;place-items:center;background:#20221f;color:#f5f0e7;padding:20px}.login-card{width:min(430px,100%);background:#2a2c29;border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.login-brand{text-align:center;margin-bottom:24px}.login-brand>span{font-size:38px}.login-brand h1{font-family:var(--serif);font-weight:400;margin:8px 0 4px}.login-brand p{margin:0;color:#aaa69e;font-size:13px}.login-card form{display:flex;flex-direction:column;gap:14px}.login-card label{font-size:13px;color:#c9c4ba}.login-card input{margin-top:6px;background:#1f211f;border-color:#55564f;color:#fff}.login-card .check input{margin-top:0}

@media(max-width:760px){
  .site-header{padding:18px 16px 12px}.brand-name{font-size:18px}.site-header__eyebrow{display:none}.menu-shell{padding:0 16px 60px}.catalog-switcher{margin:0 -16px;padding:13px 16px 9px;top:0}.category-nav-wrap{top:52px;margin:0 -16px;padding-left:16px;padding-right:16px}.menu-content{max-width:none}.menu-section{padding-top:27px}.menu-section__header h2{font-size:30px}.menu-product{padding:18px 0;gap:12px}.menu-product__image{width:64px;height:64px}.menu-product h3{font-size:19px}.menu-product__price{font-size:16px}.menu-product__description{font-size:13px}.allergen-grid{grid-template-columns:1fr}
  .admin-grid{display:block}.admin-nav{position:fixed;bottom:0;left:0;right:0;z-index:60;background:#232522;border:0;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:repeat(4,1fr);padding:7px max(7px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));gap:2px}.admin-nav a,.admin-nav .link-button{color:#d9d4ca;text-align:center;padding:8px 4px;font-size:10px;background:transparent;margin:0}.admin-nav a:nth-of-type(n+5),.admin-nav form{display:none}.admin-nav .nav-priority{background:#3a3d38}.admin-main{padding:23px 15px 100px}.page-heading h1{font-size:31px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid .stat:last-child{grid-column:1/-1}.availability-row{padding:15px}.availability-copy{font-size:11px}.form-grid{grid-template-columns:1fr}.form-span{grid-column:auto}.variant-edit-row{grid-template-columns:1fr 1fr}.variant-edit-row input:nth-child(3){grid-column:1/-1}.allergen-checkboxes{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-create{grid-template-columns:1fr}.category-admin-row{grid-template-columns:auto 1fr}.category-admin-row>small{grid-column:2}.category-admin-row form{grid-template-columns:1fr}.allergen-admin-grid{grid-template-columns:1fr 1fr}.qr-card{justify-content:center}.search-form{position:sticky;top:70px;z-index:20;background:#f3f0e9;padding:6px 0}.toast{bottom:86px;width:calc(100% - 30px);text-align:center;border-radius:12px}
}
@media(max-width:420px){.menu-product__top{grid-template-columns:1fr auto;gap:10px}.menu-product__image{width:56px;height:56px}.allergen-checkboxes,.allergen-admin-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}.stats-grid .stat:last-child{grid-column:auto}.page-heading--row{align-items:flex-start}.page-heading--row .btn{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.brand-logo{width:48px;height:48px;object-fit:contain;object-position:center}
.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.order-group{margin-bottom:20px;background:#fff;border:1px solid #ddd8ce;border-radius:14px;overflow:hidden}.order-group h2{font-family:var(--serif);font-weight:500;font-size:21px;margin:0;padding:14px 16px;background:#f9f6f0;border-bottom:1px solid #e2ddd3}.order-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid #ece7dd}.order-row:last-child{border-bottom:0}.order-buttons{display:flex;gap:5px}

/* v2: imágenes, pictogramas de alérgenos y acciones destructivas */
.allergen-badge{width:32px;height:32px;padding:5px;flex:0 0 auto}
.allergen-icon-svg{width:100%;height:100%;display:block}
.allergen-help{margin:-5px 0 14px}
.admin-body .allergen-badge{width:36px;height:36px;padding:6px}
.flash-error{padding:12px 15px;border-radius:10px;margin-bottom:18px;font-size:14px;background:#f5e6e3;color:#7b3732;border:1px solid #e3c0ba}
.btn-danger{background:#8f443d;color:#fff;border-color:#8f443d}.btn-danger:hover,.btn-danger:focus{background:#75362f;border-color:#75362f}
.product-image-field>label{display:block;font-size:13px;font-weight:700;color:#4d504a;margin-bottom:7px}
.product-image-editor{display:flex;gap:16px;align-items:flex-start;border:1px solid #d8d2c7;border-radius:14px;padding:14px;background:#fff}
.product-image-preview-wrap{position:relative;width:150px;height:120px;flex:0 0 150px;border-radius:12px;overflow:hidden;background:#eee9df;display:grid;place-items:center;border:1px dashed #c8c1b6}
.product-image-preview{width:100%;height:100%;object-fit:cover}.product-image-preview.is-empty{display:none}.product-image-empty{font-size:12px;color:#8b8c85}
.product-image-controls{flex:1;min-width:0}.product-image-controls input[type=file]{margin:0}.product-image-controls .check{margin-top:10px}
.product-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px}
.product-admin-main{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}.product-admin-main>span:last-child{min-width:0}.product-admin-main b{overflow-wrap:anywhere}
.admin-product-thumb{width:48px;height:48px;object-fit:cover;border-radius:9px;background:#eee9df;flex:0 0 48px}.admin-product-thumb--empty{display:grid;place-items:center;color:#aaa49a;border:1px dashed #d0c9bd}
.admin-row-actions{display:flex;align-items:center;gap:6px}.admin-row-actions form{margin:0}
.category-admin-row{grid-template-columns:auto minmax(0,1fr) auto}.category-admin-main{min-width:0}.category-edit-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:9px!important;align-items:center}.category-admin-main>small{display:block;margin-top:5px}.category-delete-form{margin:0}
.danger-zone .btn-danger{margin-bottom:6px}
@media(max-width:760px){
  .product-image-editor{display:block}.product-image-preview-wrap{width:100%;height:180px;margin-bottom:12px}.product-image-controls{width:100%}
  .product-admin-row{grid-template-columns:minmax(0,1fr) auto}.product-admin-main{grid-column:1/2}.admin-row-price{grid-column:2/3;grid-row:1;align-self:center}.admin-row-actions{grid-column:1/-1;justify-content:flex-end;padding-top:3px}
  .category-admin-row{grid-template-columns:auto minmax(0,1fr)}.category-admin-main{grid-column:2}.category-edit-form{grid-template-columns:1fr!important}.category-delete-form{grid-column:2;justify-self:end}
}
.menu-product.no-image{grid-template-columns:1fr}.menu-product.no-image .menu-product__body{grid-column:1}.menu-product.has-image .menu-product__body{min-width:0}

/* v3: navegación por una sola sección y controles admin robustos */
.category-delete-form{display:block!important}.category-delete-form .btn-danger{display:inline-flex!important;align-items:center;justify-content:center}
.allergen-admin-grid .allergen-badge,.allergen-checkboxes .allergen-badge{display:inline-grid!important}
@media(max-width:760px){.pagination-wrap{align-items:stretch}.pagination-status{width:100%;text-align:center}.pagination-actions{width:100%;justify-content:space-between}.pagination-actions .btn{flex:1}.category-tab{font-size:14px}}

/* v4: subcategorías (D.O. de vinos) + etiquetas vegano/vegetariano */
.subcategory-nav-wrap{padding:18px 0 4px;border-bottom:1px solid var(--line)}
.subcategory-nav{display:flex;gap:8px;overflow:auto;padding:0 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.subcategory-nav::-webkit-scrollbar{display:none}
.subcategory-tab{flex:0 0 auto;appearance:none;border:1px solid rgba(244,239,229,.22);background:transparent;color:#c7c1b7;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.subcategory-tab:hover,.subcategory-tab:focus{border-color:rgba(244,239,229,.45);color:#fff}.subcategory-tab.is-active{background:rgba(194,119,103,.16);border-color:var(--accent-2);color:#fff}
.subcategory-panel{display:none}.subcategory-panel.is-active{display:block}
.subcategory-header{padding:22px 0 4px}.subcategory-header h3{font-family:var(--serif);font-size:26px;font-weight:400;margin:0;letter-spacing:-.015em}.subcategory-header p:not(.section-kicker){color:#aaa69e;font-size:13px;line-height:1.5;margin:7px 0 0}
.product-symbols{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:11px}.product-symbols .allergen-row,.product-symbols .dietary-row{margin-top:0}
.dietary-row{display:flex;gap:6px;flex-wrap:wrap}
.dietary-badge{display:inline-grid;place-items:center;width:32px;height:32px;padding:5px;flex:0 0 auto;border:1px solid rgba(119,173,64,.78);border-radius:50%;color:#85bd48;background:rgba(119,173,64,.08)}
.dietary-icon-svg{width:100%;height:100%;display:block}
.dietary-legend{max-width:760px;margin:14px auto 0;padding:18px 0;border-top:1px solid var(--line)}
.dietary-legend summary{cursor:pointer;font-family:var(--serif);font-size:17px}.dietary-legend p{color:#aaa69e;font-size:13px;line-height:1.55}.dietary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin-top:15px}.dietary-grid>div{display:flex;align-items:center;gap:9px;font-size:13px;color:#cbc6bc}
.admin-body .dietary-badge{width:36px;height:36px;padding:6px;color:#4d8a2a;border-color:#87b667;background:#eef6e8}
.dietary-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dietary-admin-grid>div{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ddd8ce;border-radius:12px;padding:11px 13px}
.dietary-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dietary-checkboxes label{display:flex;align-items:center;gap:8px;font-size:13px}.dietary-checkboxes input{width:auto}
.inline-create--categories{grid-template-columns:150px 220px minmax(0,360px) auto}
.category-group{margin:26px 0}.category-group__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.category-group__heading h2{font-family:var(--serif);font-size:25px;font-weight:400;margin:0}.category-group__heading span{font-size:12px;color:#777970}
.subcategory-admin-list{display:flex;flex-direction:column;gap:7px;margin:7px 0 3px 34px;padding-left:12px;border-left:2px solid #dfd5c7}
.category-admin-row--child{background:#fbf9f5}.category-admin-row--child .drag-handle{color:#b6ab9c}.category-edit-form--child{grid-template-columns:minmax(0,1fr) 190px auto auto!important}
@media(max-width:760px){.subcategory-nav-wrap{margin-left:-2px;margin-right:-2px}.subcategory-header h3{font-size:23px}.dietary-grid{grid-template-columns:1fr}.dietary-admin-grid,.dietary-checkboxes{grid-template-columns:1fr}.inline-create--categories{grid-template-columns:1fr}.subcategory-admin-list{margin-left:16px}.category-edit-form--child{grid-template-columns:1fr!important}}

/* v5: productos agrupados por categoría y ordenables directamente */
.product-search-summary{margin:-8px 0 16px;color:#74766f;font-size:13px}
.product-category-groups{display:flex;flex-direction:column;gap:22px}
.product-category-group{background:#fff;border:1px solid #ddd8ce;border-radius:16px;overflow:hidden}
.product-category-group__header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:15px 17px;background:#f9f6f0;border-bottom:1px solid #e2ddd3}
.product-category-group__header h2{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.1;margin:2px 0 0}
.product-category-group__catalog{display:block;color:#a35f50;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.product-category-group__count{font-size:12px;color:#777970;white-space:nowrap}
.product-sort-list{transition:opacity .15s}
.product-sort-list.is-saving-order{opacity:.72}
.product-category-group .product-admin-row{grid-template-columns:auto minmax(0,1fr) auto auto;margin:0;border:0;border-bottom:1px solid #ece7dd;border-radius:0;background:#fff}
.product-category-group .product-admin-row:last-child{border-bottom:0}
.product-category-group .product-admin-row:hover{background:#faf7f1}
.product-drag-handle{width:34px;height:42px;display:inline-grid;place-items:center;border:0;background:transparent;color:#99928a;border-radius:8px;cursor:grab;font-size:18px;line-height:1;touch-action:none;user-select:none;-webkit-user-select:none}
.product-drag-handle:hover,.product-drag-handle:focus-visible{background:#eee8de;color:#555850;outline:none}
.product-drag-handle:active{cursor:grabbing}
.product-drag-handle:disabled{opacity:.28;cursor:not-allowed;background:transparent}
.product-sort-row.is-dragging{position:relative;z-index:3;background:#f4eee4!important;box-shadow:0 8px 22px rgba(39,40,36,.12);opacity:.94}
.product-sort-list.is-reordering{background:#fbf8f2}
.product-move-up,.product-move-down{min-width:31px;padding-left:7px;padding-right:7px}
.product-move-up:disabled,.product-move-down:disabled{opacity:.3;cursor:not-allowed}
.empty-state{padding:28px;border:1px dashed #cfc7ba;border-radius:14px;color:#686b64;background:#fbf8f2}.empty-state p{margin:6px 0 0;font-size:13px}
@media(max-width:760px){
  .product-category-groups{gap:16px}.product-category-group__header{align-items:center;padding:13px 14px}.product-category-group__header h2{font-size:21px}.product-category-group__count{font-size:11px}
  .product-category-group .product-admin-row{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:12px 10px}
  .product-category-group .product-drag-handle{grid-column:1;grid-row:1;width:30px}
  .product-category-group .product-admin-main{grid-column:2;grid-row:1}
  .product-category-group .admin-row-price{grid-column:3;grid-row:1;align-self:center}
  .product-category-group .admin-row-actions{grid-column:2/4;grid-row:2;justify-content:flex-end;padding-top:2px;flex-wrap:wrap}
  .product-category-group .admin-product-thumb{width:42px;height:42px;flex-basis:42px}
}

/* v6: un mismo vino puede publicarse por botella y por copa sin duplicarlo */
.glass-sale-fieldset{border-color:#d7cbbb;background:#fbf8f2}
.glass-sale-toggle{font-weight:750;margin-bottom:4px}
.glass-sale-fields{margin-top:14px}
.glass-sale-fields[hidden]{display:none!important}
.form-help--warning{color:#8a5d28;font-weight:650}
.product-sort-row--linked{background:#fbf8f2!important}
.linked-appearance-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;margin-right:5px;background:#efe4d5;color:#8b5d45;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:760px){.glass-sale-fields{grid-template-columns:1fr}.linked-appearance-badge{display:inline-flex;margin-bottom:2px}}
