/* Degusta Lugo · hoja de estilos. Los colores, letras, esquinas y ancho vienen de /tema.css (editable en Administración). */
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--f-body);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.05;letter-spacing:-.01em}
p{margin:0}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--wrap,1120px);margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}
.mono{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}

/* cabecera */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;min-height:60px}
.brand{text-decoration:none;color:inherit;display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;font:800 1.25rem var(--f-display);letter-spacing:-.02em;white-space:nowrap}
.brand svg{color:var(--accent)}
.brand em{font-style:normal;color:var(--accent)}
nav.main{display:flex;flex-wrap:wrap;gap:0 2px;flex:1;min-width:0;justify-content:flex-start}
nav.main a,nav.main .tt{background:none;border:0;border-bottom:2px solid transparent;padding:8px 7px;font-size:.95rem;font-weight:500;color:var(--ink-2);white-space:nowrap;text-decoration:none;display:inline-block}
nav.main a:hover,nav.main .tt:hover{color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
nav.main .adm{font-family:var(--f-mono);font-size:.78rem}

/* botones y campos */
.btn{display:inline-block;text-decoration:none;text-align:center;color:var(--ink);cursor:pointer;border:1px solid var(--ink);background:transparent;border-radius:var(--rad);padding:10px 16px;font-weight:600;line-height:1.2}
.btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink))}
.btn.danger{border-color:var(--accent);color:var(--accent)}
.btn.small{padding:6px 10px;font-size:.85rem}
.btn.link{border:0;padding:0;text-decoration:underline;font-weight:500;background:none;color:var(--accent)}
.btn.primary:hover{color:var(--on-accent)}
input[type=text],input[type=password],input[type=date],select,textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:10px 12px;min-width:0}
textarea{min-height:96px;resize:vertical}
label.f{display:grid;gap:6px;font-size:.85rem;font-weight:600;color:var(--ink-2)}
label.chk{display:flex;gap:8px;align-items:center;font-size:.95rem;color:var(--ink)}
.chip{display:inline-block;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:.88rem;font-weight:500}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.tag{display:inline-block;border:1px solid var(--line);border-radius:4px;padding:1px 7px;font:500 .7rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.tag.tapa{border-color:var(--moss);color:var(--moss)}
.tag.warn{border-color:var(--accent);color:var(--accent)}

/* página */
.page{padding-block:32px 64px}
.sec{margin-top:64px}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap;margin-bottom:20px}
.sec-head h2{font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:700}
.sec-head p{color:var(--ink-2);max-width:56ch}
h1.t{font-size:clamp(2rem,5vw,3.2rem);font-weight:800}
.lead{color:var(--ink-2);font-size:1.1rem;max-width:52ch;margin-top:14px}

/* héroe */
.hero.solo{grid-template-columns:1fr}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding-block:28px 12px}
.hero h1{font-size:clamp(3rem,9vw,6rem);font-weight:800;letter-spacing:-.035em;line-height:.9}
.hero h1 span{color:var(--accent);display:block}
.search{display:flex;gap:8px;margin-top:28px;max-width:520px}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.note{margin-top:16px}
.pasaporte{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:20px;transform:rotate(1.2deg)}
.pasaporte .grid-s{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.sello{width:100%;max-width:92px;aspect-ratio:1;justify-self:center}
.sello circle{fill:none;stroke:var(--line);stroke-width:2.5;stroke-dasharray:4 4}
.sello .in{stroke-width:1.2}
.sello text{fill:var(--line);font-family:var(--f-mono);font-size:11px;letter-spacing:.2em}
.sello .ini{font:800 30px var(--f-display);letter-spacing:0}
.sello.on circle{stroke:var(--accent);stroke-dasharray:none}
.sello.on text{fill:var(--accent)}
.muralla{height:20px;margin-top:40px;background:var(--wall);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='20'%3E%3Cpath d='M2 20V12a14 14 0 0 1 28 0V20Z'/%3E%3C/svg%3E") repeat-x bottom/32px 20px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='20'%3E%3Cpath d='M2 20V12a14 14 0 0 1 28 0V20Z'/%3E%3C/svg%3E") repeat-x bottom/32px 20px}

/* tarjetas de local */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);display:flex;flex-direction:column;min-width:0}
.card:hover{border-color:var(--accent)}
.plate{height:92px;background:var(--plate,var(--c1));position:relative;overflow:hidden;border-radius:calc(var(--rad) - 1px) calc(var(--rad) - 1px) 0 0}
.plate span{position:absolute;left:12px;top:10px;font:500 .72rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.plate b{position:absolute;right:12px;bottom:-22px;font:800 104px/1 var(--f-display);opacity:.14}
.plate.big{height:150px}
.cbody{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.meta{display:flex;justify-content:space-between;font:500 .75rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.card h3{font-size:1.3rem;font-weight:700}
.stretch{text-decoration:none;background:none;border:0;padding:0;text-align:left;font:inherit;letter-spacing:inherit;color:inherit}
.stretch::after{content:"";position:absolute;inset:0;border-radius:var(--rad)}
.plato{color:var(--ink-2);font-size:.92rem}
.foot{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.rate{font-weight:600;font-size:.9rem}
.rate small{font-weight:400;color:var(--ink-2)}

/* filtros */
.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:16px}
.filters .chk{padding-bottom:10px}
.count{margin-block:16px 12px}

/* ficha */
.back{margin-bottom:16px}
.ficha{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;margin-top:24px}
.ficha h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}
.dl dt{font:500 .75rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding-top:3px}
.dl dd{margin:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:20px;min-width:0}
.rev{padding-block:14px;border-bottom:1px solid var(--line)}
.rev:last-child{border-bottom:0}
.rev p{margin-top:6px}
.form{display:grid;gap:12px}

/* pasaporte */
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.slot{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:16px;display:grid;gap:8px;justify-items:center;text-align:center;min-width:0}
.slot .sello{max-width:110px}
.slot h3{font-size:1.1rem}
.prog{display:block;appearance:none;-webkit-appearance:none;width:100%;max-width:420px;height:10px;border:1px solid var(--ink);border-radius:999px;overflow:hidden;margin-top:12px;background:transparent;color:var(--accent)}
.prog::-webkit-progress-bar{background:transparent}
.prog::-webkit-progress-value{background:var(--accent)}
.prog::-moz-progress-bar{background:var(--accent)}

/* eventos */
.ev{display:grid;grid-template-columns:84px 1fr;gap:20px;padding-block:18px;border-top:1px solid var(--line)}
.ev:last-child{border-bottom:1px solid var(--line)}
.ev .d{font:800 2.6rem/1 var(--f-display);color:var(--accent)}
.ev h3{font-size:1.25rem}
.ev p{color:var(--ink-2);margin-top:4px;max-width:62ch}
.ev .row-m{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;margin-top:6px}

/* recetas */
details.rec{border-top:1px solid var(--line);padding-block:4px}
details.rec:last-of-type{border-bottom:1px solid var(--line)}
details.rec summary{cursor:pointer;padding-block:14px;display:flex;justify-content:space-between;gap:16px;align-items:baseline;list-style:none}
details.rec summary::-webkit-details-marker{display:none}
details.rec summary h3{font-size:1.35rem}
details.rec summary::after{content:"+";font:500 1.4rem var(--f-mono);color:var(--accent)}
details.rec[open] summary::after{content:"−"}
.rec-b{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;padding-bottom:20px}
.rec-b ul,.rec-b ol{margin:8px 0 0;padding-left:20px}
.rec-b li{margin-bottom:6px}
.prod{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}

/* administración */
.login{max-width:420px;margin-inline:auto}
.hint{border:1px dashed var(--line);border-radius:var(--rad);padding:10px 12px;font-size:.88rem;color:var(--ink-2)}
.adm-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-end}
.tabs{display:flex;gap:4px;margin-block:20px 24px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs a{text-decoration:none;display:inline-block;background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.adm-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.adm-split>*{min-width:0}
.row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-block:12px;border-bottom:1px solid var(--line)}
.row>div:first-child{min-width:0}
.row strong{display:block;overflow-wrap:anywhere}
.row .sub{color:var(--ink-2);font-size:.88rem}
.acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.summary{display:grid;gap:0;max-width:520px}
.summary div{display:flex;justify-content:space-between;padding-block:12px;border-bottom:1px solid var(--line)}
.summary b{font:700 1.4rem var(--f-display)}
.banner{border:1px solid var(--accent);color:var(--accent);border-radius:var(--rad);padding:10px 12px;margin-bottom:16px;font-size:.92rem}

/* estados */
.empty{border:1px dashed var(--line);border-radius:var(--rad);padding:28px;text-align:center;color:var(--ink-2);display:grid;gap:12px;justify-items:center}
footer.site{border-top:1px solid var(--line);padding-block:24px 40px;color:var(--ink-2);font-size:.9rem}
footer.site .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

@media (max-width:860px){
  nav.main{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  nav.main::-webkit-scrollbar{display:none}
  .hero{grid-template-columns:1fr;gap:32px}
  .pasaporte{transform:none}
  .filters{grid-template-columns:1fr 1fr}
  .filters .q{grid-column:1/-1}
  .ficha,.rec-b,.adm-split{grid-template-columns:1fr}
}
@media (max-width:520px){
  .bar{gap:10px}
  .ev{grid-template-columns:56px 1fr;gap:12px}
  .ev .d{font-size:2rem}
  .cols2{grid-template-columns:1fr}
  .search{flex-direction:column}
}
nav.main .tt-form{margin-left:auto;display:flex}
nav.main .tt{font-size:.78rem;cursor:pointer;font-family:var(--f-mono)}
.logo{display:block;width:auto;height:var(--logo-h,28px);max-width:200px;object-fit:contain}
.portada{margin-bottom:20px}.portada img{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:var(--rad)}
.prev{max-height:64px;max-width:240px;background:var(--surface);border:1px solid var(--line);padding:6px;border-radius:var(--rad)}
.ocio-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.ocio-card{background:color-mix(in srgb,var(--ink) 92%,var(--bg));color:var(--bg);border-radius:var(--rad);padding:20px;display:grid;gap:8px;align-content:start;min-width:0}
.ocio-card h3{font-size:1.4rem;color:var(--bg)}
.ocio-card .t1{display:flex;gap:8px;flex-wrap:wrap;font-size:.8rem;opacity:.8}
.ocio-card .t1 b{font-weight:700;opacity:1}
.ocio-card p{margin:0;opacity:.85;font-size:.92rem}
.ocio-card .ent{font-weight:700;font-size:.9rem}
.fcont{display:flex;gap:16px;flex-wrap:wrap}
fieldset.fs{border:1px solid var(--line);border-radius:var(--rad);padding:16px;display:grid;gap:12px;margin:0;min-width:0}
fieldset.fs legend{font:600 .8125rem var(--f-mono);padding-inline:6px;color:var(--ink-2)}
input[type=color]{width:100%;height:40px;padding:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad)}

/* ---- añadidos para la versión PHP (sin estilos en línea) ---- */
.skip:focus{position:static;width:auto;height:auto;clip:auto;display:block;padding:8px 16px;background:var(--ink);color:var(--bg)}
.plate.c1{--plate:var(--c1)}.plate.c2{--plate:var(--c2)}.plate.c3{--plate:var(--c3)}.plate.c4{--plate:var(--c4)}.plate.c5{--plate:var(--c5)}.plate.c6{--plate:var(--c6)}
.plate.big{border-radius:var(--rad)}
a.plano{color:inherit;text-decoration:none}a.plano:hover{color:var(--accent)}
.ocio-card h3 a{color:inherit;text-decoration:none}.ocio-card h3 a:hover{text-decoration:underline}
.ocio-card.grande{padding:28px}.ocio-card.grande h1{color:var(--bg);font-size:clamp(2rem,5vw,3.2rem);font-weight:800}
.lead-o{font-size:1.1rem;opacity:.9}
.dl-o{margin-top:12px}.dl-o dt{color:var(--bg);opacity:.7}
.sec-head.top{margin-top:0}
.sec-head.top .lead{margin-top:8px}
.sec-head .orden{min-width:180px}
.filters{grid-template-columns:2fr repeat(3,1fr) auto auto}
.ocio-f{grid-template-columns:repeat(2,minmax(0,1fr)) auto;max-width:640px}
.pas-n{margin-top:16px;font-weight:600}
.pasaporte .btn{margin-top:10px}
.premio{margin-top:16px;font-weight:600;color:var(--moss)}
.slots{margin-top:24px}
.vaciar{margin-top:20px}
.para-empezar{margin-top:20px}.para-empezar strong{font-size:1.15rem}
.sub-h{font-size:1.5rem;margin-top:40px}
.rate+.revs,.revs{margin-top:8px}
.ficha .rate{margin-top:6px}
.lado{display:grid;gap:16px;align-content:start}
.lado .panel dl+form{margin-top:16px}
.btn.full{width:100%}
.panel h3{font-size:1.2rem}
.prod-card h3{font-size:1.2rem}.prod-card .plato{margin-top:8px}
.rec-ficha{margin-top:32px}
.ev-ficha{border-bottom:1px solid var(--line)}
.ev-ficha h1{font-size:clamp(1.8rem,4vw,2.6rem)}
.search input[type=text]{flex:1}
.sm{font-size:.8125rem;color:var(--ink-2)}
.lnk{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-weight:500;cursor:pointer}
.back{display:inline-block;margin-bottom:16px}
.flash{border:1px solid var(--line);border-radius:var(--rad);padding:9px 12px;font-size:.9rem;margin-bottom:20px;background:var(--surface)}
.flash.ok{border-color:var(--moss);color:var(--moss)}
.flash.aviso{border-color:var(--accent);color:var(--accent)}
.err{color:var(--accent);font-weight:400}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bd{display:inline-block;border:1px solid var(--line);border-radius:4px;padding:0 6px;font-size:.75rem;font-weight:500;color:var(--ink-2);vertical-align:1px}
.bd.ok{border-color:var(--moss);color:var(--moss)}
.bd.pend{border-color:var(--accent);color:var(--accent)}
.acts-start{justify-content:flex-start}.acts-top{margin-top:28px}
.cab-lista{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 24px;flex-wrap:wrap;margin-bottom:12px}
.h2-linea{font-size:1.7rem;padding-bottom:10px;border-bottom:1px solid var(--ink);margin:24px 0 8px}
.form-admin{max-width:620px;margin-top:20px}
.checks{display:grid;gap:10px;align-content:end;padding-bottom:6px}
.row-top{align-items:flex-start}
.rv-texto{margin-top:6px;max-width:64ch}
.login-form{margin-top:24px}
.row form,.acts form{margin:0}
.btn.dark{background:var(--ink);color:var(--bg)}
.summary span{color:var(--ink-2)}
.adm-head .lead{margin-top:6px;font-size:1rem}
.site-form{max-width:720px}
.ancho-form{max-width:720px}
fieldset.fs.medio{margin-top:20px;max-width:720px}
.restaurar{margin-top:32px}
.muestra{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--rad);padding:14px;display:grid;gap:6px;justify-items:start}
.muestra a{color:var(--accent)}.muestra .m-sec{color:var(--moss);font-weight:600}
.muestra .m-btn{background:var(--accent);color:var(--on-accent,#fff);border-radius:var(--rad);padding:6px 12px;font-weight:600;font-size:.9rem}
.muestra[data-muestra-caja="claro"]{--on-accent:#FFFFFF}
.muestra[data-muestra-caja="oscuro"]{--on-accent:#1A0A0E}
@media (max-width:860px){.filters,.ocio-f{grid-template-columns:1fr 1fr}.ocio-f{max-width:none}}
@media (max-width:520px){nav.main .tt-form{margin-left:12px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
