:root{--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)} /* 2c-F1 / R3: una sola fuente por safe-area */
/* Fudi fiel07 — estética Paper 07 night. Geometría restaurada desde JSX original (8YM-0/A5U-0):
   foto 160px con nombre DEBAJO (no superpuesto), pill Archivo 13px/800 top:129px right:7px,
   tabs contenedor #202D35 radius 11 / activo #3A4C57 radius 8 con divisor 1px #354750,
   logo Manrope 30/800 letterSpacing -0.075em, nav #202D35 solo iconos SVG, chips radius 20.
   DM Sans (chips del JSX) se sustituye por Figtree (misma familia de la app) — documentado en RESULTADO. */
:root{
  --bg:#141D23; --card:#202D35; --text:#ECF0F2; --muted:#A7BAC5; --muted2:#6F8290; --line:#354750;
  --accent:#F0A986; --pill:#141D23E0; --active:#3A4C57;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}
html,body{background:var(--bg);color:var(--text);font-family:"Figtree",system-ui,sans-serif;font-size:14px;line-height:17px}
a{color:inherit;text-decoration:none}
img{display:block}
input,textarea,select,button{font:inherit;color:inherit;background:none;border:none;outline:none}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.mono{font-family:"Archivo",system-ui,sans-serif}
.screen{max-width:390px;margin:0 auto;min-height:844px;position:relative;padding-bottom:104px;background:var(--bg);overflow:clip}
@media(min-width:700px){.screen{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
/* R3 (pulido-2): sin barra de estado falsa; arriba solo la safe-area real (notch/isla) + aire */
.topsafe{height:calc(var(--safe-t) + 12px);flex-shrink:0}
/* cabecera home: logo füdi + selector Caracas | campana + lupa extremo derecho */
.homehead{display:flex;align-items:center;justify-content:space-between;padding:0 20px 0;gap:8px}
/* R3 (pulido-2): el logo ocupa el espacio de la barra falsa: 40px (36 a ≤340) */
.logo{font-family:"Manrope",system-ui,sans-serif;font-size:32px;font-weight:800;letter-spacing:-0.075em;line-height:36px;color:var(--text)}
.homehead .logo{font-size:40px;line-height:44px;margin-right:4px}
.topsafe+.homehead{padding-bottom:6px}
/* R3: ciudad/zona compactas, sin borde/caja; hit-area 44 conservada */
.citybtn{font-family:"Figtree",system-ui,sans-serif;font-size:14px;font-weight:600;color:var(--muted);min-height:44px;padding:4px 4px;border-radius:8px;border:none;display:flex;align-items:center;gap:4px;white-space:nowrap}
.icobtn{position:relative;display:inline-flex;flex-shrink:0;width:44px;height:44px;align-items:center;justify-content:center}
.icobtn .dot{position:absolute;right:2px;top:1px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
/* tabs: contenedor #202D35 radius 11 pad 3; activo #3A4C57 radius 8; divisor 1x16 #354750 (JSX 925/92E) */
/* R3: tabs compactos — cuerpo visual 32px vía ::before, hit-area 44px intacta (aislada con z-index:0) */
.tabs{display:flex;align-items:center;background:var(--card);border-radius:11px;padding:2px;margin:6px 20px 0}
.tab{flex:1;display:flex;justify-content:center;align-items:center;min-height:44px;padding:5px 0;position:relative;z-index:0;font-size:14px;font-weight:600;color:var(--muted);border-radius:8px}
.tab.active{color:var(--text);font-weight:700}
.tab.active::before{content:"";position:absolute;z-index:-1;left:5px;right:5px;top:6px;bottom:6px;background:var(--active);border-radius:8px}
.tdiv{flex:0 0 1px;height:16px;background:var(--line)}
/* R4 selector home (SCOPED home-tabs/home-tab, JSX Paper DEB-1/DEH-1/DEF-1/DEC-1): cápsula exterior visible 33px (2px pad + 29), radio 17; pastilla activa visible 29px radio 14 #3A4C57; inactivos 600 #A7BAC5, activo 700 #ECF0F2, Figtree 14/17; sin divisores.
   Hit-area REAL 44px: botón 44 con margin-block -7.5 dentro del contenedor de 33 (compromiso geométrico, no wrapper extra); pastilla visual 29 por ::before, fondo del botón transparente sobre el contenedor #202D35. NO toca .tabs/.tab global (ranking/feed intactos). */
.home-tabs{display:flex;align-items:center;background:var(--card);border-radius:17px;padding:2px;margin:6px 20px 0}
.home-tab{flex:1;display:flex;justify-content:center;align-items:center;height:44px;margin:-7.5px 0;padding:0;position:relative;z-index:0;font-size:14px;font-weight:600;line-height:17px;color:var(--muted)}
.home-tab.active{color:var(--text);font-weight:700}
.home-tab.active::before{content:"";position:absolute;z-index:-1;left:2px;right:2px;top:50%;transform:translateY(-50%);height:29px;border-radius:14px;background:var(--active)}
/* sección h2: Archivo 22px/800 -0.02em con sliders a la derecha (JSX 91Y) */
/* R3: hueco hacia Populares reducido */
.sectrow{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 6px}
h2.sect{font-family:"Archivo",system-ui,sans-serif;font-size:22px;font-weight:800;letter-spacing:-0.02em;line-height:26px;padding:0 20px 8px}
/* R3: chips cocina — cuerpo visual 28px vía ::before, hit-area 44px intacta */
.chips{display:flex;gap:8px;overflow-x:auto;padding:0 20px 6px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;padding:0 12px;position:relative;z-index:0;color:var(--muted);font-weight:500;font-size:12px;line-height:16px}
.chip::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:8px;bottom:8px;border-radius:16px;border:1px solid var(--line)}
.chip.active{color:var(--text);font-weight:600}
.chip.active::before{background:var(--card)}
/* grid 3 col: 3×110px, gap 10/18, padding 0 20 (JSX 8Z4) */
.grid3{display:grid;grid-template-columns:repeat(3,110px);gap:18px 10px;padding:0 20px;justify-content:start}
.card{position:relative;display:flex;flex-direction:column;gap:7px;width:110px}
.card .imgbox{position:relative;width:110px;height:160px;border-radius:6px;overflow:hidden;box-shadow:#1B1A180F 0 0 0 1px}
.card img{width:100%;height:100%;object-fit:cover}
.card .pill{position:absolute;right:7px;top:129px;background:var(--pill);border-radius:999px;padding:3px 8px;font-family:"Archivo",sans-serif;font-size:13px;font-weight:800;line-height:16px;color:#FFFFFF}
.heart{width:44px;height:44px;display:flex;align-items:center;justify-content:center} /* F09: hit-area 44px (cards y hero ficha) */
.card .heart{position:absolute;left:0;top:0;padding:10px}
.card .heart span{width:24px;height:24px;border-radius:50%;background:#141D23;display:flex;align-items:center;justify-content:center}
.heart span{color:#F0A986}
/* V1b p1: guardar del héroe = mismo círculo claro que «volver» (la huella oscura sobre la foto no se veía) */
.fhero-btns .heart{border-radius:50%;background:#FFFFFFEB}
.fhero-btns .heart span{color:#1B1A18}
.fhero-btns .heart svg{width:18px;height:18px}
.card .name{font-size:14px;font-weight:700;line-height:17px;overflow-wrap:anywhere}
.card .name small{display:none;color:var(--muted);font-weight:500;font-size:13px;line-height:17px}
/* listas */
.rows{padding:0 16px;display:flex;flex-direction:column;gap:10px}
.row{display:flex;gap:12px;background:var(--card);border-radius:12px;padding:10px;align-items:center}
.row img{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:0 0 auto}
.row .t{flex:1;min-width:0}
.row .t b{display:block;overflow-wrap:anywhere}
.row .t small{color:var(--muted);display:block;overflow-wrap:anywhere}
.badge{font-family:"Archivo",sans-serif;font-weight:700;color:var(--accent)}
/* navbar R3: cápsula flotante radius 22, sombra suave, bottom 14+safe-area, márgenes 16, max 358 */
.navbar{position:fixed;left:0;right:0;bottom:calc(14px + var(--safe-b));display:flex;justify-content:center;z-index:50}
.navbar .bar{width:min(358px,calc(100% - 32px));display:flex;justify-content:space-around;align-items:center;background:#202D35;border-radius:22px;box-shadow:0 8px 28px rgba(0,0,0,.45);padding:8px 10px 14px}
.navbtn{display:flex;justify-content:center;align-items:center;min-width:56px;min-height:44px;position:relative;z-index:0}
.navbtn svg{width:28px;height:28px;color:var(--muted)}
.navbtn.active svg{color:#ECF0F2}
/* R3: pill activo #3A4C57 radius 18, contraste con icono #ECF0F2 */
.navbtn.active{background:var(--active);border-radius:18px}
.navbtn.active svg{width:28px;height:28px}
.navbtn .plus{width:44px;height:44px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center}
.navbtn .plus svg{width:22px;height:22px}
/* botones */
.btn{display:block;width:100%;padding:14px;border-radius:12px;text-align:center;font-weight:700;background:var(--text);color:#141D23}
.btn.ghost{background:var(--card);color:var(--text);border:1px solid var(--line)}
.btn.accent{background:var(--accent)}
.btn[disabled]{opacity:.4;cursor:default}
.btn.sm{width:auto;min-height:44px;padding:8px 14px;font-size:13px;display:inline-flex;align-items:center;justify-content:center} /* F09: hit-area 44px */
/* formularios */
.field{padding:0 16px;margin-bottom:14px}
.field label{display:block;color:var(--muted);font-size:12px;font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
.field input,.field textarea,.field select{width:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--text)}
.field textarea{resize:vertical;min-height:70px}
/* nota grid 1-10 */
.ngrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0 16px 6px}
.ncell{min-height:44px;padding:14px 0;text-align:center;border-radius:10px;background:var(--card);border:1px solid var(--line);font-family:"Archivo",sans-serif;font-weight:700;font-size:16px}
.ncell.sel{background:var(--text);color:#141D23}
.scale{display:flex;justify-content:space-between;padding:2px 22px 14px;color:var(--muted);font-size:12px}
/* header con título */
.head{display:flex;align-items:center;gap:10px;padding:8px 16px 10px}
.head .back{color:var(--muted);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;margin-left:-12px}
.head h1{font-family:"Archivo",system-ui,sans-serif;font-size:28px;font-weight:800;letter-spacing:-0.02em;line-height:32px}
/* estados */
.statebox{margin:24px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.spinner{width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.empty{padding:60px 16px;text-align:center;color:var(--muted)}
/* feed */
.feeditem{background:var(--card);border-radius:12px;margin:0 16px 10px;padding:12px;overflow-wrap:anywhere}
.feeditem .hd{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.feeditem .hd img{width:36px;height:36px;border-radius:50%}
.feeditem .hd small{color:var(--muted)}
/* mapa demo */
.mapa{position:relative;height:420px;margin:0 16px;border-radius:14px;overflow:hidden;background:linear-gradient(#1B2830,#202D35)}
.mapa .pin{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px}
.mapa .pin .dot{background:var(--accent);color:#141D23;font-family:"Archivo",sans-serif;font-weight:700;font-size:12px;border-radius:999px;padding:3px 8px}
.mapa .label{position:absolute;left:12px;top:12px;background:var(--pill);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--muted)}
/* toast */
.toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);background:var(--text);color:#141D23;border-radius:999px;padding:10px 18px;font-weight:700;z-index:99;display:none}
/* confirm modal */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}
.modal{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;width:100%;max-width:320px}
.modal h3{margin-bottom:8px}.modal p{color:var(--muted);margin-bottom:16px}
.modal .btns{display:flex;gap:10px}
/* ranking (A5U): fila 52px, nº Archivo 15/800, foto 40 r8, nota 17/800 accent, sub 11px muted2 */
.rksub{display:flex;align-items:center;justify-content:space-between;padding:0 20px 12px}
.rksub .l{color:var(--muted);font-size:13px;font-weight:600}
.rksub .r{color:var(--muted2);font-size:12px}
.fchips{display:flex;gap:8px;padding:0 20px 12px;overflow-x:auto;scrollbar-width:none}
.fchip{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:44px;padding:0 12px;border-radius:22px;background:var(--card);border:1px solid var(--line);color:var(--text);font-size:13px} /* F09: 44px */
.fchip.on{background:var(--accent);border-color:var(--accent);color:#141D23;font-weight:600}
.podium{display:flex;gap:12px;justify-content:center;align-items:end;padding:0 20px}
.pod{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}
.pod .ph{position:relative}
.pod .ph .box{border-radius:10px;background-size:cover;background-position:50%;background-color:var(--card)}
.pod.p1 .ph .box{border-radius:12px;box-shadow:var(--accent) 0 0 0 2px}
.pod .rk{position:absolute;left:-8px;top:-8px;width:22px;height:22px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;font-weight:700}
.pod.p1 .rk{left:-10px;top:-10px;width:26px;height:26px;background:var(--accent);border-color:var(--accent);color:#141D23;font-size:12px;font-weight:800}
.pod .nm{color:var(--text);font-size:12px;font-weight:700;line-height:16px;text-align:center;overflow-wrap:anywhere}
.pod.p1 .nm{font-size:13px}
.pod .nt{color:var(--accent);font-family:"Archivo",sans-serif;font-weight:800;font-size:18px;line-height:22px}
.pod.p1 .nt{font-size:22px;line-height:28px}
.pod .op{color:var(--muted2);font-size:10px;font-weight:500;line-height:12px}
.rrow{display:flex;align-items:center;gap:12px;height:52px;padding:0 20px;flex-shrink:0}
.rrow .n{font-family:"Archivo",sans-serif;font-weight:800;font-size:15px;color:var(--muted);width:18px;flex-shrink:0}
.rrow img{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0}
.rrow>a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center} /* F09: hit-area 44px, thumb visual 40px */
.rrow .t{flex:1;min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center}.rrow .t b{font-size:14px;font-weight:700;line-height:18px}
.rrow .t small{color:var(--muted2);font-size:11px;font-weight:500;line-height:14px;display:block}
.rrow .rnota{font-family:"Archivo",sans-serif;font-weight:800;font-size:17px;color:var(--accent)}
.fnota{color:#52616C;font-size:11px;line-height:14px;padding:8px 20px;text-align:center}
/* E2B: selector ciudad/zona (overlay) */
.selmodal{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;width:100%;max-width:340px;max-height:70vh;display:flex;flex-direction:column;gap:12px}
.selhead{display:flex;align-items:center;justify-content:space-between}
.selhead b{font-family:"Archivo",sans-serif;font-size:20px;font-weight:700}
.selclose{font-size:22px;color:var(--muted);line-height:1;padding:4px 8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
.selfield input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--text);font-size:14px}
.sellist{display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow-y:auto}
.selrow{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;text-align:left;color:var(--text);font-size:14px;width:100%}
.selrow:hover{background:var(--active)}
.selrow.sel{background:var(--accent);color:#141D23;font-weight:700}
.selrow .demo-tag{color:var(--muted2);font-size:11px}
.selrow.sel .demo-tag{color:#141D23B0}
/* E2B: panel filtros (bottom sheet, fuente D06) */
.filtmodal{background:var(--card);border:1px solid var(--line);border-top-left-radius:20px;border-top-right-radius:20px;padding:20px;width:100%;max-width:390px;display:flex;flex-direction:column;gap:20px}
.filthead{display:flex;align-items:center;justify-content:space-between}
.filthead b{font-family:"Archivo",sans-serif;font-size:20px;font-weight:700}
.filtsec{display:flex;flex-direction:column;gap:10px}
.filtsec>b{font-family:"Archivo",sans-serif;font-size:20px;font-weight:700}
.filtchips{display:flex;flex-wrap:wrap;gap:8px}
.fchip2{display:flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:20px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:13px;font-weight:500}
.fchip2.on{background:var(--accent);border-color:var(--accent);color:#141D23;font-weight:600}
.filttog{display:flex;align-items:center;justify-content:space-between}
.filttog span{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;font-weight:500}
.tog{width:44px;height:26px;border-radius:13px;background:var(--active);position:relative;transition:background .15s}
.tog .togknob{position:absolute;right:4px;top:2px;width:22px;height:22px;border-radius:50%;background:var(--muted)}
.tog.on{background:var(--accent)}
.tog.on .togknob{right:auto;left:4px;background:#141D23}
.filtbtns{display:flex;gap:10px}
/* chip inactivo búsqueda */
.chip-off{opacity:.4;pointer-events:none;border-style:dashed}
/* feed tabs sin separador extra */
.feedtabs{margin-top:2px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* ── E2C: ficha sitio/plato (CG3-0/CIU-0) ── */
.fhero{position:relative;width:100%;height:226px;overflow:hidden;flex-shrink:0}
.fhero img{width:100%;height:100%;object-fit:cover}
.fhero-grad{position:absolute;inset:0;background:linear-gradient(in oklab 180deg,#141D2359 0%,#141D2300 40%,#141D2300 60%,#141D23 100%)}
.fhero-top{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column}
.fhero-btns{display:flex;justify-content:space-between;padding:0 20px}
.fbtn-back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#FFFFFFEB}
/* 2c-F1: relleno seguro = barra fija (93 px) + navbar (82 px) + safe-area − relleno de .screen (104 px) + aire; nada queda tapado */
.fbody{padding-bottom:calc(110px + var(--safe-b))}
.finfo{display:flex;align-items:end;gap:16px;padding:0 20px 18px}
.finfo-txt{flex:1;display:flex;flex-direction:column;gap:8px}
.ftitle{font-family:"Archivo",system-ui,sans-serif;font-size:32px;font-weight:800;letter-spacing:-0.02em;line-height:36px;color:var(--text)}
.fsub{font-size:14px;font-weight:500;line-height:18px;color:var(--muted)}
.fpills{display:flex;gap:6px;padding-top:2px}
.fpill{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:14px}
.fpill.pet{background:#3D2C2A;color:var(--accent)}
.fpill.pet svg{width:12px;height:12px}
/* DEC-051: horario = fila con reloj que despliega la semana; hoy en texto pleno, el resto atenuado */
/* el botón vive en la columna del título: 44 px táctiles, pero solo ~28 px de alto en el flujo (no empuja la ficha) */
.fhor{padding:0 20px}
.fhor-btn{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin:-6px 0 -10px;padding:0;text-align:left;color:var(--muted);font-size:14px;font-weight:500;line-height:18px}
.fhor-ico{flex-shrink:0;color:var(--muted)}
.fhor-txt{flex:1;min-width:0}
.fhor-est{color:var(--text);font-weight:700}
.fhor-nw{white-space:nowrap}
.fhor-chev{flex-shrink:0;transition:transform .15s}
.fhor-btn[aria-expanded="true"] .fhor-chev{transform:rotate(180deg)}
/* V1b: la semana termina donde la flecha (columna del título = ancho − portada 84 − hueco 16) */
.fhor-sem{list-style:none;margin:0 100px 16px 26px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:18px;color:var(--muted)}
.fhor-sem[hidden]{display:none}
.fhor-sem li{display:flex;justify-content:space-between;gap:12px}
.fhor-sem li span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.fhor-sem li.hoy{color:var(--text);font-weight:700}
.fhor-crudo{display:block;overflow-wrap:anywhere;white-space:normal}
.fmini{flex-shrink:0;width:84px;height:122px;border-radius:6px;background-size:cover;background-position:50%;box-shadow:#00000066 0 8px 20px,var(--line) 0 0 0 3px}
.fnota-sec{display:flex;align-items:end;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fnota-head{display:flex;flex-direction:column;gap:4px}
.fnota-label{font-size:11px;font-weight:700;letter-spacing:0.08em;line-height:14px;color:var(--muted)}
.fnota-row{display:flex;align-items:baseline;gap:6px}
.fnota-big{font-family:"Archivo",sans-serif;font-size:48px;font-weight:800;letter-spacing:-0.03em;line-height:46px;color:var(--text)}
.fnota-ops{font-size:13px;font-weight:600;line-height:16px;color:var(--muted)}
.fhisto{display:flex;align-items:end;gap:3px;height:44px}
.fh-bar{width:9px;flex-shrink:0;border-radius:2px;background:var(--line)}
.fh-bar.fh-accent{background:var(--accent)}
h2.fsect{font-family:"Archivo",sans-serif;font-size:20px;font-weight:800;letter-spacing:-0.01em;line-height:22px;color:var(--text);padding:18px 20px 12px}
.fpide{display:flex;gap:10px;padding:0 20px}
.fpcard{display:flex;flex:1;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px}
.fpcard-img{flex-shrink:0;width:52px;height:52px;border-radius:7px;background-size:cover;background-position:50%}
.fpcard-info{display:flex;flex-direction:column;gap:3px}
.fpcard-info b{font-size:13px;font-weight:700;letter-spacing:-0.02em;line-height:16px;color:var(--text);overflow-wrap:anywhere}
.fpcard-info small{font-size:12px;font-weight:700;line-height:15px;color:var(--accent)}
.fguias-wrap{padding:18px 20px 0}
.fguias{display:flex;align-items:center;gap:14px}
.fguias-stack{flex-shrink:0;width:74px;height:52px;position:relative}
.fgs-img{border-radius:4px;background-size:cover;background-position:50%;position:absolute;width:34px;height:48px;box-shadow:var(--bg) 0 0 0 2px}
.fgs-img:nth-child(1){left:0;top:4px}
.fgs-img:nth-child(2){left:20px;top:2px}
.fgs-img:nth-child(3){left:40px;top:0}
.fguias-txt{flex:1;display:flex;flex-direction:column;gap:2px}
.fguias-txt b{font-size:14px;font-weight:700;letter-spacing:-0.02em;line-height:18px;color:var(--text)}
.fguias-txt small{font-size:12px;font-weight:500;line-height:15px;color:var(--muted)}
.fbot{display:flex;gap:10px;padding:12px 20px calc(112px + var(--safe-b));position:fixed;bottom:0;left:0;right:0;background:var(--bg);z-index:30;max-width:390px;margin:0 auto} /* M4: llega al borde; la navegación flota encima sin dejar ver el contenido */
.fbot-btn{display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex-shrink:0;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.fbot-cta{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;height:50px;border-radius:14px;background:var(--accent);color:#141D23;font-size:15px;font-weight:700;line-height:18px}
/* ── E2C confirmación (D1G-0) ── */
.conf-body{display:flex;flex-direction:column;align-items:center;gap:22px;padding:40px 20px 34px}
.conf-check{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--accent);flex-shrink:0}
.conf-title{font-family:"Archivo",system-ui,sans-serif;font-size:28px;font-weight:800;letter-spacing:-0.02em;line-height:32px;color:var(--text);text-align:center}
.conf-sub{font-size:15px;font-weight:500;line-height:20px;color:var(--muted);text-align:center}
.conf-photo{flex-shrink:0;width:200px;height:290px;border-radius:10px;overflow:hidden;box-shadow:var(--accent) 0 0 0 3px,#00000080 0 20px 40px}
.conf-photo img{width:100%;height:100%;object-fit:cover}
.conf-pills{display:flex;gap:8px}
.conf-ctas{display:flex;flex-direction:column;gap:10px;width:100%}
/* ── E2C guías detalle (CQW-0) ── */
.gstrips{position:relative;height:132px;flex-shrink:0;overflow:hidden}
.gstrip-img{position:absolute;width:84px;height:120px;border-radius:6px;background-size:cover;background-position:50%;box-shadow:var(--bg) 0 0 0 3px}
.gstrip-overflow{position:absolute;display:flex;align-items:center;justify-content:center;background:var(--card);border-radius:6px;box-shadow:var(--bg) 0 0 0 3px;width:88px;height:124px;font-family:"Archivo",sans-serif;font-size:20px;font-weight:800;color:var(--text)}
.ghead{display:flex;align-items:center;justify-content:space-between;padding:2px 20px 12px}
.ghead-back{display:flex;align-items:center}
.ghead-label{font-size:12px;font-weight:700;letter-spacing:0.12em;line-height:14px;color:var(--muted)}
.ginfo{padding:16px 20px 14px;display:flex;flex-direction:column;gap:12px}
.ginfo h1{font-family:"Archivo",sans-serif;font-size:28px;font-weight:800;letter-spacing:-0.02em;line-height:32px;color:var(--text)}
.ginfo p{font-size:14px;font-weight:500;line-height:20px;color:var(--muted)}
.gstats{display:flex;align-items:center;gap:20px;padding-top:4px}
.gstats b{font-family:"Archivo",sans-serif;font-size:18px;font-weight:800;line-height:22px;color:var(--text)}
.gstats small{font-size:13px;font-weight:500;line-height:16px;color:var(--muted)}
.grow{display:flex;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid var(--line)}
.grow-n{font-family:"Archivo",sans-serif;font-size:18px;font-weight:800;line-height:22px;color:#EADCC2;width:22px;flex-shrink:0}
.grow-img{flex-shrink:0;width:40px;height:56px;border-radius:4px;background-size:cover;background-position:50%}
.grow-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.grow-info b{font-size:15px;font-weight:700;line-height:19px;color:var(--text)}
.grow-info small{font-size:12px;font-weight:500;line-height:15px;color:var(--muted)}
.grow-paw{width:18px;flex-shrink:0;display:flex;justify-content:center}
.grow-nota{width:34px;flex-shrink:0;text-align:right;font-family:"Archivo",sans-serif;font-size:17px;font-weight:800;color:var(--text)}
.gsave-bar{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:10px 10px 10px 18px;margin:0 16px 30px;box-shadow:#00000073 0 12px 30px}
.gsave-txt{display:flex;flex-direction:column;gap:1px}
.gsave-txt b{font-size:14px;font-weight:700;line-height:18px;color:var(--text)}
.gsave-txt small{font-size:12px;font-weight:500;line-height:15px;color:var(--muted)}
.gsave-btn{padding:10px 18px;border-radius:12px;background:var(--accent);color:#141D23;font-size:14px;font-weight:700;line-height:17px}
/* ── E2C editor guía (CTZ-0) ── */
.edhead{display:flex;align-items:center;justify-content:space-between;padding:2px 20px 14px;border-bottom:1px solid var(--line)}
.edhead-label{font-size:15px;font-weight:700;line-height:18px;color:var(--text)}
.edhead-draft{font-size:14px;font-weight:600;line-height:17px;color:var(--muted)}
.edstrip{display:flex;align-items:center;gap:16px;padding:18px 20px}
.edstrip-stack{flex-shrink:0;width:118px;height:92px;position:relative}
.eds-img{position:absolute;border-radius:5px;width:58px;height:84px;background-size:cover;background-position:50%;box-shadow:var(--bg) 0 0 0 3px}
.edstrip-info{flex:1;display:flex;flex-direction:column;gap:6px}
.edstrip-info h2{font-family:"Archivo",sans-serif;font-size:24px;font-weight:800;letter-spacing:-0.02em;line-height:28px;color:var(--text)}
.edstrip-info p{font-size:13px;font-weight:500;line-height:17px;color:var(--muted2)}
.edsitios{padding:20px 20px 0}
.edsitios h3{font-family:"Archivo",sans-serif;font-size:17px;font-weight:800;line-height:22px;color:var(--text);padding-bottom:6px}
.edrow{display:flex;align-items:center;gap:12px;padding:10px 8px;border-bottom:1px solid var(--line);background:var(--card);border-radius:10px;margin-bottom:2px}
.edrow.drag{box-shadow:#00000066 0 10px 24px}
.edrow .grip{width:18px;flex-shrink:0;color:var(--muted2)}
.edrow .edn{font-family:"Archivo",sans-serif;font-size:16px;font-weight:800;line-height:20px;color:#EADCC2;width:14px;flex-shrink:0}
.edadd{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:1.5px dashed #EADCC2;border-radius:12px;color:#EADCC2;font-size:14px;font-weight:700;margin-top:14px;cursor:pointer}
.edbot{display:flex;gap:10px;padding:12px 20px 32px}
.edbot-cancel{flex:1;display:flex;align-items:center;justify-content:center;height:50px;border-radius:14px;border:1px solid var(--line);color:var(--text);font-size:15px;font-weight:700}
.edbot-save{flex:1.4;display:flex;align-items:center;justify-content:center;height:50px;border-radius:14px;background:var(--accent);color:#141D23;font-size:15px;font-weight:700}
/* ── E2C perfil (CW9-0) ── */
.pf-head{display:flex;align-items:center;justify-content:space-between;padding:4px 20px}
.pf-head small{font-size:15px;font-weight:600;line-height:20px;color:var(--muted)}
.pf-avatar{display:flex;align-items:center;gap:16px;padding:0 20px 18px}
.pf-av-img{width:76px;height:76px;border-radius:50%;background-size:cover;background-position:50%;box-shadow:var(--card) 0 0 0 3px;flex-shrink:0}
.pf-av-info{flex:1;display:flex;flex-direction:column;gap:6px}
.pf-av-info h1{font-family:"Archivo",sans-serif;font-size:26px;font-weight:800;letter-spacing:-0.02em;line-height:30px;color:var(--text)}
.pf-av-row{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:500}
.pf-stats{display:flex;gap:18px;padding:0 20px 16px}
.pf-stat{display:flex;align-items:baseline;gap:5px}
.pf-stat b{font-family:"Archivo",sans-serif;font-size:17px;font-weight:800;color:var(--text)}
.pf-stat small{font-size:13px;font-weight:500;color:var(--muted)}
.pf-subtabs{display:flex;padding:0 20px;gap:24px;border-bottom:1px solid var(--line)}
.pf-stab{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted);font-size:15px;font-weight:600;padding-bottom:0}
.pf-stab.active{color:var(--text);font-weight:700}
.pf-stab-bar{width:100%;height:2px;border-radius:2px;background:transparent;flex-shrink:0}
.pf-stab.active .pf-stab-bar{background:var(--accent)}
.pf-row-rank{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--line)}
.pf-row-rank .n{font-family:"Archivo",sans-serif;font-size:17px;font-weight:800;color:var(--accent);width:24px;flex-shrink:0}
.prr-img{width:38px;height:54px;border-radius:4px;background-size:cover;background-position:50%;flex-shrink:0}
.prr-info{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.prr-info-row{display:flex;align-items:baseline;justify-content:space-between}
.prr-info-row b{font-size:15px;font-weight:700;color:var(--text)}
.prr-info-row .nota{font-family:"Archivo",sans-serif;font-size:17px;font-weight:800;color:var(--text)}
.prr-bar{background:var(--card);border-radius:2px;height:4px;flex-shrink:0}
.prr-bar-fill{background:var(--accent);border-radius:2px;height:4px}
.prr-info small{font-size:12px;font-weight:500;color:var(--muted)}
.pf-actions{display:flex;gap:10px;padding:0 20px 14px}
/* ── E2C editar perfil (9UV-0) ── */
.edpf-head{display:flex;align-items:center;justify-content:space-between;padding:2px 20px 14px;border-bottom:1px solid var(--line)}
.edpf-head span{font-size:15px;font-weight:600;line-height:18px}
.edpf-avatar{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 20px 18px}
.edpf-av-img{width:92px;height:92px;border-radius:50%;background-size:cover;background-position:50%;box-shadow:var(--accent) 0 0 0 3px}
.edpf-change{color:var(--accent);font-size:13px;font-weight:600}
.edpf-row{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
.edpf-row+.edpf-row{border-top:none}
.edpf-row .lbl{flex-shrink:0;width:96px;font-size:14px;font-weight:600;color:var(--muted)}
.edpf-row .val{flex:1;font-size:15px;font-weight:600;color:var(--text);background:none;border:none;padding:0;outline:none}
.edpf-row input.val{font-family:inherit}
.edpf-sec-label{font-size:11px;font-weight:700;letter-spacing:0.1em;color:var(--muted);padding:20px 20px 0}
/* ── R3: responsive <=340px — grid fluido solo a ese ancho (fotos 110x160 preservadas a 390) ── */
@media(max-width:340px){
 .homehead{padding:0 10px 0;gap:4px}
 .homehead .logo{font-size:36px;margin-right:2px}
 .homehead .citybtn svg{display:none}
 .citybtn{min-width:0;max-width:38vw;overflow:hidden;text-overflow:ellipsis;font-size:13px}
 .grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
 .card{width:auto}
 .card .imgbox{width:100%}
}
/* ── R5 rankings: cat-segment (DFV-1), criterios (DG9-1), podio corregido (DH9-1/DK1-1), like (DFD-1) ── */
.catseg{display:flex;align-items:center;background:#202D35;border-radius:11px;padding:3px;margin:14px 20px 0}
.catseg button{flex:1;min-height:44px;background:none;border:none;border-radius:8px;padding:7px 0;display:flex;align-items:center;justify-content:center;color:#A7BAC5;font-family:"Figtree",system-ui,sans-serif;font-weight:600;font-size:13px;line-height:16px}
.catseg button.active{background:#3A4C57;color:#ECF0F2;font-weight:700}
.catseg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.catsep{width:1px;height:14px;background:#354750;flex:0 0 auto}
.rkcrits{display:flex;gap:8px;padding:14px 20px 12px;overflow-x:auto;scrollbar-width:none}
.chip.acc.active::before{background:var(--accent);border-color:var(--accent)}
.chip.acc.active{color:#141D23;font-weight:600}
/* podio R5: .avw con ALTO definido (no span inline colapsado); badge .rk anclado al borde INFERIOR del avatar;
   nombre en fila propia .nmw (padding-top:8, overflow-wrap) — no solapa insignia */
.rkpod{display:flex;align-items:flex-end;gap:12px;justify-content:center;padding:14px 20px 0}
.rkpod .pod{flex:1 1 0;min-width:0;max-width:110px}
.rkpod .pod .ph{display:block;position:relative}
.rkpod .pod .avw{display:flex;align-items:center;justify-content:center;position:relative;width:100%}
.rkpod .pod .av{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background-color:#3A4C57;background-size:cover;background-position:50%;box-shadow:#A7BAC5 0 0 0 2px;color:#ECF0F2;font-weight:700;font-size:16px}
.rkpod .pod .av.sq{border-radius:10px}
.rkpod .pod.p1 .av{width:72px;height:72px;font-size:20px;box-shadow:var(--accent) 0 0 0 3px}
.rkpod .pod.p1 .av.sq{border-radius:12px;width:84px;height:84px}
.rkpod .pod.p1{max-width:110px}
.rkpod .pod.p2,.rkpod .pod.p3{max-width:100px}
.rkpod .pod .rk{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);width:20px;height:20px;border-radius:50%;background:#A7BAC5;color:#141D23;display:flex;align-items:center;justify-content:center;font-family:"Archivo",system-ui,sans-serif;font-weight:800;font-size:11px}
.rkpod .pod.p1 .rk{width:22px;height:22px;background:var(--accent);font-size:12px}
.rkpod .pod .nmw{display:block;width:100%;padding-top:8px}
.rkpod .pod .nm{display:block;color:#ECF0F2;font-family:"Figtree",system-ui,sans-serif;font-weight:700;font-size:13px;line-height:16px;text-align:center;overflow-wrap:anywhere}
.rkpod .pod.p1 .nm{font-size:14px;line-height:17px}
.rkpod .pod .us{color:#6F8290;font-size:11px;font-weight:500;text-align:center;padding-top:2px}
.rkpod .pod .mt{color:#A7BAC5;font-family:"Archivo",system-ui,sans-serif;font-weight:800;font-size:15px;text-align:center;padding-top:4px}
.rkpod .pod.p1 .mt{color:var(--accent);font-size:17px}
.rkrow-alt .avmini{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:#3A4C57;color:#ECF0F2;font-weight:700}
/* like (DFD-1): hit-area 44, cuerpo visual 32 */
.likebar{display:flex;align-items:center;gap:10px;padding-top:10px}
.likebtn{min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 14px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-weight:600;font-size:13px}
.likebtn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.likebtn[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#141D23}
.likebtn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.likecnt{font-family:"Archivo",sans-serif;font-weight:700}
@media(max-width:340px){.rkpod{gap:8px}.rkpod .pod .av{width:48px;height:48px}.rkpod .pod.p1 .av{width:60px;height:60px}.rkpod .pod.p1 .av.sq{width:66px;height:66px}}

/* ==== selector lineal v2 (ESW-1/ESX-1 aprobado, Paper p-7-0): línea fija + estela cónica + cápsula ==== */
.regla{padding:14px 20px 4px}
.regla.sl{display:flex;flex-direction:column}
.sl-head{padding:0 4px}
.sl-label{font-family:Figtree,system-ui,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#A7BAC5}
.sl-row{display:flex;align-items:baseline;gap:6px;padding:2px 4px 0}
.sl-num{font-family:Archivo,system-ui,sans-serif;font-size:56px;font-weight:800;line-height:60px;letter-spacing:-2px;color:#ECF0F2;font-variant-numeric:tabular-nums}
.sl-ten{font-family:Figtree,system-ui,sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#A7BAC5}
.sl-slider{width:100%;max-width:342px;margin:10px auto 0}
.sl-track{position:relative;height:44px;width:100%;touch-action:pan-y;cursor:pointer}
.sl-line{position:absolute;left:0;right:0;top:21px;height:2px;background:#354750;pointer-events:none}
.sl-fill{position:absolute;left:0;top:18px;height:8px;width:0;pointer-events:none;transition:width .15s ease-out}
.sl-fill svg{display:block;width:100%;height:8px}
.sl-capsule{position:absolute;left:0;top:13px;width:40px;height:18px;border-radius:9px;background:#F0A986;border:3px solid #141D23;box-sizing:border-box;pointer-events:none;transition:transform .15s ease-out}
.sl-track.drag .sl-capsule,.sl-track.drag .sl-fill{transition:none}
.sl-slider:focus-visible{outline:2px solid #F0A986;outline-offset:3px;border-radius:6px}
.sl-ext{display:flex;justify-content:space-between;width:100%;max-width:342px;margin:6px auto 0;padding:0 4px;font-family:Figtree,system-ui,sans-serif;font-size:13px;font-weight:500;line-height:16px;color:#A7BAC5}
#nota-continuar{height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center}
@media (prefers-reduced-motion:reduce){.sl-capsule,.sl-fill{transition:none}}
/* ficha de plato: foto, comentario y CTAs (EID-1/EPF) */
.pform{display:flex;flex-direction:column;gap:16px;padding:12px 16px 24px}
.pfield{display:flex;flex-direction:column;gap:8px}
.plabel{color:#A7BAC5;font-family:Figtree,system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.4px;line-height:16px;text-transform:uppercase}
.pcard{display:flex;align-items:center;gap:16px;height:96px;padding:12px;background:#202D35;border:1px solid #354750;border-radius:14px;box-sizing:border-box}
.pthumb{flex:0 0 72px;width:72px;height:72px;border-radius:10px;background-size:cover;background-position:50%}
.pacts{display:flex;align-items:center;gap:8px}
.photo-action{height:44px;padding:6px 8px;background:none;border:none;display:inline-flex;align-items:center;cursor:pointer}
.photo-action .pa{height:32px;padding:0 12px;border-radius:10px;border:1px solid #354750;background:#141D23;color:#ECF0F2;font-family:Figtree,system-ui,sans-serif;font-size:13px;font-weight:600;line-height:16px;display:inline-flex;align-items:center;gap:6px}
.photo-action.quitar .pa{color:#A7BAC5}
.photo-action:focus-visible{outline:2px solid #F0A986;outline-offset:2px}
.pfield textarea{width:100%;min-height:56px;background:#202D35;border:1px solid #354750;border-radius:10px;padding:12px;color:var(--text);font-family:Figtree,system-ui,sans-serif;font-size:14px;line-height:18px;box-sizing:border-box}
.pfield textarea:focus{outline:2px solid #F0A986;outline-offset:0}
.ractions{display:flex;gap:12px;padding-top:8px}
.ract{flex:1 1 0;height:50px;border-radius:14px;border:1px solid #354750;background:#202D35;color:#ECF0F2;font-family:Figtree,system-ui,sans-serif;font-size:15px;font-weight:700;line-height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ract.acc{flex:1.4 1 0;background:#F0A986;border:none;color:#141D23}
.ract:focus-visible{outline:2px solid #F0A986;outline-offset:2px}
.fadd{width:100%;height:96px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px;border:1.5px dashed #6F8290;border-radius:14px;background:none;color:#A7BAC5;cursor:pointer}
.fadd span{font-size:15px;font-weight:700;color:#A7BAC5}
.fadd small{font-size:12px;color:#6F8290}
.fadd:focus-visible{outline:2px solid #F0A986;outline-offset:2px}
@media (max-width:340px){.photo-action .pa{padding:0 8px}.photo-action .pa svg{display:none}}
.pf-nm{font-family:Archivo,system-ui,sans-serif;font-size:20px;font-weight:800;color:#ECF0F2;letter-spacing:-0.02em}
.plist .prow{cursor:pointer}
/* onboarding demo */
.ob-logo{font-family:Manrope,system-ui,sans-serif;font-size:48px;font-weight:800;letter-spacing:-0.075em;line-height:52px;color:#ECF0F2;text-align:center;padding:64px 20px 26px}
.ob-banner{margin:0 auto 28px;width:fit-content;max-width:90%;font-size:12px;font-weight:600;color:#6F8290;border:1px dashed #354750;border-radius:999px;padding:6px 14px;text-align:center}
.ob-btns{display:flex;flex-direction:column;gap:12px;padding:0 20px}
.ob-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;background:#202D35;border:1px solid #354750;border-radius:14px;color:#ECF0F2;font-family:Figtree,system-ui,sans-serif;font-size:15px;font-weight:700;cursor:pointer}
.ob-btn.wide{width:100%}
.ob-btn[disabled]{opacity:.45;cursor:default}
.ob-cta{display:flex;align-items:center;justify-content:center;height:50px;width:100%;background:#F0A986;border:none;border-radius:14px;color:#141D23;font-family:Figtree,system-ui,sans-serif;font-size:15px;font-weight:700;cursor:pointer}
.ob-cta[disabled]{opacity:.4;cursor:default}
.ob-head{display:flex;align-items:center;gap:6px;padding:4px 16px 10px}
.ob-back{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer}
.ob-title{font-family:Archivo,system-ui,sans-serif;font-size:24px;font-weight:800;letter-spacing:-0.02em;color:#ECF0F2}
.ob-h2{font-family:Archivo,system-ui,sans-serif;font-size:22px;font-weight:800;letter-spacing:-0.02em;color:#ECF0F2}
.ob-sub{font-family:Figtree,system-ui,sans-serif;font-size:14px;color:#A7BAC5;line-height:19px}
.ob-body{display:flex;flex-direction:column;gap:18px;padding:28px 20px 0}
.ob-round{width:64px;height:64px;border-radius:50%;background:#202D35;border:1px solid #354750;display:flex;align-items:center;justify-content:center;align-self:center}
.ob-round.err svg *{stroke:#E5536B}
.ob-demo-note{font-size:13px;font-weight:600;color:#F0A986;text-align:center}
.ob-info{display:flex;gap:6px;align-items:center;background:#202D35;border-radius:10px;padding:12px 16px;color:#6F8290;font-size:13px}
.ob-field{display:flex;flex-direction:column;gap:6px}
.ob-lbl{font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#A7BAC5}
.ob-in{height:50px;background:#202D35;border:1px solid #354750;border-radius:12px;color:#ECF0F2;font-family:Figtree,system-ui,sans-serif;font-size:15px;font-weight:500;padding:0 14px;width:100%;box-sizing:border-box}
.ob-in:focus{outline:2px solid #F0A986;outline-offset:1px}
.ob-hint{font-size:12px;color:#6F8290}
.ob-err{display:flex;gap:6px;align-items:center;color:#E5536B;font-size:13px}
.ob-userwrap{display:flex;align-items:center;background:#202D35;border:1px solid #354750;border-radius:12px;padding:12px 14px;gap:2px}
.ob-userwrap .ob-at{color:#6F8290;font-family:Archivo,system-ui,sans-serif;font-weight:700}
.ob-userwrap .ob-in{background:none;border:none;padding:0;height:auto}
.ob-user-msg{font-size:13px;font-weight:600;color:#F0A986}
.ob-bottom{flex:1;display:flex;flex-direction:column;gap:14px;justify-content:flex-end;padding:20px 20px 40px}
.ob-legal{font-size:13px;color:#6F8290;text-align:center;line-height:18px}
.ob-links{text-align:center}
.ob-link{background:none;border:none;color:#A7BAC5;font-family:Figtree,system-ui,sans-serif;font-size:14px;font-weight:600;cursor:pointer}
.ob-demos{text-align:center;font-size:12px;color:#6F8290}
.ob-demos .ob-link{font-size:12px}
.ob-search{display:flex;align-items:center;gap:8px;background:#202D35;border:1px solid #354750;border-radius:10px;margin:0 16px 12px;padding:12px 14px}
.ob-search input{background:none;border:none;outline:none;color:#ECF0F2;font-family:Figtree,system-ui,sans-serif;font-size:14px;width:100%}
.ob-rows{display:flex;flex-direction:column;gap:10px;padding:0 16px}
.obs-row{cursor:pointer}
.ob-empty{background:#202D35;border:1px dashed #354750;border-radius:12px;padding:20px;text-align:center;color:#A7BAC5;font-size:13px}
.ob-empty b{color:#A7BAC5}
@media (max-width:360px){.regla-slider,.regla-ext{max-width:calc(100vw - 40px)}}

/* —— reseña de platos 2026-10-27 (H82-1/H5I-1/GJ0-1/GT7-1): «Tus platos», buscador, razón visible —— */
.tp-sub{padding:2px 16px 12px;color:var(--muted)}
.tp-name{min-width:0}
.tp-add{flex:0 0 auto;min-width:44px;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:#ECF0F2;font-family:Figtree,system-ui,sans-serif;font-weight:700;font-size:17px;line-height:1;cursor:pointer}
.tplist{display:flex;flex-direction:column;gap:10px;padding:12px 16px 0}
#pbusq{min-height:44px}
/* Corrección 1 (HIG-1): tarjeta de plato en columna — el texto nunca colapsa (D1) y todo botón ≥44px (D3) */
.tpcard{display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.tpcard-h{display:flex;gap:12px;align-items:flex-start;min-width:0}
.tpcard-h .tp-name{flex:1 1 auto;min-width:0}
.tpacts{display:flex;flex-direction:column;gap:8px;min-width:0}
.tpacts .ract{width:100%;flex:1 1 auto;min-height:44px;height:44px;font-size:14px}
.tpacts.tpacts2{flex-direction:row}
.tpacts.tpacts2 .ract{min-width:0;padding-inline:8px}
.tpmedia{display:flex;gap:14px;align-items:flex-start;min-width:0}
.tpmedia img{width:96px;height:96px;border-radius:10px;object-fit:cover;flex:0 0 auto}
.tpmedia .tcm{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere}
.tpmedia .tcm small{color:var(--muted);font-size:13px;line-height:18px}
.tpmedia .tcm b{color:var(--text);font-size:14px;font-weight:500;line-height:20px}
.pf-ctx{overflow-wrap:anywhere}
.tp-sitonota{display:flex;align-items:center;min-height:44px;width:calc(100% - 32px);margin:14px 16px 0;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--text);font-family:Figtree,system-ui,sans-serif;font-weight:600;font-size:14px;cursor:pointer}
.tp-razon{margin:14px 16px 0;padding:10px 12px;border-radius:12px;background:rgba(229,83,107,.12);border:1px solid rgba(229,83,107,.35);color:#E5536B;font-family:Figtree,system-ui,sans-serif;font-size:13px;font-weight:600}
.conf-sitonota{padding:10px 2px 0;color:var(--muted);font-size:13px}
.conf-sitonota b{color:var(--text)}

/* —— simplificación 27-oct (Rafael: menos texto, menos acumulación) —— */
.tpcard{gap:10px;padding:12px 12px 12px 14px}
.tpcard-h{align-items:center;gap:8px}
.tpcard-h .tp-name{display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}
.tpcard-h .tp-name small{color:var(--muted);font-size:13px}
.tp-pill{flex:0 0 auto;min-width:64px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#F0A986;font-family:Figtree,system-ui,sans-serif;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.tp-pill.on{background:#F0A986;border-color:#F0A986;color:#141D23;font-family:Archivo,Figtree,sans-serif;font-size:16px}
.tp-x{flex:0 0 auto;width:44px;height:44px;border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;border-radius:999px}
.tpmedia img{width:64px;height:64px}
.tpmedia .tcm{color:var(--text);font-size:14px;line-height:20px}
.tp-sitonota{justify-content:space-between;gap:12px;padding:6px 6px 6px 14px}
.tp-sitonota b{min-height:36px}
.tp-razon{margin:12px 16px 0;padding:0;background:none;border:0;font-weight:500}

/* —— espaciado 27-oct (Rafael: comentario pegado al elemento de arriba) —— */
.tp-sitonota{margin:4px 16px 16px;padding:8px 6px 8px 14px}
.tp-sitonota .tp-name{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;min-width:0}
.tp-sitonota .tp-name b{font-size:15px}
.tp-sitonota .tp-name small{color:var(--muted);font-size:13px;font-weight:500}
.tplist{padding-bottom:4px}
#pbusq-res{margin-bottom:4px}
.field.tp-com,.field.tp-tip{margin-top:28px} /* R1: «Qué pedir» va primero, tras los platos */
.tp-final{display:flex;gap:10px;padding:20px 16px 20px}

/* —— 27-oct v4: nota del plato en la propia tarjeta + pantalla «Añadir» —— */
.tpcard{gap:6px;padding:12px 8px 10px 14px}
.tpcard-h{align-items:center;gap:6px}
.tp-val.sl-num{flex:0 0 auto;min-width:40px;text-align:right;font-family:Archivo,Figtree,sans-serif;font-weight:800;font-size:20px;line-height:24px;letter-spacing:0;color:var(--muted)}
.tp-val.sl-num.on{color:#F0A986}
.tp-ico{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;overflow:hidden}
.tp-ico.on img{width:36px;height:36px;border-radius:8px;object-fit:cover}
.tp-rate{padding:0 6px 0 0}
.tp-rate .sl-slider{margin:0}
.tp-more{padding:4px 6px 2px 0}
.tp-more[hidden]{display:none}
.tp-pcom{width:100%;min-height:44px;resize:none;overflow:hidden;background:transparent;border:0;border-top:1px solid var(--line);padding:12px 0 4px;color:var(--text);font:inherit;font-size:15px;line-height:21px}
.tp-pcom:focus{outline:none;border-top-color:#F0A986}
.add-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 16px 4px}
.add-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:150px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--text);text-align:left;cursor:pointer;font-family:Figtree,system-ui,sans-serif}
.add-card b{font-family:Archivo,Figtree,sans-serif;font-size:18px;margin-top:auto}
.add-card small{color:var(--muted);font-size:13px;line-height:18px}
.add-ico{width:44px;height:44px;border-radius:12px;background:rgba(240,169,134,.12);display:inline-flex;align-items:center;justify-content:center;color:#F0A986;font-size:22px;font-weight:700}
.add-sitios{display:flex;gap:12px;overflow-x:auto;padding:4px 16px 8px;scrollbar-width:none}
.add-sitios::-webkit-scrollbar{display:none}
.add-sitio{flex:0 0 84px;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;color:var(--text);font-family:Figtree,system-ui,sans-serif;font-size:12px;line-height:15px;text-align:center;cursor:pointer;padding:0}
.add-sitio img,.add-sitio .add-ico{width:64px;height:64px;border-radius:16px;object-fit:cover}
.add-sitio span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.add-idea{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 32px);min-height:52px;margin:12px 16px 0;padding:0 14px;border-radius:12px;border:1px dashed var(--line);background:none;color:var(--muted);font-family:Figtree,system-ui,sans-serif;font-size:14px;cursor:pointer}

/* —— 27-oct v5: recibo de reseña guardada —— */
.conf-body{gap:18px;padding:36px 16px 28px}
.cf-card{width:100%;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}
.cf-head{display:flex;align-items:center;gap:12px;padding:14px}
.cf-head img{width:56px;height:56px;border-radius:12px;object-fit:cover;flex:0 0 auto}
.cf-tx{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}
.cf-tx b{font-size:16px;line-height:21px;color:var(--text)}
.cf-tx span{font-size:13px;line-height:18px;color:var(--muted)}
.cf-n{flex:0 0 auto;min-width:48px;height:32px;padding:0 10px;border-radius:999px;background:#F0A986;color:#141D23;font-family:Archivo,Figtree,sans-serif;font-weight:800;font-size:15px;display:inline-flex;align-items:center;justify-content:center}
.cf-n.big{min-width:60px;height:40px;font-size:20px}
.cf-n.off{background:transparent;border:1px solid var(--line);color:var(--muted);font-family:Figtree,system-ui,sans-serif;font-weight:600;font-size:12px}
.cf-com{margin:0;padding:0 14px 14px;color:var(--text);font-size:14px;line-height:20px}
.cf-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cf-row{display:flex;align-items:center;gap:12px;padding:12px 14px}
.cf-row+.cf-row{border-top:1px solid var(--line)}
.cf-th{width:40px;height:40px;border-radius:8px;object-fit:cover;flex:0 0 auto}
.cf-pet{padding:0 14px 14px}
.conf-ctas{gap:10px}
.conf-ctas .btn{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center}
.cf-sec{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cf-sec .btn{border:1px solid var(--line)}

/* —— 27-oct v6: foto directa en tarjeta, «Añadir plato» con icono, perfil de persona, ranking con aire —— */
.tp-add{display:flex;align-items:center;gap:12px;margin:4px 16px 14px;min-height:56px;padding:6px 14px 6px 8px;border:1.5px solid #F0A986;border-radius:14px;background:rgba(240,169,134,.08);cursor:text}
.tp-add-ico{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:10px;background:#F0A986;color:#141D23;display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;cursor:pointer} /* R2: botón que añade lo escrito */
.tp-add input{flex:1;min-width:0;min-height:44px;background:transparent;border:0;outline:none;color:var(--text);font:inherit;font-size:16px;font-weight:600}
.tp-add input::placeholder{color:var(--text);opacity:.85}
.tp-add:focus-within{background:rgba(240,169,134,.14)}
.tp-ph{position:relative;display:inline-block;margin:6px 0 2px}
.tp-ph img{display:block;width:96px;height:96px;border-radius:12px;object-fit:cover}
.tp-phx{position:absolute;top:-10px;right:-10px;width:32px;height:32px;border-radius:50%;border:0;background:#141D23;color:#ECF0F2;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 0 0 1px var(--line)}
.tp-phx::after{content:"";position:absolute;inset:-6px}
.pp-bio{margin:0;padding:0 20px 14px;color:var(--muted);font-size:14px;line-height:20px;overflow-wrap:anywhere}
a.pf-row-rank{color:inherit;text-decoration:none}
.prr-txt{color:var(--text);font-size:13px;line-height:18px;opacity:.85}
/* ranking: más aire entre bloques y filas */
.catseg{margin:16px 20px 0}
.rkcrits{padding:16px 20px 14px}
.fchips{padding:0 20px 16px}
.rksub{padding:4px 20px 8px}
.rkpod{gap:16px;padding:22px 20px 8px}
.rkpod .pod .mt{padding-top:6px}
.rrow{height:auto;min-height:64px;padding:8px 20px}
.rrow+.rrow{border-top:1px solid var(--line)}
.rrow img,.rrow .avmini{width:44px;height:44px}
.rrow .t b{font-size:15px;line-height:20px}
.rrow .t small{font-size:12px;line-height:16px;margin-top:2px}

/* —— 27-oct v6b: ranking — unidad legible y fila propia —— */
.rrow .rnota.u{font-family:Figtree,system-ui,sans-serif;font-size:14px;font-weight:700;white-space:nowrap}
.rrow.yo{background:rgba(240,169,134,.08);border-radius:12px;margin:0 8px;padding:8px 12px}
/* Catálogo real: atribución de foto (sin cambiar las superficies del diseño v6). */
.fcred{position:absolute;left:0;right:0;bottom:0;padding:2px 3px;background:var(--bg);color:var(--muted);font-family:Figtree,system-ui,sans-serif;font-size:10px;line-height:12px;font-weight:400;overflow-wrap:anywhere;z-index:1;pointer-events:none}
[data-catalog-photo]{position:relative}
.gstrip-img[data-catalog-photo],.eds-img[data-catalog-photo]{position:absolute}
/* DEC-031: foto de plato (o portada del restaurante) como <img> dentro de cajas pensadas para fondo */
.fotoplato{overflow:hidden}
.fotoplato>img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
[data-catalog-photo]>img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.fhero>.fcred{bottom:3px;left:20px;right:auto;max-width:calc(100% - 40px)}
.catalog-gallery{overflow-x:auto}
.catalog-gallery .fpcard{flex:0 0 104px;height:90px;padding:0;overflow:hidden}
.mapa .pin .dot{display:block;min-width:12px;min-height:12px}
.catalog-row-photo{position:relative;flex:0 0 auto;display:inline-flex;width:56px;height:56px}
.row .catalog-row-photo{width:56px;height:56px}
.add-sitio .catalog-row-photo{width:64px;height:64px}
.catalog-row-photo>img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
/* La zona escapada puede ser larga: conservar los controles y su área de 44px. */
.homehead .logo{flex-shrink:0}
.homehead .citybtn{min-width:44px;overflow:hidden}

/* ── C1 Acceso real (F3 Acceso · Lona & noche) ─────────────────────────── */
/* pulido-1: solo el contenedor de acceso (data-vista). Antes «.acc» también alcanzaba .chip.acc del ranking y
   .ract.acc (Guardar del plato) y les daba 844 px de alto: los chips «estirados» del iPhone. */
.acc[data-vista]{min-height:844px;color:#ECF0F2;font-family:Figtree,system-ui,sans-serif}
.acc-top{padding:0 24px;border-bottom:1px solid #2A3A43}
.acc-volver{min-height:52px;color:#A7BAC5;font-size:15px;font-weight:500;display:inline-flex;align-items:center;margin-left:-4px;padding:0 4px}
.acc-body{display:flex;flex-direction:column;padding:36px 24px 40px}
.acc-centro{align-items:center;justify-content:center;min-height:500px}
.acc-h1{font-family:Archivo,system-ui,sans-serif;font-size:28px;line-height:34px;font-weight:700;letter-spacing:-0.01em;color:#ECF0F2;margin:0}
.acc-sub{color:#A7BAC5;font-size:16px;line-height:22px;margin:10px 0 0}
.acc-gap{margin-top:26px}
.acc-lbl{display:block;color:#ECF0F2;font-size:14px;font-weight:700;margin:28px 0 10px}
.acc-lbl.acc-gap{margin-top:28px}
.acc-in{width:100%;min-height:54px;background:#202D35;border:1px solid #5C7079;border-radius:12px;padding:15px 16px;color:#ECF0F2;font:500 16px/22px Figtree,system-ui,sans-serif}
.acc-in::placeholder{color:#7F939D}
.acc-in:focus,.acc-arroba:focus-within{outline:2px solid #F0A986;outline-offset:1px}
.acc-in[disabled]{color:#7F939D}
.acc-ta{min-height:72px;resize:none}
.acc-in-err{border-color:#EF6F6C}
.acc-arroba{display:flex;align-items:center;gap:2px;min-height:54px;background:#202D35;border:1px solid #5C7079;border-radius:12px;padding:0 16px}
.acc-arroba.acc-in-err{border-color:#EF6F6C}
.acc-arroba span{color:#ECF0F2;font-size:16px}
.acc-arroba input{flex:1;min-width:0;background:none;border:0;outline:0;color:#ECF0F2;font:500 16px/22px Figtree,system-ui,sans-serif;padding:15px 0}
.acc-err{display:flex;gap:8px;align-items:flex-start;color:#EF6F6C;font-size:14px;line-height:20px;margin:10px 0 0}
.acc-err svg{flex:0 0 auto;margin-top:3px}
.acc-aviso{color:#A7BAC5;font-size:15px;line-height:20px;margin:10px 0 0}
.acc-btn{width:100%;min-height:52px;margin-top:24px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;font:700 16px/20px Figtree,system-ui,sans-serif;padding:12px 16px;cursor:pointer}
.acc-btn[disabled]{cursor:default}
.acc-pri{background:#F0A986;color:#141D23}
.acc-pri[disabled]{background:#34444D;color:#8FA1AB}
.acc-pri[disabled]:has(.acc-spin){background:#9C7563;color:#ECF0F2}
.acc-sec{background:transparent;color:#ECF0F2;border:1px solid #5C7079}
.acc-peligro{background:#A64B46;color:#ECF0F2;margin-top:12px}
.acc-peligro-sec{background:transparent;color:#F0A986;border:1px solid #A64B46}
.acc-sec-t{color:#A7BAC5;font-size:15px;margin:30px 0 -10px}
.acc-entras{color:#ECF0F2;font-size:16px;line-height:22px;margin:18px 0 0;overflow-wrap:anywhere} /* R4: cómo entras */
.acc-cuenta .acc-btn{margin-top:20px}
.acc-spin{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .9s linear infinite}
.acc-spin-grande{margin:28px 0 0;width:26px;height:26px}
.acc-link{min-height:44px;margin-top:16px;color:#F0A986;font:700 16px/20px Figtree,system-ui,sans-serif;align-self:center;padding:0 8px}
.acc-link-muted{color:#A7BAC5;font-weight:500;text-decoration:underline;align-self:flex-start;padding:0;margin-top:20px}
.acc-chips{display:flex;flex-wrap:wrap;gap:8px}
.acc-chip{min-height:44px;padding:0 14px;border:1px solid #5C7079;border-radius:12px;color:#ECF0F2;font-size:14px;font-weight:500;background:transparent}
/* Entrar (HRE-1) */
.acc-entrar{position:relative;min-height:844px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.acc-collage{position:absolute;inset:-40px -60px auto -60px;height:560px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;transform:rotate(-6deg);opacity:.85}
.acc-collage span{display:block;height:170px;border-radius:12px;background-size:cover;background-position:center}
.acc-collage span:nth-child(3n+2){transform:translateY(-60px)}
.acc-entrar::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,29,35,.15) 0%,rgba(20,29,35,.55) 38%,#141D23 62%);z-index:1;pointer-events:none}
.acc-entrar-pie{position:relative;z-index:2;display:flex;flex-direction:column;padding:0 24px 40px}
.acc-logo{font-family:Manrope,system-ui,sans-serif;font-size:56px;line-height:60px;font-weight:800;letter-spacing:-0.06em;color:#ECF0F2}
.acc-h1-entrar{font-size:28px;line-height:34px;margin-top:10px}
.acc-entrar .acc-btn{min-height:56px;border-radius:14px;font-size:17px;margin-top:12px}
.acc-entrar .acc-btn:first-of-type{margin-top:22px}
.acc-google{background:#ECF0F2;color:#141D23}
.acc-entrar .acc-sec{background:#202D35}
@media(max-width:340px){.acc-body{padding-left:16px;padding-right:16px}.acc-top{padding:0 16px}.acc-entrar-pie{padding:0 16px 32px}.acc-h1{font-size:25px;line-height:30px}.acc-sub{font-size:15px;line-height:21px}}
/* C2 · tip de la reseña (I7K-0: TIP + contador n/120; IEV-0: al pasarse, contador y borde en rojo) */
.tp-tip .tip-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.tp-tip .tip-h label{margin-bottom:0}
.tip-cnt{color:var(--muted);font-family:Figtree,system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.4px}
.tip-cnt.over{color:#E5536B}
.field textarea.tip-in{min-height:56px;font-family:Figtree,system-ui,sans-serif;font-size:14px;line-height:20px}
.field textarea.tip-in.over{border-color:#E5536B}
/* C2 · reseñas publicadas del sitio (IEV-0) */
.rv-list{display:flex;flex-direction:column;gap:12px;padding:0 20px 8px}
.rv-list[aria-busy="true"]{min-height:44px}
.rv-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}
.rv-h{display:flex;align-items:center;gap:12px}
.rv-av{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#141D23;display:flex;align-items:center;justify-content:center;font-family:Figtree,system-ui,sans-serif;font-weight:700;font-size:15px}
.rv-who{flex:1;min-width:0}
.rv-who b{display:block;font-size:14px;line-height:18px}
.rv-who small{display:block;color:var(--muted);font-size:12px;line-height:16px;overflow-wrap:anywhere}
.rv-n{font-family:"Archivo",sans-serif;font-weight:700;font-size:20px;color:var(--text)}
.rv-tx{margin:10px 0 0;font-size:14px;line-height:20px;overflow-wrap:anywhere}
.rv-pl{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.rv-pl li{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.rv-pl b{color:var(--text);font-weight:600}
.rv-pl b.off{color:var(--muted2);font-weight:500}
.rv-tip{margin-top:12px;background:var(--bg);border-left:2px solid var(--accent);border-radius:8px;padding:10px 12px}
.rv-tip span{display:block;color:var(--accent);font-family:Figtree,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.6px}
.rv-tip p{margin:4px 0 0;font-size:14px;line-height:19px;overflow-wrap:anywhere}
.cf-tip{margin:10px 0 0}
.rv-vacio{padding:0 20px;color:var(--muted);font-size:13px}

/* C3: fotos de la reseña (servidor) */
.rv-pl li{align-items:center}
.rv-pl .rv-ph{width:40px;height:40px;border-radius:3px;object-fit:cover;flex:0 0 auto}
.rv-pl li span{flex:1}
.cf-rev{display:block;font-size:12px;color:var(--muted)}
/* C4: visibilidad de la guía y eliminar (editor), perfil público con 4 contadores */
.edvis{display:flex;gap:8px;padding:4px 20px 8px}
.edvis .chip{border:1px solid var(--line);border-radius:999px}
.edvis .chip.on{color:var(--text);border-color:var(--accent);font-weight:700}
.edborrar{margin-top:10px;color:var(--muted)}
.pf-stats{flex-wrap:wrap;row-gap:6px}

/* —— Pulido-1 (29-oct) —— */
/* D1: crédito solo en la galería de la ficha. «i» discreto (16 px visibles, área táctil 44 px). */
.fcred[hidden]{display:none}
.catalog-gallery .fcred:not(.fcred-i){background:rgba(20,29,35,.82);color:var(--text);padding:3px 6px;font-size:10px;line-height:12px}
.fcred.fcred-i{position:absolute;top:0;right:0;left:auto;bottom:auto;z-index:2;overflow:visible;pointer-events:auto;width:44px;height:44px;padding:5px;display:flex;align-items:flex-start;justify-content:flex-end;background:none;border:0;cursor:pointer}
.fcred.fcred-i span{width:16px;height:16px;border-radius:50%;background:rgba(20,29,35,.45);color:rgba(236,240,242,.8);font:italic 700 10px/16px Georgia,serif;text-align:center}
.fcred.fcred-i[aria-expanded="true"] span{background:rgba(20,29,35,.8);color:var(--text)}
/* E2: miniaturas uniformes (el envoltorio conserva el radio de .row img que el crédito anulaba) */
.catalog-row-photo{border-radius:10px;overflow:hidden}
.add-sitio .catalog-row-photo{border-radius:16px}
.cf-head .catalog-row-photo{border-radius:12px}
.prr-img{overflow:hidden}
/* E3: perfil — acciones que caben a 320 y contenido que no queda bajo la barra con safe-area */
.pf-actions{flex-wrap:wrap}
.screen{padding-bottom:calc(104px + var(--safe-b))}
/* E3: avatar vacío con la inicial del @usuario (perfil propio y público) */
.pf-av-ini{display:flex;align-items:center;justify-content:center;background:var(--active);color:var(--text);font-family:"Archivo",sans-serif;font-size:30px;font-weight:800}
/* E3: actividad — avatar con inicial (mismo lenguaje que las tarjetas de reseña) y acción destructiva */
.feeditem .hd .fd-av{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#141D23;display:flex;align-items:center;justify-content:center;font-family:Figtree,system-ui,sans-serif;font-weight:700;font-size:15px}
.btn.peligro{color:#EF6F6C;border-color:#A64B46}
/* E4 (D3): el @usuario es el título del perfil; puede ser largo (20 caracteres) */
.pf-avatar-yo{padding-top:8px}
.pf-av-info{min-width:0}
.pf-av-info h1{overflow-wrap:anywhere}
/* E5 (D2): pregunta de mascota en el onboarding */
.ob-pet{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 16px 12px;padding:4px 4px 4px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.ob-pet>span{font-size:14px;font-weight:600;color:var(--text)}
.ob-pet-op{display:flex;gap:4px}
.ob-pet .chip{padding:0 14px}
/* E6: hoja inferior «Añadir a guía» (misma superficie que el panel de filtros) */
.hoja-guia{padding-bottom:calc(24px + var(--safe-b));max-height:85vh;overflow:auto;gap:16px}
.hg-list{display:flex;flex-direction:column;gap:8px}
.hg-row{width:100%;text-align:left;min-height:56px;background:var(--bg);border:1px solid var(--line);cursor:pointer}
.hg-row[aria-disabled="true"]{cursor:default;opacity:.7}
.hg-ya{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--muted)}
.hg-nueva label{display:block;color:var(--muted);font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.4px;overflow-wrap:anywhere}
.hg-fila{display:flex;gap:8px;align-items:stretch}
.hg-fila input{flex:1;min-width:0;min-height:44px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--text);font-size:16px}
.hg-fila input[aria-invalid="true"]{border-color:#EF6F6C}
.hg-err{color:#EF6F6C;font-size:13px;margin-top:8px}
/* E7 (D4) · escala de notas: un solo componente (.nv) para sitio y plato; el tamaño lo pone el contexto */
:root{--accent-soft:#EEC5B1} /* acento suave = 60 % acento + 40 % texto */
.nv{font-family:"Archivo",sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.nv.nv-10{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#141D23;font-weight:800;border-radius:999px;padding:.08em .5em;line-height:1.25}
.nv.nv-9{color:var(--accent);font-weight:800}
.nv.nv-8{color:var(--accent-soft);font-weight:700}
.nv.nv-7{color:var(--text);font-weight:700}
.nv.nv-6{color:var(--muted);font-weight:600}
.nv.nv-sin{color:var(--muted);font-family:Figtree,system-ui,sans-serif;font-weight:500;font-size:12px;letter-spacing:0}
.fnota-big.nv.nv-10{padding:.02em .3em}
/* recibo: la nota ya no es siempre una pastilla; solo el 10.0 (contrato D4) */
.cf-n,.cf-n.big{background:none;color:inherit;padding:0;min-width:0}
.cf-n.off{border:0}
.cf-n .nv-10{padding:4px 10px}
.fd-nota{font-size:18px}
.grow-nota{width:auto;min-width:34px}
/* E7 (D4) · tip: misma superficie de la tarjeta, línea fina arriba, etiqueta en versalitas de acento */
.rv-tip{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0 0}
.rv-tip span{font-size:13px;font-weight:700;font-variant-caps:all-small-caps;letter-spacing:.08em;color:var(--accent)}
.rv-tip p{margin-top:2px;color:var(--text);font-weight:500}
.cf-tip{margin:0 14px;padding:12px 0}
/* E8 · inicio: el ajuste de filtros va junto a «Populares del mes» (no al otro extremo) */
.sectrow{justify-content:flex-start;gap:2px}
.acc-legal{display:flex;justify-content:center;gap:4px;margin-top:4px}.acc-legal a{color:#A7BAC5;font-size:13px;min-height:44px;line-height:44px;padding:0 10px;text-decoration:none}
.acc-entrar-pie .acc-h1,.acc-entrar-pie .acc-sub{text-wrap:balance}
/* ── pulido-2 · menores de la revisión de pulido-1 ── */
/* M1: la fila dice qué hace; «Crear» apagado mientras no hay nombre (el aviso al enviar vacío se conserva) */
.hg-act{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--accent)}
.hg-fila .btn.off{background:var(--card);color:var(--muted)}
/* M2: «Este mes» y demás filtros del ranking con el patrón de .chip: caja de 44 px y pastilla pintada de 28 px */
.fchips .fchip{position:relative;z-index:0;background:none;border:0;border-radius:0}
.fchips .fchip::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:8px;bottom:8px;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.fchips .fchip.on{background:none;color:#141D23}
.fchips .fchip.on::before{background:var(--accent);border-color:var(--accent)}
/* M3: la nota sobre la foto sigue la escala .nv (el fondo oscuro se conserva para leerse sobre cualquier foto) */
.card .pill.nv-10{background:var(--accent);color:#141D23}
.card .pill.nv-9{color:var(--accent)}
.card .pill.nv-8{color:var(--accent-soft)}
.card .pill.nv-7{color:var(--text)}
.card .pill.nv-6{color:var(--muted)}
/* Revisión pulido-2 MEDIO-1: la zona se nombra solo en su botón y los textos largos acaban en «…» */
.hh-inicio{gap:2px}.hh-inicio .logo{margin-right:2px}.hh-inicio .citybtn{min-width:0;flex:0 1 auto;gap:2px;padding:4px 3px}.hh-inicio #city-toggle{flex-shrink:0}.hh-inicio .citybtn.conzona svg{display:none}.hh-inicio .citybtn .cb-t{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* el logo arranca en la misma columna que el contenido (20 px); a la derecha los iconos ya traen su área táctil */
.hh-inicio,.topsafe+.hh-inicio{padding-left:20px;padding-right:10px}

/* Lote D (pulido-2): H4 nº de notas junto a la nota · H7 selector en la hoja · H8 nombre a 2 líneas · H10 correo */
.rrow .rnw{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:1px}
.rkn{display:block;color:var(--muted2);font-family:Figtree,system-ui,sans-serif;font-size:11px;font-weight:500;line-height:14px;white-space:nowrap;text-align:center}
.rrow .rkn{text-align:right}
.hg-vis{padding:12px 0 0}
.card .name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.acc-email{color:#ECF0F2;font-weight:600;overflow-wrap:anywhere}
/* revisión CD MENOR-3: sin píldora dentro de otra en Pública/Privada */
.edvis .chip::before{display:none}
/* V1 · «Desliza para rankear» (prototipo aprobado por Rafael, 30-oct) + línea «Tú» + Tus visitas (DEC-024/025) */
.fbot{flex-wrap:wrap}
/* V1b M1: el panel se funde con lo de detrás (degradado como el prototipo aprobado, sin línea de 1 px ni sombras) */
.fbot::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:32px;background:linear-gradient(#141D2300,#141D23);pointer-events:none}
/* V1b M2: «Tú» con el mismo aire arriba y hasta los botones (8 px de grid; pastilla de 21 px en una fila de 24);
   el objetivo táctil sigue siendo de 44 px con ::after, sin alargar el panel */
.fbot.con-tu{padding-top:8px;row-gap:8px}
.fbot-tu{flex:0 0 100%;position:relative;display:flex;align-items:center;gap:6px;height:24px;font-size:13px;font-weight:600;line-height:16px;color:var(--muted);white-space:nowrap} /* N1: sin overflow:hidden, que recortaba su propio ::after (zona táctil 24 → 44 px) */
.fbot-tu::after{content:"";position:absolute;left:0;right:0;top:-12px;bottom:-8px}
.fbot-tu .tu-k{color:var(--text);font-weight:700}
.fbot-tu .tu-sep{color:var(--muted2)}
.fbot-tu .tu-m{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}
.fbot-tu .tu-m>span{color:var(--muted2)}
.fbot-tu .tu-chev{margin-left:auto;padding-left:6px;font-size:20px;line-height:16px;color:var(--muted)}
.fbody.con-tu{padding-bottom:calc(156px + var(--safe-b))}
.tu-n.nv{display:inline-flex;align-items:center;font-size:13px;font-weight:800;line-height:18px;padding:0 8px;border-radius:999px;border:1.5px solid currentColor}
.tu-n.nv.nv-10{border-color:var(--accent);padding:0 8px}
.dz{flex:1;min-width:0;height:50px;position:relative;border-radius:14px;background:var(--card);border:1px solid var(--line);touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;overflow:hidden}
.dz:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.dz-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:#F0A98633;pointer-events:none}
.dz-lbl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-left:44px;padding-right:6px;font-family:"Archivo",sans-serif;font-weight:600;font-size:15px;line-height:18px;color:var(--accent);white-space:nowrap;transition:opacity .15s;pointer-events:none}
.dz.on .dz-lbl{opacity:0}
.dz-th{position:absolute;top:4px;left:4px;width:40px;height:40px;border-radius:11px;background:var(--accent);display:flex;align-items:center;justify-content:center;pointer-events:none}
.dz-big{position:absolute;left:0;right:0;bottom:calc(100% + 14px);text-align:center;font-family:"Archivo",sans-serif;font-size:64px;font-weight:800;line-height:1;opacity:0;transition:opacity .12s;pointer-events:none;text-shadow:0 2px 20px #000a}
.dz-big.on{opacity:1}
.dz-big .nv{font-weight:800}
.dz-big .nv.nv-10{padding:.02em .3em}
@media(max-width:360px){.fhor-sem{margin-right:0}} /* V1b: en 320 la columna del título no da para «Todos los días · 12:00–23:00» en una línea: la semana usa todo el ancho, como antes */
@media(max-width:360px){.fbot{gap:8px;padding-left:16px;padding-right:16px}.fbot-btn{width:44px;height:50px}.dz-lbl{font-size:13px;padding-left:46px}}
.vis-sub{padding:0 20px 8px}
.vis-list{display:flex;flex-direction:column;gap:10px;padding:4px 16px 16px}
.vis-card{background:var(--card);border-radius:12px;padding:12px 14px;overflow-wrap:anywhere}
.vis-h{display:flex;align-items:center;gap:10px}
.vis-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.vis-t b{font-size:15px;font-weight:700;color:var(--text)}
.vis-t small{font-size:12px;color:var(--muted)}
.tu-n.nv.vis-n{font-size:16px;line-height:24px;padding:0 10px}
.vis-card .rv-tip,.vis-card .rv-pl,.vis-card .rv-tx{margin-left:0;margin-right:0}
.vis-pt{display:block;color:var(--muted);font-size:12px;font-weight:500}
.vis-acts{display:flex;gap:8px;margin-top:10px}
.vis-acts .btn{width:auto;flex:1}
.cf-visita{color:var(--muted);font-size:13px;line-height:17px;text-align:center;margin:-4px 0 12px}
.cf-visita a{color:var(--accent);font-weight:600}
