/*
Theme Name: Chollos KALUX
Template: neve
Description: Child theme del Neve para es.kalux.com.br (Chollos KALUX). Toda la
  lógica de datos (número, URL corta, contacto) vive en mu-plugins; aquí solo
  vive la presentación.
Version: 1.1.0
Author: KALUX
*/

/* ===========================================================================
   Paleta de marca — sobrescribe las variables nativas del Neve (así todo
   el tema, botones y hover de menú incluidos, hereda el color sin tener
   que pelear con cada componente uno por uno).
   =========================================================================== */
:root {
    --nv-primary-accent: #e8570f;   /* naranja marca — antes #2f5aae (azul de fábrica) */
    --nv-secondary-accent: #e8570f;
    --nv-text-color: #24211d;

    --chollos-naranja: #e8570f;
    --chollos-naranja-oscuro: #c2470b;
    --chollos-verde: #128C7E;
    --chollos-verde-claro: #25D366;
    --chollos-tinta: #1c2b3a;      /* azul-grafito oscuro — cabecera, hero, footer */
    --chollos-tinta-2: #26394d;
    --chollos-crema: #fff8f2;      /* fondo cálido, no blanco puro */
    --chollos-rojo: #d63638;
    --chollos-borde: #ece4db;
}

body {
    background: var(--chollos-crema);
}

/* ===========================================================================
   Cabecera — logo con color de marca, menú con más aire
   =========================================================================== */
.header {
    border-bottom: 3px solid var(--chollos-naranja);
    background: #fff;
}
.site-logo .site-title {
    color: var(--chollos-tinta) !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
}
.site-logo small {
    color: #8a7f74 !important;
}
.primary-menu-ul .menu-item a {
    font-weight: 600;
}
.primary-menu-ul .menu-item.nv-active a,
.primary-menu-ul .menu-item a:hover {
    color: var(--chollos-naranja) !important;
}

/* El footer nativo del Neve ("Neve | Powered by WordPress") queda oculto:
   el footer propio de más abajo ya cubre marca + legal + copyright, y dos
   franjas oscuras apiladas se veían como un error de maquetación. */
.site-footer#site-footer {
    display: none;
}

/* ===========================================================================
   Home reordenada (20/09/2026): busca primero, sin hero grande arriba.
   La "línea de marca" es un <h1> por SEO, pero visualmente es solo texto.
   =========================================================================== */
.chollos-linea-marca {
    font-size: 15px;
    font-weight: 500;
    color: #7a7168;
    text-align: center;
    margin: 8px 0 32px;
    line-height: 1.5;
}
.chollos-linea-marca strong { color: var(--chollos-tinta); }

/* Barra "Únete al canal" cuando NO está dentro del hero (fallback) */
.chollos-cabecera-canal {
    background: var(--chollos-verde);
    color: #fff;
    text-align: center;
    padding: 10px 16px;
    font-size: 14px;
}
.chollos-cabecera-canal a { color: #fff; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.chollos-cabecera-canal a:hover { text-decoration: underline; }

/* Botón "Únete al canal" reutilizable (home + producto) */
.chollos-btn-canal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--chollos-verde-claro);
    color: #fff !important;
    padding: 13px 22px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none !important;
    margin: 14px 0;
    box-shadow: 0 2px 8px rgba(37,211,102,.35);
    transition: transform .15s ease, box-shadow .15s ease;
}
.chollos-btn-canal:hover {
    background: var(--chollos-verde);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(18,140,126,.4);
}
/* Versión de la home (20/09/2026): ancho completo y más alto (48px) */
.chollos-btn-canal-full {
    display: flex;
    width: 100%;
    justify-content: center;
    min-height: 48px;
    box-sizing: border-box;
}

/* Selo del número de producto */
.chollos-selo-numero {
    display: inline-block;
    background: var(--chollos-tinta);
    color: #fff;
    font-weight: 800;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 14px;
    margin-bottom: 10px;
    letter-spacing: .02em;
}

/* Selo de envío desde España */
.chollos-selo-envio {
    display: inline-block;
    background: #eef7ee;
    color: #2b7a2b;
    border: 1px solid #bfe3bf;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    margin: 8px 0;
}

/* Aviso de afiliado, siempre visible bajo el botón de compra */
.chollos-aviso-afiliado {
    font-size: 13px;
    color: #6b6258;
    max-width: 480px;
    margin: 10px 0 18px;
    line-height: 1.5;
}

/* Botón "Comprar en AliExpress" (override del <form> nativo del Woo) */
.chollos-btn-comprar {
    display: inline-block;
    background: var(--chollos-naranja);
    color: #fff !important;
    padding: 16px 28px;
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none !important;
    font-size: 17px;
    box-shadow: 0 3px 10px rgba(232,87,15,.35);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.chollos-btn-comprar:hover {
    background: var(--chollos-naranja-oscuro);
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(232,87,15,.45);
}

/* Bloque "Agotado" */
.chollos-agotado {
    background: #fdeeee;
    border: 1px solid #f3c8c8;
    color: var(--chollos-rojo);
    padding: 16px 20px;
    border-radius: 10px;
    font-weight: 600;
    margin: 20px 0;
}
.chollos-relacionados h3 { margin-top: 28px; }

/* Fecha de actualización de la oferta */
.chollos-actualizado {
    font-size: 12px;
    color: #9a9086;
    margin-top: 14px;
}

/* Búsqueda por número (home) */
.chollos-busca {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    background: #fff;
    padding: 22px;
    border-radius: 12px;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(28,43,58,.08);
    border: 1px solid var(--chollos-borde);
}
.chollos-busca label { width: 100%; font-weight: 700; color: var(--chollos-tinta); font-size: 15px; }
.chollos-busca input[type=number] {
    padding: 12px 14px;
    font-size: 16px;
    width: 140px;
    border: 2px solid var(--chollos-borde);
    border-radius: 8px;
}
.chollos-busca input[type=number]:focus { outline: none; border-color: var(--chollos-naranja); }
.chollos-busca .button {
    background: var(--chollos-tinta) !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 22px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
.chollos-busca .button:hover { background: var(--chollos-tinta-2) !important; }

.chollos-aviso {
    background: #fff3e0;
    border: 1px solid #ffcc80;
    color: #8a5100;
    padding: 14px 18px;
    border-radius: 10px;
    margin-bottom: 24px;
    font-weight: 500;
}

h2 { color: var(--chollos-tinta); }

/* La home (page-id-14) ya trae su propio <h1> dentro del hero — el título
   de página nativo del Neve duplicaría "Inicio" justo encima. */
.page-id-14 .nv-page-title-wrap { display: none; }

/* Grade de productos/guías */
.chollos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 18px;
    margin-bottom: 36px;
}
.chollos-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none !important;
    color: inherit;
    background: #fff;
    border: 1px solid var(--chollos-borde);
    border-radius: 12px;
    padding: 12px;
    position: relative;
    box-shadow: 0 2px 8px rgba(28,43,58,.05);
    transition: transform .15s ease, box-shadow .15s ease;
}
.chollos-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(28,43,58,.12);
}
.chollos-card img { border-radius: 8px; width: 100%; height: auto; display: block; }
.chollos-card-numero {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--chollos-tinta);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 6px;
    z-index: 1;
}
.chollos-card-agotado {
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--chollos-rojo);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    z-index: 1;
}
.chollos-card-titulo { font-size: 14.5px; font-weight: 600; line-height: 1.4; }

/* Card de la home (20/09/2026): solo foto + selo + precio, sin título —
   pensado para que se lea entero de un vistazo en el móvil. */
.chollos-card-simple { padding: 0; overflow: hidden; gap: 0; }
.chollos-card-simple img { border-radius: 0; }
.chollos-card-numero-grande {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--chollos-tinta);
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    padding: 5px 12px;
    border-radius: 8px;
    z-index: 1;
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.chollos-card-precio {
    display: block;
    padding: 10px 12px 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--chollos-tinta);
}
.chollos-card-precio del { color: #a39a90; font-weight: 400; margin-right: 6px; }
.chollos-card-precio ins { text-decoration: none; color: var(--chollos-naranja); }

/* Título corto del card de la home: máx. 2 líneas, corta con … */
.chollos-card-titulo-corta {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 8px 12px 0;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--chollos-tinta);
    line-height: 1.35;
}
.chollos-card-precio { padding-top: 6px; }

/* TODO: chips de categoría por encima de la grade — entran cuando pasen
   de 12 productos publicados (pedido explícito del dueño, no antes). */

.chollos-card-guia {
    justify-content: center;
    min-height: 72px;
    text-align: center;
    background: var(--chollos-crema);
}
.chollos-card-guia .chollos-card-titulo { font-weight: 700; color: var(--chollos-tinta); }

/* Footer legal (único footer del sitio) */
.chollos-footer {
    background: var(--chollos-tinta);
    color: #b9c3cd;
    padding: 32px 16px 24px;
    text-align: center;
    font-size: 13px;
    margin-top: 48px;
}
.chollos-footer-legal a { color: #fff; margin: 0 8px; text-decoration: none; }
.chollos-footer-legal a:hover { text-decoration: underline; color: var(--chollos-naranja); }
.chollos-footer-afiliado { max-width: 640px; margin: 16px auto; opacity: .8; line-height: 1.6; }

/* Los 3 selos de confianza (20/09/2026: bajaron del hero al footer) */
.chollos-footer-badges {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.chollos-footer-badge {
    color: #8b96a1;
    font-size: 12px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    padding: 4px 10px;
    border-radius: 999px;
}
.chollos-footer-copy { opacity: .6; margin-top: 8px; }

/* Formulario de contacto */
.chollos-contacto-form { max-width: 480px; }
.chollos-contacto-form label { font-weight: 600; color: var(--chollos-tinta); }
.chollos-contacto-form input, .chollos-contacto-form textarea {
    width: 100%;
    padding: 12px 14px;
    font-size: 16px;
    margin-top: 4px;
    border: 2px solid var(--chollos-borde);
    border-radius: 8px;
}
.chollos-contacto-form input:focus, .chollos-contacto-form textarea:focus { outline: none; border-color: var(--chollos-naranja); }
.chollos-contacto-form button {
    background: var(--chollos-naranja) !important;
    border: none !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
}
.chollos-contacto-ok { color: #2b7a2b; font-weight: 600; }
.chollos-contacto-error { color: var(--chollos-rojo); font-weight: 600; }

/* ===========================================================================
   HOME estilo "link in bio" (Linktree/Beacons) — 21/09/2026.
   Todo escopado a body.page-id-14: las demás páginas (producto, legales)
   siguen con el tema claro ya aprobado, sin tocar nada de eso aquí.
   =========================================================================== */
body.page-id-14 {
    background:
        radial-gradient(ellipse 640px 340px at 50% 0%, rgba(232,87,15,.30), transparent 70%),
        #0f1115;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color: #e7e7ea;
}
/* Un solo sistema de ancho para TODO (cabecera y contenido): sin esto, el
   `.container` del header y el del main del Neve pueden traer paddings
   nativos distintos y desalinear el borde izquierdo entre bloques. */
body.page-id-14 .container {
    max-width: 420px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Cabecera transparente, sin la línea naranja del resto del sitio */
body.page-id-14 .header,
body.page-id-14 .hfg_header,
body.page-id-14 .header-main,
body.page-id-14 .header--row-inner,
body.page-id-14 .header-main-inner {
    background: transparent !important;
    border-bottom: none !important;
    /* El Neve pinta el fondo leyendo estas variables en cascada — sin
       sobrescribirlas, el `background: transparent` de arriba no gana. */
    --bgcolor: transparent;
    --rowbcolor: transparent;
}
/* Estilo "link in bio" es mobile-first de verdad: se usa SIEMPRE la fila
   con hamburguesa (la que el Neve reserva para mobile), sin menú horizontal,
   independientemente del ancho de pantalla. */
body.page-id-14 .header-main[data-show-on="desktop"] { display: none !important; }
body.page-id-14 .header-main[data-show-on="mobile"] { display: block !important; }
/* El avatar/nombre/subtítulo tienen que centrarse en el MISMO eje que el
   resto de la página (el container de 420px), no en el hueco que deja el
   hamburguesa al lado — por eso el slot izquierdo pasa a ocupar el 100%
   y el hamburguesa sale del flujo (absolute), sin empujar el centro. */
body.page-id-14 .header-main[data-show-on="mobile"] .row--wrapper {
    position: relative;
    display: block;
}
body.page-id-14 .header-main[data-show-on="mobile"] .hfg-slot.left {
    width: 100%;
}
/* El slot es flex, pero su hijo directo (.builder-item) no crece solo
   dentro de él — sin esto se queda del ancho de su contenido y el
   align-items:center del .brand termina centrando dentro de una caja
   angosta, no en los 388px reales del slot. */
body.page-id-14 .header-main[data-show-on="mobile"] .hfg-slot.left > .builder-item {
    width: 100%;
}
body.page-id-14 .header-main[data-show-on="mobile"] .hfg-slot.right {
    position: absolute;
    top: 0;
    right: 0;
}

/* Avatar redondo "K" + nombre + subtítulo, centrados */
body.page-id-14 .site-logo .brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 32px; /* respiro antes del avatar — antes lo tapaba el degradado */
    width: 100%; /* sin esto el link se encoge al ancho de su texto y el
                    align-items:center centra dentro de un caja angosta
                    pegada a la izquierda, no en el eje real de la página */
    box-sizing: border-box;
}
body.page-id-14 .site-logo { width: 100%; display: block; }
body.page-id-14 .site-logo .brand::before {
    /* Logo real (elegida 21/09/2026: "Etiqueta con K") en vez del placeholder
       de texto — mismo círculo, ahora con la imagen de fondo. */
    content: "";
    display: block;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: #0f1115 url('assets/img/avatar-512.png') center/cover no-repeat;
    margin-bottom: 12px; /* -> nombre a 12px del avatar */
    box-shadow: 0 6px 18px rgba(232,87,15,.35);
}
body.page-id-14 .site-logo .site-title {
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}
body.page-id-14 .site-logo small {
    color: #9a9aa5 !important;
    font-size: 14px !important;
    margin-top: 4px !important; /* subtítulo a 4px del nombre */
    display: block;
}

/* Hamburguesa discreta: sin fondo, líneas claras finas */
body.page-id-14 .navbar-toggle {
    background: transparent !important;
    border: none !important;
    position: absolute;
    top: 28px;
    right: 0;
}
body.page-id-14 .navbar-toggle .icon-bar {
    background: #9a9aa5 !important;
    height: 2px !important;
}
body.page-id-14 .header-main[data-show-on="mobile"] .row--wrapper { position: relative; }

/* Título de sección discreto (no compite con el hero de arriba) */
body.page-id-14 .chollos-seccion-titulo {
    color: #e7e7ea;
    font-size: 16px;
    font-weight: 700;
    margin: 28px 0 12px; /* 28px desde el botón WhatsApp */
    text-transform: uppercase;
    letter-spacing: .04em;
    opacity: .7;
}

/* Búsqueda en píldora, con lupa y botón embebidos */
body.page-id-14 .chollos-busca-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #1a1d24;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    height: 52px;
    padding: 0 6px 0 18px; /* 6px a la derecha = margen del botón de 40px */
    margin: 28px 0 0; /* 28px desde el subtítulo */
    box-shadow: none;
}
body.page-id-14 .chollos-busca-icono { color: #6b6f7a; flex-shrink: 0; }
body.page-id-14 .chollos-busca-pill input[type=number] {
    flex: 1;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 16px;
    padding: 0;
    width: auto;
}
body.page-id-14 .chollos-busca-pill input[type=number]::placeholder { color: #6b6f7a; }
body.page-id-14 .chollos-busca-pill input[type=number]:focus { outline: none; }
body.page-id-14 .chollos-busca-btn {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--chollos-naranja);
    color: #fff;
    border: none;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
body.page-id-14 .chollos-busca-btn:hover { background: var(--chollos-naranja-oscuro); }

body.page-id-14 .chollos-aviso {
    background: rgba(255,152,0,.12);
    border: 1px solid rgba(255,152,0,.3);
    color: #ffb84d;
}

/* Botón WhatsApp: es el destaque de la página — píldora, ancho completo, 56px,
   con pulso continuo suave (respeta prefers-reduced-motion). */
@keyframes chollos-pulso-whatsapp {
    0%   { box-shadow: 0 0 0 0 rgba(37,211,102,.6); }
    100% { box-shadow: 0 0 0 14px rgba(37,211,102,0); }
}
body.page-id-14 .chollos-btn-canal-full {
    min-height: 56px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 700;
    margin-top: 12px; /* 12px desde la búsqueda */
    animation: chollos-pulso-whatsapp 2s ease-out infinite;
}
@media (prefers-reduced-motion: reduce) {
    body.page-id-14 .chollos-btn-canal-full { animation: none; }
}

/* Cards en columna única, fondo oscuro, foto 4:3 */
body.page-id-14 .chollos-grid-linktree {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}
body.page-id-14 .chollos-card-simple {
    background: #1a1d24;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 20px;
    transition: transform .15s ease;
}
body.page-id-14 .chollos-card-simple:hover,
body.page-id-14 .chollos-card-simple:active {
    transform: scale(1.015);
    box-shadow: 0 10px 28px rgba(0,0,0,.35);
}
body.page-id-14 .chollos-card-simple img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 20px 20px 0 0; /* mismo radio que el card, solo arriba */
}
body.page-id-14 .chollos-card-numero-grande {
    background: var(--chollos-naranja);
    border-radius: 999px;
    font-size: 14px;
    top: 12px;
    left: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.35);
}
/* Cuerpo del card: mismo padding lateral (14px) en título, selo y precio */
body.page-id-14 .chollos-card-titulo-corta {
    color: #e7e7ea;
    font-size: 15px;
    font-weight: 600;
    padding: 14px 14px 0;
}
body.page-id-14 .chollos-selo-envio-card {
    margin: 8px 14px 0;
    background: rgba(43,122,43,.18);
    color: #6fcf6f;
    border-color: rgba(111,207,111,.3);
    font-size: 11px;
    padding: 3px 10px;
}
body.page-id-14 .chollos-card-precio {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 8px 14px 14px;
}
body.page-id-14 .chollos-card-precio del { color: #6b6f7a; }
body.page-id-14 .chollos-card-precio ins { color: var(--chollos-naranja); }

body.page-id-14 .chollos-grid-guias { display: grid; grid-template-columns: 1fr 1fr; }
body.page-id-14 .chollos-card-guia {
    background: #1a1d24;
    border: 1px solid rgba(255,255,255,.06);
}
body.page-id-14 .chollos-card-guia .chollos-card-titulo { color: #e7e7ea; }

body.page-id-14 .chollos-linea-marca { color: #6b6f7a; }
body.page-id-14 .chollos-linea-marca strong { color: #cfd2d8; }

/* El footer sigue oscuro (ya lo era) — 40px de aire arriba, texto 12px */
body.page-id-14 .chollos-footer {
    margin-top: 40px;
    background: transparent;
    font-size: 12px;
    color: #8b96a1;
}
