/* ==========================================================================
   Panel de gestión · misma paleta y tipografía que la web, sin sus efectos.
   Móvil primero: el gestor lo usa desde el móvil, en el propio local.
   ========================================================================== */
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/bodoni-latin.0492c8615361.woff2") format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400 700;font-display:swap;src:url("../fonts/bodoni-italic-latin.3d6740166d53.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300 600;font-display:swap;src:url("../fonts/jost-latin.928f4210aa48.woff2") format("woff2")}

:root{
  --paper:#F4ECDD; --paper-2:#EADFCB; --card:#FBF7EF; --field:#FFFDF8;
  --ink:#2A1A12; --ink-soft:#6A5446; --ocra:#E6B143; --pomodoro:#B3361F; --basilico:#2F5D3A;
  --notte:#17110D; --side:#3B2418;
  --line:rgba(42,26,18,.14); --line-2:rgba(42,26,18,.28);
  --serif:"Bodoni Moda","Bodoni 72",Didot,Georgia,serif;
  --sans:"Jost","Futura","Avenir Next",system-ui,sans-serif;
  --g:clamp(16px,4.6vw,40px);
  --ease:cubic-bezier(.19,1,.22,1);
}

/* Transición entre pestañas: el contenido cambia con un fundido; la barra lateral no se mueve */
@view-transition{navigation:auto}
::view-transition-old(p-main){animation:p-out .16s ease both}
::view-transition-new(p-main){animation:p-in .42s var(--ease) both}
@keyframes p-in{from{opacity:0;transform:translateY(10px)}}
@keyframes p-out{to{opacity:0}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:130px}
body.p{margin:0;min-height:100vh;min-height:100dvh;background:var(--paper);color:var(--ink);font:400 1rem/1.55 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img,svg{display:block;max-width:100%}
p{margin:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--pomodoro);outline-offset:2px}
.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.p-skip{position:fixed;left:1rem;top:-4rem;z-index:100;padding:.7rem 1rem;background:var(--ink);color:var(--paper)}
.p-skip:focus{top:1rem}
.err{margin:0;color:var(--pomodoro);font-size:.85rem}
.up{color:var(--basilico)} .down{color:var(--pomodoro)}

/* ---------- Estructura ---------- */
.p-side{display:none}
.p-top{
  position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:60px;padding:env(safe-area-inset-top) var(--g) 0;background:var(--side);color:var(--paper);
}
.p-top__acts{display:flex;align-items:center;gap:.2rem}
.p-top__acts form{margin:0}
.p-icon{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:none;color:inherit;transition:background .3s}
.p-icon:hover{background:rgba(244,236,221,.1)}

.p-tabs{
  position:sticky;top:calc(60px + env(safe-area-inset-top));z-index:29;display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none;
  padding:.5rem var(--g);background:var(--paper);border-bottom:1px solid var(--line);
}
.p-tabs::-webkit-scrollbar{display:none}
.p-tabs a{flex:none;display:flex;align-items:center;gap:.45rem;min-height:44px;padding:0 1rem;border-radius:99px;font:500 .7rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);transition:background .35s,color .35s}
.p-tabs a .ico{width:16px;height:16px}
.p-tabs a.is-active{background:var(--ink);color:var(--paper)}

.p-main{width:100%;max-width:1180px;margin:0 auto;padding:1.6rem var(--g) 4rem;view-transition-name:p-main}
@supports not (view-transition-name:none){.p-main{animation:p-in .42s var(--ease) both}}

/* Logo (el mismo de la web) */
.p-logo{display:flex;flex-direction:column;line-height:1}
.p-logo__top{font:500 .6rem/1 var(--sans);letter-spacing:.42em;text-transform:uppercase}
.p-logo__main{font:italic 400 2.1rem/1 var(--serif);letter-spacing:-.02em;margin-top:.2rem}
.p-logo__flag{display:flex;gap:3px;margin-top:.5rem}
.p-logo__flag i{width:.7rem;height:2px}
.p-logo__flag i:nth-child(1){background:var(--basilico)} .p-logo__flag i:nth-child(2){background:var(--paper)} .p-logo__flag i:nth-child(3){background:var(--pomodoro)}
.p-logo__tag{align-self:flex-start;margin-top:.8rem;padding:.35rem .6rem;border-radius:99px;background:var(--ocra);color:var(--ink);font:500 .58rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.p-logo--sm{flex-direction:row;align-items:center;gap:.7rem;min-height:44px}
.p-logo--sm .p-logo__main{font-size:1.6rem;margin:0}
.p-logo--sm .p-logo__tag{margin:0}

@media (min-width:1024px){
  .p-shell{display:grid;grid-template-columns:272px minmax(0,1fr)}
  .p-top,.p-tabs{display:none}
  .p-side{
    display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;
    padding:2.2rem 1.4rem 1.4rem;background:var(--side);color:var(--paper);view-transition-name:p-side;
  }
  .p-main{padding:2.8rem 3rem 4rem}
}
.p-nav{display:grid;gap:.15rem;margin-top:2.6rem}
.p-nav a{position:relative;display:flex;align-items:center;gap:.85rem;min-height:48px;padding:0 1rem;color:rgba(244,236,221,.7);font:500 .76rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;transition:color .3s,background .3s}
.p-nav a::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:var(--ocra);transform:scaleY(0);transition:transform .45s var(--ease)}
.p-nav a:hover{color:var(--paper);background:rgba(244,236,221,.05)}
.p-nav a.is-active{color:var(--paper);background:rgba(244,236,221,.08)}
.p-nav a.is-active::before{transform:none}
.p-side__foot{margin-top:auto;display:grid;gap:.2rem;padding-top:2rem}
.p-side__foot form{margin:0}
.p-side__foot a,.p-side__foot button{display:flex;align-items:center;gap:.8rem;width:100%;min-height:44px;padding:0 1rem;border:0;background:none;color:rgba(244,236,221,.75);font:500 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-align:left;transition:color .3s}
.p-side__foot a:hover,.p-side__foot button:hover{color:var(--ocra)}
.p-demo{margin-top:1rem;padding:1rem 1rem 0;border-top:1px solid rgba(244,236,221,.14);font:italic 400 .98rem/1.4 var(--serif);color:rgba(244,236,221,.6)}

/* ---------- Cabecera de cada sección ---------- */
.p-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.2rem 2rem;margin-bottom:1.6rem}
.p-kicker{display:flex;align-items:center;gap:.7em;font:500 .68rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--pomodoro)}
.p-kicker::before{content:"";width:2rem;height:1px;background:currentColor}
.p-kicker a{display:inline-flex;align-items:center;min-height:44px;margin:-15px 0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .3s}
.p-kicker a:hover{text-decoration-color:currentColor}
.p-h1{margin:.7rem 0 0;font:400 clamp(2.1rem,8vw,3.4rem)/1 var(--serif);letter-spacing:-.025em;overflow-wrap:anywhere}
.p-h1 em{color:var(--pomodoro)}
.p-head__actions{display:flex;flex-wrap:wrap;gap:.5rem}
.p-hint{max-width:62ch;margin:-.4rem 0 1.4rem;color:var(--ink-soft);font-size:.95rem}
.p-hint b{color:var(--ink);font-weight:500}
.p-hint--in{margin:0 0 1rem}
.p-section-t{margin:0 0 .2rem;font:italic 400 1.5rem/1.1 var(--serif)}
.p-note{margin-top:1rem;font-size:.8rem;color:var(--ink-soft);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.p-note .dot{width:8px;height:8px;border-radius:2px;background:var(--ocra);margin-left:.4rem}
.p-note .dot:first-child{margin-left:0}
.p-note .dot--we{background:var(--pomodoro)}
.p-note--light{color:rgba(244,236,221,.55)}
.p-empty{padding:1.2rem;color:var(--ink-soft);font:italic 400 1.05rem/1.4 var(--serif);list-style:none}
.p-empty a{color:var(--pomodoro);font-style:normal;font-family:var(--sans);font-size:.9rem}

/* ---------- Botones ---------- */
.p-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:0 1.2rem;
  border:1px solid currentColor;border-radius:0;background:none;font:500 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;
  white-space:nowrap;transition:background .3s,color .3s,border-color .3s,transform .15s;
}
.p-btn:active{transform:scale(.97)}
.p-btn .ico{width:16px;height:16px}
.p-btn--ink{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.p-btn--ocra{background:var(--ocra);border-color:var(--ocra);color:var(--ink)}
.p-btn--line{border-color:var(--line-2);color:var(--ink)}
.p-btn--danger{border-color:rgba(179,54,31,.4);color:var(--pomodoro)}
.p-btn--sm{min-height:44px;padding:0 .85rem;font-size:.64rem}
.p-btn--block{width:100%}
@media (hover:hover){
  .p-btn--ink:hover{background:var(--pomodoro);border-color:var(--pomodoro)}
  .p-btn--ocra:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
  .p-btn--line:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
  .p-btn--danger:hover{background:var(--pomodoro);border-color:var(--pomodoro);color:var(--paper)}
}

/* ---------- Tarjetas y pastillas ---------- */
.p-card{min-width:0;padding:1.3rem;background:var(--card);border:1px solid var(--line)}
.p-card__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;margin-bottom:1.2rem}
.p-card__head h2{margin:0;font:italic 400 1.55rem/1.1 var(--serif)}
.p-card__head span{font:500 .64rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.p-card--dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.p-card--dark .p-card__head span{color:rgba(244,236,221,.55)}
.p-pill{display:inline-block;padding:.32rem .6rem;border-radius:99px;font:500 .58rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;vertical-align:middle;background:rgba(47,93,58,.12);color:var(--basilico)}
.p-pill--off{background:rgba(42,26,18,.08);color:var(--ink-soft)}
.p-pill--ocra{background:var(--ocra);color:var(--ink)}
.p-pill--light{background:rgba(244,236,221,.18);color:var(--paper)}

/* ---------- Resumen ---------- */
.p-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}
.p-stat{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:1.1rem;background:var(--card);border:1px solid var(--line);transition:border-color .3s,transform .4s var(--ease)}
.p-stat:hover{border-color:var(--ink);transform:translateY(-2px)}
.p-stat__lbl{font:500 .6rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.p-stat__num{font:400 2.5rem/1 var(--serif);font-variation-settings:"opsz" 28;letter-spacing:-.02em}
.p-stat__sub{font:italic 400 .95rem/1.3 var(--serif);color:var(--ink-soft)}
.p-stat__sub b{font:500 .82rem var(--sans);font-style:normal}
.p-stat--offer .p-stat__num{font-size:1.45rem;line-height:1.1}
.p-stat--offer em{color:var(--pomodoro)}
@media (min-width:900px){.p-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}

.p-grid2{display:grid;gap:1rem}
@media (min-width:900px){.p-grid2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}}

.p-bars{display:flex;align-items:flex-end;gap:4px;height:150px;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.p-bar{position:relative;flex:1;height:100%;display:flex;align-items:flex-end}
.p-bar i{display:block;width:100%;height:max(var(--h),2%);background:var(--ocra);transform-origin:bottom;animation:grow-y .9s var(--ease) both;animation-delay:calc(var(--n) * 35ms)}
.p-bar.is-we i{background:var(--pomodoro)}
.p-bar span{position:absolute;left:-4px;right:-4px;bottom:-1.35rem;text-align:center;font-size:.64rem;color:var(--ink-soft)}
@keyframes grow-y{from{transform:scaleY(0)}}
.p-mini{list-style:none;margin:1.1rem 0 0;padding:0}
.p-mini li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .7rem;padding:.65rem 0;border-top:1px dashed var(--line)}
.p-mini span{flex:1 1 12rem}
.p-mini b{font:400 1.4rem/1 var(--serif)}
.p-mini small{color:var(--ink-soft);font-size:.78rem}

.p-quick{display:grid}
.p-quick a{display:flex;align-items:center;gap:.9rem;min-height:64px;padding:.6rem 0;border-top:1px solid rgba(244,236,221,.12);transition:color .3s}
.p-quick a:first-child{border-top:0}
.p-quick a > span{flex:1;display:flex;flex-direction:column;font:500 .76rem/1.25 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.p-quick small{margin-top:.2rem;font:italic 400 .98rem/1.3 var(--serif);letter-spacing:0;text-transform:none;color:rgba(244,236,221,.6)}
.p-quick .ico:last-child{width:16px;height:16px;transition:transform .4s var(--ease)}
.p-quick a:hover{color:var(--ocra)}
.p-quick a:hover .ico:last-child{transform:translateX(4px)}

/* ---------- Carta ---------- */
.p-jump{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--g) * -1) 1.2rem;padding:0 var(--g)}
.p-jump::-webkit-scrollbar{display:none}
.p-jump a{flex:none;display:flex;align-items:center;gap:.45rem;min-height:44px;padding:0 1rem;border:1px solid var(--line);border-radius:99px;background:var(--card);font-size:.88rem;transition:border-color .3s}
.p-jump a:hover{border-color:var(--ink)}
.p-jump small{font-size:.7rem;color:var(--ink-soft)}

.p-cat{margin-bottom:1.2rem;background:var(--card);border:1px solid var(--line);scroll-margin-top:130px}
.p-cat__head{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}
.p-cat__img{width:54px;height:54px;object-fit:cover;flex:none}
.p-cat__t{flex:1 1 10rem;min-width:0}
.p-cat__t h2{margin:0;font:italic 400 1.75rem/1 var(--serif);overflow-wrap:anywhere}
.p-cat__t p{margin-top:.35rem;font-size:.84rem;color:var(--ink-soft)}
.p-cat__actions{display:flex;gap:.4rem}
.p-items{list-style:none;margin:0;padding:0}
.p-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.65rem 1.1rem;border-top:1px solid var(--line);transition:background .3s}
.p-item:first-child{border-top:0}
.p-item:hover{background:rgba(230,177,67,.07)}
.p-item__main{flex:1 1 15rem;min-width:0;display:flex;align-items:center;gap:.85rem;min-height:48px}
.p-item__main img,.p-item__ph{width:46px;height:46px;flex:none;object-fit:cover}
.p-item__ph{display:grid;place-items:center;background:var(--paper-2);font:italic 400 1.4rem/1 var(--serif);color:var(--ink-soft)}
.p-item__txt{flex:1;min-width:0;display:flex;flex-direction:column}
.p-item__txt b{font:400 1.12rem/1.25 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-item__txt small{font-size:.72rem;letter-spacing:.08em;color:var(--ink-soft)}
.p-item__price{font-weight:500;white-space:nowrap}
.p-item__acts{display:flex;align-items:center;gap:.4rem;margin-left:auto}
.p-item__acts form{margin:0}
.p-item.is-off .p-item__txt b,.p-item.is-off .p-item__price{color:var(--ink-soft);text-decoration:line-through;text-decoration-thickness:1px}
.p-item.is-off img{filter:grayscale(1);opacity:.6}
.p-toggle{display:inline-flex;align-items:center;gap:.5rem;min-width:8.4rem;min-height:44px;padding:0 1rem;border:1px solid var(--line-2);border-radius:99px;background:var(--field);font:500 .62rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);transition:background .3s,color .3s,border-color .3s}
.p-toggle i{width:8px;height:8px;border-radius:50%;background:#B9AB98;transition:background .3s}
.p-toggle.is-on{border-color:rgba(47,93,58,.4);color:var(--basilico)}
.p-toggle.is-on i{background:var(--basilico)}
.p-star{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;background:var(--field);color:#C9BCA8;transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
.p-star svg{width:18px;height:18px;fill:currentColor}
.p-star.is-on{color:var(--ocra);border-color:var(--ocra);background:rgba(230,177,67,.14)}
.p-star:active{transform:scale(.9) rotate(-12deg)}

/* ---------- Formularios ---------- */
.p-form__grid{display:grid;gap:1rem}
@media (min-width:960px){
  .p-form__grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}
  .p-form__side{position:sticky;top:2rem}
}
.p-fields{display:grid;gap:1.15rem;align-content:start}
.p-row2{display:grid;gap:1.15rem}
@media (min-width:560px){.p-row2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.p-field{display:grid;gap:.45rem;min-width:0;margin:0;padding:0;border:0}
.p-field > label,.p-field > legend,.p-label{padding:0;font:500 .64rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.p-field input:not([type=checkbox]):not([type=file]),.p-field select,.p-field textarea{
  width:100%;min-height:48px;padding:.7rem .9rem;border:1px solid var(--line-2);border-radius:0;background:var(--field);
  font-size:1rem;line-height:1.4;-webkit-appearance:none;appearance:none;transition:border-color .25s,box-shadow .25s;
}
.p-field textarea{resize:vertical}
.p-field select{padding-right:2.6rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A1A12' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:18px}
.p-field input:focus,.p-field select:focus,.p-field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(230,177,67,.35)}
.p-field .help,small.help{font-size:.8rem;line-height:1.4;color:var(--ink-soft)}
.has-error input,.has-error select,.has-error textarea{border-color:var(--pomodoro)!important}

.p-switches{display:grid}
@media (min-width:560px){.p-switches--2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}}
.p-switch{position:relative;display:flex;align-items:center;gap:.85rem;min-height:50px;cursor:pointer}
.p-switch input{position:absolute;opacity:0;width:1px;height:1px}
.p-switch__ui{position:relative;flex:none;width:46px;height:28px;border-radius:99px;background:#D9CDBA;transition:background .3s}
.p-switch__ui::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(23,17,13,.25);transition:transform .4s var(--ease)}
.p-switch input:checked + .p-switch__ui{background:var(--basilico)}
.p-switch input:checked + .p-switch__ui::after{transform:translateX(18px)}
.p-switch input:focus-visible + .p-switch__ui{outline:2px solid var(--pomodoro);outline-offset:2px}
.p-switch__txt{display:flex;flex-direction:column;font-size:.96rem;line-height:1.3}
.p-switch__txt small{font-size:.78rem;color:var(--ink-soft)}

.p-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.p-chip{position:relative}
.p-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.p-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 .95rem;border:1px solid var(--line-2);border-radius:99px;background:var(--field);font-size:.9rem;transition:background .25s,color .25s,border-color .25s}
.p-chip input:checked + span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.p-chip input:focus-visible + span{outline:2px solid var(--pomodoro);outline-offset:2px}

.p-drop{position:relative;display:grid;place-items:center;min-height:180px;padding:1rem;border:1px dashed var(--line-2);background:var(--field);text-align:center;cursor:pointer;overflow:hidden;transition:border-color .3s}
.p-drop:hover{border-color:var(--ink)}
.p-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.p-drop img{width:100%;height:100%;max-height:300px;object-fit:cover}
.p-drop__txt{font:500 .66rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.p-drop.has-img{padding:0}
.p-drop.has-img .p-drop__txt{position:absolute;left:.7rem;bottom:.7rem;max-width:calc(100% - 1.4rem);padding:.5rem .7rem;background:var(--paper);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.p-savebar{
  position:sticky;bottom:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  margin:1.2rem calc(var(--g) * -1) 0;padding:.8rem var(--g) calc(.8rem + env(safe-area-inset-bottom));
  background:var(--paper);border-top:1px solid var(--line);
}
.p-savebar .p-btn--danger{margin-left:auto}
@media (max-width:420px){.p-savebar .p-btn{flex:1 1 auto}.p-savebar .p-btn--danger{margin-left:0}}
@media (min-width:1024px){.p-savebar{position:static;margin:1.4rem 0 0;padding:1.2rem 0 0;background:none}}

/* ---------- Avisos ---------- */
.p-toasts{position:fixed;left:50%;top:calc(env(safe-area-inset-top) + 12px);z-index:60;display:grid;gap:.5rem;width:min(calc(100vw - 32px),440px);transform:translateX(-50%)}
.p-toast{padding:.95rem 1.1rem;background:var(--ink);color:var(--paper);border-left:3px solid var(--basilico);box-shadow:0 18px 40px -18px rgba(23,17,13,.75);font-size:.93rem;animation:toast-in .5s var(--ease) both;transition:opacity .45s,transform .45s}
.p-toast--error{border-left-color:var(--pomodoro)}
.p-toast.is-out{opacity:0;transform:translateY(-10px)}
@keyframes toast-in{from{opacity:0;transform:translateY(-14px)}}
@media (min-width:1024px){.p-toasts{left:auto;right:2rem;top:1.6rem;transform:none}}

/* ---------- Ofertas ---------- */
.p-offers{display:grid;gap:1rem}
@media (min-width:760px){.p-offers{grid-template-columns:repeat(2,minmax(0,1fr))}}
.p-offer{display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line)}
.p-offer__top{position:relative;display:flex;align-items:center;gap:1rem;padding:1.2rem 1.1rem;background:var(--pomodoro);color:var(--paper)}
.p-offer__img{width:80px;height:80px;flex:none;border-radius:50%;object-fit:cover;border:2px solid rgba(244,236,221,.4)}
.p-offer__top > div{min-width:0;padding-right:3.4rem}
.p-offer__t{margin:.55rem 0 0;font:400 1.55rem/1.05 var(--serif);overflow-wrap:anywhere}
.p-offer__t em{color:var(--ocra)}
.p-offer__sticker{position:absolute;right:1rem;top:1rem;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ocra);color:var(--ink);font:italic 400 1.1rem/1 var(--serif);transform:rotate(-10deg)}
.p-offer.is-off .p-offer__top{background:#8D7E72}
.p-offer__body{display:grid;gap:.7rem;padding:1rem 1.1rem;font-size:.92rem;color:var(--ink-soft)}
.p-meta{display:flex;flex-wrap:wrap;gap:.3rem 1.6rem;margin:0}
.p-meta dt{font:500 .58rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.p-meta dd{margin:.2rem 0 0;font:400 1.1rem/1.2 var(--serif);color:var(--ink)}
.p-offer__acts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding:0 1.1rem 1.1rem}
.p-offer__acts form{margin:0}

/* ---------- Galería ---------- */
.p-upload{display:grid;gap:1rem;margin-bottom:1.4rem}
@media (min-width:760px){.p-upload{grid-template-columns:280px minmax(0,1fr);align-items:start}}
.p-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
@media (min-width:760px){.p-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.p-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
.p-photo{display:flex;flex-direction:column;min-width:0;margin:0;background:var(--card);border:1px solid var(--line);scroll-margin-top:130px}
.p-photo img{width:100%;aspect-ratio:1;object-fit:cover}
.p-photo__cap{display:flex;margin:0;border-top:1px solid var(--line)}
.p-photo__cap input{flex:1;min-width:0;min-height:46px;padding:0 .7rem;border:0;background:none;font:italic 400 1rem var(--serif)}
.p-photo__cap input:focus{outline:none;background:var(--field)}
.p-photo__cap button,.p-photo__acts button{display:grid;place-items:center;min-width:46px;min-height:46px;border:0;background:none;color:var(--ink-soft);transition:background .3s,color .3s}
.p-photo__cap button:hover,.p-photo__acts button:hover{background:var(--paper-2);color:var(--ink)}
.p-photo__acts{display:flex;border-top:1px solid var(--line)}
.p-photo__acts form{flex:1;margin:0}
.p-photo__acts form + form{border-left:1px solid var(--line)}
.p-photo__acts button{width:100%}
.p-photo__acts button:disabled{opacity:.3;cursor:default;background:none}
.p-photo__acts .is-danger:hover{background:var(--pomodoro);color:var(--paper)}

/* ---------- Horario ---------- */
.p-hours{display:grid}
.p-hour{display:grid;gap:.6rem;padding:.9rem 0;border-top:1px solid var(--line)}
.p-hour__day{font:400 1.2rem/1 var(--serif)}
.p-hour__slots{display:grid;gap:.6rem}
.p-slot{display:grid;gap:.3rem}
.p-slot__lbl{font:500 .58rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.p-slot__in{display:flex;align-items:center;gap:.4rem}
.p-slot__in input{flex:1;min-width:0;min-height:46px;padding:.4rem .5rem;border:1px solid var(--line-2);background:var(--field);border-radius:0;font-size:1rem}
.p-slot__in input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(230,177,67,.35)}
.p-slot__in span{color:var(--ink-soft)}
@media (min-width:520px){.p-hour__slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Página de horario: columnas iguales, que los campos de hora nativos no encogen bien */
@media (min-width:960px){.p-form__grid--even{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- QR ---------- */
.p-qrform{display:grid;gap:1rem;margin-bottom:1.4rem}
.p-qrform__grid{display:grid;gap:1rem}
@media (min-width:760px){.p-qrform__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-qrform .p-btn{justify-self:start}}
.p-qrs{display:grid;gap:1rem}
@media (min-width:860px){.p-qrs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.p-qr{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1rem;min-width:0;padding:1.1rem;background:var(--card);border:1px solid var(--line);scroll-margin-top:130px}
.p-qr__img{align-self:start;padding:4px;background:#fff;border:1px solid var(--line)}
.p-qr__img svg{width:100%;height:auto}
.p-qr h3{margin:0;font:italic 400 1.35rem/1.1 var(--serif);overflow-wrap:anywhere}
.p-qr__dest{margin-top:.4rem;font-size:.84rem;color:var(--ink-soft)}
.p-qr__dest b{font-weight:500;color:var(--ink)}
.p-qr__stats{display:flex;gap:1.5rem;margin-top:.8rem}
.p-qr__stats b{display:block;font:400 1.7rem/1 var(--serif)}
.p-qr__stats small{font:500 .58rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.p-qr__acts{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.4rem}
.p-qr__acts form{margin:0 0 0 auto}
@media (max-width:400px){.p-qr{grid-template-columns:88px minmax(0,1fr)}}

/* ---------- Impresos ---------- */
.p-prints{display:grid;gap:1rem}
@media (min-width:980px){.p-prints{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}
.p-print{display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line)}
.p-print__pv{display:grid;place-items:center;height:220px;background:var(--paper-2);border-bottom:1px solid var(--line);overflow:hidden}
.p-print__body{display:grid;gap:.5rem;padding:1.1rem}
.p-print__body h2{margin:0;font:italic 400 1.6rem/1.1 var(--serif)}
.p-print__body p{color:var(--ink-soft);font-size:.92rem}
.p-print__acts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding:0 1.1rem 1.1rem}
.p-flyers{list-style:none;margin:.6rem 0 0;padding:0}
.p-flyers li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.6rem 0;border-top:1px solid var(--line)}
.p-flyers li > span{flex:1 1 100%;font:400 1.1rem/1.2 var(--serif)}
.p-flyers em{color:var(--pomodoro)}
.p-flyers small{font:400 .78rem var(--sans);color:var(--ink-soft)}

/* Miniaturas dibujadas con CSS (no hace falta generar el PDF para enseñarlas) */
.mock{position:relative;width:112px;height:158px;padding:14px 12px;box-shadow:0 20px 30px -16px rgba(23,17,13,.55);transform:rotate(-4deg);transition:transform .6s var(--ease)}
.p-print:hover .mock{transform:rotate(0) translateY(-4px)}
.mock b{display:block;font:italic 400 1.1rem/1 var(--serif)}
.mock i{display:block;height:3px;margin-top:7px;background:rgba(42,26,18,.2)}
.mock i.s{width:60%;background:rgba(179,54,31,.5)}
.mock--carta{background:#F7F1E6}
.mock--mesa{display:flex;flex-direction:column;align-items:center;background:#F7F1E6}
.mock--mesa .qr{width:62px;height:62px;margin:12px 0 8px;background:
  linear-gradient(90deg,var(--ink) 50%,transparent 0) 0 0/12px 12px,
  linear-gradient(var(--ink) 50%,transparent 0) 0 0/12px 12px,#fff;opacity:.85;outline:4px solid #fff}
.mock--mesa i.s{width:70%}
.mock--flyer{overflow:hidden;background:var(--pomodoro);color:var(--paper)}
.mock--flyer .c{position:absolute;right:-26px;top:18px;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#E9B865,#9C4A1D 60%,#5E2A12)}
.mock--flyer .st{position:absolute;left:14px;top:26px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ocra);color:var(--ink);font:italic 400 .7rem var(--serif)}
.mock--flyer b{position:absolute;left:12px;top:92px;font-size:.95rem;font-style:normal}
.mock--flyer em{position:absolute;left:12px;top:108px;font:italic 400 .85rem var(--serif);color:var(--ocra)}
.mock--flyer .band{position:absolute;left:0;right:0;bottom:0;height:24px;background:var(--paper);border-top:2px solid var(--ocra)}

/* ---------- Entrar ---------- */
.p-login{display:grid;min-height:100vh;min-height:100dvh}
.p-login__art{
  position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;min-height:36vh;
  padding:calc(env(safe-area-inset-top) + 1.4rem) var(--g) 1.6rem;background:var(--notte) center/cover no-repeat;color:var(--paper);
}
.p-login__art::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(23,17,13,.9),rgba(23,17,13,.25) 70%)}
.p-logo--xl .p-logo__main{font-size:clamp(2.8rem,12vw,5rem);color:var(--ocra)}
.p-login__claim{max-width:26ch;font:italic 400 clamp(1.1rem,4.4vw,1.45rem)/1.4 var(--serif);color:rgba(244,236,221,.88)}
.p-login__box{display:grid;align-content:center;gap:1.4rem;width:100%;max-width:470px;margin:0 auto;padding:2rem var(--g) 3rem}
.p-demo-card{display:grid;gap:1rem;margin:0;padding:1.4rem;background:var(--ink);color:var(--paper)}
.p-demo-card p{font:italic 400 1.1rem/1.45 var(--serif);color:rgba(244,236,221,.9)}
.p-demo-card small{font-size:.8rem;color:rgba(244,236,221,.6)}
.p-demo-card b{color:var(--ocra);font-weight:500}
.p-login__form{border-top:1px solid var(--line)}
.p-login__form summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;cursor:pointer;list-style:none;font:500 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.p-login__form summary::-webkit-details-marker{display:none}
.p-login__form summary::after{content:"+";font:300 1.5rem/1 var(--sans);transition:transform .4s var(--ease)}
.p-login__form[open] summary::after{transform:rotate(45deg)}
.p-login__form form{padding-bottom:.5rem}
.p-back{justify-self:start;display:inline-flex;align-items:center;min-height:44px;font-size:.9rem;color:var(--ink-soft)}
@media (min-width:900px){
  .p-login{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .p-login__art{min-height:100dvh;padding:3rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
