/* ========================================
   WPTemplateKit - Main Stylesheet (v3)
   Header de 3 barras + Responsive fino + Performance
   ======================================== */

/* ========================================
   1. VARIABLES CSS (para fácil personalización)
   ======================================== */
:root{
    --color-primary:#1b54c1;
    --color-primary-dark:#0d3a8a;
    --color-primary-light:#3b82f6;
    --color-accent:#fbbf24;
    --color-bg:#ffffff;
    --color-bg-alt:#f8fafc;
    --color-menubar:#f5f5f5;
    --color-text:#1a1a2e;
    --color-text-secondary:#475569;
    --color-text-muted:#64748b;
    --color-border:#e2e8f0;
    --color-border-light:#f1f5f9;
    --color-success:#22c55e;
    --color-warning:#f59e0b;
    --color-danger:#ef4444;
    --radius-sm:6px;
    --radius-md:10px;
    --radius-lg:12px;
    --radius-xl:16px;
    --shadow-sm:0 1px 3px rgba(0,0,0,.05);
    --shadow-md:0 4px 12px rgba(0,0,0,.08);
    --shadow-lg:0 12px 40px rgba(0,0,0,.1);
    --transition-fast:.15s ease;
    --transition-base:.25s ease;
    --transition-slow:.4s ease;
}

/* ========================================
   2. HEADER & NAVIGATION (Responsive fino)
   ======================================== */

/* Subrayado animado en menú */
.site-nav a::after{content:"";position:absolute;left:1.05rem;right:1.05rem;bottom:0;height:2px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-nav a:hover::after,.site-nav .current-menu-item>a::after,.site-nav .current_page_item>a::after{transform:scaleX(1)}

/* Ajuste con la admin bar de WordPress */
.admin-bar .header-sticky{top:32px}
@media(max-width:782px){
    .admin-bar .header-sticky{top:46px}
}

/* Toggle menú móvil */
.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;position:relative;z-index:101}
.mobile-menu-toggle span{display:block;width:24px;height:2px;background:var(--color-text);margin:5px 0;transition:var(--transition-base);border-radius:1px}
.mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.mobile-menu-toggle.active span:nth-child(2){opacity:0}
.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Overlay para móvil */
.mobile-nav-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(4px);z-index:99;opacity:0;transition:opacity .3s}
.mobile-nav-overlay.active{display:block;opacity:1}

/* Tablets */
@media(max-width:1024px){
    .header-main-inner{gap:1.25rem}
    .header-search{max-width:440px}
    .membership-btn{padding:.6rem 1.1rem;font-size:.82rem}
    .site-nav a{padding:0 .8rem;font-size:.86rem}
    .site-nav a::after{left:.8rem;right:.8rem}
}

/* Móvil */
@media(max-width:768px){
    /* Top bar: texto de los enlaces oculto, solo iconos */
    .topbar-link-text{display:none}
    .topbar-links{gap:1.4rem}
    .topbar-link svg{width:17px;height:17px}
    .topbar-tagline{font-size:.75rem}

    /* Header principal: logo + membership arriba, buscador a ancho completo */
    .header-main-inner{flex-wrap:wrap;gap:.85rem;padding:.85rem 1.5rem;min-height:0}
    .site-logo img{height:34px}
    .header-search{order:3;flex-basis:100%;max-width:100%;margin:0}
    .header-search input[type="search"]{height:42px;padding-right:1rem}
    .search-submit{display:none}
    .membership-btn{margin-left:auto;padding:.55rem 1rem;font-size:.8rem}

    /* Barra de menú: botón hamburguesa + panel lateral */
    .menubar-inner{min-height:52px}
    .mobile-menu-toggle{display:block}
    .site-nav{display:none;position:fixed;top:0;right:0;bottom:0;width:280px;max-width:85vw;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:4.5rem 0 1.5rem;box-shadow:-4px 0 20px rgba(0,0,0,.1);z-index:100;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto}
    .site-nav.active{display:flex;transform:translateX(0)}
    .site-nav ul.menu-list{flex-direction:column;align-items:stretch;width:100%;flex-wrap:nowrap}
    .site-nav ul.menu-list li{width:100%}
    .site-nav a{width:100%;min-height:0;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border-light);font-size:1rem}
    .site-nav a::after{display:none}

    /* Hero */
    .hero{padding:3.5rem 0 3rem}
    .hero h1{font-size:2rem;letter-spacing:-.01em}
    .hero-desc{font-size:1.1rem}
    .hero-stats{gap:1.5rem;flex-wrap:wrap}
    .stat-number{font-size:1.75rem}
    .hero-cta{flex-direction:column;align-items:center}
    .btn{width:100%;max-width:280px;justify-content:center}
    .product-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
}

@media(max-width:480px){
    .product-grid{grid-template-columns:1fr}
    .hero h1{font-size:1.75rem}
    .hero-stats{gap:1rem}
    .stat-item{flex:1;min-width:100px}
    .stat-number{font-size:1.5rem}
    .section-header{flex-direction:column;align-items:flex-start;gap:.5rem}
    .membership-btn{font-size:.72rem;padding:.5rem .8rem}
    .membership-btn svg{width:14px;height:14px}
}

/* ========================================
   3. BREADCRUMBS
   ======================================== */

.breadcrumbs{padding:.85rem 0;font-size:.85rem;color:var(--color-text-muted);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}
.breadcrumbs ol{display:flex;align-items:center;gap:.5rem;list-style:none;flex-wrap:wrap;margin:0;padding:0}
.bc-sep{color:#cbd5e1;font-weight:300}
.breadcrumbs a{color:var(--color-text-muted);transition:var(--transition-fast)}
.breadcrumbs a:hover{color:var(--color-primary)}

/* ========================================
   4. SINGLE PRODUCT PAGE (Responsive fino)
   ======================================== */

.product-single{padding:3rem 0}
.product-single-inner{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start}

@media(max-width:1024px){
    .product-single-inner{grid-template-columns:1fr;gap:2rem}
    .product-sidebar{position:static;max-width:480px;margin:0 auto;width:100%}
    .purchase-box{position:static}
}

@media(max-width:768px){
    .product-single{padding:2rem 0}
    .product-header h1{font-size:1.75rem}
    .download-stats{grid-template-columns:repeat(3,1fr);gap:.75rem}
    .stat-card{padding:1rem}
    .stat-card-icon{width:32px;height:32px}
    .stat-card-number{font-size:1.25rem}
    .security-badges{flex-direction:column}
    .security-badge{width:100%;justify-content:center}
    .faq-question{padding:1rem;font-size:.95rem}
    .faq-question svg{width:18px;height:18px}
}

@media(max-width:480px){
    .download-stats{grid-template-columns:1fr}
    .product-gallery{border-radius:var(--radius-md)}
    .purchase-box{border-radius:var(--radius-md);padding:1.25rem}
    .price-amount{font-size:2rem}
    .purchase-features li{padding:.5rem 0;font-size:.85rem}
    .purchase-features svg{width:16px;height:16px}
}

/* Product Header */
.product-header{margin-bottom:2rem}
.product-header h1{font-size:2.25rem;font-weight:800;color:var(--color-text);margin-bottom:1rem;line-height:1.2;letter-spacing:-.02em}
.product-version{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-bg-alt);color:var(--color-text-secondary);padding:.35rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;margin-bottom:1rem}
.product-version::before{content:"";display:inline-block;width:8px;height:8px;background:var(--color-success);border-radius:50%;animation:pulse 2s infinite}

@keyframes pulse{
    0%,100%{opacity:1;transform:scale(1)}
    50%{opacity:.7;transform:scale(.9)}
}

/* Product Gallery */
.product-gallery{border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg-alt);border:1px solid var(--color-border);margin-bottom:2rem;position:relative}
.product-gallery::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(0,0,0,.02));pointer-events:none}
.product-gallery img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}

/* Product Description */
.product-description{font-size:1.05rem;color:var(--color-text-secondary);line-height:1.8}
.product-description h2,.product-description h3{font-weight:700;color:var(--color-text);margin:2.5rem 0 1rem}
.product-description h2{font-size:1.5rem;letter-spacing:-.01em}
.product-description h3{font-size:1.25rem}
.product-description ul{margin-left:1.5rem;list-style:disc;margin-bottom:1.5rem}
.product-description ul li{margin-bottom:.75rem;padding-left:.25rem}
.product-description ul li::marker{color:var(--color-primary)}
.product-description strong{color:var(--color-text)}
.product-description a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.product-description a:hover{color:var(--color-primary-dark)}
.product-description code{background:var(--color-bg-alt);padding:.2rem .4rem;border-radius:4px;font-size:.9em;color:var(--color-primary-dark);border:1px solid var(--color-border-light)}

/* Sidebar - Purchase Box */
.purchase-box{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-sm);transition:var(--transition-base)}
/* Sticky solo cuando es el último bloque del sidebar (p. ej. miembros).
   Si hay bloque de membresía debajo, se desactiva para evitar solapamientos. */
.product-sidebar .purchase-box{position:sticky;top:140px;z-index:25}
.purchase-box:hover{box-shadow:var(--shadow-md)}
.purchase-price{text-align:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border-light)}
.price-amount{font-size:2.5rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em}
.price-amount .currency{font-size:1.5rem;vertical-align:super;font-weight:600}
.price-period{font-size:.875rem;color:var(--color-text-muted);margin-top:.25rem}

.purchase-features{margin-bottom:1.5rem;padding-left:0}
.purchase-features li{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem 0;font-size:.9rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light);list-style:none}
.purchase-features li:last-child{border-bottom:none}
.purchase-features svg{flex-shrink:0;width:18px;height:18px;color:var(--color-success);margin-top:2px}

.purchase-cta{display:flex;flex-direction:column;gap:.75rem}
.purchase-cta .btn{width:100%;justify-content:center;padding:1.1rem;font-size:1.05rem}
.purchase-cta .btn-secondary{background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border)}
.purchase-cta .btn-secondary:hover{background:var(--color-border);transform:none}

.purchase-guarantee{text-align:center;font-size:.8rem;color:var(--color-text-muted);margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}

/* Security Section */
.security-section{background:var(--color-bg-alt);border-radius:var(--radius-lg);padding:1.5rem;margin:2rem 0;border:1px solid var(--color-border);position:relative;overflow:hidden}
.security-section::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-success),#4ade80)}
.security-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.security-header svg{width:24px;height:24px;color:var(--color-success)}
.security-header h3{font-size:1.1rem;font-weight:700;color:var(--color-text)}
.security-hash{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;font-family:"SF Mono",Monaco,"Cascadia Code",monospace;font-size:.8rem;color:var(--color-text-secondary);word-break:break-all;margin-bottom:1rem;position:relative}
.security-hash code{display:block;margin-bottom:.75rem;line-height:1.6}
.hash-copy-btn{background:var(--color-primary);color:#fff;border:none;padding:.4rem 1rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:var(--transition-fast);font-weight:500}
.hash-copy-btn:hover{background:var(--color-primary-dark)}
.hash-copy-btn:active{transform:scale(.95)}
.security-hash-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;display:block;font-weight:600}
.security-badges{display:flex;gap:1rem;flex-wrap:wrap}
.security-badge{display:flex;align-items:center;gap:.5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.6rem 1rem;font-size:.8rem;color:var(--color-text-secondary);font-weight:500;transition:var(--transition-fast)}
.security-badge:hover{border-color:var(--color-primary);color:var(--color-primary)}
.security-badge svg{width:16px;height:16px;color:var(--color-success)}

/* Download Stats */
.download-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
.stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;transition:var(--transition-base)}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--color-primary-light)}
.stat-card-icon{width:44px;height:44px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:var(--color-primary);transition:var(--transition-base)}
.stat-card:hover .stat-card-icon{transform:scale(1.1)}
.stat-card-number{font-size:1.5rem;font-weight:800;color:var(--color-text);letter-spacing:-.01em}
.stat-card-label{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem;font-weight:500}

/* FAQ Section */
.faq-section{margin:3rem 0}
.faq-section h2{font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:1.5rem;letter-spacing:-.01em}
.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:.75rem;overflow:hidden;background:var(--color-bg);transition:var(--transition-base)}
.faq-item:hover{border-color:var(--color-border-light)}
.faq-item.active{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:600;color:var(--color-text);text-align:left;transition:var(--transition-fast)}
.faq-question:hover{color:var(--color-primary)}
.faq-question svg{transition:transform .3s ease;flex-shrink:0;color:var(--color-text-muted)}
.faq-item.active .faq-question svg{transform:rotate(180deg);color:var(--color-primary)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;padding:0 1.25rem}
.faq-item.active .faq-answer{max-height:500px;padding-bottom:1.25rem}
.faq-answer p{color:var(--color-text-secondary);line-height:1.7;font-size:.95rem}

/* Related Products */
.related-section{margin:3rem 0}
.related-section h2{font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:1.5rem;letter-spacing:-.01em}

/* ========================================
   4b. TRUST BANNERS (página de producto)
   ======================================== */

/* --- 1. What's included / NOT included --- */
.includes-banner{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2.5rem 0}
.includes-col{border-radius:var(--radius-xl);padding:1.75rem;border:1px solid transparent}
.includes-yes{background:#f0fdf4;border-color:#bbf7d0}
.includes-no{background:#fef2f2;border-color:#fecaca}
.includes-col h3{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;color:var(--color-text);margin-bottom:1.1rem;letter-spacing:-.01em}
.includes-col h3 svg{width:24px;height:24px;flex-shrink:0}
.includes-yes h3 svg{color:#16a34a}
.includes-no h3 svg{color:#dc2626}
.includes-col ul{list-style:none;margin:0;padding:0}
.includes-col li{display:flex;align-items:flex-start;gap:.7rem;padding:.45rem 0;font-size:.93rem;color:#334155;line-height:1.5}
.includes-col li svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.includes-yes li svg{color:#16a34a}
.includes-no li svg{color:#dc2626}

@media(max-width:768px){
    .includes-banner{grid-template-columns:1fr;gap:1rem;margin:2rem 0}
    .includes-col{padding:1.25rem}
    .includes-col h3{font-size:1.05rem}
}

/* --- 2. Why download from us --- */
.why-banner{
    background:linear-gradient(135deg,#eff6ff 0%,#f5f8ff 100%);
    border:1px solid #dbeafe;border-radius:var(--radius-xl);
    padding:2.5rem 2rem;margin:0 0 2.5rem;text-align:center
}
.why-banner>h3{font-size:1.5rem;font-weight:800;color:var(--color-text);margin-bottom:2rem;letter-spacing:-.01em;line-height:1.3}
.why-banner>h3 span{color:var(--color-primary)}
.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}
.why-item svg{width:40px;height:40px;color:var(--color-primary);margin:0 auto .75rem}
.why-item .item-title{font-size:.95rem;font-weight:700;color:var(--color-text);margin:0 0 .35rem}
.why-item p{font-size:.82rem;color:var(--color-text-secondary);line-height:1.5;margin:0}

@media(max-width:1024px){
    .why-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
    .why-banner{padding:1.75rem 1.25rem;margin-bottom:2rem}
    .why-banner>h3{font-size:1.2rem;margin-bottom:1.5rem}
    .why-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}
    .why-item svg{width:32px;height:32px}
}

/* --- 3. +100,000 downloads --- */
.downloads-banner{
    background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 100%);
    border-radius:var(--radius-xl);padding:2rem 2.5rem;
    display:flex;align-items:center;justify-content:center;gap:1.25rem;
    color:#fff;margin:0 0 2.5rem
}
.downloads-banner>svg{width:44px;height:44px;color:var(--color-accent);flex-shrink:0}
.downloads-banner h3{font-size:1.35rem;font-weight:800;margin:0 0 .15rem;letter-spacing:-.01em}
.downloads-banner p{color:#94a3b8;font-size:.95rem;margin:0}

@media(max-width:640px){
    .downloads-banner{flex-direction:column;text-align:center;padding:1.75rem 1.25rem;gap:.85rem;margin-bottom:2rem}
    .downloads-banner h3{font-size:1.15rem}
    .downloads-banner>svg{width:36px;height:36px}
}

/* ========================================
   5. ARCHIVE / CATALOG PAGE
   ======================================== */

.archive-header{background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 100%);color:#fff;padding:4rem 0 3rem;text-align:center;position:relative;overflow:hidden}
.archive-header::before{content:"";position:absolute;top:-30%;right:-5%;width:400px;height:400px;background:rgba(255,255,255,.03);border-radius:50%}
.archive-header h1{font-size:2.5rem;font-weight:800;margin-bottom:1rem;position:relative;letter-spacing:-.02em}
.archive-header p{color:#94a3b8;font-size:1.1rem;max-width:600px;margin:0 auto;position:relative}

@media(max-width:768px){
    .archive-header{padding:3rem 0 2rem}
    .archive-header h1{font-size:1.75rem}
    .archive-filters{padding:1rem 0}
    .filter-inner{flex-direction:column;align-items:stretch}
    .filter-search{width:100%}
}

/* Filters */
.archive-filters{padding:1.5rem 0;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}
.filter-inner{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.filter-search{flex:1;min-width:250px;position:relative}
.filter-search input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;background:var(--color-bg);transition:var(--transition-fast);color:var(--color-text)}
.filter-search input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(27,84,193,.1)}
.filter-search svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);width:18px;height:18px;pointer-events:none}
.filter-select{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}
.filter-select:focus{border-color:var(--color-primary);outline:none}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:.5rem;margin:3rem 0}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;transition:var(--transition-fast)}
.pagination a{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}
.pagination a:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.pagination .current{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}
.pagination .dots{color:var(--color-text-muted);border:1px solid transparent}

/* ========================================
   5b. SUBCATEGORY FILTER BAR (pills)
   Mínimo espacio, responsive, scroll horizontal
   ======================================== */

.subcat-filter-wrap{
    display:flex;align-items:center;gap:.5rem;
    padding-bottom:.75rem;margin-bottom:1.5rem;
    border-bottom:1px solid var(--color-border-light)
}
.subcat-filter{
    flex:1;min-width:0;
    display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    padding:.25rem 0;
    scrollbar-width:none /* Firefox */
}
.subcat-filter::-webkit-scrollbar{display:none}

/* Flechas de scroll (solo visibles en escritorio cuando hay overflow) */
.subcat-arrow{
    display:none;flex-shrink:0;width:34px;height:34px;
    align-items:center;justify-content:center;
    border:1px solid var(--color-border);border-radius:50%;
    background:var(--color-bg);color:var(--color-text-secondary);
    cursor:pointer;transition:var(--transition-fast)
}
.subcat-arrow svg{width:16px;height:16px}
.subcat-arrow:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm)}
.subcat-arrow:disabled{opacity:.3;cursor:default;pointer-events:none}
.subcat-filter-wrap.has-overflow .subcat-arrow{display:inline-flex}
@media(max-width:768px){
    .subcat-arrow{display:none!important} /* en táctil el scroll es natural */
}

.subcat-pill{
    flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;
    padding:.45rem 1rem;border:1px solid var(--color-border);border-radius:999px;
    background:var(--color-bg);font-size:.84rem;font-weight:500;
    color:var(--color-text-secondary);white-space:nowrap;
    transition:var(--transition-fast)
}
.subcat-pill:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}
.subcat-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}

.subcat-count{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:20px;height:18px;padding:0 5px;border-radius:9px;
    background:var(--color-border-light);color:var(--color-text-muted);
    font-size:.68rem;font-weight:700;line-height:1
}
.subcat-pill.active .subcat-count{background:rgba(255,255,255,.22);color:#fff}
.subcat-pill:hover .subcat-count{background:#eff6ff;color:var(--color-primary)}

@media(max-width:768px){
    .subcat-filter-wrap{margin-bottom:1.25rem}
    .subcat-filter{gap:.4rem;padding:.15rem 0}
    .subcat-pill{padding:.4rem .85rem;font-size:.8rem}
}

/* ========================================
   6. SEARCH PAGE
   ======================================== */

.search-header{padding:3rem 0;text-align:center;background:var(--color-bg-alt)}
.search-header h1{font-size:2rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem;letter-spacing:-.01em}
.search-header .search-count{color:var(--color-text-muted);font-size:1rem}

/* ========================================
   7. 404 PAGE
   ======================================== */

.error-404{padding:5rem 0;text-align:center}
.error-404 h1{font-size:6rem;font-weight:800;color:var(--color-border);line-height:1;letter-spacing:-.05em}
.error-404 h2{font-size:1.5rem;color:var(--color-text);margin:1rem 0}
.error-404 p{color:var(--color-text-muted);margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}
.error-404 .btn{margin:0 auto}

/* ========================================
   8. EDD CHECKOUT / CART (Estilos mejorados)
   ======================================== */

.edd-checkout{padding:3rem 0}
.edd-checkout h2{font-size:1.75rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-text);letter-spacing:-.01em}
#edd_checkout_form_wrap{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-sm)}
#edd_checkout_form_wrap input,#edd_checkout_form_wrap select,#edd_checkout_form_wrap textarea{
    width:100%;padding:.875rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;margin-bottom:1rem;background:var(--color-bg);color:var(--color-text);transition:var(--transition-fast)
}
#edd_checkout_form_wrap input:focus,#edd_checkout_form_wrap select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(27,84,193,.1)}
#edd_checkout_form_wrap label{font-weight:500;color:var(--color-text);font-size:.9rem;margin-bottom:.25rem;display:block}
#edd_purchase_submit .edd-submit{background:var(--color-primary)!important;color:#fff!important;border:none!important;padding:1rem 2rem!important;border-radius:var(--radius-md)!important;font-weight:600!important;font-size:1rem!important;cursor:pointer!important;width:100%;transition:var(--transition-base)!important}
#edd_purchase_submit .edd-submit:hover{background:var(--color-primary-dark)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)!important}
#edd_checkout_cart{background:var(--color-bg-alt);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}
#edd_checkout_cart th,#edd_checkout_cart td{padding:.75rem;text-align:left}
#edd_checkout_cart th{font-weight:600;color:var(--color-text);border-bottom:2px solid var(--color-border)}

/* ========================================
   8b. BOTONES UNIFICADOS (EDD + tema)
   Todos los botones del sitio siguen la
   misma línea de diseño (.btn-primary)
   ======================================== */

/* Botón principal EDD: Purchase / Add to Cart / Buy Now */
a.edd-add-to-cart,
.edd-add-to-cart.button,
.edd_purchase_submit_wrapper .edd-submit,
.edd_purchase_submit_wrapper input[type="submit"],
input[type="submit"].edd-submit,
button.edd-submit,
.edd-submit.button{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    background:var(--color-primary)!important;color:#fff!important;border:none!important;
    padding:1rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;line-height:1.2;
    cursor:pointer;transition:all .2s ease;text-decoration:none;
    box-shadow:0 4px 14px rgba(27,84,193,.35)
}
a.edd-add-to-cart:hover,
.edd-add-to-cart.button:hover,
.edd_purchase_submit_wrapper .edd-submit:hover,
.edd_purchase_submit_wrapper input[type="submit"]:hover,
input[type="submit"].edd-submit:hover,
button.edd-submit:hover,
.edd-submit.button:hover{
    background-color:var(--color-primary-dark)!important;color:#fff!important;
    transform:translateY(-2px);box-shadow:0 6px 20px rgba(27,84,193,.4)
}
a.edd-add-to-cart:active,
.edd-submit.button:active{transform:translateY(0)}

/* Icono de descarga en botones <a>/<button> (máscara que hereda el color del texto) */
a.edd-add-to-cart::before,
button.edd-add-to-cart::before,
.edd_purchase_submit_wrapper .edd-submit::before{
    content:"";width:18px;height:18px;flex-shrink:0;background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3'/%3E%3C/svg%3E") no-repeat center/contain;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3'/%3E%3C/svg%3E") no-repeat center/contain
}

/* Icono en <input type="submit"> (no admite ::before, usamos background) */
input[type="submit"].edd-add-to-cart,
.edd_purchase_submit_wrapper input[type="submit"].edd-submit{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;
    background-position:1.25rem center!important;
    background-size:18px 18px!important;
    padding-left:3rem!important
}

/* Botón secundario EDD: Go to Checkout (aparece tras añadir al carrito) */
a.edd_go_to_checkout,
.edd_go_to_checkout.button{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    background:var(--color-bg-alt)!important;color:var(--color-text)!important;
    border:1px solid var(--color-border)!important;box-shadow:none!important;
    padding:1rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;line-height:1.2;
    cursor:pointer;transition:all .2s ease;text-decoration:none
}
a.edd_go_to_checkout:hover,
.edd_go_to_checkout.button:hover{
    background:var(--color-border)!important;color:var(--color-text)!important;
    transform:translateY(-2px)
}

/* Contenedor del formulario de compra que EDD añade tras el contenido */
.product-description .edd_download_purchase_form,
.page-body .edd_download_purchase_form{
    margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border-light)
}

/* Alerta "añadido al carrito" de EDD */
.edd-cart-added-alert{
    display:block;margin-top:.75rem;color:var(--color-success);font-size:.9rem;font-weight:500
}

/* Stripe Elements override */
.StripeElement{background:var(--color-bg)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;padding:.875rem 1rem!important}
.StripeElement--focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px rgba(27,84,193,.1)!important}

/* ========================================
   9. ANIMATIONS
   ======================================== */

@keyframes fadeInUp{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn{
    from{opacity:0}
    to{opacity:1}
}
@keyframes slideInRight{
    from{opacity:0;transform:translateX(20px)}
    to{opacity:1;transform:translateX(0)}
}
.animate-fade-in{animation:fadeInUp .6s ease forwards}
.animate-fade{animation:fadeIn .4s ease forwards}
.animate-slide{animation:slideInRight .5s ease forwards}

/* Stagger para grid */
.product-grid .product-card:nth-child(1){animation-delay:.05s}
.product-grid .product-card:nth-child(2){animation-delay:.1s}
.product-grid .product-card:nth-child(3){animation-delay:.15s}
.product-grid .product-card:nth-child(4){animation-delay:.2s}
.product-grid .product-card:nth-child(5){animation-delay:.25s}
.product-grid .product-card:nth-child(6){animation-delay:.3s}

/* ========================================
   10. ACCESSIBILITY
   ======================================== */

:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Skip link */
a.sr-only:focus{position:static;width:auto;height:auto;padding:1rem;background:var(--color-primary);color:#fff;z-index:9999;clip:auto;white-space:normal}

/* ========================================
   11. PRINT STYLES
   ======================================== */

@media print{
    .site-header,.purchase-box,.hero-cta,.security-section,.faq-section,.related-section,.includes-banner,.why-banner,.downloads-banner,.mobile-menu-toggle,.mobile-nav-overlay{display:none!important}
    .product-single-inner{grid-template-columns:1fr!important}
    body{color:#000;background:#fff}
    a{color:#000!important;text-decoration:underline!important}
    .product-gallery{break-inside:avoid}
}

/* ========================================
   13. CLUB WP / MEMBERSHIP PAGE
   ======================================== */

.club-page{background:var(--color-bg)}

/* --- Cabecera --- */
.club-hero{padding:4rem 0 3.5rem;text-align:center}
.club-hero h1{font-size:2.5rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin-bottom:.25rem}
.club-hero .club-subtitle{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:1.25rem;letter-spacing:-.01em}
.club-hero .club-desc{max-width:720px;margin:0 auto 3rem;color:var(--color-text-secondary);font-size:1.05rem;line-height:1.7}
.club-hero .club-desc strong{color:var(--color-text)}

/* --- Grid de planes --- */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1080px;margin:0 auto;text-align:left}
.pricing-card{
    position:relative;background:var(--color-bg);border:2px solid var(--color-border);
    border-radius:var(--radius-xl);padding:2rem 1.75rem;
    display:flex;flex-direction:column;transition:var(--transition-base)
}
.pricing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.pricing-featured{border-color:var(--color-primary);box-shadow:0 8px 30px rgba(27,84,193,.15)}
.pricing-lifetime{border-color:#0f172a}
.pricing-badge{
    position:absolute;top:-14px;left:50%;transform:translateX(-50%);
    background:var(--color-primary);color:#fff;font-size:.72rem;font-weight:700;
    padding:.3rem 1rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;
    white-space:nowrap
}
.pricing-badge-lifetime{background:#0f172a}
.pricing-name{font-size:1.25rem;font-weight:700;color:var(--color-text);text-align:center;margin-bottom:1rem}
.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-bottom:1.75rem;padding-bottom:1.75rem;border-bottom:1px solid var(--color-border-light);flex-wrap:wrap}
.price-value{font-size:3.25rem;font-weight:800;color:var(--color-primary);letter-spacing:-.03em;line-height:1}
.pricing-lifetime .price-value{color:#0f172a}

/* --- Promo ficticia (precios de oferta) --- */
.promo-price{display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:center}
.promo-price-regular{font-size:1rem;font-weight:600;color:var(--color-text-muted);text-decoration:line-through;text-decoration-color:#dc2626;text-decoration-thickness:2px;opacity:.85}
.promo-price-badge{
    display:inline-flex;align-items:center;align-self:center;
    background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;
    font-size:.72rem;font-weight:800;letter-spacing:.02em;
    padding:.35em .75em;border-radius:999px;line-height:1;white-space:nowrap;
    box-shadow:0 2px 6px rgba(217,119,6,.35)
}

/* Contextos: tamaños del precio de oferta */
.pricing-price .promo-price-sale{font-size:3.25rem;font-weight:800;color:var(--color-primary);letter-spacing:-.03em;line-height:1}
.pricing-price .promo-price-regular{font-size:1.4rem}
.pricing-price .promo-price-badge{font-size:.85rem;padding:.4em .85em}
.pricing-lifetime .promo-price-sale{color:#fbbf24}
.pricing-lifetime .promo-price-regular{color:#b45309;opacity:.7}
.home-plan-price .promo-price-sale{font-size:2.1rem;font-weight:800;color:var(--color-primary);letter-spacing:-.02em;line-height:1.15}
.home-plan-price .promo-price-regular{font-size:1.05rem}
.home-plan-price .promo-price-badge{font-size:.72rem}
.pmb-plan-price .promo-price-sale,.wptk-sub-plan-price .promo-price-sale{font-size:1.45rem;font-weight:800;color:var(--color-primary);letter-spacing:-.02em;line-height:1.1}
.pmb-plan-price .promo-price-regular,.wptk-sub-plan-price .promo-price-regular{font-size:.8rem}

/* Píldora de oferta en Club WP */
.club-offer-pill{
    display:flex;align-items:center;justify-content:center;gap:.5rem;
    max-width:520px;margin:0 auto 2rem;
    background:linear-gradient(135deg,#fffbeb,#fef3c7);
    border:1px solid #fcd34d;color:#92400e;
    font-size:.92rem;font-weight:600;
    padding:.7rem 1.4rem;border-radius:999px;
    box-shadow:0 2px 8px rgba(217,119,6,.12)
}
.club-offer-pill svg{color:#d97706;flex-shrink:0}

/* Badge % en el menú */
.menu-promo-badge{
    display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;
    font-size:.62rem;font-weight:800;letter-spacing:.02em;line-height:1;
    padding:.28em .55em;border-radius:999px;margin-left:.35rem;
    vertical-align:2px;white-space:nowrap;
    box-shadow:0 1px 4px rgba(217,119,6,.4)
}
.price-period{font-size:.95rem;font-weight:600;color:var(--color-text-muted)}
.pricing-features{list-style:none;margin:0 0 1.75rem;padding:0;flex:1}
.pricing-features li{display:flex;align-items:flex-start;gap:.65rem;padding:.5rem 0;font-size:.92rem;color:var(--color-text-secondary);line-height:1.45}
.pricing-features li svg{width:18px;height:18px;flex-shrink:0;color:var(--color-primary);margin-top:2px}
.pricing-lifetime .pricing-features li svg{color:#0f172a}
.pricing-btn{width:100%;justify-content:center;padding:1rem;font-size:1rem}
.pricing-lifetime .pricing-btn{background:#0f172a;box-shadow:0 4px 14px rgba(15,23,42,.3)}
.pricing-lifetime .pricing-btn:hover{background:#1e3a5f}

@media(max-width:1024px){
    .pricing-grid{grid-template-columns:1fr;max-width:440px}
    .club-hero h1{font-size:2rem}
    .club-hero .club-subtitle{font-size:1.25rem}
}

/* --- Barra de stats --- */
.club-stats-bar{padding:0 0 3.5rem}
.club-stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;
    background:var(--color-bg-alt);border:1px solid var(--color-border);
    border-radius:var(--radius-xl);padding:2rem 2.5rem
}
.club-stat{display:flex;align-items:center;gap:1rem}
.club-stat>svg{width:42px;height:42px;color:var(--color-primary);flex-shrink:0}
.club-stat .item-title{font-size:1.05rem;font-weight:800;color:var(--color-primary);margin:0 0 .15rem;letter-spacing:-.01em}
.club-stat p{font-size:.82rem;color:var(--color-text-muted);margin:0;line-height:1.4}

@media(max-width:1024px){
    .club-stats{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:1.75rem}
}
@media(max-width:560px){
    .club-stats{grid-template-columns:1fr;gap:1.25rem}
}

/* --- Carrusel de herramientas --- */
.tools-carousel{padding:1rem 0 4rem;text-align:center}
.tools-carousel h2{font-size:1.75rem;font-weight:800;color:var(--color-text);margin-bottom:2rem;letter-spacing:-.02em}
.tools-track-wrap{
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)
}
.tools-track{display:flex;gap:1.5rem;width:max-content;animation:toolsScroll 45s linear infinite}
.tools-carousel:hover .tools-track{animation-play-state:paused}
.tools-track img{
    width:220px;height:150px;object-fit:cover;
    border-radius:var(--radius-lg);border:1px solid var(--color-border);
    box-shadow:var(--shadow-sm);transition:var(--transition-base)
}
.tools-track img:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}

@keyframes toolsScroll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

@media(max-width:768px){
    .tools-carousel h2{font-size:1.35rem}
    .tools-track img{width:170px;height:115px}
    .tools-track{gap:1rem}
}

@media(prefers-reduced-motion:reduce){
    .tools-track{animation:none}
}

/* --- FAQ Club WP --- */
.club-faq{padding:1rem 0 3rem}
.club-section-title{text-align:center;font-size:1.75rem;font-weight:800;color:var(--color-text);margin-bottom:2rem;letter-spacing:-.02em}
.club-faq .faq-section{max-width:820px;margin:0 auto}

@media(max-width:768px){
    .club-section-title{font-size:1.35rem}
}

/* --- Verified section --- */
.verified-section{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:3.5rem 0}
.verified-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;text-align:center;max-width:1000px;margin:0 auto}
.verified-icon{
    width:56px;height:56px;margin:0 auto 1rem;
    background:linear-gradient(135deg,#eff6ff,#dbeafe);
    border-radius:50%;display:flex;align-items:center;justify-content:center
}
.verified-icon svg{width:28px;height:28px;color:var(--color-primary)}
.verified-item .item-title{font-size:1.05rem;font-weight:700;color:var(--color-text);margin:0 0 .5rem}
.verified-item p{font-size:.9rem;color:var(--color-text-secondary);line-height:1.65;margin:0}

@media(max-width:768px){
    .verified-grid{grid-template-columns:1fr;gap:2rem}
    .verified-section{padding:2.5rem 0}
}

/* ========================================
   14. UPDATES PAGE
   ======================================== */

.updates-page{padding:3.5rem 0 4rem}
.updates-header{text-align:center;max-width:820px;margin:0 auto 2.5rem}
.updates-header h1{font-size:2.5rem;font-weight:800;color:var(--color-text);margin-bottom:1rem;letter-spacing:-.02em}
.updates-header p{color:var(--color-text-secondary);font-size:1rem;line-height:1.7;margin:0}

/* Toolbar: buscador + tabs */
.updates-toolbar{
    background:var(--color-bg-alt);border:1px solid var(--color-border);
    border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:2.5rem
}
.updates-toolbar-label{font-size:.9rem;font-weight:600;color:var(--color-text);margin:0 0 .85rem}
.updates-search-form{display:flex;gap:1rem;align-items:center}
.updates-search{flex:1;position:relative}
.updates-search svg{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-muted);pointer-events:none}
.updates-search input{
    width:100%;height:46px;padding:0 1rem 0 2.6rem;
    border:1px solid var(--color-border);border-radius:var(--radius-md);
    font-size:.92rem;background:var(--color-bg);color:var(--color-text);transition:var(--transition-fast)
}
.updates-search input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(27,84,193,.1)}
.updates-tabs{display:flex;gap:.5rem;flex-shrink:0}
.updates-status{font-size:.85rem;color:var(--color-text-muted);margin:.85rem 0 0}

@media(max-width:768px){
    .updates-header h1{font-size:1.9rem}
    .updates-search-form{flex-direction:column;align-items:stretch}
    .updates-tabs{justify-content:center}
}

/* Día */
.updates-day{margin-bottom:2.25rem}
.updates-day-header{
    display:flex;align-items:center;justify-content:space-between;gap:1rem;
    padding-bottom:.85rem;margin-bottom:1rem;border-bottom:2px solid var(--color-border-light)
}
.updates-day-header h2{display:flex;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:800;color:var(--color-text);margin:0;letter-spacing:-.01em}
.updates-day-header h2 svg{width:22px;height:22px;color:var(--color-primary)}
.updates-day-count{font-size:.85rem;font-weight:600;color:var(--color-primary);white-space:nowrap}

/* Filas */
.updates-list{display:flex;flex-direction:column;gap:.75rem}
.update-row{
    display:flex;align-items:center;gap:1rem;
    background:var(--color-bg);border:1px solid var(--color-border);
    border-radius:var(--radius-lg);padding:.85rem 1.1rem;
    transition:var(--transition-base)
}
.update-row:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.update-thumb{
    width:64px;height:64px;flex-shrink:0;border-radius:var(--radius-md);
    overflow:hidden;background:var(--color-bg-alt);border:1px solid var(--color-border-light);
    display:flex;align-items:center;justify-content:center
}
.update-thumb img{width:100%;height:100%;object-fit:cover}
.update-thumb svg{width:26px;height:26px;color:#cbd5e1}
.update-info{flex:1;min-width:0}
.update-info h3{font-size:1rem;font-weight:700;color:var(--color-text);margin:0 0 .35rem;line-height:1.35}
.update-row:hover .update-info h3{color:var(--color-primary)}
.update-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.update-version{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted)}
.update-version svg{width:14px;height:14px}
.update-kind{
    display:inline-flex;align-items:center;padding:.2rem .75rem;border-radius:999px;
    font-size:.72rem;font-weight:700;letter-spacing:.02em
}
.kind-update{background:#eff6ff;color:var(--color-primary)}
.kind-new{background:#f0fdf4;color:#16a34a}
.update-arrow{width:18px;height:18px;color:var(--color-text-muted);flex-shrink:0;transition:var(--transition-fast)}
.update-row:hover .update-arrow{color:var(--color-primary);transform:translateX(3px)}

@media(max-width:560px){
    .update-thumb{width:48px;height:48px}
    .update-info h3{font-size:.92rem}
    .updates-day-count{display:none}
}

/* Vacío */
.updates-empty{text-align:center;padding:3rem 0}
.updates-empty h2{font-size:1.4rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}
.updates-empty p{color:var(--color-text-muted)}

/* Guía */
.updates-guide{
    background:var(--color-bg-alt);border:1px solid var(--color-border);
    border-radius:var(--radius-xl);padding:2rem 2.25rem;margin-top:3rem
}
.updates-guide h2{font-size:1.4rem;font-weight:800;color:var(--color-text);margin-bottom:1rem;letter-spacing:-.01em}
.updates-guide p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.7;margin:0 0 1rem}
.updates-guide ul{list-style:disc;margin:0 0 1rem;padding-left:1.5rem}
.updates-guide li{color:var(--color-text-secondary);font-size:.95rem;line-height:1.7;margin-bottom:.5rem}
.updates-guide li::marker{color:var(--color-primary)}
.updates-guide strong{color:var(--color-text)}
.updates-guide p:last-child{margin-bottom:0}

@media(max-width:768px){
    .updates-guide{padding:1.5rem}
}

/* ========================================
   15. PURCHASE FLOW (pill, cart, checkout, account)
   ======================================== */

/* --- Pill "Secure Files" --- */
.secure-files-pill{
    display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
    width:100%;padding:.45rem 1rem;margin-bottom:1.1rem;
    background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;
    color:#16a34a;font-size:.84rem;font-weight:700;letter-spacing:.01em
}

/* --- Caja miembro en producto --- */
.member-included{
    display:flex;align-items:center;justify-content:center;gap:.5rem;
    padding:.9rem 1rem;margin-bottom:1.25rem;
    background:linear-gradient(135deg,#0f172a,#1e3a5f);border-radius:var(--radius-md);
    color:#fbbf24;font-size:.95rem;font-weight:700;text-align:center
}
.member-download-btn{margin-bottom:.5rem}
.member-note{text-align:center;font-size:.82rem;color:var(--color-text-muted);margin:0}

/* --- CART PAGE --- */
.cart-page{padding:3rem 0 4.5rem}
.cart-title{text-align:center;font-size:2.25rem;font-weight:800;color:var(--color-text);margin-bottom:2.5rem;letter-spacing:-.02em}

.cart-empty{text-align:center;padding:3rem 0;color:var(--color-text-muted)}
.cart-empty svg{color:#cbd5e1;margin:0 auto 1rem}
.cart-empty h2{font-size:1.4rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}
.cart-empty p{margin-bottom:1.5rem}

.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:2.5rem;align-items:start}

.cart-table{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-lg);border-collapse:separate;border-spacing:0;background:#fff;overflow:hidden}
.cart-table th{
    text-align:left;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
    color:var(--color-text-muted);padding:.9rem 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-alt)
}
.cart-price-col{text-align:right!important}
.cart-table td{padding:1.1rem 1.25rem;border-bottom:1px solid var(--color-border-light);vertical-align:middle}
.cart-table tr:last-child td{border-bottom:none}

.cart-product{display:flex;align-items:center;gap:1rem}
.cart-remove{
    flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;
    border-radius:50%;color:#dc2626;font-size:1.1rem;font-weight:700;line-height:1;transition:var(--transition-fast)
}
.cart-remove:hover{background:#fef2f2}
.cart-thumb{width:56px;height:56px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-light);background:var(--color-bg-alt)}
.cart-thumb img{width:100%;height:100%;object-fit:cover}
.cart-product-name{display:block;font-weight:700;color:var(--color-text);font-size:.98rem;margin-bottom:.25rem}
.cart-product-name:hover{color:var(--color-primary)}
.cart-includes{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:#16a34a;font-weight:500}
.cart-price{text-align:right;font-weight:700;color:var(--color-text);font-size:1rem;white-space:nowrap}

/* Cross-sell */
.cart-crosssell{margin-top:2.5rem}
.cart-crosssell h2{font-size:1.35rem;font-weight:800;color:var(--color-text);margin-bottom:1.25rem;letter-spacing:-.01em}
.crosssell-card{display:flex;gap:1.25rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;max-width:480px;transition:var(--transition-base)}
.crosssell-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}
.crosssell-thumb{width:110px;height:85px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-alt)}
.crosssell-thumb img{width:100%;height:100%;object-fit:cover}
.crosssell-info{display:flex;flex-direction:column;gap:.35rem}
.crosssell-name{font-weight:700;color:var(--color-text);font-size:1rem}
.crosssell-name:hover{color:var(--color-primary)}
.crosssell-price{font-weight:800;color:var(--color-primary);font-size:1.1rem}
.crosssell-btn{margin-top:.4rem;padding:.55rem 1.1rem;font-size:.85rem;background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border);width:fit-content}
.crosssell-btn:hover{background:var(--color-border);color:var(--color-text)}

/* Resumen */
.cart-summary{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.75rem;position:sticky;top:140px}
.cart-summary h2{font-size:1.3rem;font-weight:800;color:var(--color-text);margin-bottom:1.25rem;letter-spacing:-.01em}
.cart-total-row{
    display:flex;justify-content:space-between;align-items:center;
    padding:1rem 1.25rem;margin-bottom:1.25rem;
    background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)
}
.cart-total-label{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text)}
.cart-total-value{font-size:1.35rem;font-weight:800;color:var(--color-text)}
.cart-checkout-btn{width:100%;justify-content:center;padding:1.05rem;font-size:1.05rem;margin-bottom:1rem}
.cart-secure{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.82rem;color:var(--color-text-muted);margin-bottom:.85rem}
.cart-secure svg{color:var(--color-success)}
.cart-cards{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}
.cart-cards svg{border-radius:4px}

@media(max-width:1024px){
    .cart-layout{grid-template-columns:1fr;gap:2rem}
    .cart-summary{position:static;max-width:480px}
}
@media(max-width:640px){
    .cart-title{font-size:1.75rem}
    .cart-thumb{display:none}
    .cart-product{gap:.75rem}
}

/* --- CHECKOUT PAGE --- */

/* Fix: hueco blanco sobre el header en checkout — algunos plugins
   (EDD/Stripe/reCAPTCHA) inyectan elementos al inicio del body.
   Se oculta CUALQUIER elemento entre el inicio del body y el contenido. */
html:has(body.page-template-template-checkout){margin-top:0!important}
body.page-template-template-checkout > :where(div,span,p,iframe,section,nav,figure,aside):not(.site-header):not(.header-sticky):not(.checkout-page):not(.wptk-checkout-auth-modal):not(#wpadminbar):has(~ .checkout-page){display:none!important}
body.page-template-template-checkout{margin-top:0!important}
body.page-template-template-checkout .site-header{margin-top:0!important}

.checkout-page{padding:3rem 0 4.5rem;background:var(--color-bg-alt)}
.checkout-container{max-width:1280px;margin:0 auto}
.checkout-header{text-align:center;margin-bottom:1.75rem}
.checkout-header h1{font-size:1.85rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin-bottom:.5rem}
.checkout-header p{color:var(--color-text-muted);font-size:.98rem;margin:0}

.checkout-member-notice{
    display:flex;align-items:center;gap:.75rem;
    background:#eff6ff;border:1px solid #dbeafe;border-left:4px solid var(--color-primary);
    border-radius:var(--radius-md);padding:.9rem 1.15rem;margin-bottom:1.5rem;
    font-size:.9rem;color:var(--color-text)
}
.checkout-member-notice svg{color:var(--color-primary);flex-shrink:0}
.checkout-member-notice p{margin:0}
.checkout-member-notice a{font-weight:700}

.checkout-form-box{margin-bottom:1.5rem}

/* EDD compacto y alineado */
#edd_checkout_form_wrap{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-sm)}
#edd_checkout_form_wrap fieldset{border:none;padding:0;margin:0 0 1.4rem}
#edd_checkout_form_wrap fieldset>legend{font-size:1.05rem;font-weight:700;color:var(--color-text);margin-bottom:.85rem;padding:0}
#edd_checkout_form_wrap p{margin:0 0 .9rem}
#edd_checkout_form_wrap input.edd-input,#edd_checkout_form_wrap input[type="text"],#edd_checkout_form_wrap input[type="email"],#edd_checkout_form_wrap input[type="password"],#edd_checkout_form_wrap select.edd-select,#edd_checkout_form_wrap select{
    width:100%;padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);
    font-size:.95rem;background:#fff;color:var(--color-text);margin-bottom:0;transition:var(--transition-fast)
}
#edd_checkout_form_wrap input:focus,#edd_checkout_form_wrap select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(27,84,193,.1)}
#edd_checkout_form_wrap label{font-weight:600;color:var(--color-text);font-size:.87rem;margin-bottom:.3rem;display:block}

/* Campos en dos columnas */
#edd_checkout_user_info,#edd_cc_address{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
#edd_checkout_user_info>legend,#edd_cc_address>legend,#edd-email-wrap,#edd-card-address-wrap,#edd-card-address-2-wrap{grid-column:1/-1}

/* Carrito en el checkout (tabla moderna) */
#edd_checkout_cart{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;margin-bottom:1.4rem;overflow:hidden;box-shadow:var(--shadow-sm)}
#edd_checkout_cart .edd_cart_header_row th{
    background:var(--color-bg-alt);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;
    color:var(--color-text-muted);font-weight:700;border-bottom:1px solid var(--color-border)
}
#edd_checkout_cart th,#edd_checkout_cart td{padding:1rem 1.25rem}
#edd_checkout_cart td{vertical-align:middle;border-bottom:1px solid var(--color-bg-alt);font-size:.95rem}
#edd_checkout_cart tr:last-child td{border-bottom:none}
#edd_checkout_cart .edd_cart_item_name{font-weight:700;color:var(--color-text)}
#edd_checkout_cart .edd_cart_item_name .edd_checkout_cart_item_title{font-weight:700}
#edd_checkout_cart .edd_cart_remove_item_btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:26px;height:26px;border-radius:50%;
    background:var(--color-bg-alt);color:var(--color-text-muted);
    font-size:.95rem;font-weight:400;line-height:1;transition:var(--transition-fast)
}
#edd_checkout_cart .edd_cart_remove_item_btn:hover{background:#fee2e2;color:#dc2626}
#edd_checkout_cart .edd_cart_actions{text-align:center;width:70px}
#edd_checkout_cart .edd_cart_total{font-weight:800;background:var(--color-bg-alt)}
#edd_checkout_cart .edd_cart_total td{font-size:1.05rem}
#edd_checkout_cart .edd_cart_total .edd_cart_amount{color:var(--color-primary);font-weight:800}

/* Términos y privacidad: tarjetas limpias (todas las variantes EDD) */
#edd_terms_agreement,#edd_show_terms_wrap,
#edd_privacy_policy_agreement,#edd-privacy-policy-agreement,#edd_show_privacy_policy_wrap{
    background:#fff;border:1px solid var(--color-border)!important;
    border-radius:var(--radius-lg);padding:1.15rem 1.35rem;margin:0 0 1.25rem!important
}
#edd_terms_agreement>legend,#edd_privacy_policy_agreement>legend,#edd-privacy-policy-agreement>legend{
    float:left;width:100%;margin:0 0 .6rem!important;padding:0!important;
    font-size:.95rem;font-weight:800;color:var(--color-text);letter-spacing:-.01em
}
#edd_terms_agreement>*:not(legend),#edd_privacy_policy_agreement>*:not(legend),#edd-privacy-policy-agreement>*:not(legend){clear:both}
#edd_terms_agreement .edd-terms-content,#edd_terms_content,#edd_privacy_policy_content{
    background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);
    padding:1rem 1.15rem;margin:.75rem 0;font-size:.86rem;color:var(--color-text-secondary);
    max-height:220px;overflow-y:auto;line-height:1.65
}
#edd_terms_agreement .edd-terms-content h1,#edd_terms_agreement .edd-terms-content h2,#edd_terms_agreement .edd-terms-content h3,
#edd_terms_content h1,#edd_terms_content h2,#edd_terms_content h3,
#edd_privacy_policy_content h1,#edd_privacy_policy_content h2,#edd_privacy_policy_content h3{font-size:1rem;font-weight:700;color:var(--color-text);margin:.9rem 0 .4rem}
#edd_terms_agreement .edd-terms-content p,#edd_terms_content p,#edd_privacy_policy_content p{margin-bottom:.6rem}
#edd_terms_agreement p,#edd_privacy_policy_agreement p,#edd-privacy-policy-agreement p{margin:0!important}
#edd_show_terms_wrap,#edd_show_privacy_policy_wrap{padding:.8rem 1.1rem}

/* Enlaces Show/Hide terms como botón pill */
#edd_show_terms,#edd_hide_terms,#edd_show_privacy_policy,#edd_hide_privacy_policy{
    display:inline-flex!important;align-items:center;gap:.4rem;
    background:#fff;border:1.5px solid var(--color-border);border-radius:999px;
    color:var(--color-primary);font-weight:700;font-size:.83rem;cursor:pointer;
    padding:.5rem 1.05rem;text-decoration:none!important;
    box-shadow:var(--shadow-sm);transition:var(--transition-fast)
}
#edd_show_terms:hover,#edd_hide_terms:hover,#edd_show_privacy_policy:hover,#edd_hide_privacy_policy:hover{border-color:var(--color-primary);color:var(--color-primary-dark)}

/* Checkboxes personalizados (checkout) */
#edd_checkout_form_wrap input[type="checkbox"]{
    width:20px;height:20px;min-width:20px;flex-shrink:0;
    appearance:none;-webkit-appearance:none;
    border:1.5px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer;
    margin:0;position:relative;transition:var(--transition-fast)
}
#edd_checkout_form_wrap input[type="checkbox"]:hover{border-color:var(--color-primary)}
#edd_checkout_form_wrap input[type="checkbox"]:focus{outline:none;box-shadow:0 0 0 3px rgba(27,84,193,.15)}
#edd_checkout_form_wrap input[type="checkbox"]:checked{background:var(--color-primary);border-color:var(--color-primary)}
#edd_checkout_form_wrap input[type="checkbox"]:checked::after{
    content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
    border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)
}

/* Filas de aceptación: alineadas, sin doble caja */
#edd_agree_terms_p,#edd_agree_terms_wrap,.edd-agree-terms,
#edd_agree_to_privacy_policy_p,#edd_agree_to_privacy_policy_wrap,
#edd_checkout_form_wrap p:has(input[type="checkbox"]){
    display:flex;align-items:flex-start;gap:.65rem;
    background:none;border:none;padding:0;margin:.8rem 0 0!important
}
#edd_agree_terms_p label,#edd_agree_terms_wrap label,.edd-agree-terms label,
#edd_agree_to_privacy_policy_p label,#edd_agree_to_privacy_policy_wrap label,
#edd_checkout_form_wrap p:has(input[type="checkbox"]) label{
    flex:1;font-weight:500;font-size:.9rem;line-height:1.55;
    color:var(--color-text);cursor:pointer;margin:0!important;display:inline
}
#edd_agree_terms,#edd_agree_to_privacy_policy,
#edd_checkout_form_wrap p:has(input[type="checkbox"]) input[type="checkbox"]{margin-top:.15rem!important}

/* Total final */
#edd_final_total_wrap,#edd_purchase_final_total{
    background:var(--color-bg-alt);border:1px solid var(--color-border);
    border-radius:var(--radius-md);padding:1.1rem 1.25rem;margin:1.25rem 0!important;
    font-size:1.05rem;font-weight:800;color:var(--color-text);text-align:center
}
#edd_final_total_wrap .edd_cart_amount,#edd_purchase_final_total .edd_cart_amount{color:var(--color-primary)}

/* Botón de compra */
#edd_purchase_submit{margin:0!important}
#edd_purchase_submit input[type="submit"],#edd_purchase_submit button,.edd-submit{
    width:100%;padding:1.05rem 1.5rem;font-size:1.05rem;font-weight:800;
    background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);
    cursor:pointer;transition:var(--transition-fast);letter-spacing:-.01em
}
#edd_purchase_submit input[type="submit"]:hover,#edd_purchase_submit button:hover,.edd-submit:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 6px 16px rgba(27,84,193,.25)}

/* Selector de método de pago como tarjetas */
#edd_payment_mode_select{margin-bottom:1.25rem!important}
#edd_payment_mode_select legend{margin-bottom:.75rem!important}
.edd-gateway-option{
    display:flex;align-items:center;gap:.65rem;
    background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-md);
    padding:.9rem 1.15rem;margin-bottom:.65rem;cursor:pointer;transition:var(--transition-fast)
}
.edd-gateway-option:hover{border-color:var(--color-primary)}
.edd-gateway-option:has(input:checked){border-color:var(--color-primary);background:#eff6ff;box-shadow:0 0 0 3px rgba(27,84,193,.08)}
.edd-gateway-option input[type="radio"]{width:18px;height:18px;min-width:18px;accent-color:var(--color-primary);margin:0}
.edd-gateway-option label{font-weight:700!important;font-size:.92rem;color:var(--color-text);cursor:pointer;flex:1;margin:0!important}
.edd-gateway-option img{max-height:24px;width:auto}
#edd-payment-mode-wrap{font-size:.9rem;color:var(--color-text-muted)}
#edd_payment_mode_select .edd-payment-icons{margin:.35rem 0 0}
#edd_payment_mode_select .edd-payment-icons img{max-height:26px;margin-right:.4rem}

/* Checkout a 2 columnas en escritorio: formulario + resumen sticky */
@media(min-width:1024px){
    #edd_checkout_form_wrap{padding:2.25rem}
    #edd_purchase_form{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);column-gap:2.5rem;align-items:start}
    #edd_purchase_form>*{grid-column:1;min-width:0}
    #edd_purchase_form>#edd_checkout_cart,
    #edd_purchase_form>#edd_checkout_cart_wrap{
        grid-column:2;grid-row:1/span 50;position:sticky;top:130px;margin-bottom:0
    }
    #edd_checkout_cart_wrap>#edd_checkout_cart{margin-bottom:0}
}

/* Aviso carrito vacío */
#edd_checkout_form_wrap .edd_errors,.edd-error{border-radius:var(--radius-md)}

/* Banner upsell membresía */
.checkout-upsell{
    display:flex;align-items:center;gap:1.25rem;
    background:linear-gradient(135deg,#0f172a,#1e3a5f);
    border-radius:var(--radius-lg);padding:1.4rem 1.75rem;margin-bottom:1.5rem;
    color:#fff;box-shadow:var(--shadow-sm)
}
.checkout-upsell .upsell-icon{
    width:52px;height:52px;min-width:52px;border-radius:50%;
    background:rgba(251,191,36,.15);color:#fbbf24;
    display:flex;align-items:center;justify-content:center
}
.checkout-upsell .upsell-text{flex:1;min-width:0}
.checkout-upsell h3{font-size:1.08rem;font-weight:800;color:#fff;margin:0 0 .3rem;letter-spacing:-.01em}
.checkout-upsell p{font-size:.88rem;color:#cbd5e1;margin:0;line-height:1.55}
.btn-outline{
    display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
    padding:.7rem 1.4rem;border-radius:var(--radius-md);
    border:2px solid rgba(255,255,255,.35);color:#fff;font-weight:700;font-size:.88rem;
    background:transparent;transition:var(--transition-fast);white-space:nowrap
}
.btn-outline:hover{background:#fbbf24;border-color:#fbbf24;color:#0f172a}
.checkout-upsell .upsell-btn{min-width:fit-content}

/* Barra de confianza */
.checkout-trustbar{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);
    padding:1.35rem 1.5rem
}
.trustbar-item{display:flex;align-items:center;gap:.7rem}
.trustbar-icon{
    width:40px;height:40px;min-width:40px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:#f0fdf4;color:#16a34a
}
.trustbar-item:last-child .trustbar-icon{background:#fffbeb;color:#d97706}
.trustbar-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}
.trustbar-text strong{font-size:.86rem;font-weight:700;color:var(--color-text);line-height:1.3}
.trustbar-text small{font-size:.75rem;color:var(--color-text-muted);line-height:1.3}

@media(max-width:640px){
    .checkout-page{padding:2rem 0 3rem}
    .checkout-header h1{font-size:1.45rem}
    #edd_checkout_form_wrap{padding:1.25rem}
    #edd_checkout_user_info,#edd_cc_address{grid-template-columns:1fr}
    .checkout-trustbar{grid-template-columns:1fr 1fr;padding:1.15rem}
    .checkout-upsell{flex-direction:column;text-align:center;gap:1rem;padding:1.5rem}
    .checkout-upsell .upsell-btn{width:100%}
}

/* --- MY ACCOUNT PAGE --- */
.account-page{padding:3rem 0 4.5rem;background:var(--color-bg-alt)}
.account-container{max-width:900px;margin:0 auto}

/* Hero de la cuenta */
.account-hero{
    display:flex;align-items:center;gap:1.4rem;
    background:linear-gradient(135deg,#0f172a,#1e3a5f);
    border-radius:var(--radius-xl);padding:1.9rem 2rem;margin-bottom:1.75rem;
    box-shadow:var(--shadow-md);position:relative;overflow:hidden
}
.account-hero::after{
    content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;
    background:rgba(251,191,36,.07);border-radius:50%;pointer-events:none
}
.account-avatar{
    width:64px;height:64px;min-width:64px;border-radius:50%;
    background:linear-gradient(135deg,var(--color-primary),#3b82f6);
    color:#fff;font-size:1.7rem;font-weight:800;
    display:flex;align-items:center;justify-content:center;
    border:3px solid rgba(255,255,255,.2);z-index:1
}
.account-hero-info{flex:1;min-width:0;z-index:1}
.account-hero-info h1{font-size:1.5rem;font-weight:800;color:#fff;margin:0 0 .15rem;letter-spacing:-.02em}
.account-hero-email{font-size:.88rem;color:#94a3b8;margin:0 0 .6rem;word-break:break-all}
.account-hero-badges{display:flex;gap:.5rem;flex-wrap:wrap}
.account-member-badge{
    display:inline-flex;align-items:center;gap:.35rem;
    background:rgba(251,191,36,.14);border:1px solid rgba(251,191,36,.4);color:#fbbf24;
    font-size:.75rem;font-weight:700;padding:.32rem .85rem;border-radius:999px;letter-spacing:.02em
}
.account-since-badge{
    display:inline-flex;align-items:center;gap:.35rem;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#cbd5e1;
    font-size:.75rem;font-weight:600;padding:.32rem .85rem;border-radius:999px
}
.account-logout{
    display:inline-flex;align-items:center;gap:.4rem;z-index:1;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#e2e8f0;
    font-size:.82rem;font-weight:600;padding:.55rem 1.1rem;border-radius:var(--radius-md);
    transition:var(--transition-fast);white-space:nowrap
}
.account-logout:hover{background:#dc2626;border-color:#dc2626;color:#fff}

.account-guest-header{text-align:center;margin-bottom:2rem}
.account-guest-header h1{font-size:2rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin-bottom:.35rem}
.account-guest-header p{color:var(--color-text-muted);margin:0}
.account-login-box{max-width:480px;margin:0 auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2.25rem;box-shadow:var(--shadow-md)}
.account-login-box form input{width:100%;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;margin-bottom:1rem;transition:var(--transition-fast)}
.account-login-box form input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(27,84,193,.1)}
.account-login-box form input[type="submit"]{background:var(--color-primary);color:#fff;border:none;font-weight:700;cursor:pointer;padding:.95rem}
.account-login-box form input[type="submit"]:hover{background:var(--color-primary-dark)}
.account-login-box legend,.account-login-box label{font-weight:600;color:var(--color-text)}

.account-member-note{
    display:flex;align-items:center;gap:.75rem;
    background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);
    padding:.9rem 1.15rem;margin-bottom:1.75rem;font-size:.9rem;color:#166534
}
.account-member-note svg{color:#16a34a;flex-shrink:0}
.account-member-note p{margin:0}

/* Tarjetas de sección */
.account-section-card{
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);
    padding:1.75rem;box-shadow:var(--shadow-sm);margin-bottom:1.75rem
}
.account-section-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1.25rem}
.account-section-icon{
    width:38px;height:38px;min-width:38px;border-radius:10px;
    background:#eff6ff;color:var(--color-primary);
    display:flex;align-items:center;justify-content:center
}
.account-section-head h2{font-size:1.15rem;font-weight:800;color:var(--color-text);margin:0;letter-spacing:-.01em}
.account-receipt{margin-bottom:1.75rem}
.account-receipt h2{font-size:1.15rem;font-weight:800;color:var(--color-text);margin:0 0 .35rem;letter-spacing:-.01em}
.account-receipt-sub{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.92rem}

/* Tablas EDD (historial, recibo) */
#edd_purchase_history,.edd-table,#edd_receipt_products{
    width:100%;border-collapse:separate;border-spacing:0;
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:0
}
#edd_purchase_history th,.edd-table th,#edd_receipt_products th{
    text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;
    color:var(--color-text-muted);padding:.8rem 1.15rem;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)
}
#edd_purchase_history td,.edd-table td,#edd_receipt_products td{padding:.95rem 1.15rem;border-bottom:1px solid var(--color-bg-alt);font-size:.92rem;color:var(--color-text-secondary);vertical-align:middle}
#edd_purchase_history tr:last-child td,.edd-table tr:last-child td{border-bottom:none}
#edd_purchase_history tbody tr{transition:background .15s}
#edd_purchase_history tbody tr:hover{background:#f8fafc}
#edd_purchase_history a,.edd-table a{color:var(--color-primary);font-weight:600}
.edd_download_file{
    background:var(--color-primary)!important;color:#fff!important;
    padding:.5rem 1.1rem;border-radius:999px;font-weight:700;font-size:.8rem;
    display:inline-flex;align-items:center;gap:.35rem;transition:var(--transition-fast)
}
.edd_download_file:hover{background:var(--color-primary-dark)!important;color:#fff!important;transform:translateY(-1px)}
.edd_purchase_receipt_download_files{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--color-border)}
.edd_purchase_receipt_download_files li{margin-bottom:.4rem}
/* "No purchases found" */
#edd_purchase_history_wrap p,.edd-no-purchases{color:var(--color-text-muted);font-size:.92rem;margin:0}

@media(max-width:640px){
    .account-hero{flex-wrap:wrap;padding:1.5rem 1.25rem;gap:1rem}
    .account-hero-info h1{font-size:1.25rem}
    .account-logout{width:100%;justify-content:center}
    .account-section-card{padding:1.25rem}
    #edd_purchase_history th,#edd_purchase_history td{padding:.7rem .8rem;font-size:.85rem}
}

/* --- POPUP LÍMITE DE DESCARGAS --- */
.wptk-limit-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.wptk-limit-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(4px)}
.wptk-limit-dialog{
    position:relative;max-width:440px;width:100%;background:#fff;border-radius:var(--radius-xl);
    padding:2.5rem 2rem 2rem;text-align:center;box-shadow:var(--shadow-lg);
    animation:limitModalIn .3s ease-out
}
@keyframes limitModalIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.wptk-limit-close{
    position:absolute;top:.75rem;right:.9rem;width:32px;height:32px;border:none;background:var(--color-bg-alt);
    border-radius:50%;font-size:1.25rem;color:var(--color-text-muted);cursor:pointer;line-height:1;transition:var(--transition-fast)
}
.wptk-limit-close:hover{background:var(--color-border);color:var(--color-text)}
.wptk-limit-icon{
    width:64px;height:64px;margin:0 auto 1.25rem;border-radius:50%;
    background:#fef2f2;display:flex;align-items:center;justify-content:center;color:#dc2626
}
.wptk-limit-dialog h3{font-size:1.35rem;font-weight:800;color:var(--color-text);margin-bottom:.85rem;letter-spacing:-.01em}
.wptk-limit-dialog p{font-size:.93rem;color:var(--color-text-secondary);line-height:1.6;margin:0 0 .85rem}
.wptk-limit-dialog .btn{margin-top:.5rem;padding:.9rem 2rem}

/* ========================================
   16. HOME SECTIONS (stats+planes, rank, latest)
   ======================================== */

/* --- Stats + planes --- */
.home-membership{padding:4rem 0 1rem}
.home-membership .club-stats{margin-bottom:2rem}

.home-join{
    display:grid;grid-template-columns:300px 1fr;gap:2.5rem;align-items:center;
    background:linear-gradient(135deg,#eff6ff 0%,#f5f8ff 100%);
    border:1px solid #dbeafe;border-radius:var(--radius-xl);padding:2.5rem
}
.home-join-info h2{font-size:1.6rem;font-weight:800;color:var(--color-primary);letter-spacing:-.02em;margin-bottom:1.25rem;line-height:1.25}
.home-join-info ul{list-style:none;margin:0;padding:0}
.home-join-info li{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;font-size:.95rem;font-weight:600;color:var(--color-text)}
.home-join-info li svg{width:18px;height:18px;color:var(--color-primary);flex-shrink:0}

.home-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.home-plan{
    display:flex;flex-direction:column;align-items:center;gap:.2rem;
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);
    padding:1.5rem 1.25rem;text-align:center;transition:var(--transition-base)
}
.home-plan:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}
.home-plan-featured{border:2px solid var(--color-primary)}
.home-plan-name{font-size:1rem;font-weight:700;color:var(--color-primary)}
.home-plan-price{font-size:2.1rem;font-weight:800;color:var(--color-primary);letter-spacing:-.02em;line-height:1.15}
.home-plan-period{font-size:.85rem;color:var(--color-text-muted)}
.home-plan-note{font-size:.88rem;font-weight:700;color:var(--color-text)}
.home-plan-btn{margin-top:1rem;width:100%;justify-content:center;padding:.75rem;font-size:.88rem}

@media(max-width:1024px){
    .home-join{grid-template-columns:1fr;gap:2rem;padding:2rem}
    .home-join-info h2{font-size:1.35rem}
}
@media(max-width:640px){
    .home-plans{grid-template-columns:1fr;max-width:320px;margin:0 auto}
}

/* --- Cajas de sección con título solapado --- */
.home-rank-section{padding:1.5rem 0}
.home-latest-section{padding-bottom:4rem}
.home-section-box{
    position:relative;border:1px solid var(--color-border);border-radius:var(--radius-xl);
    padding:2.75rem 2rem 2.25rem;background:#fff
}
.home-section-title{
    position:absolute;top:-1.05rem;left:2rem;margin:0;
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);
    padding:.45rem 1.15rem;font-size:1.3rem;font-weight:800;color:var(--color-text);letter-spacing:-.01em
}
.home-viewall{
    position:absolute;bottom:-1rem;right:2rem;
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);
    padding:.5rem 1.1rem;font-size:.88rem;font-weight:600;color:var(--color-primary);transition:var(--transition-fast)
}
.home-viewall:hover{border-color:var(--color-primary);color:var(--color-primary-dark);box-shadow:var(--shadow-sm)}

/* --- Grid numerado (1-8) --- */
.rank-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem 1.5rem}
.rank-item{position:relative;text-align:center}
.rank-num{
    position:absolute;top:-10px;left:-6px;z-index:2;
    width:30px;height:30px;border-radius:50%;
    background:#fff;border:2px solid var(--color-primary);color:var(--color-primary);
    font-size:.9rem;font-weight:800;display:flex;align-items:center;justify-content:center;
    box-shadow:var(--shadow-sm)
}
.rank-thumb{display:block;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg-alt);transition:var(--transition-base)}
.rank-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s}
.rank-item:hover .rank-thumb{border-color:var(--color-primary-light);box-shadow:var(--shadow-md)}
.rank-item:hover .rank-thumb img{transform:scale(1.04)}
.rank-title{display:block;margin-top:.65rem;font-size:.92rem;font-weight:600;color:var(--color-text);line-height:1.35}
.rank-title:hover{color:var(--color-primary)}

@media(max-width:1024px){
    .rank-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
    .rank-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 1rem}
    .home-section-box{padding:2.25rem 1.25rem 2rem}
    .home-section-title{left:1.25rem;font-size:1.1rem}
    .home-viewall{right:1.25rem}
}

/* --- Latest Additions --- */
.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem 2.5rem}
.latest-item{display:flex;align-items:center;gap:.85rem;padding:.35rem 0}
.latest-thumb{
    width:54px;height:54px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;
    border:1px solid var(--color-border-light);background:var(--color-bg-alt);
    display:flex;align-items:center;justify-content:center;color:#cbd5e1;transition:var(--transition-fast)
}
.latest-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.latest-item:hover .latest-thumb{border-color:var(--color-primary-light)}
.latest-title{font-size:.9rem;font-weight:600;color:var(--color-text);line-height:1.35}
.latest-item:hover .latest-title{color:var(--color-primary)}

@media(max-width:900px){
    .latest-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
    .latest-grid{grid-template-columns:1fr}
}

/* ========================================
   12. UTILIDADES
   ======================================== */

.text-center{text-align:center}
.text-primary{color:var(--color-primary)}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}
.hidden{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* =========================
   17. FAQ PAGE
   ========================= */
.faq-page{padding:3rem 0 4.5rem}
.faq-page-container{max-width:1280px}
.faq-page-header{text-align:center;margin-bottom:2.5rem}
.faq-page-header h1{font-size:2.15rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin-bottom:.5rem}
.faq-page-header p{color:var(--color-text-muted);font-size:1rem;margin:0}
.faq-group{margin-bottom:2.25rem}
.faq-group .faq-section{margin:0}
.faq-group.is-hidden{display:none}
.faq-fade{animation:faqFade .3s ease-out}
@keyframes faqFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.faq-fade{animation:none}}
.faq-group-title{
    font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
    color:var(--color-primary);margin-bottom:.9rem;
    display:flex;align-items:center;gap:.75rem
}
.faq-group-title::after{content:"";flex:1;height:1px;background:var(--color-border)}

/* Pestañas por temática */
.faq-tabs{
    display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;
    margin-bottom:2.25rem
}
.faq-tab{
    display:flex;flex-direction:column;align-items:center;gap:.5rem;
    background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);
    padding:1.15rem .85rem .95rem;cursor:pointer;text-align:center;
    transition:var(--transition-fast);font-family:inherit;
    box-shadow:var(--shadow-sm)
}
.faq-tab:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.faq-tab.is-active{border-color:var(--color-primary);background:linear-gradient(160deg,#eff6ff,#fff);box-shadow:0 4px 14px rgba(27,84,193,.12)}
.faq-tab-icon{
    width:44px;height:44px;border-radius:50%;
    background:var(--color-bg-alt);color:var(--color-text-secondary);
    display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)
}
.faq-tab.is-active .faq-tab-icon{background:var(--color-primary);color:#fff}
.faq-tab-label{font-size:.84rem;font-weight:700;color:var(--color-text);line-height:1.3}
.faq-tab.is-active .faq-tab-label{color:var(--color-primary)}
.faq-tab-count{
    font-size:.68rem;font-weight:700;color:var(--color-text-muted);
    background:var(--color-bg-alt);border-radius:999px;padding:.15em .6em;line-height:1.4
}
.faq-tab.is-active .faq-tab-count{background:#dbeafe;color:var(--color-primary)}

@media(max-width:768px){
    .faq-tabs{grid-template-columns:1fr 1fr;gap:.65rem}
    .faq-tab{padding:.95rem .65rem .8rem}
    .faq-tab-label{font-size:.78rem}
}

.faq-contact-box{
    display:flex;align-items:center;gap:1.25rem;
    background:linear-gradient(135deg,#0f172a,#1e3a5f);
    border-radius:var(--radius-xl);padding:1.75rem 2rem;color:#fff;box-shadow:var(--shadow-sm)
}
.faq-contact-icon{
    width:52px;height:52px;min-width:52px;border-radius:50%;
    background:rgba(255,255,255,.1);color:#93c5fd;
    display:flex;align-items:center;justify-content:center
}
.faq-contact-text{flex:1;min-width:0}
.faq-contact-text h2{font-size:1.2rem;font-weight:800;color:#fff;margin:0 0 .3rem;letter-spacing:-.01em}
.faq-contact-text p{font-size:.9rem;color:#cbd5e1;margin:0;line-height:1.55}
.faq-contact-btn{min-width:fit-content;background:#fbbf24;color:#0f172a;font-weight:700}
.faq-contact-btn:hover{background:#f59e0b;color:#0f172a}

@media(max-width:640px){
    .faq-page{padding:2rem 0 3rem}
    .faq-page-header h1{font-size:1.6rem}
    .faq-contact-box{flex-direction:column;text-align:center;padding:1.5rem}
    .faq-contact-btn{width:100%}
}

/* =========================
   18. MY ACCOUNT - MEMBERSHIP CARD
   ========================= */
.account-notice{
    display:flex;align-items:center;gap:.75rem;
    border-radius:var(--radius-md);padding:.9rem 1.15rem;margin-bottom:1.75rem;
    font-size:.9rem
}
.account-notice p{margin:0}
.account-notice svg{flex-shrink:0}
.account-notice-cancelled{background:#eff6ff;border:1px solid #dbeafe;color:#1e40af}
.account-notice-cancelled svg{color:var(--color-primary)}

.membership-card{
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);
    padding:1.75rem;margin-bottom:1.75rem;box-shadow:var(--shadow-sm);
    border-top:4px solid #fbbf24
}
.membership-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.35rem;flex-wrap:wrap}
.membership-card-title{display:flex;align-items:center;gap:.6rem;color:var(--color-text)}
.membership-card-title svg{color:#fbbf24}
.membership-card-title h2{font-size:1.25rem;font-weight:800;margin:0;letter-spacing:-.01em}
.membership-status{
    display:inline-flex;align-items:center;gap:.45rem;
    background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;
    font-size:.8rem;font-weight:700;padding:.35rem .9rem;border-radius:999px
}
.membership-status-dot{width:8px;height:8px;border-radius:50%;background:#16a34a}

.membership-details{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
    background:var(--color-bg-alt);border:1px solid var(--color-border);
    border-radius:var(--radius-lg);padding:1.1rem 1.35rem;margin-bottom:1.35rem
}
.membership-detail{display:flex;flex-direction:column;gap:.15rem}
.membership-detail small{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}
.membership-detail strong{font-size:.95rem;font-weight:700;color:var(--color-text)}

.membership-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.membership-upgrade-btn{padding:.75rem 1.5rem;font-size:.92rem}
.membership-cancel-link{
    font-size:.88rem;font-weight:600;color:#dc2626;
    text-decoration:underline;text-underline-offset:3px
}
.membership-cancel-link:hover{color:#991b1b}
.membership-cancel-note{font-size:.8rem;color:var(--color-text-muted);margin:.9rem 0 0;line-height:1.55}
.membership-cancelling-note{
    display:flex;align-items:center;gap:.5rem;margin:0;
    background:#fffbeb;border:1px solid #fcd34d;color:#92400e;
    font-size:.88rem;padding:.75rem 1.1rem;border-radius:var(--radius-md)
}
.membership-cancelling-note svg{color:#d97706;flex-shrink:0}

@media(max-width:640px){
    .membership-card{padding:1.35rem}
    .membership-details{grid-template-columns:1fr;gap:.85rem}
    .membership-actions{flex-direction:column;align-items:stretch;gap:.9rem}
    .membership-upgrade-btn{width:100%;justify-content:center}
    .membership-cancel-link{text-align:center}
}

/* =========================
   19. PRODUCT PAGE - MEMBERSHIP BOX
   ========================= */
.product-membership-box{
    background:linear-gradient(160deg,#0f172a,#1e3a5f);
    border-radius:var(--radius-xl);padding:1.6rem;margin-top:1.5rem;
    box-shadow:var(--shadow-md);color:#fff
}
.pmb-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.7rem}
.pmb-icon{
    width:38px;height:38px;min-width:38px;border-radius:50%;
    background:rgba(251,191,36,.15);color:#fbbf24;
    display:flex;align-items:center;justify-content:center
}
.pmb-header h3{font-size:1.05rem;font-weight:800;color:#fff;margin:0;letter-spacing:-.01em;line-height:1.3}
.pmb-desc{font-size:.84rem;color:#cbd5e1;line-height:1.6;margin:0 0 1.1rem}

.pmb-plans{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.9rem}
.pmb-plan{
    position:relative;display:flex;flex-direction:column;align-items:center;gap:.15rem;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
    border-radius:var(--radius-lg);padding:.95rem .8rem;text-align:center;
    transition:var(--transition-fast)
}
.pmb-plan:hover{background:rgba(255,255,255,.12);border-color:rgba(251,191,36,.5);transform:translateY(-2px)}
.pmb-plan-featured{border-color:#fbbf24;background:rgba(251,191,36,.08)}
.pmb-plan-tag{
    position:absolute;top:-9px;left:50%;transform:translateX(-50%);
    background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;
    font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
    padding:.25em .7em;border-radius:999px;white-space:nowrap
}
.pmb-plan-name{font-size:.8rem;font-weight:700;color:#e2e8f0;text-transform:uppercase;letter-spacing:.06em}
.pmb-plan-price{margin:.15rem 0}
.pmb-plan-price .promo-price-regular{font-size:.8rem;color:#94a3b8}
.pmb-plan-price .promo-price-badge{font-size:.64rem}
.pmb-plan-period{font-size:.72rem;color:#94a3b8}

.pmb-offer{
    display:flex;align-items:center;justify-content:center;gap:.35rem;
    font-size:.75rem;font-weight:600;color:#fbbf24;margin:0 0 .8rem
}
.pmb-offer svg{flex-shrink:0}
.pmb-compare{
    display:flex;align-items:center;justify-content:center;gap:.35rem;
    font-size:.84rem;font-weight:700;color:#93c5fd;
    padding-top:.8rem;border-top:1px solid rgba(255,255,255,.1)
}
.pmb-compare:hover{color:#fff}
.pmb-compare svg{transition:transform .2s ease}
.pmb-compare:hover svg{transform:translateX(3px)}

@media(max-width:480px){
    .pmb-plans{grid-template-columns:1fr}
}

/* =========================
   20. POPUP UPSELL MEMBRESÍA (Download)
   ========================= */
.wptk-modal-open{overflow:hidden}

.wptk-sub-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:1.25rem}
.wptk-sub-modal.is-open{display:flex}
.wptk-sub-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(3px)}
.wptk-sub-dialog{
    position:relative;width:100%;max-width:520px;max-height:calc(100vh - 2.5rem);overflow-y:auto;
    background:#fff;border-radius:var(--radius-xl);
    padding:2.25rem 2rem 1.75rem;text-align:center;
    box-shadow:0 24px 60px rgba(15,23,42,.35);
    animation:wptkSubPop .25s ease-out
}
@keyframes wptkSubPop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.wptk-sub-dialog{animation:none}}

.wptk-sub-close{
    position:absolute;top:.8rem;right:.9rem;width:32px;height:32px;
    border:none;border-radius:50%;background:var(--color-bg-alt);
    color:var(--color-text-muted);font-size:1.35rem;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)
}
.wptk-sub-close:hover{background:#fee2e2;color:#dc2626}

.wptk-sub-countdown{
    position:absolute;top:.95rem;left:1rem;
    display:inline-flex;align-items:center;gap:.35rem;
    background:#eff6ff;color:var(--color-primary);
    font-size:.75rem;font-weight:700;
    padding:.3rem .75rem;border-radius:999px
}
.wptk-sub-count{font-variant-numeric:tabular-nums;font-weight:800}

.wptk-sub-icon{
    width:60px;height:60px;margin:0 auto 1rem;border-radius:50%;
    background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#fbbf24;
    display:flex;align-items:center;justify-content:center
}
.wptk-sub-dialog h3{font-size:1.35rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin:0 0 .6rem}
.wptk-sub-text{font-size:.92rem;color:var(--color-text-secondary);line-height:1.65;margin:0 0 1.4rem}
.wptk-sub-text strong{color:var(--color-text)}

.wptk-sub-plans{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.1rem}
.wptk-sub-plan{
    position:relative;display:flex;flex-direction:column;align-items:center;gap:.2rem;
    background:var(--color-bg-alt);border:2px solid var(--color-border);
    border-radius:var(--radius-lg);padding:1.1rem .85rem;transition:var(--transition-fast)
}
.wptk-sub-plan:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.wptk-sub-plan-featured{border-color:#f59e0b;background:#fffbeb}
.wptk-sub-plan-featured:hover{border-color:#d97706}
.wptk-sub-plan-tag{
    position:absolute;top:-10px;left:50%;transform:translateX(-50%);
    background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;
    font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
    padding:.28em .75em;border-radius:999px;white-space:nowrap
}
.wptk-sub-plan-name{font-size:.78rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.07em}
.wptk-sub-plan-price .promo-price-regular{font-size:.8rem}
.wptk-sub-plan-price .promo-price-badge{font-size:.64rem}
.wptk-sub-plan-period{font-size:.72rem;color:var(--color-text-muted)}

.wptk-sub-continue{
    display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
    width:100%;padding:.85rem 1rem;
    background:none;border:none;cursor:pointer;
    font-size:.88rem;font-weight:700;color:var(--color-text-muted);
    border-top:1px solid var(--color-border);margin-top:.35rem;transition:var(--transition-fast)
}
.wptk-sub-continue:hover{color:var(--color-primary)}
.wptk-sub-continue svg{transition:transform .2s ease}
.wptk-sub-continue:hover svg{transform:translateX(3px)}

@media(max-width:480px){
    .wptk-sub-dialog{padding:2rem 1.25rem 1.25rem}
    .wptk-sub-plans{grid-template-columns:1fr}
    .wptk-sub-dialog h3{font-size:1.15rem}
    .wptk-sub-countdown{top:auto;bottom:auto;position:static;margin-bottom:1rem}
}

/* =========================
   21. CONTACT PAGE
   ========================= */
.contact-page{padding:3rem 0 4.5rem}
.contact-container{max-width:1280px}
.contact-header{text-align:center;margin-bottom:2.25rem}
.contact-header h1{font-size:2.15rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin-bottom:.5rem}
.contact-header p{color:var(--color-text-muted);font-size:1rem;margin:0}

.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}
.contact-card{
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);
    padding:1.35rem 1.15rem;text-align:center;box-shadow:var(--shadow-sm)
}
.contact-card-icon{
    width:46px;height:46px;margin:0 auto .75rem;border-radius:50%;
    background:#eff6ff;color:var(--color-primary);
    display:flex;align-items:center;justify-content:center
}
.contact-card h2{font-size:.95rem;font-weight:800;color:var(--color-text);margin:0 0 .3rem}
.contact-card p{font-size:.82rem;color:var(--color-text-muted);margin:0;line-height:1.5;word-break:break-word}
.contact-card a{font-weight:600}

.contact-form-box{
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);
    padding:2.25rem;box-shadow:var(--shadow-sm)
}

.contact-notice{
    display:flex;align-items:center;gap:.7rem;
    border-radius:var(--radius-md);padding:.9rem 1.15rem;margin-bottom:1.5rem;font-size:.9rem
}
.contact-notice p{margin:0}
.contact-notice svg{flex-shrink:0}
.contact-notice-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.contact-notice-success svg{color:#16a34a}
.contact-notice-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.contact-notice-error svg{color:#dc2626}

.contact-hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden}

.contact-fields-row{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:768px){
    .contact-fields-row{grid-template-columns:1fr 1fr;gap:0 1.25rem}
}
.contact-field{margin-bottom:1.25rem}
.contact-field label{display:block;font-weight:700;color:var(--color-text);font-size:.9rem;margin-bottom:.4rem}
.contact-field .required{color:#dc2626}
.contact-field input[type="text"],.contact-field input[type="email"],.contact-field select,.contact-field textarea{
    width:100%;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);
    font-size:.95rem;background:#fff;color:var(--color-text);transition:var(--transition-fast);
    font-family:inherit
}
.contact-field textarea{resize:vertical;min-height:150px;line-height:1.6}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{
    border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(27,84,193,.1)
}

.contact-privacy-check{display:flex;align-items:center;gap:.55rem;margin-bottom:1rem}
.contact-privacy-check input[type="checkbox"]{
    width:19px;height:19px;min-width:19px;appearance:none;-webkit-appearance:none;
    border:2px solid #cbd5e1;border-radius:5px;background:#fff;cursor:pointer;
    margin:0;position:relative;transition:var(--transition-fast)
}
.contact-privacy-check input[type="checkbox"]:hover{border-color:var(--color-primary)}
.contact-privacy-check input[type="checkbox"]:checked{background:var(--color-primary);border-color:var(--color-primary)}
.contact-privacy-check input[type="checkbox"]:checked::after{
    content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
    border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)
}
.contact-privacy-check label{font-size:.88rem;color:var(--color-text);display:flex;align-items:center;gap:.35rem;cursor:pointer}
.contact-privacy-check label svg{color:var(--color-text-muted)}
.contact-privacy-check a{font-weight:600;text-decoration:underline;text-underline-offset:3px}

.contact-privacy-note{font-size:.8rem;color:var(--color-text-muted);line-height:1.65;margin:0 0 1.5rem}

.contact-submit{width:100%;justify-content:center;padding:1rem;font-size:1rem}
.contact-recaptcha-note{font-size:.72rem;color:var(--color-text-muted);text-align:center;margin:1rem 0 0;line-height:1.5}
.contact-recaptcha-note a{text-decoration:underline;text-underline-offset:2px}

/* reCAPTCHA v3: badge oculto (el aviso legal se muestra bajo el formulario) */
.grecaptcha-badge{visibility:hidden!important}

/* =========================
   22. LEGAL PAGES
   ========================= */
.legal-page{padding:3rem 0 4.5rem;background:var(--color-bg-alt)}
.legal-container{max-width:1280px}
.legal-header{margin-bottom:2rem}
.legal-header h1{font-size:2.15rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin-bottom:.4rem}
.legal-updated{font-size:.85rem;color:var(--color-text-muted);margin:0}

.legal-content{
    background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);
    padding:2.5rem 3rem;box-shadow:var(--shadow-sm);max-width:860px
}
.legal-content h2{font-size:1.25rem;font-weight:800;color:var(--color-text);letter-spacing:-.01em;margin:2rem 0 .75rem}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-size:1.02rem;font-weight:700;color:var(--color-text);margin:1.4rem 0 .5rem}
.legal-content p{font-size:.93rem;color:var(--color-text-secondary);line-height:1.75;margin:0 0 .9rem}
.legal-content ul{margin:0 0 1.1rem;padding-left:1.35rem}
.legal-content li{font-size:.93rem;color:var(--color-text-secondary);line-height:1.7;margin-bottom:.35rem}
.legal-content a{color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.legal-content strong{color:var(--color-text)}
.legal-content table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin:0 0 1.25rem;font-size:.88rem}
.legal-content th{text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:var(--color-bg-alt);padding:.7rem 1rem;border-bottom:1px solid var(--color-border)}
.legal-content td{padding:.75rem 1rem;border-bottom:1px solid var(--color-bg-alt);color:var(--color-text-secondary);vertical-align:top;line-height:1.55}
.legal-content tr:last-child td{border-bottom:none}

@media(max-width:640px){
    .legal-page{padding:2rem 0 3rem}
    .legal-header h1{font-size:1.6rem}
    .legal-content{padding:1.5rem 1.25rem}
}

@media(max-width:640px){
    .contact-page{padding:2rem 0 3rem}
    .contact-header h1{font-size:1.6rem}
    .contact-cards{grid-template-columns:1fr;gap:.75rem}
    .contact-form-box{padding:1.5rem 1.25rem}
}

/* =========================
   23. AUTH (LOGIN/REGISTER) + PAYMENT SUCCESS
   ========================= */

/* --- Caja de acceso con pestañas (segmented pills) --- */
.auth-box{padding:0;overflow:hidden}

.auth-tabs{
    display:flex;gap:.5rem;padding:.55rem;
    background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)
}
.auth-tab{
    flex:1;padding:.8rem 1rem;background:transparent;border:none;border-radius:var(--radius-md);
    cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:700;
    color:var(--color-text-muted);transition:var(--transition-fast)
}
.auth-tab:hover{color:var(--color-text)}
.auth-tab:focus{outline:none}
.auth-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}
.auth-tab.is-active{background:#fff;color:var(--color-primary);box-shadow:var(--shadow-sm)}

.auth-panel{display:none;padding:2.25rem}
.auth-panel.is-active{display:block}

/* --- Formulario de login de EDD (alineación Remember Me / Lost Password) --- */
.account-login-box form input[type="checkbox"]{width:auto;margin:0}
.account-login-box form input[type="submit"]{margin-bottom:0}

#edd_login_form fieldset{border:none;padding:0;margin:0}
#edd_login_form legend{
    float:left;width:100%;font-size:1.1rem;font-weight:800;color:var(--color-text);
    letter-spacing:-.01em;margin:0 0 1.25rem;padding:0
}
#edd_login_form p{margin:0 0 1rem}
#edd_login_form p label{display:block;font-size:.9rem;font-weight:600;color:var(--color-text);margin:0 0 .35rem}
#edd_login_form input[type="text"],#edd_login_form input[type="password"],#edd_login_form input[type="email"]{
    width:100%;box-sizing:border-box
}
#edd_login_form .edd-login-remember{margin:0 0 1.25rem}
#edd_login_form .edd-login-remember label{
    display:inline-flex;align-items:center;gap:.5rem;
    font-size:.9rem;font-weight:500;color:var(--color-text-secondary);margin:0;cursor:pointer
}
#edd_login_form .edd-login-remember input[type="checkbox"]{
    width:17px;height:17px;margin:0;padding:0;flex:none;accent-color:var(--color-primary);cursor:pointer
}
#edd_login_form .edd-login-submit{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0}
#edd_login_form .edd-login-submit input[type="submit"]{width:100%;flex:none;min-width:0}
#edd_login_form .edd-lost-password{
    display:block;width:fit-content;margin:.9rem auto 0;font-size:.88rem;font-weight:600;
    color:var(--color-primary);text-decoration:none;white-space:nowrap
}
#edd_login_form .edd-lost-password:hover{text-decoration:underline;text-underline-offset:2px}

/* --- Formulario de registro --- */
.auth-register-form{margin:0}
.auth-field{margin:0 0 1rem}
.auth-field label{display:block;font-size:.9rem;font-weight:600;color:var(--color-text);margin:0 0 .35rem}
.auth-required{color:#dc2626}
.auth-optional{font-weight:400;color:var(--color-text-muted);font-size:.82rem}
.auth-hint{display:block;font-size:.78rem;color:var(--color-text-muted);margin-top:.3rem}
.auth-submit{margin:1.25rem 0 0}
.auth-submit-btn{width:100%;justify-content:center;padding:.95rem;display:inline-flex;align-items:center;gap:.55rem}
.auth-btn-spinner{display:none;width:17px;height:17px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:wptk-btn-spin .7s linear infinite;flex:0 0 auto}
.auth-submit-btn.is-loading{pointer-events:none;opacity:.88;cursor:wait}
.auth-submit-btn.is-loading .auth-btn-spinner{display:inline-block}
@keyframes wptk-btn-spin{to{transform:rotate(360deg)}}
.auth-legal{font-size:.78rem;color:var(--color-text-muted);text-align:center;margin:1rem 0 0;line-height:1.55}
.auth-legal a{color:var(--color-primary);font-weight:600;text-decoration:none}
.auth-legal a:hover{text-decoration:underline;text-underline-offset:2px}

.auth-error{
    display:flex;align-items:flex-start;gap:.5rem;background:#fef2f2;border:1px solid #fecaca;
    color:#b91c1c;border-radius:var(--radius-md);padding:.8rem 1rem;font-size:.88rem;
    font-weight:600;line-height:1.45;margin:0 0 1.25rem
}
.auth-error svg{flex:none;margin-top:.1rem}

/* Honeypot: invisible para humanos */
.wptk-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}

/* --- Avisos de cuenta (plan / bienvenida) --- */
.account-notice-plan{
    max-width:640px;margin:0 auto 1.5rem;display:flex;align-items:flex-start;gap:.65rem;
    background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:var(--radius-lg);
    padding:1rem 1.25rem;font-size:.92rem;line-height:1.55
}
.account-notice-plan svg{flex:none;margin-top:.15rem}
.account-notice-plan p{margin:0}
.account-notice-welcome{
    display:flex;align-items:flex-start;gap:.65rem;background:#f0fdf4;border:1px solid #bbf7d0;
    color:#15803d;border-radius:var(--radius-lg);padding:1rem 1.25rem;font-size:.92rem;
    line-height:1.55;margin-bottom:1.5rem
}
.account-notice-welcome svg{flex:none;margin-top:.15rem}
.account-notice-welcome p{margin:0}

/* =========================
   23b. PAYMENT SUCCESS PAGE
   ========================= */
.payment-success-page{
    padding:4.5rem 0 5.5rem;background:var(--color-bg-alt);
    background-image:radial-gradient(600px 300px at 50% -80px,rgba(27,84,193,.08),transparent)
}
.ps-card{
    max-width:620px;margin:0 auto;background:#fff;border:1px solid var(--color-border);
    border-radius:20px;padding:3.25rem 2.75rem 2.75rem;text-align:center;
    box-shadow:0 20px 50px -20px rgba(15,23,42,.18)
}
.ps-icon{
    width:72px;height:72px;margin:0 auto 1.5rem;border-radius:50%;
    display:flex;align-items:center;justify-content:center
}
.ps-icon-ok{background:#dcfce7;color:#16a34a}
.ps-icon-wait{background:#dbeafe;color:var(--color-primary)}
.ps-icon-info{background:#fef3c7;color:#d97706}
.ps-card h1{font-size:1.75rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin:0 0 .75rem}
.ps-lead{font-size:1rem;color:var(--color-text-secondary);line-height:1.65;margin:0 auto 1.75rem;max-width:44ch}
.ps-lead strong{color:var(--color-text)}
.ps-small{font-size:.82rem;color:var(--color-text-muted);margin:1.25rem 0 0}

.ps-note{
    display:flex;align-items:flex-start;gap:.6rem;text-align:left;
    background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:var(--radius-lg);
    padding:.9rem 1.1rem;font-size:.88rem;line-height:1.55;margin:0 auto 1.75rem;max-width:480px
}
.ps-note svg{flex:none;margin-top:.15rem}
.ps-note p{margin:0}

.ps-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}
.ps-actions .btn{padding:.9rem 1.6rem;font-size:.95rem}
/* btn-outline sobre fondo claro (el estilo base de .btn-outline es para fondos oscuros) */
.ps-actions .btn-outline{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    background:#fff;color:var(--color-primary);border:1.5px solid var(--color-primary);
    border-radius:var(--radius-md);font-weight:700;text-decoration:none;cursor:pointer;
    transition:var(--transition-fast)
}
.ps-actions .btn-outline:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}

/* Barra de progreso animada (estado "confirmando") */
.ps-progress{
    height:6px;background:var(--color-bg-alt);border-radius:99px;overflow:hidden;
    max-width:340px;margin:0 auto
}
.ps-progress span{
    display:block;height:100%;width:40%;border-radius:99px;background:var(--color-primary);
    animation:ps-slide 1.4s ease-in-out infinite
}
@keyframes ps-slide{
    0%{transform:translateX(-100%)}
    100%{transform:translateX(350%)}
}
@media(prefers-reduced-motion:reduce){
    .ps-progress span{animation:none;width:100%}
}

@media(max-width:640px){
    .payment-success-page{padding:2.5rem 0 3.5rem}
    .ps-card{padding:2.25rem 1.5rem 2rem}
    .ps-card h1{font-size:1.4rem}
    .ps-actions .btn{width:100%}
    .auth-panel{padding:1.5rem 1.25rem}
    #edd_login_form .edd-login-submit{flex-direction:column;align-items:stretch}
    #edd_login_form .edd-lost-password{margin:0 auto}
}

/* =========================
   24. PASE DE 3 DÍAS (trial pass)
   ========================= */

/* --- Franja en Club WP (bajo la parrilla de precios) --- */
.trial-pass{
    display:flex;align-items:center;gap:1.25rem;
    max-width:880px;margin:1.75rem auto 0;
    background:#fff;border:1.5px dashed #f59e0b;border-radius:var(--radius-xl);
    padding:1.35rem 1.6rem;box-shadow:var(--shadow-sm)
}
.trial-pass-icon{
    width:52px;height:52px;min-width:52px;border-radius:50%;
    background:#fffbeb;color:#d97706;border:1.5px solid #fde68a;
    display:flex;align-items:center;justify-content:center
}
.trial-pass-text{flex:1;min-width:0}
.trial-pass-text h3{font-size:1.05rem;font-weight:800;color:var(--color-text);letter-spacing:-.01em;margin:0 0 .25rem}
.trial-pass-text p{font-size:.88rem;color:var(--color-text-secondary);line-height:1.55;margin:0}
.trial-pass-text strong{color:#b45309}
.trial-pass-btn{
    display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
    background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-weight:800;font-size:.92rem;
    padding:.85rem 1.5rem;border-radius:var(--radius-md);text-decoration:none;
    box-shadow:0 6px 16px -6px rgba(217,119,6,.55);transition:var(--transition-fast)
}
.trial-pass-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -6px rgba(217,119,6,.6);color:#fff}

/* --- Enlace discreto dentro de la caja de membresía del producto (oscura) --- */
.pmb-trial{
    display:flex;align-items:center;justify-content:center;gap:.45rem;
    margin-top:.7rem;font-size:.8rem;color:#cbd5e1;line-height:1.45;text-align:center;
    padding:.55rem .5rem;border-radius:var(--radius-md);transition:var(--transition-fast)
}
.pmb-trial:hover{background:rgba(255,255,255,.06);color:#fff}
.pmb-trial svg{flex:none;color:#fbbf24}
.pmb-trial strong{color:#fbbf24;font-weight:800}

/* --- Popup "indeciso" (hesitación en producto) --- */
.wptk-trial-modal{display:none;position:fixed;inset:0;z-index:9998;align-items:center;justify-content:center;padding:1.25rem}
.wptk-trial-modal.is-open{display:flex}
.wptk-trial-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.66);backdrop-filter:blur(3px)}
.wptk-trial-dialog{
    position:relative;width:100%;max-width:440px;max-height:calc(100vh - 2.5rem);overflow-y:auto;
    background:#fff;border-radius:var(--radius-xl);border-top:4px solid #f59e0b;
    padding:2.5rem 2rem 1.5rem;text-align:center;
    box-shadow:0 24px 60px rgba(15,23,42,.35);
    animation:wptkSubPop .25s ease-out
}
@media(prefers-reduced-motion:reduce){.wptk-trial-dialog{animation:none}}

.wptk-trial-close{
    position:absolute;top:.8rem;right:.9rem;width:32px;height:32px;
    border:none;border-radius:50%;background:var(--color-bg-alt);
    color:var(--color-text-muted);font-size:1.35rem;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)
}
.wptk-trial-close:hover{background:#fee2e2;color:#dc2626}

.wptk-trial-pill{
    position:absolute;top:.95rem;left:1rem;
    display:inline-flex;align-items:center;
    background:#fffbeb;color:#b45309;border:1px solid #fde68a;
    font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
    padding:.35em .8em;border-radius:999px
}
.wptk-trial-icon{
    width:60px;height:60px;margin:0 auto 1rem;border-radius:50%;
    background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 24px -8px rgba(217,119,6,.6)
}
.wptk-trial-dialog h3{font-size:1.3rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin:0 0 .6rem}
.wptk-trial-text{font-size:.9rem;color:var(--color-text-secondary);line-height:1.65;margin:0 0 1.4rem}
.wptk-trial-text strong{color:var(--color-text)}
.wptk-trial-cta{width:100%;justify-content:center;padding:.95rem;font-size:.95rem}
.wptk-trial-dismiss{
    display:block;width:100%;margin-top:.75rem;padding:.6rem;
    background:none;border:none;cursor:pointer;
    font-size:.84rem;font-weight:600;color:var(--color-text-muted);transition:var(--transition-fast)
}
.wptk-trial-dismiss:hover{color:var(--color-text)}

@media(max-width:640px){
    .trial-pass{flex-direction:column;text-align:center;padding:1.5rem 1.25rem;gap:1rem}
    .trial-pass-btn{width:100%}
}
@media(max-width:480px){
    .wptk-trial-dialog{padding:2.5rem 1.25rem 1.25rem}
    .wptk-trial-dialog h3{font-size:1.12rem}
    .wptk-trial-pill{position:static;margin-bottom:1rem}
}

/* Enlace al pase de 3 días dentro del popup de membresía */
.wptk-sub-trial{
    display:block;text-align:center;font-size:.84rem;color:var(--color-text-secondary);
    line-height:1.5;margin:0 0 .35rem;text-decoration:none;transition:var(--transition-fast)
}
.wptk-sub-trial:hover{color:var(--color-text)}
.wptk-sub-trial strong{color:#b45309;font-weight:800}

/* =========================
   25. VERIFIED FILE (SHA-256 + VirusTotal)
   ========================= */
.verified-file{
    background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-xl);
    padding:1.75rem 2rem;margin:2.5rem 0;box-shadow:var(--shadow-sm)
}

.vf-head{display:flex;align-items:center;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid #bbf7d0}
.vf-badge{
    width:52px;height:52px;min-width:52px;border-radius:14px;
    background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0;
    display:flex;align-items:center;justify-content:center
}
.vf-head-text{flex:1;min-width:0}
.vf-head-text h3{font-size:1.12rem;font-weight:800;color:#15803d;letter-spacing:-.01em;margin:0 0 .2rem}
.vf-head-text p{font-size:.86rem;color:#4b7a5f;line-height:1.5;margin:0}

.vf-score{
    width:68px;height:68px;min-width:68px;border-radius:50%;
    border:4px solid #16a34a;color:#15803d;text-decoration:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:1px;
    font-weight:800;background:#fff;transition:var(--transition-fast)
}
.vf-score:hover{background:#dcfce7;transform:scale(1.05)}
.vf-score strong{font-size:1.3rem;line-height:1}
.vf-score span{font-size:.85rem;font-weight:700;opacity:.75}
.vf-score-check{border-color:#16a34a;background:#dcfce7}

.vf-analysis{padding:1.1rem 0 0}
.vf-engines-line{font-size:1rem;color:#15803d;margin:0 0 .35rem}
.vf-engines-names{font-size:.92rem;color:#3f6b52;margin:0}
.vf-engines-names strong{color:#1e293b}

.vf-file{margin-top:1.35rem}
.vf-file-name{font-size:.86rem;color:var(--color-text-muted);margin:0 0 .65rem}
.vf-file-name strong{color:var(--color-text);font-weight:700}
.vf-file-size{color:var(--color-text-muted);font-weight:400}

.vf-hash-row{
    display:flex;align-items:center;gap:.8rem;
    background:#eef2f6;border:1px solid #dbe5ec;border-radius:var(--radius-md);
    padding:.85rem 1rem
}
.vf-hash-label{
    flex:none;background:#334155;color:#fff;font-size:.64rem;font-weight:800;
    letter-spacing:.07em;padding:.4em .75em;border-radius:6px
}
.vf-hash-value{
    flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:.85rem;color:#334155;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.vf-hash-copy{
    flex:none;width:34px;height:34px;border:1px solid var(--color-border);border-radius:8px;
    background:var(--color-bg-alt);color:var(--color-text-muted);cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)
}
.vf-hash-copy:hover{border-color:#16a34a;color:#16a34a;background:#f0fdf4}
.vf-hash-copy.is-copied{border-color:#16a34a;color:#16a34a;background:#dcfce7}

.vf-footer{font-size:.8rem;color:#4b7a5f;margin:.85rem 0 0}
.vf-footer a{color:var(--color-primary);font-weight:700;text-decoration:none}
.vf-footer a:hover{text-decoration:underline;text-underline-offset:2px}

@media(max-width:640px){
    .verified-file{padding:1.25rem 1.15rem;margin:2rem 0}
    .vf-head{gap:.75rem}
    .vf-badge{width:44px;height:44px;min-width:44px}
    .vf-score{width:58px;height:58px;min-width:58px;border-width:3px}
    .vf-score strong{font-size:1.05rem}
    .vf-hash-row{gap:.5rem;padding:.7rem .75rem}
}

/* =========================
   26. PASSWORD METER + CHECKOUT AUTH MODAL
   ========================= */

/* --- Campo de contraseña con ojo --- */
.auth-pass-wrap{position:relative;display:block}
.auth-pass-wrap input{width:100%;padding-right:2.9rem!important;margin-bottom:0!important;box-sizing:border-box}
.auth-pass-toggle{
    position:absolute;right:.55rem;top:50%;transform:translateY(-50%);
    width:34px;height:34px;border:none;background:transparent;color:var(--color-text-muted);
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    border-radius:8px;transition:var(--transition-fast)
}
.auth-pass-toggle:hover{color:var(--color-primary);background:var(--color-bg-alt)}
.auth-pass-toggle:focus{outline:none}

/* --- Barra de fortaleza --- */
.auth-meter{display:block;height:6px;background:#e2e8f0;border-radius:99px;margin-top:.55rem;overflow:hidden}
.auth-meter-bar{
    display:block;height:100%;width:0;background:#dc2626;border-radius:99px;
    transition:width .25s ease,background .25s ease
}
.auth-meter-text{margin-top:.35rem;transition:color .2s}
.auth-match-text.is-ok{color:#16a34a;font-weight:600}
.auth-match-text.is-bad{color:#dc2626;font-weight:600}

/* --- Popup login/registro sobre el checkout --- */
.wptk-checkout-auth-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:1.25rem}
.wptk-checkout-auth-modal.is-open{display:flex}
.wptk-checkout-auth-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.66);backdrop-filter:blur(3px)}
.wptk-checkout-auth-dialog{
    position:relative;width:100%;max-width:500px;max-height:calc(100vh - 2.5rem);overflow-y:auto;
    background:#fff;border-radius:var(--radius-xl);padding:2rem 2rem 1.5rem;
    box-shadow:0 24px 60px rgba(15,23,42,.35);animation:wptkSubPop .25s ease-out
}
@media(prefers-reduced-motion:reduce){.wptk-checkout-auth-dialog{animation:none}}
.wptk-checkout-auth-close{
    position:absolute;top:.8rem;right:.9rem;width:32px;height:32px;z-index:2;
    border:none;border-radius:50%;background:var(--color-bg-alt);
    color:var(--color-text-muted);font-size:1.35rem;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)
}
.wptk-checkout-auth-close:hover{background:#fee2e2;color:#dc2626}
.wptk-checkout-auth-heading{
    font-size:1.3rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;
    text-align:center;margin:0 0 .35rem;padding:0 2rem
}
.wptk-checkout-auth-sub{text-align:center;color:var(--color-text-muted);font-size:.9rem;margin:0 0 1.5rem}
.wptk-checkout-auth-modal .auth-box{border:none;box-shadow:none;padding:0}
.wptk-checkout-auth-modal .auth-tabs{border:1px solid var(--color-border);border-radius:var(--radius-md)}
.wptk-checkout-auth-modal .auth-panel{padding:1.5rem 0 .25rem}
.wptk-checkout-auth-modal .auth-legal{margin-bottom:.25rem}

@media(max-width:520px){
    .wptk-checkout-auth-dialog{padding:1.75rem 1.1rem 1.25rem}
    .wptk-checkout-auth-heading{font-size:1.15rem}
}

/* ========================================
   27. SEO: compartir, footer resources y contenido home
   ======================================== */

/* Botones de compartir (ficha de producto) */
.share-box{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}
.share-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--color-text);margin-right:.25rem}
.share-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #e2e8f0;color:#475569;cursor:pointer;transition:all .18s ease;padding:0}
.share-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-2px)}
.share-copied{display:none;font-size:.8rem;font-weight:600;color:#16a34a;margin-left:.35rem}
.share-copied.is-visible{display:inline-block}

/* Enlaces externos del footer */
.footer-resources{margin:.35rem 0 0;font-size:.8rem;color:var(--color-text-muted)}
.footer-resources a{color:var(--color-text-muted);text-decoration:none;margin:0 .15rem}
.footer-resources a:hover{color:var(--color-primary);text-decoration:underline}

/* Contenido SEO de la portada */
.seo-content{padding:0 0 4rem}
.seo-content-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2.5rem 2.75rem;max-width:900px;margin:0 auto}
.seo-content-box h2{font-size:1.6rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin:0 0 1rem;line-height:1.3}
.seo-content-box h3{font-size:1.15rem;font-weight:700;color:var(--color-text);margin:1.75rem 0 .5rem}
.seo-content-box p{font-size:.95rem;line-height:1.75;color:#475569;margin:0 0 1rem}
@media (max-width:640px){.seo-content-box{padding:1.75rem 1.35rem}.seo-content-box h2{font-size:1.3rem}}
