/* Editor guiado de la carta. Propietario: agente «editor guiado». Solo usa las variables de site.css. */

/* ---- Utilidades ---- */
.js-only{display:none}
.js .js-only{display:revert}
.bd-muted{color:var(--c-muted);font-size:var(--fs-sm)}
.bd-sm{min-height:var(--hit);padding:0 var(--sp-3);font-size:var(--fs-sm)}
.bd-big{min-height:3.5rem;font-size:var(--fs-md);width:100%}
@media (min-width:40rem){.bd-big{width:auto;padding:0 var(--sp-6)}}
.bd-warn{background:var(--c-warn-bg);color:var(--c-warn-ink)}
.grow{flex:1 1 12rem;min-width:0}
.bd kbd{font:600 var(--fs-xs) var(--f-sans);border:1px solid var(--c-line-strong);border-bottom-width:2px;border-radius:var(--r-sm);padding:0 .35rem;background:var(--c-surface)}

/* ---- Chips ---- */
.chip{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:var(--hit);padding:0 var(--sp-4);border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font:600 var(--fs-sm) var(--f-sans);cursor:pointer;text-decoration:none}
.chip:hover{background:var(--c-accent-soft);color:var(--c-on-accent-soft)}
.bd-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}
.js .bd-chips.js-only{display:flex}

/* ---- Estructura: editor a la izquierda y móvil a la derecha ---- */
.bd-split{display:grid;gap:var(--sp-5)}
.bd-editpane,.bd-viewpane{min-width:0}
.bd-tabs{display:none;gap:var(--sp-2);position:sticky;top:0;z-index:6;background:var(--c-bg);padding:var(--sp-2) 0;margin-bottom:var(--sp-3);border-bottom:1px solid var(--c-line)}
.js .bd-tabs{display:flex}
.bd-tabs button{flex:1;min-height:3rem;border:2px solid var(--c-ink);background:var(--c-surface);color:var(--c-ink);border-radius:var(--r-md);font:700 var(--fs-base) var(--f-sans);cursor:pointer}
.bd-tabs button[aria-selected=true]{background:var(--c-ink);color:var(--c-bg)}
@media (max-width:63.999rem){
  .js .bd[data-pane=edit] .bd-viewpane{display:none}
  .js .bd[data-pane=view] .bd-editpane{display:none}
}
@media (min-width:64rem){
  .bd-split{grid-template-columns:minmax(0,1fr) 23.5rem;align-items:start}
  .bd-viewpane{position:sticky;top:var(--sp-3)}
  .js .bd-tabs{display:none}
}

/* ---- Marco de móvil con la vista previa ---- */
.bd-view-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-1) var(--sp-3);margin:0 0 var(--sp-2);max-width:none}
.bd-view-note{text-align:center;margin:var(--sp-2) 0 0}
.phone{width:min(100%,22.5rem);margin:0 auto;border:.6rem solid var(--c-ink);border-radius:2.25rem;background:var(--c-ink);box-shadow:0 .5rem 1.5rem rgba(3,44,76,.25)}
.phone-screen{background:var(--c-bg);border-radius:1.6rem;height:min(44rem,calc(100vh - 9rem));min-height:24rem;overflow:auto;overscroll-behavior:contain}
.phone-screen .menu{padding-bottom:var(--sp-5)}
.phone-screen .menu-head{padding-top:var(--sp-4)}
.phone-screen .menu-head h1{font-size:var(--fs-lg)}
@media (max-width:63.999rem){.phone-screen{height:min(40rem,calc(100vh - 11rem))}}

/* ---- Editor ---- */
.bd-banner{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);align-items:center;justify-content:space-between;background:var(--c-surface-2);border:1px solid var(--c-line-strong);border-left:6px solid var(--c-accent);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3)}
.bd-banner p{margin:0;max-width:none}
.bd-count{margin:0 0 var(--sp-2);color:var(--c-muted);font-size:var(--fs-sm)}
.bd-nextline{margin:0 0 var(--sp-3);font-size:var(--fs-sm)}
.bd-howto{margin-bottom:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:0 var(--sp-4)}
.bd-howto summary{min-height:var(--hit);display:flex;align-items:center;cursor:pointer;font-weight:600}
.bd-howto ul{margin:0 0 var(--sp-3);padding-left:1.2rem}
.bd-howto li{margin-bottom:var(--sp-1)}
.bd-first{border:2px dashed var(--c-accent);background:var(--c-accent-soft);color:var(--c-on-accent-soft)}
.bd-first h2{color:var(--c-on-accent-soft)}
.bd-help{background:var(--c-accent-soft);color:var(--c-on-accent-soft);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4)}
.bd-help-title{font-weight:700;margin:0 0 var(--sp-1)}

.bd-section{padding:var(--sp-4)}
@media (min-width:40rem){.bd-section{padding:var(--sp-5)}}
.bd-sechead{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-2);border-bottom:2px solid var(--c-ink);padding-bottom:var(--sp-2)}
.bd-secname{flex:1 1 12rem;display:flex;gap:var(--sp-2);align-items:center;margin:0;min-width:0}
.bd-sectitle{font:800 var(--fs-lg)/1.2 var(--f-sans)!important;letter-spacing:-.02em}
.bd-secmore{margin-left:auto}
.bd-empty{background:var(--c-surface-2);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin:var(--sp-3) 0}

/* Campos que parecen texto hasta que los tocas */
.bd-inline{display:block;width:100%;min-height:var(--hit);padding:.4rem .5rem;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:inherit;font:inherit;resize:none;overflow:hidden}
.bd-inline:hover{border-color:var(--c-line-strong);background:var(--c-surface)}
.bd-inline:focus{border-color:var(--c-focus);background:var(--c-surface)}
.bd-inline::placeholder{color:var(--c-muted);font-style:italic}
.bd-name{font-weight:700}
.bd-desc{font-size:var(--fs-sm);color:var(--c-ink-2);min-height:2.5rem}
.bd-price{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.bd-line{display:flex;gap:var(--sp-2);align-items:center}
.bd-grow{flex:1 1 auto;min-width:0}
.bd-pricebox{display:flex;align-items:center;flex:0 0 auto;width:7.5rem}
.bd-eur{padding-left:.15rem;font-weight:600}
.bd-save{display:inline-flex;min-height:var(--hit);padding:0 var(--sp-3);font-size:var(--fs-sm);margin-top:var(--sp-1)}
.js .bd-save{display:none}
.js form.is-dirty .bd-save{display:inline-flex}
.bd-secname .bd-save{margin-top:0}

/* Tarjeta de producto */
.bd-dish{border-top:1px solid var(--c-line);padding:var(--sp-3) 0}
.bd-dishes .bd-dish:first-child{border-top:0}
.bd-dish.is-hidden .bd-edit{opacity:.65}
.bd-edit{margin:0}
.bd-variants{list-style:none;margin:var(--sp-1) 0;padding:0 0 0 var(--sp-3);border-left:3px solid var(--c-line)}
.bd-vrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);margin:0}
.bd-vname{flex:1 1 7rem;font-weight:600}
.bd-vrow .bd-price{width:6rem}
.bd-badges{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-2);margin:var(--sp-1) 0 var(--sp-2)}
.bd-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}
.bd-actions form{margin:0}
.bd-move{display:inline-flex;gap:var(--sp-1)}
.bd-icon{display:inline-flex;align-items:center;justify-content:center;min-width:var(--hit);min-height:var(--hit);border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-ink);border-radius:var(--r-md);font:inherit;cursor:pointer}
.bd-icon:hover:not(:disabled){background:var(--c-accent-soft)}
.bd-icon:disabled{opacity:.35;cursor:not-allowed}
.bd-del{color:var(--c-danger);border-color:var(--c-danger)}
.bd-more summary,.bd-var summary{cursor:pointer;list-style:none}
.bd-more summary::-webkit-details-marker,.bd-var summary::-webkit-details-marker{display:none}
.bd-more[open]{flex-basis:100%}
.bd-more-body{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-3);background:var(--c-surface-2);border-radius:var(--r-md)}
.bd-more-body form{margin:0}
.bd-more-body .field{margin-bottom:var(--sp-2)}
.bd-more-body .hint{flex-basis:100%;margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--c-muted)}
.bd-var{margin-top:var(--sp-2)}
.bd-var summary{display:flex;align-items:center;min-height:var(--hit);color:var(--c-accent);font-weight:600}
.bd-varform{display:grid;gap:var(--sp-2) var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));align-items:end;padding:var(--sp-3);background:var(--c-surface-2);border-radius:var(--r-md)}
.bd-varform .field{margin:0}
.bd-varform .bd-chips{grid-column:1/-1;margin:0}
.bd-algpanel{margin-top:var(--sp-3)}

/* Alta rápida y nueva sección */
.bd-quick{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:2px dashed var(--c-line-strong)}
.bd-quick-label{display:block;font-weight:700;margin-bottom:var(--sp-1)}
.bd-quick-row{display:flex;gap:var(--sp-2);align-items:flex-start;flex-wrap:wrap}
.bd-quick-row textarea,.bd-quick-row input{flex:1 1 12rem;min-width:0;min-height:3rem;width:100%}
.bd-quick-row .btn{flex:0 0 auto}
.bd-quick .hint,.bd-addsec .hint{color:var(--c-muted);font-size:var(--fs-sm);margin:var(--sp-1) 0 0}
.bd-addsec h2{font-size:var(--fs-lg)}

/* Avisos */
.bd-status,.bd-error{margin:0;max-width:none}
.bd-status:not(.is-on),.bd-error:not(.is-on){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bd-status.is-on,.bd-error.is-on{position:fixed;left:var(--gutter);right:var(--gutter);bottom:var(--sp-4);z-index:30;max-width:30rem;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-weight:600;box-shadow:0 .25rem 1rem rgba(3,44,76,.3)}
.bd-status.is-on{background:var(--c-ink);color:var(--c-bg)}
.bd-error.is-on{background:var(--c-danger);color:#fff}

/* ---- Alérgenos guiados ---- */
.alg-grid{list-style:none;margin:0 0 var(--sp-3);padding:0;display:grid;gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}
.alg-item{position:relative;display:flex;flex-direction:column;gap:var(--sp-1)}
.alg-check{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.alg-chip{width:100%;justify-content:flex-start}
.alg-check:focus-visible + .alg-chip{outline:3px solid var(--c-focus);outline-offset:2px}
.alg-check:checked + .alg-chip{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}
.alg-check:checked + .alg-chip::before{content:"✓"}
.alg-item select,.alg-item .alg-detail{display:none;width:100%;min-height:var(--hit)}
.alg-check:checked ~ select,.alg-check:checked ~ .alg-detail{display:block}
.alg-confirm{border:2px solid var(--c-accent);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);background:var(--c-accent-soft);color:var(--c-on-accent-soft);margin:var(--sp-4) 0}
.alg-confirm .hint,.alg-confirm p{color:var(--c-on-accent-soft);font-size:var(--fs-sm)}
.alg-confirm .check{margin-bottom:var(--sp-1)}
.alg{background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-md);padding:var(--sp-4)}
.bd-ficha .alg{border:0;padding:0;background:none}

/* ---- Resumen con pasos ---- */
.bd-steps{list-style:none;margin:0 0 var(--sp-4);padding:0;display:grid;gap:var(--sp-2)}
.bd-steps li{display:grid;grid-template-columns:2.5rem 1fr;gap:var(--sp-3);align-items:start;padding:var(--sp-3);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface)}
.bd-steps li.is-next{border:2px solid var(--c-accent);background:var(--c-accent-soft)}
.bd-stepn{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--c-surface-2);border:1px solid var(--c-line-strong);font-weight:700}
.bd-steps li.is-done .bd-stepn{background:var(--c-success);border-color:var(--c-success);color:#fff}
.bd-steps li.is-next .bd-stepn{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}
.bd-steptxt .badge{margin-left:var(--sp-2)}

/* ---- Asistente de alta ---- */
.wz-steps{display:flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none;margin:0 0 var(--sp-4);padding:0}
.wz-steps li{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:2.25rem;padding:0 var(--sp-3);border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink-2);font-size:var(--fs-sm)}
.wz-steps li[aria-current=step]{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink);font-weight:700}
.wz-steps li.is-done{background:var(--c-accent-soft);color:var(--c-on-accent-soft)}
.wz-n{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;border:1px solid currentColor;font-size:var(--fs-xs);font-weight:700}
.wz-types{border:0;padding:0;margin:0 0 var(--sp-4);display:grid;gap:var(--sp-2)}
.wz-types legend{margin-bottom:var(--sp-2);padding:0}
.wz-type{display:flex;gap:var(--sp-3);align-items:center;min-height:3.25rem;padding:var(--sp-2) var(--sp-3);border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);cursor:pointer}
.wz-type:has(input:checked){border-color:var(--c-accent);border-width:2px;background:var(--c-accent-soft)}
.wz-type input{width:1.25rem;height:1.25rem;accent-color:var(--c-accent)}
.wz-secs{border:0;padding:0;margin:0 0 var(--sp-3);display:grid;gap:var(--sp-1)}
.wz-sec{min-height:var(--hit);align-items:center;margin:0;font-weight:600}

/* ---- Ficha ---- */
.bd-ficha{display:grid;gap:var(--sp-2);max-width:46rem}
.bd-vrow-ficha{margin-bottom:var(--sp-2)}

/* El titular del local en la vista previa (en MenuView es un h1; aqui un bloque con el mismo aspecto). */
.bd-h1{font-family:var(--f-serif);font-weight:600;letter-spacing:-.015em;line-height:1.12;margin:0 0 var(--sp-3);font-size:var(--fs-xl)}
.phone-screen .menu-head .bd-h1{font-size:var(--fs-lg)}

.chip.alg-chip{border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-3);line-height:1.3;text-align:left;align-items:center}
