/* ============================================================================
 * TANGAMIA.COM — Tema de la tienda pública (Entrega 14)
 * ============================================================================
 * El cliente compartió dos mockups de referencia (portada y ficha de
 * producto) con una dirección visual concreta: fondo oscuro, acento rosa
 * neón, tipografía serif elegante en los títulos, menú hamburguesa,
 * animaciones sutiles al pasar el cursor, y un acordeón de preguntas
 * frecuentes. Este archivo aplica esa dirección a las páginas públicas
 * (portada, catálogo, ficha de producto, tienda de una vendedora, carrito,
 * checkout, cuenta) — SIN tocar el panel de Administración ni el panel de
 * Vendedora, que siguen con el sistema de diseño claro ya existente
 * (site.css) porque son paneles de gestión de datos, no la cara pública
 * de la marca.
 *
 * Cómo funciona: se REDEFINEN aquí las variables CSS (--color-*, --font-*)
 * que site.css ya usa en todos sus componentes (.btn, .card, .badge,
 * formularios, tablas...). Como las variables se heredan en cascada, con
 * esto solo (sin reescribir cada regla) toda la interfaz existente de las
 * páginas públicas hereda la nueva paleta oscura automáticamente — se
 * cargan site.css primero y storefront.css después (ver views/layouts/
 * app.php) precisamente para que estas variables ganen. Debajo de las
 * variables solo se agregan componentes NUEVOS que no existían antes
 * (hero con imagen, acordeón de preguntas, franja para vendedoras nuevas).
 *
 * Fuentes: el mockup usa Playfair Display + Roboto vía Google Fonts. NO se
 * cargan aquí — la Content-Security-Policy real del sitio (ver
 * public/.htaccess, `script-src`/`style-src 'self'`) bloquea recursos de
 * terceros salvo que se agreguen explícitamente a la política, y traer un
 * webfont externo no era parte del alcance pedido en esta entrega. En su
 * lugar se usa una pila de fuentes serif del sistema (Georgia y
 * equivalentes) que da una sensación editorial muy cercana sin depender de
 * ningún host externo — mismo criterio ya documentado en site.css.
 * ============================================================================ */

:root {
    --color-bg:          #0b0709;
    --color-surface:     #171016;
    --color-surface-2:   #1f1620;
    --color-border:      #3a2530;
    --color-border-soft: #2a1b22;

    --color-text:        #f5eef1;
    --color-text-muted:  #b79aa6;
    --color-text-faint:  #8a707c;

    --color-primary:       #ff4da6;
    --color-primary-dark:  #e0388f;
    --color-primary-light: #ff80bf;
    --color-primary-tint:  rgba(255, 77, 166, 0.14);

    --color-accent:        #e8b4d0;
    --color-accent-tint:   rgba(232, 180, 208, 0.12);

    --color-success:      #4fd88a;
    --color-success-tint: rgba(79, 216, 138, 0.12);
    --color-danger:       #ff6b6b;
    --color-danger-tint:  rgba(255, 107, 107, 0.12);
    --color-warning:      #f5c26b;
    --color-warning-tint: rgba(245, 194, 107, 0.12);

    --font-heading: Georgia, 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', 'Noto Serif', serif;

    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.35);
    --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.45);
    --shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.55);
    --glow-primary: 0 0 24px rgba(255, 77, 166, 0.35);
}

a { color: var(--color-primary-light); }
a:hover { color: var(--color-primary); }

h1, h2, h3, h4, h5 { color: var(--color-text); text-shadow: 0 0 18px rgba(255, 77, 166, 0.18); }

::selection { background: var(--color-primary); color: #14090f; }

/* --- Encabezado -------------------------------------------------------------- */
.site-header {
    background: rgba(11, 7, 9, 0.92);
    border-bottom: 1px solid var(--color-border);
    backdrop-filter: blur(10px);
}
.brand {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.6rem;
    color: var(--color-primary);
    text-shadow: 0 0 16px rgba(255, 77, 166, 0.45);
    letter-spacing: 0.5px;
}
.brand__tag { color: var(--color-text-faint); text-shadow: none; }
.site-nav a { text-transform: uppercase; font-size: 13px; letter-spacing: 0.6px; font-weight: 600; }

/* --- Botones: el mismo componente .btn de site.css, con brillo rosa ---------- */
.btn {
    box-shadow: var(--glow-primary);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.btn:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 0 32px rgba(255, 77, 166, 0.55); }

/* --- Tarjetas de producto: elevación + halo al pasar el cursor --------------- */
.card, .product-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border-soft);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(255, 77, 166, 0.18);
    border-color: var(--color-primary-dark);
}
.product-card__media img { transition: transform 0.5s ease; }
.product-card:hover .product-card__media img { transform: scale(1.06); }

/* --- Hero de portada ---------------------------------------------------------
 * Reusa la estructura .hero ya existente en site.css (mismo HTML de
 * views/home/index.php) — aquí solo se le da el tratamiento oscuro con
 * halo, en vez de duplicar el componente. */
.hero {
    position: relative;
    padding: 72px 32px;
    border-radius: var(--radius-lg);
    background:
        radial-gradient(ellipse at top left, rgba(255, 77, 166, 0.16), transparent 60%),
        linear-gradient(180deg, #150c11, #0b0709);
    border: 1px solid var(--color-border-soft);
    overflow: hidden;
}
.hero__eyebrow {
    display: inline-block;
    color: var(--color-primary-light);
    text-transform: uppercase;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 14px;
}
.hero h1 { font-family: var(--font-heading); text-shadow: 0 0 30px rgba(255, 77, 166, 0.35); }

/* --- Acordeón de preguntas frecuentes (nuevo) -------------------------------- */
.faq-accordion { max-width: 860px; margin: 0 auto; }
.faq-item {
    background: var(--color-surface);
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-md);
    margin-bottom: 12px;
    overflow: hidden;
}
.faq-item__question {
    all: unset;
    display: flex;
    box-sizing: border-box;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    cursor: pointer;
    font-weight: 700;
    color: var(--color-text);
    font-size: 15.5px;
}
.faq-item__question:hover { color: var(--color-primary-light); }
.faq-item__icon { color: var(--color-primary); font-size: 20px; line-height: 1; transition: transform 0.25s ease; flex-shrink: 0; }
.faq-item.is-open .faq-item__icon { transform: rotate(45deg); }
.faq-item__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    padding: 0 20px;
    color: var(--color-text-muted);
    font-size: 14.5px;
}
.faq-item.is-open .faq-item__answer { max-height: 400px; padding: 0 20px 18px; }

/* --- Franja "conviértete en vendedora" (nuevo) ------------------------------- */
.seller-cta {
    position: relative;
    padding: 64px 32px;
    border-radius: var(--radius-lg);
    text-align: center;
    background:
        radial-gradient(ellipse at bottom right, rgba(255, 77, 166, 0.14), transparent 55%),
        linear-gradient(180deg, #150c11, #0b0709);
    border: 1px solid var(--color-border-soft);
}
.seller-cta h2 { font-family: var(--font-heading); }
.seller-cta p { max-width: 560px; margin-left: auto; margin-right: auto; color: var(--color-text-muted); }

/* --- Pie de página ------------------------------------------------------------ */
.site-footer { border-top: 1px solid var(--color-border-soft); color: var(--color-text-faint); }

/* ============================================================================
 * BLOG (nueva sección) — reusa el mismo lenguaje visual que el resto del
 * sitio (fondo oscuro, acento rosa neón, tipografía serif en títulos) para
 * cumplir el pedido explícito del cliente: "Debe ser el mismo diseño
 * hermoso que la página Home del sitio". `.blog-layout` es el único
 * componente estructural nuevo: una cuadrícula de 2 columnas (contenido +
 * sidebar derecho) SOLO en desktop — en móvil el sidebar cae debajo del
 * contenido en una sola columna, nunca oculto (el cliente pidió controlar
 * su contenido, no que desapareciera en móvil). Las vistas del blog
 * (views/blog/*.php) envuelven su contenido en <div class="blog-layout">
 * dentro del <main class="container"> normal del layout público — no hace
 * falta un layout aparte.
 * ============================================================================ */
.blog-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
}
@media (min-width: 960px) {
    .blog-layout { grid-template-columns: minmax(0, 1fr) 320px; }
}

/* --- Tarjetas de entrada (listado/portada) ------------------------------- */
.blog-post-card { display: flex; flex-direction: column; height: 100%; }
.blog-post-card a { color: inherit; text-decoration: none; display: flex; flex-direction: column; flex: 1; }
.blog-post-card__media {
    aspect-ratio: 16 / 9;
    background: var(--color-surface-2);
    overflow: hidden;
}
.blog-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.blog-post-card:hover .blog-post-card__media img { transform: scale(1.06); }
.blog-post-card__body { padding: 16px 18px 18px; flex: 1; display: flex; flex-direction: column; }
.blog-post-card__category {
    text-transform: uppercase;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.6px;
    color: var(--color-primary-light);
    margin: 0 0 8px;
}
.blog-post-card__title {
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-post-card__excerpt {
    font-size: 14px;
    color: var(--color-text-muted);
    line-height: 1.55;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-post-card__meta { margin-top: auto; padding-top: 12px; font-size: 12.5px; color: var(--color-text-faint); }

/* --- Sidebar derecho (widgets administrables, Entrega Blog) --------------- */
.blog-sidebar { display: flex; flex-direction: column; gap: 24px; }
.blog-widget {
    background: var(--color-surface);
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-md);
    padding: 20px;
}
.blog-widget__title {
    font-family: var(--font-heading);
    font-size: 16px;
    margin: 0 0 14px;
    color: var(--color-text);
    text-shadow: none;
}
.blog-widget__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.blog-widget__list li { border-bottom: 1px solid var(--color-border-soft); padding-bottom: 10px; }
.blog-widget__list li:last-child { border-bottom: none; padding-bottom: 0; }
.blog-widget__list a { color: var(--color-text-muted); font-size: 14px; }
.blog-widget__list a:hover { color: var(--color-primary-light); }
.blog-widget__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.blog-widget--html { color: var(--color-text-muted); font-size: 14px; line-height: 1.6; }

.tag-chip {
    display: inline-block;
    padding: 6px 12px;
    border-radius: var(--radius-pill);
    background: var(--color-primary-tint);
    color: var(--color-primary-light);
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.tag-chip:hover { background: var(--color-primary-dark); color: #fff; }

/* --- Ficha individual de una entrada --------------------------------------- */
.blog-post__eyebrow {
    display: inline-block;
    color: var(--color-primary-light);
    text-transform: uppercase;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 14px;
}
.blog-post__meta { color: var(--color-text-faint); font-size: 13px; margin: -8px 0 28px; }
.blog-post__featured-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-bottom: 32px;
    box-shadow: var(--shadow-md);
}
.blog-post__featured-image img { width: 100%; height: 100%; object-fit: cover; }
.blog-post__tags { margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--color-border-soft); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* ============================================================================
   FICHA PÚBLICA DE VENDEDORA — rediseño completo (Entrega 27)
   ============================================================================
   El cliente mandó un mockup exacto de cómo la quiere: una sola tarjeta de
   encabezado (nombre + avatar circular con insignia de verificada +
   estadísticas), sin la portada de ancho completo que llevaba antes — ver
   la nota larga en site.css junto a .seller-card sobre por qué se retiró
   (banner_path sigue vivo, solo que ahora es exclusivamente la imagen de
   vista previa al compartir el enlace, no algo que se vea en la página).
   Aquí solo se le da el mismo lenguaje visual de tarjeta oscura elevada
   (fondo/borde/sombra/halo rosa) que ya usan .card/.product-card/.hero en
   el resto del sitio — la estructura (flex/grid) vive en site.css. */

.seller-card,
.seller-facts-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 24px;
    transition: box-shadow 0.35s ease, border-color 0.35s ease;
}
.seller-card:hover {
    box-shadow: 0 20px 40px rgba(255, 77, 166, 0.16);
    border-color: var(--color-primary-dark);
}
.seller-header__avatar {
    box-shadow: var(--glow-primary);
    border: 2px solid var(--color-surface-2);
}
.seller-header__name { text-shadow: none; } /* los h1/h2 globales llevan glow de texto; en un nombre propio se ve mejor plano */

.badge-chip, .social-chip { background: var(--color-surface-2); border: 1px solid var(--color-border-soft); }
.social-chip:hover, .social-chip:focus-visible { box-shadow: var(--glow-primary); }

.stat-tile { background: var(--color-surface-2); border-color: var(--color-border-soft); }

/* "Detalles personales": antes usaba estilos inline sueltos (style="...")
   directamente en la vista; ahora es una tarjeta más, con el mismo
   lenguaje visual que .seller-card, en vez de un bloque suelto sin ningún
   tratamiento. */
.seller-facts-card { box-shadow: var(--shadow-sm); padding: 20px 24px; }
.seller-facts-card h2 { margin-top: 0; font-size: 19px; text-shadow: none; }
.seller-facts-list { margin: 0; }
.seller-facts-list dt {
    font-weight: 700;
    margin-top: 10px;
    color: var(--color-text-muted);
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.seller-facts-list dt:first-child { margin-top: 0; }
.seller-facts-list dd { margin: 2px 0 0; color: var(--color-text); }

/* --- Franja de confianza + CTA de cierre (mockup del cliente) -----------
   4 puntos de confianza genéricos de la plataforma (verificación KYC,
   privacidad, envío discreto, soporte) — no son estadísticas de ESTA
   vendedora, son las mismas garantías ya redactadas en las preguntas
   frecuentes de la portada (views/home/index.php), reutilizadas aquí en
   la ficha pública para reforzar confianza justo antes de que la
   compradora decida comprar. .seller-cta ya existía (portada, sección
   "¿Lista para vender en Tangamia?") — aquí solo cambia el texto. */
.trust-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 32px 0;
    padding: 24px 0;
    border-top: 1px solid var(--color-border-soft);
    border-bottom: 1px solid var(--color-border-soft);
}
@media (max-width: 720px) {
    .trust-strip { grid-template-columns: repeat(2, 1fr); }
}
.trust-strip__item { text-align: center; padding: 0 8px; }
.trust-strip__icon { font-size: 1.6rem; display: block; margin-bottom: 8px; }
.trust-strip__item h3 { margin: 0 0 4px; font-size: 0.95rem; text-shadow: none; }
.trust-strip__item p { margin: 0; font-size: 0.82rem; color: var(--color-text-muted); }

/* ============================================================================
 * TANGAMIA — REDISEÑO VISUAL DE REFERENCIA (agosto 2026)
 * Portada, ficha de producto, blog y entrada individual.
 * Basado en los mockups aprobados por el cliente. Todo es autocontenido y
 * compatible con la CSP actual: sin fuentes, scripts ni librerías externas.
 * ============================================================================ */
:root {
    --container-max: 1240px;
    --tm-panel: #100d11;
    --tm-panel-2: #151017;
    --tm-panel-3: #1a1119;
    --tm-line: rgba(255, 120, 188, 0.16);
    --tm-line-strong: rgba(255, 77, 166, 0.32);
    --tm-pink: #ff3f9c;
    --tm-pink-soft: #ff72b8;
    --tm-white: #fff7fb;
    --tm-muted: #b49aa6;
}

body.public-site {
    background:
        radial-gradient(circle at 50% -20%, rgba(255, 77, 166, 0.05), transparent 28rem),
        #09070a;
}
body.public-site main.container { padding-top: 28px; padding-bottom: 58px; }

/* --- Header aprobado -------------------------------------------------------- */
.site-header { background: rgba(8, 6, 8, 0.94); border-bottom-color: rgba(255,255,255,.08); }
.site-header__bar { min-height: 78px; padding-top: 13px; padding-bottom: 13px; }
.brand { position: relative; line-height: 1.05; font-size: 28px; }
.brand__spark { color: #fff; font-size: 10px; position: relative; top: -14px; left: 2px; text-shadow: 0 0 10px #fff; }
.brand__tag { margin-top: 5px; color: #8f7a84; font-size: 9.5px; letter-spacing: 1.8px; }
.site-nav { gap: 23px; }
.site-nav a { position: relative; color: #f1e9ed; font-size: 12px; letter-spacing: .65px; }
.site-nav > a:not(.btn)::after { content:""; position:absolute; left:0; right:0; bottom:-13px; height:2px; background:var(--tm-pink); transform:scaleX(0); transition:transform .2s ease; }
.site-nav > a.is-active::after, .site-nav > a:hover::after { transform:scaleX(1); }
.site-nav .nav-login { padding: 11px 22px; border-radius: 999px; }

/* --- Footer editorial ------------------------------------------------------- */
.site-footer { padding: 34px 0 30px; background: #080608; }
.site-footer__grid { display:grid; grid-template-columns: 1.45fr .7fr .7fr 1fr; gap:42px; align-items:start; }
.site-footer__brand-block p { max-width: 330px; margin: 18px 0 0; color:var(--color-text-faint); font-size:12px; line-height:1.65; }
.brand--footer { display:inline-block; }
.site-footer__column { display:flex; flex-direction:column; gap:6px; }
.site-footer__column h2 { margin:0 0 8px; color:#a58b96; font-family:var(--font-body); font-size:10px; text-transform:uppercase; letter-spacing:1.6px; text-shadow:none; }
.site-footer__column a { color:#bba5ae; font-size:12px; }
.site-footer__help { padding:18px; border:1px solid var(--color-border-soft); border-radius:14px; background:#120e12; display:flex; flex-direction:column; gap:6px; }
.site-footer__help strong { font-family:var(--font-heading); color:var(--tm-white); font-size:15px; }
.site-footer__help span { color:var(--color-text-muted); font-size:12px; margin-bottom:8px; }
.site-footer__help .btn { align-self:flex-start; box-shadow:none; }

/* --- Utilidades ------------------------------------------------------------- */
.tm-pill, .tm-blog-label, .tm-coming-soon {
    display:inline-flex; align-items:center; width:max-content; max-width:100%; border:1px solid rgba(255,77,166,.52);
    border-radius:999px; color:var(--tm-pink-soft); font-size:10px; line-height:1; font-weight:800; letter-spacing:.65px;
    text-transform:uppercase; padding:8px 13px; background:rgba(255,77,166,.045);
}
.tm-section { margin-top: 36px; }
.tm-section__head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:13px; }
.tm-section__head h2 { margin:0; font-size:25px; text-shadow:none; }
.tm-section__head > a { font-size:12px; }
.tm-centered-title { text-align:center; text-shadow:none; }
.tm-line-icon { width:38px; height:38px; border:1px solid rgba(255,77,166,.28); border-radius:10px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; color:var(--tm-pink); font-family:Georgia,serif; font-size:20px; box-shadow:inset 0 0 14px rgba(255,77,166,.05); }
.tm-line-icon--text { font:700 11px/1 var(--font-body); }
.tm-verified-dot { display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; border-radius:50%; background:var(--tm-pink); color:#fff; font-size:9px; vertical-align:middle; }

/* ============================================================================
 * HOME
 * ============================================================================ */
.tm-home-hero {
    min-height: 355px; display:grid; grid-template-columns: .95fr 1.25fr; border:1px solid var(--color-border-soft);
    border-radius:22px; overflow:hidden; background:#0e0b0e; box-shadow:0 18px 46px rgba(0,0,0,.28);
}
.tm-home-hero__copy { padding:42px 28px 40px 55px; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; background:linear-gradient(90deg,#100c10 82%,rgba(16,12,16,.4)); }
.tm-home-hero__copy h1 { margin:16px 0 14px; font-size:clamp(34px,4.6vw,55px); line-height:1.04; text-shadow:none; }
.tm-home-hero__copy h1 span { color:var(--tm-pink); }
.tm-home-hero__copy p { max-width:470px; color:#bea8b1; line-height:1.55; font-size:14px; }
.tm-home-hero__actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:4px; }
.tm-home-hero__visual { min-height:355px; background-image:linear-gradient(90deg,#100c10 0%,rgba(16,12,16,.05) 30%),url('/assets/img/editorial/home-hero-crop.jpg'); background-size:cover; background-position:center; }

.tm-trust-ribbon { margin:0 26px; padding:18px 18px; border:1px solid var(--color-border-soft); border-top:0; border-radius:0 0 18px 18px; display:grid; grid-template-columns:repeat(4,1fr); background:#0f0c10; }
.tm-trust-ribbon__item { min-width:0; display:flex; gap:12px; align-items:center; padding:2px 20px; border-right:1px solid rgba(255,255,255,.06); }
.tm-trust-ribbon__item:last-child { border-right:0; }
.tm-trust-ribbon__item strong, .tm-trust-ribbon__item small { display:block; }
.tm-trust-ribbon__item strong { color:#f8f2f5; font-size:13px; }
.tm-trust-ribbon__item small { color:#99828c; font-size:10.5px; line-height:1.4; margin-top:2px; }

.tm-product-grid { display:grid; gap:12px; }
.tm-product-grid--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.tm-product-card { background:#100c11; border:1px solid var(--color-border-soft); border-radius:14px; overflow:hidden; min-width:0; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.tm-product-card:hover { transform:translateY(-4px); border-color:var(--tm-line-strong); box-shadow:0 16px 34px rgba(255,77,166,.08); }
.tm-product-card a { display:block; color:inherit; text-decoration:none; }
.tm-product-card__media { aspect-ratio:1.35/1; position:relative; overflow:hidden; background:#171217; }
.tm-product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.tm-product-card:hover img { transform:scale(1.035); }
.tm-product-card__heart { position:absolute; right:10px; top:10px; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.86); color:#4b3440; display:grid; place-items:center; font-size:18px; }
.tm-product-card__body { padding:12px 14px 14px; }
.tm-product-card__body h3 { margin:0 0 4px; font-family:var(--font-body); font-size:13px; color:#f5edf1; text-shadow:none; }
.tm-product-card__meta { margin:0 0 8px; color:#8e7882; font-size:10.5px; }
.tm-product-card__price { color:var(--tm-pink); font-family:var(--font-heading); font-size:16px; }

.tm-seller-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.tm-seller-chip { padding:12px 13px; border:1px solid var(--color-border-soft); border-radius:14px; background:#120e12; display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; min-width:0; }
.tm-seller-chip:hover { text-decoration:none; border-color:var(--tm-line-strong); background:#171017; }
.tm-seller-chip__avatar { width:50px; height:50px; flex:0 0 50px; border-radius:50%; overflow:hidden; background:linear-gradient(135deg,#371427,#171017); display:grid; place-items:center; color:#fff; font:700 16px var(--font-heading); }
.tm-seller-chip__avatar img { width:100%; height:100%; object-fit:cover; }
.tm-seller-chip__copy { min-width:0; }
.tm-seller-chip__copy strong, .tm-seller-chip__copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tm-seller-chip__copy strong { color:#f7f1f4; font-size:13px; }
.tm-seller-chip__copy small { color:#a38a95; font-size:10.5px; line-height:1.45; }
.tm-seller-empty { color:var(--color-text-muted); padding:16px; border:1px dashed var(--color-border); border-radius:12px; }

.tm-seller-banner { margin-top:30px; min-height:165px; border:1px solid rgba(255,77,166,.22); border-radius:18px; overflow:hidden; background:linear-gradient(90deg,#1c0e18,#2a1021 55%,#120b11); display:grid; grid-template-columns:240px 1fr 240px; align-items:center; }
.tm-seller-banner__image { align-self:stretch; background:url('/assets/img/editorial/home-hero-crop.jpg') center/cover no-repeat; mask-image:linear-gradient(90deg,#000 65%,transparent); }
.tm-seller-banner__copy { text-align:center; padding:24px 26px; }
.tm-seller-banner__copy h2 { margin:0 0 7px; text-shadow:none; font-size:25px; }
.tm-seller-banner__copy p { margin:0 auto 12px; max-width:550px; color:#ae939f; font-size:12px; line-height:1.5; }
.tm-seller-banner__benefits { margin:0; padding:20px 28px; list-style:none; color:#d9c8d0; font-size:12px; line-height:2.2; }
.tm-seller-banner__benefits li::first-letter { color:var(--tm-pink); }

.tm-why { text-align:center; }
.tm-why > h2 { text-shadow:none; }
.tm-why__grid { display:grid; grid-template-columns:repeat(5,1fr); gap:22px; margin-top:21px; }
.tm-why__grid > div { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:10px; text-align:left; align-items:start; }
.tm-why__grid .tm-line-icon { grid-row:1/3; }
.tm-why__grid strong { font-size:12px; color:#f3ecef; }
.tm-why__grid small { font-size:10.5px; line-height:1.45; color:#927c86; }
.faq-accordion--columns { max-width:none; display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; }
.faq-accordion--columns .faq-item { margin:0; }
.faq-accordion--columns .faq-item__question { padding:13px 16px; font-size:12px; }
.faq-accordion--columns .faq-item__answer { font-size:12px; }
.tm-faq-more { text-align:center; margin-top:13px; }
.tm-faq-more .btn { box-shadow:none; }

/* ============================================================================
 * FICHA DE PRODUCTO
 * ============================================================================ */
.tm-back-nav { margin:4px 0 18px; }
.tm-back-nav a { font-size:13px; }
.tm-product-page { display:grid; grid-template-columns:minmax(0,1fr) minmax(430px,1.05fr); gap:30px; align-items:start; }
.tm-product-page__gallery { min-width:0; }
.tm-product-main-media { aspect-ratio:1.04/1; position:relative; overflow:hidden; border-radius:20px; background:#141014; border:1px solid rgba(255,77,166,.24); box-shadow:0 0 35px rgba(255,77,166,.08); cursor:zoom-in; }
.tm-product-main-media img { width:100%; height:100%; object-fit:cover; }
.tm-product-main-media__placeholder { display:grid; place-items:center; height:100%; color:var(--color-text-faint); }
.tm-zoom-badge { position:absolute; right:18px; bottom:18px; width:43px; height:43px; border-radius:50%; display:grid; place-items:center; background:rgba(15,12,15,.75); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:23px; backdrop-filter:blur(6px); }
.tm-product-thumbs { margin-top:12px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.tm-product-thumb { width:92px!important; height:74px!important; object-fit:cover; border-radius:10px; border:1px solid #44323a; padding:0!important; cursor:pointer; opacity:.88; }
.tm-product-thumb.is-active { border:2px solid var(--tm-pink)!important; box-shadow:0 0 18px rgba(255,77,166,.24); opacity:1; }

.tm-product-panel { padding:28px 30px 22px; border:1px solid var(--color-border-soft); border-radius:20px; background:linear-gradient(180deg,#110e12,#0e0b0e); box-shadow:0 12px 38px rgba(0,0,0,.28); }
.tm-product-panel h1 { margin:0 0 9px; font-size:clamp(32px,4vw,47px); text-shadow:none; }
.tm-product-seller-line { margin:0; color:#d8c9cf; font-size:14px; }
.tm-product-seller-line a { color:var(--tm-pink); }
.tm-product-seller-line .badge { margin-left:7px; }
.tm-product-price-row { margin:24px 0 17px; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.tm-product-price-row > strong { color:var(--tm-pink); font-family:var(--font-heading); font-size:32px; line-height:1; }
.tm-like-form { margin:0; }
.tm-save-btn { width:auto; min-width:auto; margin:0; padding:10px 17px; border-radius:999px; border:1px solid rgba(255,77,166,.5); background:transparent; color:var(--tm-pink-soft); box-shadow:none; font-size:12px; }
.tm-save-btn:hover, .tm-save-btn.is-liked { background:rgba(255,77,166,.13); }
.tm-product-specs { margin:0 0 14px; border:1px solid rgba(255,255,255,.08); border-radius:12px; overflow:hidden; }
.tm-product-specs > div { min-height:45px; padding:0 13px; display:flex; justify-content:space-between; gap:20px; align-items:center; border-bottom:1px solid rgba(255,255,255,.07); }
.tm-product-specs > div:last-child { border-bottom:0; }
.tm-product-specs dt { color:#cab7c0; font-size:13px; display:flex; align-items:center; gap:10px; }
.tm-product-specs dd { margin:0; color:#f0e8ec; font-weight:700; font-size:13px; text-align:right; }
.tm-spec-icon { color:var(--tm-pink); width:19px; text-align:center; }
.tm-product-description { margin:14px 0; padding:14px 17px; border:1px solid rgba(255,255,255,.08); border-radius:11px; display:flex; gap:10px; background:rgba(255,255,255,.015); }
.tm-product-description > span { color:var(--tm-pink); font:700 28px/1 Georgia,serif; }
.tm-product-description p { margin:0; font-size:13px; color:#cbbac2; }
.tm-product-buy-form { margin:0; }
.tm-product-addons { margin:15px 0; border-color:rgba(255,77,166,.18); }
.tm-product-addons .product-addon-qty { width:72px; }
.tm-product-addons__total { margin:10px 0 0; color:#a8909a; font-size:12px; }
.tm-product-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px; }
.tm-product-actions .btn { width:100%; min-height:49px; display:flex; justify-content:center; align-items:center; text-align:center; }
.tm-cart-btn { font-size:15px; }
.tm-seller-profile-btn { box-shadow:none; }
.tm-product-seller-card { margin-top:16px; padding:13px 14px; display:grid; grid-template-columns:auto 1fr auto auto; gap:14px; align-items:center; border:1px solid rgba(255,255,255,.08); border-radius:12px; color:inherit; text-decoration:none; }
.tm-product-seller-card:hover { text-decoration:none; border-color:rgba(255,77,166,.28); }
.tm-product-seller-card__avatar { width:48px; height:48px; border-radius:50%; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(255,77,166,.45); background:#24121e; color:#fff; font:700 15px var(--font-heading); }
.tm-product-seller-card__avatar img { width:100%; height:100%; object-fit:cover; }
.tm-product-seller-card__identity strong, .tm-product-seller-card__identity small, .tm-product-seller-card__metric strong, .tm-product-seller-card__metric small { display:block; }
.tm-product-seller-card__identity strong { color:#f7f0f4; font-size:13px; }
.tm-product-seller-card__identity small, .tm-product-seller-card__metric small { color:#8f7a84; font-size:10px; }
.tm-product-seller-card__metric { min-width:90px; padding-left:15px; border-left:1px solid rgba(255,255,255,.08); }
.tm-product-seller-card__metric strong { color:#d9c9d0; font-size:13px; }
.tm-product-trust { margin-top:24px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.tm-product-trust > div { min-height:105px; padding:17px; border:1px solid var(--color-border-soft); border-radius:14px; background:#100d10; display:flex; gap:13px; align-items:center; }
.tm-product-trust strong, .tm-product-trust small { display:block; }
.tm-product-trust strong { color:#f1e9ed; font-size:13px; }
.tm-product-trust small { color:#927c86; font-size:10.5px; line-height:1.4; }

/* ============================================================================
 * BLOG — portada y archivos
 * ============================================================================ */
.tm-blog-hero { min-height:310px; display:grid; grid-template-columns:1.08fr 1fr; border:1px solid var(--color-border-soft); border-radius:18px; overflow:hidden; background:#100b10; }
.tm-blog-hero__copy { padding:35px 30px 35px 48px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(90deg,#120d12 84%,rgba(18,13,18,.15)); z-index:2; }
.tm-blog-kicker { color:#b79ca7; text-transform:uppercase; font-size:10px; letter-spacing:.7px; }
.tm-blog-hero__copy h1 { margin:13px 0 12px; font-size:clamp(33px,4.2vw,50px); line-height:1.07; text-shadow:none; }
.tm-blog-hero__copy h1 span { color:var(--tm-pink); }
.tm-blog-hero__copy p { max-width:530px; margin:0; color:#baa4ad; font-size:13px; line-height:1.55; }
.tm-blog-hero__actions { display:flex; gap:12px; margin-top:18px; flex-wrap:wrap; }
.tm-blog-hero__visual { background-image:linear-gradient(90deg,#120d12 0%,rgba(18,13,18,.08) 35%),url('/assets/img/editorial/blog-hero-crop.jpg'); background-size:cover; background-position:center; }
.tm-blog-archive-hero { padding:35px 40px; border:1px solid var(--color-border-soft); border-radius:18px; background:radial-gradient(circle at 85% 20%,rgba(255,77,166,.12),transparent 28rem),#100c10; }
.tm-blog-archive-hero h1 { margin:8px 0 5px; text-shadow:none; }
.tm-blog-archive-hero p { color:var(--color-text-muted); margin:0; }

.tm-blog-categories { margin:25px 0 23px; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.tm-blog-category-chip { min-width:0; height:62px; padding:10px; border:1px solid var(--color-border-soft); border-radius:10px; background:#120e12; display:flex; align-items:center; gap:9px; color:inherit; text-decoration:none; }
.tm-blog-category-chip:hover, .tm-blog-category-chip.is-active { border-color:rgba(255,77,166,.4); background:#171018; text-decoration:none; }
.tm-blog-category-chip__icon { color:var(--tm-pink); font-size:21px; }
.tm-blog-category-chip strong, .tm-blog-category-chip small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tm-blog-category-chip strong { color:#e8dfe3; font-size:10.5px; }
.tm-blog-category-chip small { color:#806b74; font-size:9px; }

.tm-blog-home-layout, .tm-blog-archive-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:22px; align-items:start; }
.tm-blog-featured-section > h2, .tm-blog-latest > h2 { font-size:25px; margin:0 0 12px; text-shadow:none; }
.tm-blog-featured-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:10px; min-height:355px; }
.tm-blog-feature-stack { display:grid; grid-template-rows:1fr 1fr; gap:10px; }
.tm-blog-feature-card { border:1px solid var(--color-border-soft); border-radius:12px; overflow:hidden; position:relative; min-height:0; background:#110d11; }
.tm-blog-feature-card > a { position:relative; display:block; width:100%; height:100%; color:inherit; text-decoration:none; }
.tm-blog-feature-card__image { position:absolute; inset:0; }
.tm-blog-feature-card__image img { width:100%; height:100%; object-fit:cover; }
.tm-blog-image-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,7,10,.94) 0%,rgba(10,7,10,.68) 52%,rgba(10,7,10,.22) 100%); }
.tm-blog-feature-card--small .tm-blog-image-shade { background:linear-gradient(90deg,rgba(10,7,10,.93),rgba(10,7,10,.38)); }
.tm-blog-feature-card__copy { position:relative; z-index:2; height:100%; padding:26px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; }
.tm-blog-feature-card--large .tm-blog-feature-card__copy { justify-content:center; width:65%; }
.tm-blog-feature-card__copy h3 { margin:12px 0 8px; font-size:30px; line-height:1.05; text-shadow:none; }
.tm-blog-feature-card--small .tm-blog-feature-card__copy { padding:18px; width:70%; justify-content:center; }
.tm-blog-feature-card--small .tm-blog-feature-card__copy h3 { font-size:17px; }
.tm-blog-feature-card__copy p { margin:0 0 10px; color:#baa6af; font-size:12px; line-height:1.45; }
.tm-blog-feature-card__copy small { color:#89747e; font-size:10px; }
.tm-read-link { color:var(--tm-pink); margin-top:9px; font-size:11px; }
.tm-blog-label { padding:5px 9px; font-size:8px; }

.tm-blog-latest { margin-top:22px; }
.tm-blog-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tm-blog-card { border:1px solid var(--color-border-soft); border-radius:11px; overflow:hidden; background:#100d10; min-width:0; }
.tm-blog-card > a { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.tm-blog-card__media { aspect-ratio:1.8/1; background:#181218; overflow:hidden; }
.tm-blog-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.tm-blog-card:hover img { transform:scale(1.04); }
.tm-blog-card__body { padding:12px 13px 13px; flex:1; }
.tm-blog-card__body h2, .tm-blog-card__body h3 { margin:8px 0 5px; font-size:16px; line-height:1.15; text-shadow:none; }
.tm-blog-card__body p { margin:0 0 8px; color:#99828c; font-size:10.5px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.tm-blog-card__body small { color:#78656e; font-size:9.5px; }
.tm-blog-more { text-align:center; margin-top:14px; }
.tm-blog-more .btn { box-shadow:none; }

.tm-blog-rail, .tm-article-rail { display:flex; flex-direction:column; gap:14px; }
.tm-blog-rail-card { padding:18px; border:1px solid var(--color-border-soft); border-radius:12px; background:linear-gradient(180deg,#151016,#100c10); }
.tm-blog-rail-card h2 { margin:0 0 13px; font-size:18px; text-shadow:none; }
.tm-popular-topics { list-style:none; margin:0; padding:0; }
.tm-popular-topics li { border-bottom:1px solid rgba(255,255,255,.07); }
.tm-popular-topics li:last-child { border-bottom:0; }
.tm-popular-topics a { display:flex; justify-content:space-between; gap:8px; padding:9px 0; color:#d5c4cb; font-size:10.5px; text-decoration:none; }
.tm-popular-topics a span::first-letter { color:var(--tm-pink); }
.tm-popular-topics small { color:#78656e; }
.tm-blog-newsletter-card p { color:#8f7883; font-size:10.5px; line-height:1.5; }
.tm-coming-soon { padding:6px 10px; font-size:8px; }
.tm-blog-explore-card { min-height:285px; border:1px solid var(--color-border-soft); border-radius:12px; overflow:hidden; background:#130e13; position:relative; }
.tm-blog-explore-card__copy { position:relative; z-index:2; padding:20px; width:80%; }
.tm-blog-explore-card__copy h2 { margin:0 0 7px; font-size:19px; text-shadow:none; }
.tm-blog-explore-card__copy p { color:#917984; font-size:10.5px; }
.tm-blog-explore-card__copy .btn { box-shadow:none; }
.tm-blog-explore-card__image { position:absolute; inset:42% 0 0; background:linear-gradient(180deg,transparent,#130e13 95%),url('/assets/img/editorial/home-hero-crop.jpg') center/cover no-repeat; }

.tm-blog-bottom-banner { margin-top:25px; padding:20px 25px; border:1px solid rgba(255,77,166,.22); border-radius:14px; background:linear-gradient(90deg,#180e16,#2a1021 55%,#130c12); display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center; }
.tm-blog-bottom-banner__icon { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--tm-pink); border-radius:50%; color:var(--tm-pink); font-size:20px; }
.tm-blog-bottom-banner h2 { margin:0 0 2px; font-size:22px; text-shadow:none; }
.tm-blog-bottom-banner p { margin:0; color:#957d88; font-size:10.5px; }
.tm-blog-bottom-banner .btn { box-shadow:none; }
.tm-blog-empty { margin-top:25px; }
.tm-blog-card-grid--archive { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tm-pagination { margin-top:22px; display:flex; gap:18px; justify-content:center; align-items:center; color:#8f7883; font-size:12px; }

/* ============================================================================
 * ENTRADA DE BLOG
 * ============================================================================ */
.tm-blog-breadcrumb { margin:0 0 10px; display:flex; gap:10px; align-items:center; color:#8e7782; font-size:11px; }
.tm-blog-breadcrumb a { color:#a98e99; }
.tm-article-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:20px; align-items:start; }
.tm-article { min-width:0; border:1px solid var(--color-border-soft); border-radius:12px; background:#0f0c0f; overflow:hidden; }
.tm-article-hero { min-height:315px; display:grid; grid-template-columns:1.25fr .85fr; background:#100d10; }
.tm-article-hero__copy { padding:31px 28px 27px; display:flex; flex-direction:column; justify-content:center; }
.tm-article-hero__copy h1 { margin:12px 0 10px; font-size:clamp(33px,4.6vw,53px); line-height:1.03; text-shadow:none; }
.tm-article-hero__copy > p { margin:0 0 13px; color:#a9909b; font-size:12px; line-height:1.5; max-width:480px; }
.tm-article-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#8d7781; font-size:10px; }
.tm-author-mark { width:22px; height:22px; display:grid; place-items:center; border:1px solid var(--tm-pink); border-radius:50%; color:var(--tm-pink); font-family:Georgia,serif; }
.tm-article-hero__image { min-height:315px; position:relative; overflow:hidden; }
.tm-article-hero__image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#100d10 0%,transparent 38%); }
.tm-article-hero__image img { width:100%; height:100%; object-fit:cover; }
.tm-article-tools { padding:12px 30px; border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06); display:flex; gap:20px; }
.tm-article-tools a { font-size:10.5px; }

.tm-article-prose { padding:26px 31px 12px; max-width:none; font-size:14px; line-height:1.72; }
.tm-article-prose > p:first-child::first-letter { float:left; color:var(--tm-pink); font-family:var(--font-heading); font-size:62px; line-height:.76; padding:8px 9px 0 0; }
.tm-article-prose h2 { margin:25px 0 7px; padding-top:5px; font-size:24px; text-shadow:none; scroll-margin-top:100px; }
.tm-article-prose h3 { margin:21px 0 6px; font-size:19px; text-shadow:none; scroll-margin-top:100px; }
.tm-article-prose p { color:#d1c1c8; margin-bottom:12px; }
.tm-article-prose a { text-decoration:underline; text-underline-offset:3px; }
.tm-article-prose blockquote { margin:18px 0; padding:16px 20px 16px 52px; border:1px solid rgba(255,77,166,.22); border-left:0; border-radius:9px; background:rgba(255,77,166,.08); color:#ff82bf; position:relative; }
.tm-article-prose blockquote::before { content:'“'; position:absolute; left:17px; top:9px; color:var(--tm-pink); font:700 37px/1 Georgia,serif; }
.tm-article-prose blockquote p { color:#ff9acd; margin:0; }

.tm-article-cta { margin:14px 31px; min-height:128px; border:1px solid rgba(255,77,166,.2); border-radius:10px; overflow:hidden; display:grid; grid-template-columns:1fr 1.1fr; background:#160e15; }
.tm-article-cta > div:first-child { padding:20px 18px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.tm-article-cta strong { max-width:280px; color:#f7edf2; font:600 19px/1.2 var(--font-heading); margin-bottom:12px; }
.tm-article-cta__visual { background:linear-gradient(90deg,#160e15 0%,transparent 42%),url('/assets/img/editorial/blog-hero-crop.jpg') center/cover no-repeat; }
.tm-author-card { margin:12px 31px; padding:14px 15px; border:1px solid var(--color-border-soft); border-radius:10px; display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; }
.tm-author-card__mark { width:46px; height:46px; border:1px solid var(--tm-pink); border-radius:50%; display:grid; place-items:center; color:var(--tm-pink); font:700 25px Georgia,serif; }
.tm-author-card h2 { margin:0 0 2px; font-size:17px; text-shadow:none; }
.tm-author-card p { margin:0 0 2px; color:#917b85; font-size:9.5px; }
.tm-author-card a { font-size:9.5px; }
.tm-article-tags { margin:12px 31px; display:flex; gap:6px; flex-wrap:wrap; align-items:center; font-size:10px; }
.tm-article-tags strong { margin-right:4px; }
.tm-article-tags .tag-chip { padding:5px 10px; background:transparent; border:1px solid rgba(255,77,166,.3); }
.tm-article-adjacent { margin:13px 31px 17px; display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--color-border-soft); border-radius:9px; overflow:hidden; }
.tm-article-adjacent a { min-height:72px; padding:13px; display:flex; flex-direction:column; justify-content:center; color:inherit; text-decoration:none; }
.tm-article-adjacent a + a { border-left:1px solid rgba(255,255,255,.07); }
.tm-article-adjacent a.is-next { text-align:right; }
.tm-article-adjacent small { color:var(--tm-pink); font-size:8.5px; }
.tm-article-adjacent strong { color:#ded0d6; font:500 11px/1.3 var(--font-body); }
.tm-related-posts { padding:0 31px 28px; }
.tm-related-posts > h2 { margin:0 0 9px; font-size:20px; text-shadow:none; }
.tm-related-posts__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.tm-related-card { border:1px solid var(--color-border-soft); border-radius:9px; overflow:hidden; }
.tm-related-card a { color:inherit; text-decoration:none; }
.tm-related-card__media { aspect-ratio:1.8/1; background:#171116; }
.tm-related-card__media img { width:100%; height:100%; object-fit:cover; }
.tm-related-card a > div:last-child { padding:9px 10px 10px; }
.tm-related-card h3 { margin:6px 0 0; font-size:11px; text-shadow:none; }

.tm-article-rail { position:sticky; top:98px; }
.tm-toc-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.tm-toc-list a { color:#9d858f; font-size:10px; line-height:1.35; text-decoration:none; display:flex; gap:5px; }
.tm-toc-list li:first-child a, .tm-toc-list a:hover { color:#e7d8de; }
.tm-toc-list li:first-child a { border-left:2px solid var(--tm-pink); padding-left:9px; }
.tm-rail-tags { display:flex; flex-wrap:wrap; gap:6px; }
.tm-rail-tags a { padding:5px 9px; border:1px solid rgba(255,77,166,.32); border-radius:999px; color:var(--tm-pink-soft); font-size:8.5px; text-decoration:none; }
.tm-blog-bottom-banner--article { margin-top:14px; }

/* --- Responsive ------------------------------------------------------------- */
@media (max-width: 1080px) {
    .site-nav { gap:15px; }
    .tm-blog-categories { grid-template-columns:repeat(4,1fr); }
    .tm-seller-row { grid-template-columns:repeat(3,1fr); }
    .tm-seller-banner { grid-template-columns:180px 1fr 210px; }
    .tm-why__grid { grid-template-columns:repeat(3,1fr); }
    .tm-product-page { grid-template-columns:1fr 1fr; }
    .tm-product-seller-card { grid-template-columns:auto 1fr; }
    .tm-product-seller-card__metric { border-left:0; padding-left:0; }
}
@media (max-width: 900px) {
    .site-footer__grid { grid-template-columns:1fr 1fr; }
    .tm-home-hero, .tm-blog-hero { grid-template-columns:1fr; }
    .tm-home-hero__visual, .tm-blog-hero__visual { min-height:245px; }
    .tm-trust-ribbon { margin:0; grid-template-columns:1fr 1fr; border-radius:0 0 18px 18px; }
    .tm-trust-ribbon__item:nth-child(2) { border-right:0; }
    .tm-trust-ribbon__item { padding:12px; border-bottom:1px solid rgba(255,255,255,.06); }
    .tm-product-grid--four { grid-template-columns:repeat(2,1fr); }
    .tm-seller-banner { grid-template-columns:1fr; }
    .tm-seller-banner__image { min-height:150px; mask-image:linear-gradient(180deg,#000 65%,transparent); }
    .tm-seller-banner__benefits { text-align:center; }
    .tm-blog-home-layout, .tm-blog-archive-layout, .tm-article-layout { grid-template-columns:1fr; }
    .tm-blog-rail, .tm-article-rail { position:static; display:grid; grid-template-columns:repeat(2,1fr); }
    .tm-product-page { grid-template-columns:1fr; }
    .tm-product-main-media { aspect-ratio:1.15/1; }
    .tm-product-trust { grid-template-columns:1fr 1fr; }
}
@media (max-width: 700px) {
    body.public-site main.container { padding-top:18px; padding-left:14px; padding-right:14px; }
    .site-header__bar { min-height:66px; }
    .brand { font-size:24px; }
    .site-footer__grid { grid-template-columns:1fr; gap:25px; }
    .tm-home-hero__copy, .tm-blog-hero__copy { padding:31px 22px; }
    .tm-home-hero__copy h1, .tm-blog-hero__copy h1 { font-size:36px; }
    .tm-product-grid--four { grid-template-columns:1fr 1fr; gap:8px; }
    .tm-product-card__body { padding:10px; }
    .tm-seller-row { grid-template-columns:1fr; }
    .tm-why__grid { grid-template-columns:1fr 1fr; }
    .faq-accordion--columns { grid-template-columns:1fr; }
    .tm-blog-categories { display:flex; overflow-x:auto; padding-bottom:5px; scrollbar-width:thin; }
    .tm-blog-category-chip { min-width:165px; }
    .tm-blog-featured-grid { grid-template-columns:1fr; }
    .tm-blog-feature-stack { grid-template-rows:auto; }
    .tm-blog-feature-card--large { min-height:340px; }
    .tm-blog-feature-card--small { min-height:190px; }
    .tm-blog-feature-card--large .tm-blog-feature-card__copy, .tm-blog-feature-card--small .tm-blog-feature-card__copy { width:80%; }
    .tm-blog-card-grid, .tm-blog-card-grid--archive { grid-template-columns:1fr; }
    .tm-blog-rail, .tm-article-rail { grid-template-columns:1fr; }
    .tm-blog-bottom-banner { grid-template-columns:auto 1fr; }
    .tm-blog-bottom-banner .btn { grid-column:1/-1; justify-self:start; }
    .tm-product-panel { padding:22px 18px; }
    .tm-product-panel h1 { font-size:36px; }
    .tm-product-price-row { align-items:flex-start; }
    .tm-product-price-row > strong { font-size:27px; }
    .tm-product-actions { grid-template-columns:1fr; }
    .tm-product-trust { grid-template-columns:1fr; }
    .tm-article { border-left:0; border-right:0; border-radius:0; }
    .tm-article-hero { grid-template-columns:1fr; }
    .tm-article-hero__copy { padding:26px 22px; }
    .tm-article-hero__copy h1 { font-size:38px; }
    .tm-article-hero__image { min-height:220px; order:-1; }
    .tm-article-hero__image::after { background:linear-gradient(0deg,#100d10 0%,transparent 35%); }
    .tm-article-prose { padding:22px; }
    .tm-article-cta, .tm-author-card, .tm-article-tags, .tm-article-adjacent { margin-left:22px; margin-right:22px; }
    .tm-article-cta { grid-template-columns:1fr; }
    .tm-article-cta__visual { min-height:120px; order:-1; }
    .tm-related-posts { padding-left:22px; padding-right:22px; }
    .tm-related-posts__grid { grid-template-columns:1fr; }
}
@media (max-width: 480px) {
    .tm-product-grid--four { grid-template-columns:1fr; }
    .tm-trust-ribbon { grid-template-columns:1fr; }
    .tm-trust-ribbon__item { border-right:0; }
    .tm-why__grid { grid-template-columns:1fr; }
    .tm-product-price-row { flex-direction:column; }
    .tm-product-thumbs { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; }
}

/* Static editorial artwork is rendered as real <img> elements so the approved
   compositions remain reliable behind CDNs, subdirectories and cache layers. */
.tm-home-hero__visual,
.tm-blog-hero__visual,
.tm-seller-banner__image,
.tm-blog-explore-card__image,
.tm-article-cta__visual {
    background-image: none;
    overflow: hidden;
    position: relative;
}
.tm-home-hero__visual > img,
.tm-blog-hero__visual > img,
.tm-seller-banner__image > img,
.tm-blog-explore-card__image > img,
.tm-article-cta__visual > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.tm-home-hero__visual::after,
.tm-blog-hero__visual::after,
.tm-article-cta__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.tm-home-hero__visual::after {
    background: linear-gradient(90deg, #100c10 0%, rgba(16,12,16,.18) 22%, rgba(16,12,16,0) 52%);
}
.tm-blog-hero__visual::after {
    background: linear-gradient(90deg, #120d12 0%, rgba(18,13,18,.10) 26%, rgba(18,13,18,0) 58%);
}
.tm-seller-banner__image > img {
    object-position: center;
    -webkit-mask-image: linear-gradient(90deg, #000 64%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 64%, transparent 100%);
}
.tm-blog-explore-card__image > img { object-position: center; }
.tm-blog-explore-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent, #130e13 95%);
    pointer-events: none;
}
.tm-article-cta__visual::after {
    background: linear-gradient(90deg, #160e15 0%, rgba(22,14,21,.12) 42%, transparent 72%);
}

/* ============================================================================
 * PERFIL PÚBLICO DE VENDEDORA — DISEÑO APROBADO EXACTO (29-08-2026)
 * ============================================================================
 * Reglas deliberadamente scopeadas bajo .seller-profile-page para que la
 * composición aprobada no dependa de estilos históricos de .seller-card,
 * .grid, .product-card, etc. y no altere catálogo/paneles/administración.
 */
.seller-profile-page {
    --sp-bg: #0a080b;
    --sp-panel: #100d11;
    --sp-panel-2: #151116;
    --sp-line: rgba(255,255,255,.09);
    --sp-line-pink: rgba(255,63,156,.34);
    --sp-pink: #ff3f9c;
    --sp-pink-soft: #ff77b8;
    --sp-text: #fff7fb;
    --sp-muted: #a9949e;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

/* 1. Cabecera horizontal: avatar + identidad | cuatro estadísticas */
.seller-profile-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, .68fr);
    align-items: stretch;
    gap: 20px;
    padding: 24px;
    border: 1px solid var(--sp-line-pink);
    border-radius: 20px;
    background:
        radial-gradient(circle at 14% 26%, rgba(255,63,156,.05), transparent 34%),
        linear-gradient(135deg, #100d11, #0d0b0e 72%);
    box-shadow: 0 18px 50px rgba(0,0,0,.26);
}
.seller-profile-summary {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 24px;
}
.seller-profile-avatar-wrap { position: relative; flex: 0 0 auto; }
.seller-profile-avatar {
    width: 140px;
    height: 220px;
    border-radius: 28px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: #171217;
    border: 2px solid rgba(255,255,255,.8);
    box-shadow: 0 0 0 1px rgba(255,63,156,.18), 0 12px 26px rgba(0,0,0,.34);
}
.seller-profile-avatar img { width:100%; height:100%; object-fit:cover; }
.seller-profile-avatar__initials { color:var(--sp-pink); font:700 46px/1 var(--font-heading); }
.seller-profile-summary__copy { min-width:0; flex:1 1 auto; }
.seller-profile-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.seller-profile-status-row { display:inline-flex; align-items:center; flex-wrap:wrap; gap:7px; }
.seller-profile-title-row h1 {
    margin:0;
    color:var(--sp-text);
    font-size:clamp(34px,4vw,48px);
    line-height:1;
    text-shadow:none;
}
.seller-profile-verified-pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,63,156,.11);
    color:var(--sp-pink-soft);
    font-size:12.5px;
    font-weight:800;
    letter-spacing:.35px;
    text-transform:uppercase;
}
.seller-profile-verified-pill > span {
    display:grid;
    place-items:center;
    width:17px;
    height:17px;
    border-radius:50%;
    background:var(--sp-pink);
    color:#fff;
    font-size:11.5px;
}
.seller-profile-recognition-pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:29px;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid rgba(255,184,79,.24);
    background:linear-gradient(135deg,rgba(255,184,79,.12),rgba(255,63,156,.08));
    color:#ffe0a6;
    font-size:12.5px;
    font-weight:800;
    letter-spacing:.2px;
}
.seller-profile-recognition-pill > span { font-size:15px; line-height:1; }
.seller-profile-tagline { margin:11px 0 8px; color:#e8dfe3; font-size:17px; }
.seller-profile-tagline strong { color:var(--sp-pink); font-weight:500; }
.seller-profile-since {
    margin:0;
    display:flex;
    align-items:center;
    gap:8px;
    color:#bba8b1;
    font-size:14px;
}
.seller-profile-since__icon { color:#f4e9ee; font-size:14px; }
.seller-profile-platform-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; }
.seller-profile-platform-chips span {
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:34px;
    padding:7px 12px;
    border:1px solid var(--sp-line);
    border-radius:10px;
    background:rgba(255,255,255,.018);
    color:#cfc0c7;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
}
.seller-profile-platform-chips i { color:var(--sp-pink); font-style:normal; font-weight:800; }

/* Insignias y redes elegidas por la vendedora. Son datos públicos voluntarios
   y se mantienen visualmente subordinados al nombre y la verificación. */
.seller-profile-badges,
.seller-profile-socials {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:10px;
}
.seller-profile-badge-chip,
.seller-profile-social-link {
    min-width:0;
    min-height:30px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    line-height:1.1;
}
.seller-profile-badge-chip {
    border:1px solid rgba(255,63,156,.18);
    background:rgba(255,63,156,.075);
    color:#e2c9d5;
}
.seller-profile-badge-chip__emoji,
.seller-profile-social-link__emoji {
    flex:0 0 auto;
    font-size:14.5px;
    line-height:1;
}
.seller-profile-social-link {
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.025);
    color:#d7c8cf !important;
    text-decoration:none !important;
    transition:border-color .18s ease, background .18s ease, color .18s ease;
}
.seller-profile-social-link:hover,
.seller-profile-social-link:focus-visible {
    border-color:rgba(255,63,156,.42);
    background:rgba(255,63,156,.08);
    color:#fff !important;
}

.seller-profile-bio {
    margin:14px 0 0;
    max-width:620px;
    color:#cbbbc2;
    font-size:13.5px;
    line-height:1.55;
    white-space:normal;
}

.seller-profile-stats {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    min-width:0;
}
.seller-profile-stat {
    min-width:0;
    min-height:156px;
    padding:16px 10px 14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px solid rgba(255,255,255,.055);
    border-radius:12px;
    background:linear-gradient(180deg,#151217,#111014);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.seller-profile-stat__icon { width:31px; height:31px; margin-bottom:9px; color:var(--sp-pink); }
.seller-profile-stat__icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.seller-profile-stat strong {
    color:var(--sp-text);
    font:600 24px/1.05 var(--font-heading);
    white-space:nowrap;
}
.seller-profile-stat > span:last-child {
    margin-top:7px;
    color:#b19da6;
    font-size:11.5px;
    line-height:1.3;
    max-width:86px;
}

/* 2. Galería y detalles, misma altura visual */
.seller-profile-main {
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(370px,.92fr);
    gap:20px;
    align-items:stretch;
}
.seller-profile-gallery {
    min-width:0;
    align-self:start;
    padding:12px;
    border:1px solid var(--sp-line);
    border-radius:18px;
    background:linear-gradient(180deg,#0f0d10,#0c0a0d);
}
.seller-profile-gallery__hero {
    position:relative;
    overflow:hidden;
    width:100%;
    /* 25% menos alto que la versión anterior en escritorio. */
    aspect-ratio:1.44/1;
    border-radius:14px;
    background:#161217;
    cursor:zoom-in;
}
.seller-profile-gallery__hero img { width:100%; height:100%; object-fit:cover; display:block; }
.seller-profile-gallery__nav {
    position:absolute;
    top:50%;
    z-index:3;
    width:40px;
    height:40px;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    background:rgba(10,8,11,.72);
    color:#fff;
    font:400 27px/1 var(--font-body);
    cursor:pointer;
    backdrop-filter:blur(5px);
    transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.seller-profile-gallery__nav:hover { background:rgba(255,63,156,.86); border-color:var(--sp-pink); }
.seller-profile-gallery__nav--prev { left:12px; }
.seller-profile-gallery__nav--next { right:12px; }
.seller-profile-gallery__counter {
    position:absolute;
    top:12px;
    right:12px;
    z-index:2;
    min-width:44px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--sp-pink);
    color:#fff;
    font-size:13.5px;
    font-weight:800;
    text-align:center;
    box-shadow:0 4px 18px rgba(255,63,156,.28);
}
.seller-profile-gallery__zoom {
    position:absolute;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    z-index:2;
    display:inline-flex;
    align-items:center;
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(17,12,16,.82);
    color:#f3e9ed;
    backdrop-filter:blur(6px);
    font-size:11.5px;
    white-space:nowrap;
}
.seller-profile-gallery__thumbs {
    display:grid;
    grid-template-columns:repeat(5,86px);
    gap:10px;
    margin-top:10px;
    justify-content:start;
}
.seller-profile-gallery__thumb-wrap { position:relative; width:86px; height:86px; }
.seller-profile-gallery__thumb-wrap.is-hidden { display:none; }
.seller-profile-gallery__thumb {
    width:86px;
    height:86px;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
    cursor:zoom-in;
}
.seller-profile-gallery__thumb.is-active { border-color:var(--sp-pink); box-shadow:0 0 13px rgba(255,63,156,.28); }
.seller-profile-gallery__thumb-more {
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:rgba(8,6,8,.78);
    color:#fff;
    font:600 22px/1 var(--font-heading);
    pointer-events:none;
}
.seller-profile-gallery__thumb-more small { margin-top:5px; color:#d6c7cd; font:400 10px/1 var(--font-body); }
.seller-profile-gallery--empty { min-height:480px; display:grid; place-items:center; }
.seller-profile-gallery__placeholder { color:#5e4a53; font:700 36px/1 var(--font-heading); }

.seller-profile-details {
    min-width:0;
    padding:27px 28px;
    border:1px solid var(--sp-line);
    border-radius:18px;
    background:linear-gradient(180deg,#111014,#0e0c10);
    box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.seller-profile-details h2 { margin:0; color:var(--sp-text); font-size:26px; text-shadow:none; }
.seller-profile-details__accent { display:block; width:28px; height:2px; margin:11px 0 10px; background:var(--sp-pink); }
.seller-profile-facts { margin:0; padding:0; }
.seller-profile-fact {
    display:grid;
    grid-template-columns:35px 1fr;
    gap:12px;
    align-items:center;
    min-height:78px;
    border-bottom:1px solid rgba(255,255,255,.065);
}
.seller-profile-fact:last-child { border-bottom:0; }
.seller-profile-fact--description { align-items:start; min-height:0; padding:15px 0 18px; }
.seller-profile-fact--description dd { margin-top:5px; line-height:1.55; white-space:normal; }
.seller-profile-fact__icon {
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    color:var(--sp-pink);
    font-size:26px;
    line-height:1;
}
.seller-profile-fact dt { color:#f2e9ed; font-size:14.5px; font-weight:700; }
.seller-profile-fact dd { margin:2px 0 0; color:#c8b9c0; font-size:13.5px; line-height:1.35; }
.seller-profile-details__empty { margin:22px 0 0; color:var(--sp-muted); font-size:13.5px; }

/* 3. Prendas publicadas: 4 tarjetas por fila, nunca estiradas */
.seller-profile-products { margin-top:1px; }
.seller-profile-section-title { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
.seller-profile-section-title h2 { margin:0; color:var(--sp-text); font-size:27px; text-shadow:none; }
.seller-profile-section-title h2 > span { color:var(--sp-pink); margin-right:7px; }
.seller-profile-section-title > a { color:var(--sp-pink-soft); font-size:12.5px; }
.seller-profile-products-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    align-items:start;
}
.seller-profile-product-card {
    min-width:0;
    overflow:hidden;
    border:1px solid var(--sp-line);
    border-radius:13px;
    background:linear-gradient(180deg,#111014,#0d0b0e);
    box-shadow:0 9px 24px rgba(0,0,0,.13);
}
.seller-profile-product-card__media {
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:1.18/1;
    overflow:hidden;
    background:#eee9e8;
}
.seller-profile-product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.seller-profile-product-card:hover .seller-profile-product-card__media img { transform:scale(1.025); }
.seller-profile-product-card__placeholder { width:100%; height:100%; display:grid; place-items:center; color:#6d5d64; }
.seller-profile-product-card__heart {
    position:absolute;
    top:9px;
    right:9px;
    width:29px;
    height:29px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(26,23,26,.82);
    color:var(--sp-pink);
    font-size:14px;
}
.seller-profile-product-card__status { position:absolute; left:8px; bottom:8px; }
.seller-profile-product-card__body { padding:11px 13px 10px; }
.seller-profile-product-card__title { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#eee5e9; font-size:12.5px; text-decoration:none; }
.seller-profile-product-card__title:hover { color:#fff; text-decoration:none; }
.seller-profile-product-card__price { margin:6px 0 8px; color:var(--sp-pink); font:700 14px/1.2 var(--font-body); }
.seller-profile-product-card__meta {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid rgba(255,255,255,.06);
    padding-top:8px;
}
.seller-profile-product-card__meta span {
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    color:#b9a9b0;
    font-size:10.5px;
    line-height:1;
    border-right:1px solid rgba(255,255,255,.07);
}
.seller-profile-product-card__meta span:last-child { border-right:0; }
.seller-profile-product-card__meta i { color:var(--sp-pink); font-style:normal; font-size:13.5px; }

/* 4. Garantías y CTA de cierre */
.seller-profile-trust {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    padding:20px 22px;
    border:1px solid var(--sp-line);
    border-radius:16px;
    background:linear-gradient(180deg,#111014,#0d0b0e);
}
.seller-profile-trust__item {
    display:grid;
    grid-template-columns:42px 1fr;
    gap:12px;
    align-items:start;
    padding:0 19px;
    border-right:1px solid rgba(255,255,255,.07);
}
.seller-profile-trust__item:first-child { padding-left:0; }
.seller-profile-trust__item:last-child { padding-right:0; border-right:0; }
.seller-profile-trust__item > span { color:var(--sp-pink); font-size:32px; line-height:1; }
.seller-profile-trust__item h3 { margin:0 0 4px; color:#f2e8ed; font:700 13.5px/1.2 var(--font-body); text-shadow:none; }
.seller-profile-trust__item p { margin:0; color:#a8929c; font-size:11px; line-height:1.45; }
.seller-profile-cta {
    display:grid;
    grid-template-columns:1fr auto;
    gap:30px;
    align-items:center;
    min-height:104px;
    padding:21px 32px;
    border:1px solid rgba(255,63,156,.25);
    border-radius:16px;
    background:linear-gradient(110deg,#120d12,#25101d 55%,#100c10);
}
.seller-profile-cta h2 { margin:0; color:var(--sp-text); font-size:26px; text-align:center; text-shadow:none; }
.seller-profile-cta p { margin:5px 0 0; color:#a78f9a; font-size:12px; text-align:center; }
.seller-profile-cta .btn { min-width:190px; justify-content:center; box-shadow:0 0 24px rgba(255,63,156,.22); }

/* Responsive: conserva la misma jerarquía; 4 columnas solo en escritorio. */
@media (max-width: 1080px) {
    .seller-profile-hero { grid-template-columns:1fr; }
    .seller-profile-stats { grid-template-columns:repeat(2,1fr); }
    .seller-profile-stat { min-height:128px; }
    .seller-profile-main { grid-template-columns:1fr 1fr; }
}
@media (max-width: 860px) {
    .seller-profile-main { grid-template-columns:1fr; }
    .seller-profile-gallery__hero { aspect-ratio:1.15/1; }
    .seller-profile-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .seller-profile-trust { grid-template-columns:repeat(2,1fr); row-gap:22px; }
    .seller-profile-trust__item:nth-child(2) { border-right:0; }
    .seller-profile-trust__item:nth-child(3) { padding-left:0; }
}
@media (max-width: 620px) {
    .seller-profile-page { gap:14px; }

    /*
     * Perfil móvil aprobado (referencia del cliente 2026-08-29):
     * avatar a la izquierda + identidad a la derecha; métricas públicas debajo.
     * Es importante NO volver a apilar avatar/nombre verticalmente.
     */
    .seller-profile-hero {
        grid-template-columns:1fr;
        gap:20px;
        padding:18px;
        border-radius:20px;
    }
    .seller-profile-summary {
        display:grid;
        grid-template-columns:140px minmax(0,1fr);
        align-items:start;
        gap:18px;
    }
    .seller-profile-avatar-wrap {
        align-self:start;
        margin-top:4px;
    }
    .seller-profile-avatar {
        width:140px;
        height:220px;
        border-radius:28px;
    }
    .seller-profile-summary__copy {
        min-width:0;
        padding-top:0;
    }
    .seller-profile-title-row {
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:7px;
    }
    .seller-profile-status-row { order:1; display:flex; align-items:center; gap:6px; }
    .seller-profile-title-row h1 {
        order:2;
        margin:0;
        font-size:clamp(29px,8.2vw,35px);
        line-height:.98;
        overflow-wrap:anywhere;
    }
    .seller-profile-verified-pill {
        min-height:29px;
        padding:5px 10px;
        font-size:11.5px;
        letter-spacing:.28px;
    }
    .seller-profile-verified-pill > span {
        width:18px;
        height:18px;
        font-size:11.5px;
    }
    .seller-profile-tagline {
        margin:9px 0 9px;
        font-size:14.5px;
        line-height:1.25;
    }
    .seller-profile-since {
        gap:7px;
        font-size:13px;
        line-height:1.35;
    }
    .seller-profile-platform-chips { display:none; }
    .seller-profile-badges, .seller-profile-socials { margin-top:9px; gap:6px; }
    .seller-profile-badge-chip, .seller-profile-social-link { min-height:31px; padding:6px 9px; font-size:12px; }
    .seller-profile-bio {
        margin-top:9px;
        font-size:12px;
        line-height:1.45;
        display:-webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        overflow:hidden;
    }

    .seller-profile-stats {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
        width:100%;
    }
    .seller-profile-stat {
        min-height:136px;
        padding:15px 9px 13px;
        border-radius:13px;
    }
    .seller-profile-stat__icon {
        width:32px;
        height:32px;
        margin-bottom:10px;
    }
    .seller-profile-stat strong {
        font-size:27px;
    }
    .seller-profile-stat > span:last-child {
        margin-top:7px;
        max-width:108px;
        font-size:12px;
        line-height:1.3;
    }

    .seller-profile-gallery, .seller-profile-details { padding:10px; }
    .seller-profile-gallery__nav { width:36px; height:36px; font-size:24px; }
    .seller-profile-gallery__nav--prev { left:9px; }
    .seller-profile-gallery__nav--next { right:9px; }
    .seller-profile-gallery__thumbs { grid-template-columns:repeat(5,58px); gap:7px; overflow-x:auto; padding-bottom:3px; }
    .seller-profile-gallery__thumb-wrap, .seller-profile-gallery__thumb { width:58px; height:58px; }
    .seller-profile-products-grid { grid-template-columns:1fr 1fr; gap:8px; }
    .seller-profile-section-title h2 { font-size:23px; }
    .seller-profile-trust { grid-template-columns:1fr; }
    .seller-profile-trust__item { padding:14px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.06); }
    .seller-profile-trust__item:last-child { border-bottom:0; }
    .seller-profile-cta { grid-template-columns:1fr; text-align:center; }
    .seller-profile-cta .btn { justify-self:center; }
}
@media (max-width: 420px) {
    /* Mantener SIEMPRE el encabezado móvil en dos columnas. */
    .seller-profile-hero { padding:16px 14px; gap:18px; }
    .seller-profile-summary {
        display:grid;
        grid-template-columns:128px minmax(0,1fr);
        gap:14px;
    }
    .seller-profile-avatar { width:128px; height:202px; border-radius:26px; }
    .seller-profile-title-row h1 { font-size:clamp(27px,8.1vw,32px); }
    .seller-profile-tagline { font-size:15px; }
    .seller-profile-since { font-size:12.25px; }
    .seller-profile-stat { min-height:128px; }
    .seller-profile-stat strong { font-size:25px; }
    .seller-profile-products-grid { grid-template-columns:1fr; }
    .seller-profile-gallery__thumbs { grid-template-columns:repeat(5,52px); }
    .seller-profile-gallery__thumb-wrap, .seller-profile-gallery__thumb { width:52px; height:52px; }
}
@media (max-width: 350px) {
    .seller-profile-summary {
        grid-template-columns:112px minmax(0,1fr);
        gap:11px;
    }
    .seller-profile-avatar { width:112px; height:178px; border-radius:24px; }
    .seller-profile-verified-pill { padding:4px 8px; font-size:10.5px; }
    .seller-profile-title-row h1 { font-size:26px; }
    .seller-profile-tagline { font-size:14px; }
    .seller-profile-since { font-size:11.5px; }
}
