/* =====================================================================
   educacionsexual.org — hoja de estilos
   BASE: CSS de la maqueta aprobada (uploads/maqueta_portada_v3_2.html),
   copiado TAL CUAL en la sección 1. La sección 2 añade alias y el chrome
   del sitio; la sección 3, los componentes de páginas interiores.
   TEMA CLARO ÚNICAMENTE: sin modo oscuro ni media queries de esquema
   de color (se retomará como opción manual más adelante).
   ===================================================================== */

/* ------------------------------------------------------------------
   1. CSS DE LA MAQUETA (tal cual)
   ------------------------------------------------------------------ */
:root{color-scheme:only light;--bg:#f8fafc;--card:#fff;--text:#1e293b;--muted:#64748b;--pink:#ff2d78;--blue:#1877f2;--pinkbg:#ffeef4;--bluebg:#e8f1fe;--border:#e2e8f0}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);background-color:var(--bg);color:var(--text);line-height:1.6;color-scheme:only light}
.topbar{display:flex;justify-content:flex-end;gap:1.2rem;padding:.7rem 1.4rem;font-size:.85rem}
.topbar a{color:var(--muted);text-decoration:none;font-weight:600} .topbar a:hover{color:var(--blue)}
.hero{text-align:center;padding:.5rem 1.2rem 0}
.logo{width:min(340px,72vw);height:auto}
.search{max-width:640px;margin:1.1rem auto 0;display:flex;background:var(--card);border:2px solid var(--border);border-radius:99px;overflow:hidden;box-shadow:0 6px 18px -8px rgba(15,23,42,.12)}
.search:focus-within{border-color:var(--blue)}
.search input{flex:1;border:0;outline:0;padding:.95rem 1.5rem;font-size:1.05rem;background:transparent}
.search button{border:0;background:linear-gradient(90deg,var(--pink),var(--blue));color:#fff;font-weight:700;font-size:1rem;padding:0 1.6rem;cursor:pointer}
/* Botón de búsqueda con lupa: cuadrado, icono centrado, no se corta en móvil */
.search .search-btn{display:flex;align-items:center;justify-content:center;padding:0;width:56px;flex:0 0 56px;color:#fff}
.search .search-btn svg{display:block}
.search .search-btn:hover{filter:brightness(.96)}
/* 5 desplegables repartidos por igual en una fila; envuelven ordenados en móvil */
.filtros{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin:1.1rem auto 0;max-width:940px}
.filtro{position:relative;flex:1 1 165px;min-width:0}
.filtro summary{list-style:none;cursor:pointer;background:var(--card);border:1.5px solid var(--border);border-radius:99px;padding:.5rem .9rem;font-weight:600;font-size:.9rem;color:var(--text);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.filtro summary::-webkit-details-marker{display:none}
.filtro[open] summary{border-color:var(--blue);color:var(--blue)}
.panel{position:absolute;z-index:30;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 40px -12px rgba(15,23,42,.25);padding:.9rem 1.1rem;display:grid;gap:.45rem;min-width:250px;text-align:left}
.panel label.todas{border-bottom:1px solid var(--border);padding-bottom:.5rem;margin-bottom:.15rem;color:var(--blue)}
.panel label{font-size:.9rem;display:flex;gap:.5rem;align-items:center;white-space:nowrap;cursor:pointer}
.panel label.opt .opt-txt{flex:1}
/* Recuento de faceta entre paréntesis */
.panel label.opt .cnt{color:var(--muted);font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums}
.panel label.opt .cnt::before{content:'('}
.panel label.opt .cnt::after{content:')'}
/* Opción sin resultados: atenuada y no clicable */
.panel label.opt.off{opacity:.4;cursor:not-allowed}
.panel label.opt.off input{cursor:not-allowed}
.aplicar{margin:1rem auto 0;display:inline-block;background:var(--pinkbg);color:var(--pink);border:0;font-weight:700;padding:.55rem 1.4rem;border-radius:99px;font-size:.92rem;cursor:pointer}
/* Enlace "Limpiar filtros": solo visible con algún filtro activo */
.filtros-home .limpiar{margin:1rem auto 0;display:block;background:none;border:0;color:var(--muted);font-weight:600;font-size:.9rem;cursor:pointer;padding:.4rem .8rem;border-radius:99px}
.filtros-home .limpiar:hover{color:var(--pink);background:var(--pinkbg)}
.filtros-home .limpiar[hidden]{display:none}
/* Grid atenuado durante la carga */
#grid-posturas.cargando{opacity:.55;transition:opacity .15s}
.wrap{max-width:1200px;margin:2.2rem auto;padding:0 1.2rem}
.result-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.1rem;flex-wrap:wrap;gap:.5rem}
.result-head h1{font-size:1.25rem;font-weight:800}
.result-head span{color:var(--muted);font-size:.88rem}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 28px -14px rgba(15,23,42,.25);border-color:var(--blue)}
.card-ill{background:#f1f5f9;padding:.4rem} .ill{width:100%;height:auto;display:block}
.card-body{padding:.9rem 1rem 1.1rem}
.card-body h3{font-size:1.02rem;font-weight:800;margin-bottom:.45rem}
.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.6rem}
.chip{font-size:.72rem;font-weight:700;padding:.16rem .6rem;border-radius:99px}
.c1{background:var(--bluebg);color:var(--blue)} .c2{background:var(--pinkbg);color:var(--pink)}
.placer{position:relative;height:8px;background:#eef2f7;border-radius:99px;overflow:visible}
.placer span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--pink),var(--blue))}
.placer em{position:absolute;right:0;top:12px;font-style:normal;font-size:.72rem;color:var(--muted);font-weight:600}
footer{border-top:1px solid var(--border);margin-top:3rem;padding:1.6rem;text-align:center;font-size:.8rem;color:var(--muted)}
footer a{color:var(--muted)}
.nota{max-width:720px;margin:.9rem auto 0;font-size:.78rem;color:var(--muted);text-align:center}

/* ------------------------------------------------------------------
   2. ALIAS Y AJUSTES DEL SISTEMA (solo tema claro)
   ------------------------------------------------------------------ */
:root{
    color-scheme:only light; /* controles de formulario siempre claros */
    --bg-main:var(--bg); --card-bg:var(--card); --text-main:var(--text);
    --text-muted:var(--muted); --border-color:var(--border);
    --accent-cyan:#00a8cc; --accent-cyan-dark:#0089a8;      /* paleta de ilustraciones */
    --accent-magenta:#ff4b5c; --accent-pink-light:var(--pinkbg);
    --soft:#f1f5f9; --radius:12px; --shadow:0 10px 15px -3px rgba(0,0,0,.08); --maxw:1200px;
}
html{scroll-behavior:smooth;color-scheme:only light;background:var(--bg)}
a{color:var(--blue)}
img{max-width:100%;height:auto;display:block}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:0;background:var(--blue);color:#fff;padding:.6rem 1rem;z-index:200;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
.lg-p{color:var(--pink)} .lg-b{color:var(--blue)} .lg-g{color:var(--muted);font-weight:600}
.topbar-lang{color:var(--muted);font-weight:600}
@media(max-width:640px){.panel{position:static;transform:none;box-shadow:none;margin-top:.5rem}}
.aplicar:hover{filter:brightness(.97)}

/* ---------- Cabecera de páginas interiores ---------- */
.site-header{background:var(--card);border-bottom:1px solid var(--border);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.logo-container{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);font-weight:800;font-size:1.15rem}
.main-nav{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.main-nav>a{text-decoration:none;color:var(--muted);font-weight:600;font-size:.95rem}
.main-nav>a:hover{color:var(--blue)}
.nav-search{display:flex;gap:.35rem}
.nav-search input{border:1px solid var(--border);border-radius:8px;padding:.45rem .7rem;font-size:.9rem;min-width:160px;background:var(--bg);color:var(--text)}
.nav-search input:focus{outline:2px solid var(--blue);outline-offset:1px}
.nav-search button{background:linear-gradient(90deg,var(--pink),var(--blue));color:#fff;border:0;border-radius:8px;padding:.45rem .9rem;font-weight:600;cursor:pointer}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{background:var(--soft);border-bottom:1px solid var(--border)}
.breadcrumbs-inner{max-width:var(--maxw);margin:0 auto;padding:.6rem 1.5rem;font-size:.85rem;color:var(--muted)}
.breadcrumbs a{color:var(--muted);text-decoration:none}
.breadcrumbs a:hover{color:var(--blue);text-decoration:underline}
.breadcrumbs .bc-sep{margin:0 .4rem;color:#cbd5e1}
.breadcrumbs [aria-current="page"]{color:var(--text);font-weight:600}

/* ---------- Layout interior ---------- */
.container{max-width:var(--maxw);margin:2rem auto;padding:0 1.5rem}
h2.section-title{font-size:1.5rem;margin:2.5rem 0 1.5rem;color:var(--text);border-left:4px solid var(--pink);padding-left:.75rem}

/* ------------------------------------------------------------------
   3. COMPONENTES DE PÁGINAS INTERIORES
   ------------------------------------------------------------------ */

/* ---------- Buscador del 404 ---------- */
.hero-search{display:flex;gap:.5rem;max-width:560px;margin:0 auto}
.hero-search input{flex:1;border:1px solid var(--border);border-radius:10px;padding:.8rem 1rem;font-size:1rem;background:var(--card);color:var(--text)}
.hero-search input:focus{outline:2px solid var(--blue);outline-offset:1px}
.hero-search button{background:linear-gradient(90deg,var(--pink),var(--blue));color:#fff;border:0;border-radius:8px;padding:.45rem .9rem;font-weight:600;cursor:pointer}

/* ---------- Etiquetas y dimensiones (fichas) ---------- */
.tag{display:inline-block;background:var(--soft);color:var(--text);text-decoration:none;padding:.35rem .7rem;border-radius:999px;font-size:.82rem;border:1px solid var(--border)}
a.tag:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.tag-dimension{background:color-mix(in srgb,var(--chip-color,var(--blue)) 14%,white);color:var(--chip-color,var(--blue));border:1px solid color-mix(in srgb,var(--chip-color,var(--blue)) 30%,white)}
.tag-mini{font-size:.7rem;padding:.1rem .55rem;background:var(--pinkbg);color:var(--pink);border-radius:99px;font-weight:700;border:0}

/* ---------- Grid de familias / guías ---------- */
.grid-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.card-cat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;transition:transform .15s,box-shadow .15s,border-color .15s}
.card-cat:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue)}
.cat-comun{display:inline-block;background:var(--pinkbg);color:var(--pink);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;padding:.25rem .8rem;border-radius:999px;margin-bottom:1rem}
.card-cat img{width:80px;height:80px;margin-bottom:1rem}
.card-cat h3{font-size:1.1rem;margin-bottom:.4rem}
.card-cat p{font-size:.88rem;color:var(--muted)}

/* ---------- Catálogo A-Z ---------- */
.az-bar{display:flex;gap:.25rem;flex-wrap:wrap;background:var(--card);padding:1rem;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:2rem;justify-content:center}
.az-link{padding:.35rem .65rem;border-radius:6px;text-decoration:none;font-weight:600;font-size:.9rem}
.az-on{color:var(--blue)}
.az-on:hover{background:var(--blue);color:#fff}
.az-off{color:#cbd5e1;cursor:default}
.letra-bloque{margin-bottom:2.5rem;scroll-margin-top:90px}
.letra-titulo{font-size:1.6rem;color:var(--pink);border-bottom:2px solid var(--border);padding-bottom:.3rem;margin-bottom:1.25rem}

/* ---------- Ficha ---------- */
.ficha{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2.5rem;margin-top:1.5rem}
.badge{display:inline-block;background:var(--pinkbg);color:var(--pink);padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:uppercase;margin:0 .4rem 1rem 0;text-decoration:none}
.badge-familia{background:var(--bluebg);color:var(--blue)}
.ficha-head h1{font-size:1.9rem;line-height:1.2;margin-bottom:.75rem}
.ficha-resumen{color:var(--muted);font-size:1.1rem}
.ficha-sinonimos{color:var(--muted);font-size:.92rem;margin-top:.4rem}
.ficha-figura{margin:1.5rem 0;border-radius:var(--radius);overflow:hidden;background:var(--soft)}
.ficha-figura img{width:100%;object-fit:cover}
.ficha-placer{max-width:420px;margin:1rem 0 .9rem}
.ficha-etiquetas{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.ficha-estim{color:var(--muted);margin-bottom:1rem}
.bloque-bio{margin-top:1.5rem;padding:1.5rem;background:var(--bg);border-radius:var(--radius);border-left:3px solid var(--blue)}
.bloque-bio h2{font-size:1.2rem;margin-bottom:.5rem}
.ficha-datos{margin:1.6rem 0}
.datos-clave{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin-top:.8rem}
.datos-clave>div{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem}
.datos-clave dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.datos-clave dd{margin:.2rem 0 0;font-weight:600}
.variantes{margin-top:1rem}
.variante-box{margin-top:2.5rem;padding-top:2rem;border-top:1px dashed var(--border);scroll-margin-top:90px}
.variante-titulo{font-size:1.3rem;color:var(--text);margin-bottom:.75rem}
.variante-corta{color:var(--muted);margin-bottom:.6rem}
.variante-figura{margin:.75rem 0;border-radius:var(--radius);overflow:hidden;max-width:420px}
.pasos-list{margin-top:1rem;padding-left:1.3rem;color:var(--muted);display:flex;flex-direction:column;gap:.4rem}
.configuraciones{margin:2rem 0}
.config-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:.9rem}
.config-box h3{font-size:1.02rem;margin-bottom:.5rem}
.combos-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.combos-list li{display:flex;align-items:center;gap:.5rem;font-size:.95rem}
.consejos-errores{margin:2rem 0}
.ce-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.ce-col{border-radius:var(--radius);padding:1rem 1.2rem;border:1px solid var(--border);background:var(--card)}
.ce-col h3{margin-bottom:.6rem;font-size:1rem}
.ce-consejos h3{color:#0f766e} .ce-errores h3{color:var(--pink)}
.ce-col ul{padding-left:1.2rem;display:grid;gap:.45rem;font-size:.95rem}
.ficha-faq{margin:2rem 0}
.faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.1rem;margin-bottom:.7rem}
.faq-item summary{cursor:pointer;font-weight:600}
.faq-item[open] summary{color:var(--blue);margin-bottom:.5rem}
.relacionadas{margin:2rem 0}
.disclaimer{margin-top:2.5rem;background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #f59e0b;color:#7c2d12;padding:1.1rem 1.25rem;border-radius:var(--radius);font-size:.9rem}
.fuentes{margin:1.6rem 0;font-size:.9rem}
.fuentes h2{font-size:1.05rem;margin-bottom:.5rem}
.fuentes-list{padding-left:1.3rem;display:grid;gap:.35rem;color:var(--muted)}
.ficha-revision{margin-top:1.25rem;font-size:.85rem;color:var(--muted);font-style:italic}

/* ---------- Listado ---------- */
.listado-head{margin-bottom:1.5rem}
.listado-head h1{font-size:1.8rem;margin-bottom:.4rem}
.listado-grupo{display:inline-block;background:var(--soft);color:var(--blue);font-size:.8rem;font-weight:600;padding:.2rem .7rem;border-radius:999px}
.listado-intro{color:var(--muted);margin-top:.6rem;max-width:720px}
.listado-conteo{color:var(--muted);font-size:.9rem;margin-bottom:1.25rem}
.empty-msg{color:var(--muted);background:var(--card);border:1px dashed var(--border);padding:1.5rem;border-radius:var(--radius)}
.empty-search-form{margin:1rem auto 0}.empty-search-form[hidden]{display:none!important}
.btn-volver{display:inline-block;margin-top:1rem;color:var(--blue);text-decoration:none;font-weight:600}

/* ---------- 404 ---------- */
.error-404{text-align:center;padding:3rem 1rem}
.error-code{font-size:4rem;font-weight:800;color:var(--pink)}
.error-404 h1{margin:.5rem 0 1rem}
.error-404 p{color:var(--muted);max-width:520px;margin:0 auto 1.5rem}
.error-404 .hero-search{margin-bottom:1rem}

/* ---------- Footer oscuro SEO ---------- */
.site-footer{background:linear-gradient(155deg,#070914 0%,#111827 54%,#2a1026 100%);text-align:left;padding:0;color:#cbd5e1}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:2.5rem 1.5rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
.footer-brand{font-weight:800;font-size:1.1rem;margin-bottom:.5rem}
.footer-col p{color:#cbd5e1;font-size:.9rem;line-height:1.55}
.footer-col h4{font-size:.95rem;margin-bottom:.75rem;color:#fff}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.4rem}
.footer-col a{color:#cbd5e1;text-decoration:none;font-size:.9rem}
.footer-col a:hover{color:#ff7ab3}
.footer-disclaimer{font-size:.82rem;color:#d8e1ee}
.footer-legal{max-width:var(--maxw);margin:0 auto;padding:1rem 1.5rem 2rem;border-top:1px solid rgba(255,255,255,.12);color:#94a3b8;font-size:.82rem;text-align:center}

/* ---------- Responsive interior ---------- */
@media(max-width:640px){
    .site-header{padding:.85rem 1rem}
    .main-nav{gap:.85rem;width:100%;justify-content:space-between}
    .nav-search input{min-width:0;flex:1}
    .nav-search{flex:1}
    .ficha{padding:1.5rem}
}

/* Centrado del logo raster en el hero (el img global es display:block) */
.hero picture{display:block}
.hero .logo{display:block;margin:0 auto}


/* ============================================================
   REDISEÑO PORTADA v4 — navegación en 2 pasos (orientación + filtros)
   Añadido global. Paleta de marca: cian #0891b2 / fucsia #ff3d78.
   ============================================================ */
:root{
  --rainbow-grad: linear-gradient(135deg,#FF0055 0%,#FF5E00 20%,#FFAA00 40%,#10B981 60%,#06B6D4 80%,#7C3AED 100%);
  --pp-pink:#E5247B; --pp-blue:#1C75BC; --pp-border:#E2E8F0; --pp-ink:#1E293B; --pp-muted:#64748B;
}

/* --- HERO: logo + buscador --- */
.hero-portada{ text-align:center; max-width:820px; margin:32px auto 8px; padding:0 20px; }
.hero-portada .brand-logo-container{ margin-bottom:24px; display:flex; justify-content:center; }
.hero-portada .logo-marca{ max-width:360px; width:100%; height:auto; display:block; }
.search-box{ display:flex; max-width:660px; margin:0 auto; border-radius:50px; overflow:hidden;
  border:2px solid var(--pp-border); box-shadow:0 8px 22px rgba(0,0,0,.06); background:#fff; height:62px; transition:.25s; }
.search-box:focus-within{ border-color:#7C3AED; box-shadow:0 8px 26px rgba(124,58,237,.16); }
.search-box input{ border:0; padding:0 26px; flex:1; font-size:1rem; outline:none; width:100%; color:var(--pp-ink); background:transparent; }
.search-btn{ background:var(--rainbow-grad); border:0; padding:0 30px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:filter .2s,transform .1s; }
.search-btn:hover{ filter:brightness(1.08); } .search-btn:active{ transform:scale(.98); }
.search-btn svg{ width:22px; height:22px; stroke:#fff; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; fill:none;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.35)); }

/* --- PASO 1: tarjetas de orientación --- */
.paso1{ max-width:1000px; margin:34px auto 8px; padding:0 20px; text-align:center; }
.paso-title{ font-size:.82rem; font-weight:800; color:var(--pp-muted); letter-spacing:1.5px; text-transform:uppercase; margin:0 0 18px; }
.orient-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.orient-card{ background:#fff; border:2px solid var(--pp-border); border-radius:20px; padding:18px 8px; cursor:pointer;
  transition:.2s; text-align:center; display:flex; flex-direction:column; align-items:center; gap:6px; position:relative; font:inherit; color:var(--pp-ink); }
.orient-card:hover{ border-color:var(--pp-blue); transform:translateY(-3px); box-shadow:0 6px 16px rgba(0,0,0,.05); }
.orient-card.active{ border-color:var(--pp-pink); background:rgba(229,36,123,.04); box-shadow:0 6px 18px rgba(229,36,123,.13); }
.orient-card:focus-within{ outline:3px solid rgba(124,58,237,.35); outline-offset:2px; }
.orient-card .orient-input{ position:absolute; opacity:0; width:1px; height:1px; }
.orient-sym{ font-size:2.1rem; line-height:1; }
.orient-label{ font-weight:700; font-size:.92rem; }
.orient-cnt{ font-size:.72rem; font-weight:700; color:var(--pp-muted); background:#f1f5f9; border-radius:20px; padding:1px 9px; }
.c-solo .orient-sym{ color:#9333EA; } .c-hetero .orient-sym{ color:#3B82F6; } .c-lesbica .orient-sym{ color:#EC4899; }
.c-gay .orient-sym{ color:#2563EB; } .c-grupo .orient-sym{ color:#F59E0B; } .c-all .orient-sym{ color:#10B981; }

/* --- PASO 2: barra de filtros avanzados --- */
.paso2{ margin-top:26px; border-top:1px solid var(--pp-border); border-bottom:1px solid var(--pp-border); background:#fff; padding:14px 20px; }
.filtros-adv{ max-width:1000px; margin:0 auto; display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.filtros-adv .filtro{ position:relative; }
.filtros-adv .filtro>summary{ list-style:none; padding:10px 20px; border-radius:30px; border:1px solid var(--pp-border);
  background:#fff; font-weight:600; font-size:.9rem; color:var(--pp-ink); cursor:pointer; display:inline-flex; align-items:center; gap:8px; transition:.2s; }
.filtros-adv .filtro>summary::-webkit-details-marker{ display:none; }
.filtros-adv .filtro>summary::after{ content:'▾'; font-size:.8rem; color:var(--pp-muted); }
.filtros-adv .filtro[open]>summary,.filtros-adv .filtro>summary:hover{ border-color:var(--pp-blue); background:#F8FAFC; }
.filtros-adv .filtro .panel{ position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%); min-width:270px;
  background:#fff; border:1px solid var(--pp-border); border-radius:16px; padding:14px; box-shadow:0 12px 28px rgba(0,0,0,.12); z-index:80; text-align:left; }
.filtros-adv .panel .todas{ display:flex; align-items:center; gap:10px; font-weight:700; color:var(--pp-blue);
  padding-bottom:10px; border-bottom:1px solid var(--pp-border); margin-bottom:10px; font-size:.9rem; cursor:pointer; }
.filtros-adv .panel .opt{ display:flex; align-items:center; gap:10px; padding:6px 4px; font-size:.88rem; cursor:pointer; border-radius:8px; }
.filtros-adv .panel .opt:hover{ background:#f6fbfd; }
.filtros-adv .panel .opt .opt-txt{ flex:1; }
.filtros-adv .panel .opt .cnt{ color:var(--pp-muted); font-size:.8rem; }
.filtros-adv .panel .opt.off{ opacity:.4; }

/* --- Chips de filtros activos + contador --- */
.chips-bar{ max-width:1000px; margin:20px auto 8px; padding:0 20px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.chips-activos{ display:flex; gap:8px; flex-wrap:wrap; }
.fchip{ background:#eef2f7; color:var(--pp-ink); padding:6px 12px; border:0; border-radius:20px; font-size:.85rem; font-weight:600;
  display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-family:inherit; }
.fchip:hover{ background:#e2e8f0; }
.fchip .close{ font-weight:800; color:var(--pp-muted); }
.fchip-clear{ background:transparent; color:var(--pp-muted); text-decoration:underline; }
.results-count{ margin-left:auto; font-size:.9rem; color:var(--pp-muted); font-weight:600; }
.ver-indice{ text-align:center; margin:24px 0 0; } .ver-indice a{ color:var(--pp-blue); font-weight:700; }
.grid.cargando{ opacity:.55; transition:opacity .15s; }

/* --- Responsive --- */
@media(max-width:820px){
  .orient-grid{ grid-template-columns:repeat(3,1fr); }
  .filtros-adv{ gap:8px; }
  .filtros-adv .filtro>summary{ padding:9px 14px; font-size:.85rem; }
}
@media(max-width:480px){
  .orient-grid{ grid-template-columns:repeat(2,1fr); }
  .results-count{ margin-left:0; width:100%; }
}
@media(prefers-reduced-motion:reduce){
  .orient-card,.search-box,.search-btn{ transition:none; } .orient-card:hover{ transform:none; }
}

/* ==== Portada v4 (30/07): fondo, accesos rapidos, login ==== */
body.home{
  background:
    linear-gradient(rgba(255,255,255,.62), rgba(255,255,255,.78)),
    url('/assets/img/backgroung.webp?v=4') top center / cover fixed no-repeat;
}
.quick-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:16px auto 4px;max-width:660px;padding:0 16px;}
.quick-links a{font-size:.9rem;color:#5b6b8c;text-decoration:none;font-weight:600;padding:3px 2px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
.quick-links a:hover{color:#1877f2;border-bottom-color:#ff2d78;}
.topbar-login{display:inline-flex;align-items:center;gap:6px;cursor:pointer;}

/* ==== Portada v4.1 (30/07): banner hero (fijo, continuo) + espaciado accesos ==== */
.hero-portada, section.paso1{
  background:
    linear-gradient(rgba(255,255,255,.20), rgba(255,255,255,.32)),
    url('/assets/img/backgroung.webp?v=4') top center / cover fixed no-repeat;
}
.quick-links{ margin: 2px auto 34px !important; }

/* ==== Portada v4.2 (30/07): banner superior a todo el ancho (degradado), sin recuadros ==== */
.hero-portada, section.paso1{ background: transparent !important; }
body.home{
  background:
    linear-gradient(to bottom,
      rgba(255,255,255,.06) 0,
      rgba(255,255,255,.12) 44vh,
      rgba(255,255,255,.88) 70vh,
      rgba(255,255,255,.92) 100%),
    url('/assets/img/backgroung.webp?v=4') top center / cover fixed no-repeat !important;
}

/* ==== Portada v4.3 (30/07): banner superior = imagen COMPLETA (tal cual), full-width, alto natural ==== */
body.home{
  background: #ffffff url('/assets/img/backgroung.webp?v=4') top center / 100% auto no-repeat !important;
}
.hero-portada, section.paso1{ background: transparent !important; }

/* ==== Portada v4.4 (30/07): cabecera backgrounghead estirada + accesos pegados + logo sin caja ==== */
body.home{
  background: #ffffff url('/assets/img/backgrounghead.webp?v=4') top center / 100% 580px no-repeat !important;
}
.hero-portada, section.paso1{ background: transparent !important; }
.hero-portada{ padding-bottom: 4px !important; }
section.paso1{ padding-top: 0 !important; }
.quick-links{ margin: 2px auto 16px !important; }
.brand-logo-container, .brand-logo-container img, .brand-logo-container picture{ background: transparent !important; box-shadow: none !important; }

/* ==== Portada v4.5 (30/07): banner altura dinamica + scrollbar marca + logo cabecera horizontal ==== */
body.home{
  background: #ffffff url('/assets/img/backgrounghead.webp?v=4') top center / 100% var(--bannerH, 665px) no-repeat !important;
}
/* Scrollbar de marca: pista magenta, tubo y flechas cian */
html{ scrollbar-color:#06B6D4 #ff2d78; }
::-webkit-scrollbar{ width:15px; height:15px; }
::-webkit-scrollbar-track{ background:#ff2d78; }
::-webkit-scrollbar-thumb{ background:#06B6D4; border-radius:10px; border:3px solid #ff2d78; }
::-webkit-scrollbar-thumb:hover{ background:#22c3dd; }
::-webkit-scrollbar-corner{ background:#ff2d78; }
::-webkit-scrollbar-button:vertical:decrement{ background-color:#06B6D4; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M6 3.5 L9.5 8 L2.5 8 Z' fill='%23ffffff'/></svg>"); background-repeat:no-repeat; background-position:center; background-size:9px; height:15px; }
::-webkit-scrollbar-button:vertical:increment{ background-color:#06B6D4; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M6 8.5 L9.5 4 L2.5 4 Z' fill='%23ffffff'/></svg>"); background-repeat:no-repeat; background-position:center; background-size:9px; height:15px; }
::-webkit-scrollbar-button:horizontal:decrement,::-webkit-scrollbar-button:horizontal:increment{ background-color:#06B6D4; }
/* Logo horizontal en cabecera de secciones */
.logo-container .brand-img-h{ height:34px; width:auto; display:block; }
.logo-container > div{ display:none !important; }

/* ================= v4.6 (30/07): fondo global + grids integrados + cabecera secciones ================= */
/* Fondo sutil rainbow en TODO el body (todas las paginas) */
body{
  background-color:#F8FAFC;
  background-image: linear-gradient(rgba(255,255,255,.82), rgba(255,255,255,.88)), url('/assets/img/backgroung.webp?v=4');
  background-repeat:no-repeat, no-repeat;
  background-position:center center, center center;
  background-size:cover, cover;
  background-attachment:scroll, scroll;
}
/* Home: banner nitido arriba + fondo sutil debajo (3 capas) */
body.home{
  background-image:
    url('/assets/img/backgrounghead.webp?v=4'),
    linear-gradient(rgba(255,255,255,.82), rgba(255,255,255,.88)),
    url('/assets/img/backgroung.webp?v=4') !important;
  background-repeat:no-repeat, no-repeat, no-repeat !important;
  background-position:top center, center center, center center !important;
  background-size:100% clamp(620px, 88vh, 820px), cover, cover !important;
  background-attachment:scroll, scroll, scroll !important;
  background-color:#F8FAFC !important;
}
/* Grids/listados: sin caja blanca, integrados con el fondo */
main.container, section.listado, section.listado > .grid, .grid, section.wrap, section.paso2{ background:transparent !important; }
/* Accesos rapidos alineados sobre la parte blanca del buscador */
.quick-links{ max-width:660px; width:100%; margin:-2px auto 16px !important; padding:0 92px 0 22px !important; justify-content:space-between !important; }

/* ===== Cabecera de secciones (site-header) tipo banner rainbow ===== */
header.site-header{ position:relative; background:#F8FAFC url('/assets/img/backgroung.webp?v=4') center center / cover no-repeat; border-bottom:none; padding:0; overflow:hidden; }
header.site-header::before{ content:''; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.34), rgba(255,255,255,.58)); pointer-events:none; }
.header-inner{ position:relative; z-index:1; max-width:1120px; margin:0 auto; display:flex; align-items:center; gap:16px; padding:12px 22px; }
.header-inner .logo-container{ flex:0 0 auto; display:flex; }
.header-inner .brand-img-h{ height:34px; width:auto; display:block; filter:drop-shadow(0 1px 3px rgba(255,255,255,.85)); }
.header-search{ flex:1 1 auto; max-width:430px; margin:0 auto; }
.header-search input{ height:44px !important; }
.header-search .search-btn{ color:#fff; }
.header-right{ flex:0 0 auto; display:flex; align-items:center; gap:14px; }
.header-right .hdr-link{ color:#334155; font-weight:700; font-size:.9rem; text-decoration:none; text-shadow:0 1px 2px rgba(255,255,255,.75); }
.header-right .hdr-link:hover{ color:#1877f2; }
.hdr-login{ display:inline-flex; align-items:center; gap:6px; background:#fff; color:#E5247B; font-weight:800; font-size:.9rem; padding:8px 16px; border-radius:30px; text-decoration:none; box-shadow:0 4px 12px rgba(0,0,0,.14); white-space:nowrap; }
.hdr-login svg{ width:16px; height:16px; }
.hdr-login:hover{ background:#fff5f9; }
.hdr-lang{ color:#334155; font-weight:700; font-size:.85rem; text-shadow:0 1px 2px rgba(255,255,255,.75); cursor:pointer; }
@media (max-width:820px){
  .header-inner{ flex-wrap:wrap; gap:10px; padding:10px 14px; }
  .header-inner .logo-container{ order:1; }
  .header-right{ order:2; margin-left:auto; }
  .header-search{ order:3; flex:1 1 100%; max-width:none; }
  .header-right .hdr-link{ display:none; }
}


/* ================= v4.7 header nav + burger (movil/iPad) + home topbar ================= */
.site-header .header-inner{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;position:relative}
.site-header{position:relative}
.site-header .logo-container{flex:0 0 auto}
.site-header .header-search{flex:1 1 auto;max-width:520px;margin:0 auto}
.site-header .header-right{flex:0 0 auto;display:flex;align-items:center;gap:14px}
.site-header .header-right .hdr-link{color:#fff;font-weight:600;font-size:.9rem;white-space:nowrap;text-decoration:none;opacity:.95}
.site-header .header-right .hdr-link:hover{opacity:1;text-decoration:underline}
.hdr-burger{display:none;width:46px;height:40px;border:0;background:rgba(255,255,255,.20);border-radius:12px;cursor:pointer;padding:0 12px;flex:0 0 auto}
.hdr-burger span{display:block;height:2.5px;background:#fff;border-radius:2px;margin:4px 0;transition:.25s}
.hdr-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hdr-burger.open span:nth-child(2){opacity:0}
.hdr-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media (max-width:1100px){
  .hdr-burger{display:block}
  .site-header .header-inner{flex-wrap:nowrap}
  .site-header .header-search{max-width:none}
  .site-header .header-right{position:absolute;top:100%;right:8px;left:8px;flex-direction:column;align-items:stretch;gap:0;background:linear-gradient(180deg,#3a1670,#7a1f7a);border-radius:16px;padding:8px;margin-top:10px;box-shadow:0 16px 44px rgba(0,0,0,.38);max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .3s ease,opacity .2s ease;z-index:80}
  .site-header .header-right.open{max-height:560px;opacity:1;pointer-events:auto}
  .site-header .header-right .hdr-link,.site-header .header-right .hdr-login,.site-header .header-right .hdr-lang{display:block;width:100%;padding:13px 15px;border-radius:11px;font-size:1rem;box-sizing:border-box}
  .site-header .header-right .hdr-link{color:#fff;opacity:.96}
  .site-header .header-right .hdr-link:hover{background:rgba(255,255,255,.10);text-decoration:none;opacity:1}
  .site-header .header-right .hdr-login{margin-top:6px;text-align:center;justify-content:center}
  .site-header .header-right .hdr-lang{color:#fff;opacity:.9}
}
body.home .topbar{gap:10px;align-items:center}
body.home .topbar-login{background:rgba(255,255,255,.95);color:#7a1f7a;font-weight:700;padding:6px 14px;border-radius:999px;text-decoration:none;box-shadow:0 3px 10px rgba(0,0,0,.18);display:inline-flex;align-items:center;gap:6px}
body.home .topbar-login svg{color:#7a1f7a}
body.home .topbar-lang{background:rgba(0,0,0,.32);color:#fff;font-weight:700;padding:6px 12px;border-radius:999px;text-shadow:0 1px 2px rgba(0,0,0,.45)}


/* ===== v4.7b · nav link color for light section header ===== */
.site-header .header-right .hdr-link{color:#3a2b63;font-weight:700}
.site-header .header-right .hdr-link:hover{color:#c2185b;text-decoration:underline}
.site-header .header-right .hdr-lang{color:#3a2b63;font-weight:700}
@media (max-width:1100px){
  .site-header .header-right .hdr-link{color:#fff}
  .site-header .header-right .hdr-lang{color:#fff}
}


/* ================= v4.8 · sin buscador en cabecera + login icon/hamburguesa movil ================= */
.site-header .header-inner{justify-content:space-between}
.site-header .header-search{display:none !important}
.hdr-mobile-actions{display:none;align-items:center;gap:2px}
.hdr-login-icon{display:none;width:40px;height:40px;border-radius:11px;align-items:center;justify-content:center;color:#c2185b}
.hdr-login-icon svg{width:23px;height:23px}
.hdr-burger{background:transparent;width:42px;height:38px;padding:0 8px}
.hdr-burger span{background:#3a2b63;height:2.5px}
@media (max-width:1100px){
  .hdr-mobile-actions{display:flex}
  .hdr-mobile-actions .hdr-burger{display:block}
  .hdr-login-icon{display:inline-flex}
  .hdr-burger span{background:#3a2b63}
  .site-header .header-right{right:8px;left:8px}
}


/* ================= v4.9 · cabecera 3 zonas (logo izq / enlaces centro / login+idioma dcha) + mas aire + texto gris oscuro ================= */
.site-header .header-inner{gap:18px;min-height:74px;padding-top:10px;padding-bottom:10px;justify-content:flex-start}
.site-header .logo-container{flex:0 0 auto}
.site-header .header-nav{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:26px}
.site-header .header-actions{flex:0 0 auto;display:flex;align-items:center;gap:16px}
.site-header .header-nav .hdr-link{color:#4d4d57;font-weight:600;font-size:.92rem;white-space:nowrap;text-decoration:none}
.site-header .header-nav .hdr-link:hover{color:#c2185b;text-decoration:underline}
.site-header .header-actions .hdr-lang{color:#4d4d57;font-weight:600}
.hdr-lang-m{display:none}
@media (max-width:1100px){
  .site-header .header-nav{position:absolute;top:100%;right:8px;left:8px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:linear-gradient(180deg,#3a1670,#7a1f7a);border-radius:16px;padding:8px;margin-top:10px;box-shadow:0 16px 44px rgba(0,0,0,.38);max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .3s ease,opacity .2s ease;z-index:80}
  .site-header .header-nav.open{max-height:560px;opacity:1;pointer-events:auto}
  .site-header .header-nav .hdr-link,.site-header .header-nav .hdr-lang-m{display:block;width:100%;padding:13px 15px;border-radius:11px;font-size:1rem;color:#fff;box-sizing:border-box;white-space:normal}
  .site-header .header-nav .hdr-link:hover{background:rgba(255,255,255,.10);text-decoration:none;color:#fff}
  .site-header .header-actions{display:none}
  .hdr-mobile-actions{display:flex}
  .hdr-mobile-actions .hdr-burger{display:block}
  .hdr-login-icon{display:inline-flex}
}


/* ===== v4.9b · header-inner ocupa el ancho (3 zonas se reparten) ===== */
.site-header .header-inner{flex:1 1 100% !important;width:100% !important;max-width:1200px;margin-left:auto;margin-right:auto}


/* ===== v5.0 · estado logueado en cabecera ===== */
.hdr-user{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#3a2b63;font-weight:700;font-size:.9rem}
.hdr-user img{width:30px;height:30px;border-radius:50%;object-fit:cover;display:block}
.hdr-user .hdr-ini{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#E5247B,#7a1f7a);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem}
.hdr-user .hdr-uname{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hdr-logout{color:#8a8a95;font-weight:600;font-size:.85rem;text-decoration:none;white-space:nowrap}
.hdr-logout:hover{color:#c2185b;text-decoration:underline}
.hdr-avatar img{width:34px;height:34px;border-radius:50%;object-fit:cover;display:block}
.site-header .header-nav .hdr-only-m{display:none}
.topbar-logout{color:#fff;font-weight:700;background:rgba(0,0,0,.30);padding:6px 12px;border-radius:999px;text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.4)}
@media (max-width:1100px){
  .site-header .header-nav .hdr-only-m{display:block}
  .hdr-avatar img{width:30px;height:30px}
}


/* UI publish pass 2026-08-05 */
header.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid rgba(23,23,31,.08);overflow:visible;box-shadow:0 2px 12px rgba(15,23,42,.04)}
header.site-header::before{display:none}
.site-header .header-inner{width:min(1180px,calc(100% - 32px));max-width:1180px;margin:0 auto;min-height:72px;padding:0;gap:18px;display:flex;align-items:center;justify-content:flex-start;position:relative;overflow:visible}
.site-header .logo-container{display:inline-flex;align-items:center;flex:0 0 auto}.site-header .brand-img-h{display:block;height:46px;width:auto;max-width:220px}
.site-header .header-nav{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:24px;overflow:visible}.site-header .header-nav .hdr-link{color:#444650;font-weight:700;font-size:.94rem;text-decoration:none;white-space:nowrap}.site-header .header-nav .hdr-link:hover{color:#c2185b;text-decoration:none}
.site-header .header-actions{flex:0 0 auto;display:flex;align-items:center;gap:12px;position:relative;overflow:visible}.hdr-mobile-actions{display:none}.hdr-login,.hdr-logout,.hdr-user{white-space:nowrap}.hdr-user{display:inline-flex;align-items:center;gap:8px;max-width:190px;overflow:hidden;text-overflow:ellipsis}.hdr-user img,.hdr-ini{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;background:#f2eafa;color:#7a1f7a;font-weight:800}.hdr-uname{overflow:hidden;text-overflow:ellipsis}
.lang-switch{position:relative;display:inline-flex;overflow:visible}.lang-trigger{height:38px;border:1px solid #e4e4ee;background:#fff;border-radius:999px;padding:0 12px;color:#4d4d57;font-weight:800;cursor:pointer}.lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:82px;background:#fff;border:1px solid #e4e4ee;border-radius:10px;box-shadow:0 16px 42px rgba(15,23,42,.16);padding:5px;display:none;z-index:3000}.lang-switch.open .lang-menu{display:block}.lang-menu a{display:block;padding:7px 12px;border-radius:8px;color:#333;text-decoration:none;font-weight:700;text-align:left}.lang-menu a:hover{background:#f2f0fb}.lang-menu a.cur{color:#7a3cff;background:#f7f3ff}
.fav-float{position:fixed;right:18px;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:999px;background:#fff;color:#c28a00;border:1px solid rgba(194,138,0,.28);box-shadow:0 16px 42px rgba(15,23,42,.18);display:grid;place-items:center;text-decoration:none;font-size:24px;font-weight:900;z-index:90}.fav-float:hover{background:#fff7df;color:#8d6400}
.load-more-row{display:flex;justify-content:center;margin:24px 0 12px}.load-more-btn{min-width:170px}.home-collections{display:grid;gap:34px;margin-top:34px;margin-bottom:46px}.collection-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.collection-head h2{margin:0;font-size:clamp(1.25rem,2vw,1.85rem);letter-spacing:0}.carousel-actions{display:flex;gap:8px}.carousel-btn{width:40px;height:40px;border:1px solid #e4e4ee;border-radius:999px;background:#fff;color:#332943;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.08)}.carousel-btn:hover{background:#f7f3ff}.home-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,280px);gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:4px 4px 16px;scrollbar-width:thin}.home-carousel-track>.card{scroll-snap-align:start;height:100%}.listado-search{max-width:720px;margin:18px auto 0}.catalog-filters{margin:8px 0 22px}.catalog-filters .paso2{padding-top:0}
@media (max-width:900px){.site-header .header-inner{width:min(100% - 20px,1180px);min-height:64px;gap:10px}.site-header .brand-img-h{height:38px;max-width:174px}.site-header .header-nav{position:absolute;top:100%;right:0;left:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:linear-gradient(180deg,#3a1670,#7a1f7a);border-radius:14px;padding:8px;margin-top:8px;box-shadow:0 16px 44px rgba(0,0,0,.32);max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .25s ease,opacity .2s ease;z-index:2500}.site-header .header-nav.open{max-height:360px;opacity:1;pointer-events:auto}.site-header .header-nav .hdr-link{display:block;width:100%;padding:13px 15px;border-radius:10px;color:#fff;box-sizing:border-box;white-space:normal}.site-header .header-nav .hdr-link:hover{background:rgba(255,255,255,.12);color:#fff}.site-header .header-actions{display:flex;gap:7px;margin-left:auto}.site-header .header-actions .hdr-uname,.site-header .header-actions .hdr-logout{display:none}.site-header .header-actions .hdr-login{padding:8px 10px;font-size:.9rem}.lang-trigger{height:36px;padding:0 9px}.hdr-mobile-actions{display:flex}.hdr-mobile-actions .hdr-burger{display:block}.fav-float{top:auto;right:16px;bottom:calc(102px + env(safe-area-inset-bottom));transform:none;width:50px;height:50px;z-index:90}.home-carousel-track{grid-auto-columns:minmax(232px,78vw)}}
@media (max-width:520px){.site-header .header-inner{width:min(100% - 14px,1180px)}.site-header .brand-img-h{height:34px;max-width:150px}.hdr-login svg{display:none}.lang-trigger{font-size:.82rem}.fav-float{bottom:calc(118px + env(safe-area-inset-bottom))}}
body.home header.site-header{position:absolute;top:0;left:0;right:0;background:transparent;border:0;box-shadow:none;z-index:120}body.home .site-header .header-inner{min-height:0;padding:20px 0;justify-content:flex-end}body.home .site-header .logo-container,body.home .site-header .header-nav,body.home .site-header .hdr-mobile-actions{display:none}body.home .site-header .header-actions{margin-left:0}.hdr-login{min-height:38px;padding:8px 16px;background:#fff;color:#e5247b;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.14)}.lang-trigger{height:38px;background:#0759c9;color:#fff;border:1px solid #0759c9;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.12)}.lang-trigger:hover{background:#064aa8}.fav-float{cursor:pointer;font-family:inherit}.fav-login-modal[hidden]{display:none}.fav-login-modal{position:fixed;inset:0;z-index:3200;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.48)}.fav-login-dialog{width:min(420px,100%);background:#fff;border-radius:8px;padding:24px;box-shadow:0 24px 56px rgba(15,23,42,.28)}.fav-login-dialog h2{margin:0 0 10px;font-size:1.22rem}.fav-login-dialog p{margin:0;color:#475569;line-height:1.55}.fav-login-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px}.fav-login-actions button{border:1px solid #dbe2ea;background:#fff;color:#475569;border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer}.fav-login-actions .hdr-login{display:inline-flex;align-items:center;text-decoration:none}.home-carousel-track{grid-auto-columns:260px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;touch-action:pan-x;scrollbar-width:none}.home-carousel-track::-webkit-scrollbar{display:none}.home-carousel-track>article.card{width:260px;max-width:260px}@media(max-width:900px){body.home .site-header .header-inner{padding:14px 0}.home-carousel-track{grid-auto-columns:78vw}.home-carousel-track>article.card{width:78vw;max-width:78vw}}@media(max-width:600px){body.home .hero-portada{margin-top:86px}.hdr-login{padding:8px 12px}.lang-trigger{height:36px;padding:0 10px}.fav-login-actions{align-items:stretch;flex-direction:column-reverse}.fav-login-actions>*{width:100%;justify-content:center;text-align:center}}

.pwa-ios-modal[hidden]{display:none!important}
.pwa-ios-modal{position:fixed;inset:0;z-index:3400;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.52)}
.pwa-ios-dialog{position:relative;width:min(460px,100%);background:#fff;color:#1e293b;border-radius:10px;padding:24px;box-shadow:0 24px 60px rgba(15,23,42,.32)}
.pwa-ios-dialog h2{margin:0 0 10px;font-size:1.25rem;line-height:1.25}.pwa-ios-dialog p{margin:0 0 14px;color:#475569}.pwa-ios-dialog ol{margin:0 0 18px;padding-left:1.3rem;color:#334155}.pwa-ios-dialog li{margin:.35rem 0}.pwa-ios-x{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#64748b;font-size:28px;line-height:1;cursor:pointer}.pwa-ios-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.pwa-ios-actions button{border:1px solid #dbe2ea;background:#fff;color:#475569;border-radius:999px;padding:8px 14px;font:inherit;font-weight:800;cursor:pointer}.pwa-ios-actions button[data-pwa-installed]{background:#e5247b;border-color:#e5247b;color:#fff}
@media(max-width:600px){.pwa-ios-actions{flex-direction:column-reverse}.pwa-ios-actions button{width:100%}}

/* PWA footer placement + mobile header order */
.footer-install-pwa{display:inline-flex;align-items:center;justify-content:center;width:min(100%,260px);height:auto;margin-top:16px;padding:0;border:0;border-radius:999px;background:transparent;box-shadow:0 10px 26px rgba(0,0,0,.24);cursor:pointer;overflow:hidden}
.footer-install-pwa[hidden]{display:none!important}
.footer-install-pwa img{display:block;width:100%;height:auto}
@media(max-width:900px){.site-header .logo-container{order:1;margin-right:0}.site-header .hdr-mobile-actions{order:2;display:flex;margin-left:auto}.site-header .header-actions{order:3;margin-left:0;gap:7px}.site-header .header-nav{order:4}.site-header .header-actions .hdr-login{padding:8px 10px;font-size:.9rem}.site-header .header-actions .lang-trigger{height:36px;padding:0 9px}}
@media(max-width:520px){.site-header .brand-img-h{height:34px;max-width:142px}.site-header .header-inner{gap:7px}.site-header .header-actions{gap:5px}.site-header .header-actions .hdr-login{min-height:34px;padding:7px 9px;font-size:.82rem}.site-header .header-actions .lang-trigger{height:34px;padding:0 8px;font-size:.8rem}.hdr-burger{width:36px;height:34px;padding:0 7px}}


/* Home/footer SEO cleanup */
body.home main.container{max-width:none;margin:0 auto;padding:32px 0 0}
body.home .hero-portada{margin-top:0}
.site-footer .footer-inner{grid-template-columns:minmax(250px,1.05fr) minmax(270px,1fr) minmax(210px,.8fr) minmax(260px,1fr);align-items:start}
.footer-brand-col .footer-install-pwa{width:min(100%,310px);margin-top:18px}
.footer-seo-links{gap:.55rem}
.footer-seo-links a{font-weight:700;color:#f8fafc}
.footer-seo-links a:hover{color:#ff7ab3}
.footer-legal{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}
.footer-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem 1rem}
.footer-legal-links a{color:#cbd5e1;text-decoration:none;font-size:.86rem}
.footer-legal-links a:hover{color:#ff7ab3}
.sublanding-links{max-width:1200px;margin:2rem auto 0;padding:1.2rem;border-top:1px solid rgba(148,163,184,.26)}
.sublanding-links h2{margin:0 0 .85rem;font-size:1.15rem;letter-spacing:0;color:#0f172a}
.sublanding-links nav{display:flex;flex-wrap:wrap;gap:.55rem}
.sublanding-links a{display:inline-flex;align-items:center;border:1px solid rgba(30,117,188,.20);background:rgba(255,255,255,.78);border-radius:999px;padding:.5rem .85rem;color:#1c5fb8;text-decoration:none;font-weight:800;font-size:.9rem}
.sublanding-links a:hover{background:#fff;color:#e5247b;border-color:rgba(229,36,123,.28)}
@media(max-width:900px){.site-footer .footer-inner{grid-template-columns:1fr 1fr}.footer-brand-col .footer-install-pwa{max-width:280px}}
@media(max-width:640px){body.home main.container{padding-top:78px}body.home .hero-portada{margin-top:0}.site-footer .footer-inner{grid-template-columns:1fr}.footer-legal-links{gap:.55rem}.sublanding-links{padding:1rem .85rem}.sublanding-links nav{align-items:stretch}.sublanding-links a{width:100%;justify-content:center;text-align:center}}

/* PageSpeed optimization pass 2026-08-05 */
.orient-cnt{color:#334155;background:#eef2f7}
.pc-rlabel{color:#64748b}
.hdr-login{color:#c2185b}
.site-footer .footer-heading{margin:0 0 .85rem;color:#fff;font-size:1rem;line-height:1.25;font-weight:800}
.footer-install-pwa{min-height:44px}
.footer-install-pwa img{aspect-ratio:620/125}
.pc-op{min-height:44px;padding:8px 0}
.pc-vars a{display:inline-block;min-height:28px;line-height:1.45}
