/* =============================================
   WIN MANAGER PERÚ v3.1 — DISEÑO MEJORADO
   ============================================= */
:root {
    --wm-primary: #1E40AF;
    --wm-primary-dark: #1E3A8A;
    --wm-primary-light: #DBEAFE;
    --wm-secondary: #059669;
    --wm-accent: #F59E0B;
    --wm-cta: #059669;
    --wm-cta-dark: #047857;
    --wm-whatsapp: #25D366;
    --wm-whatsapp-dark: #128C7E;
    --wm-dark: #0F172A;
    --wm-gray: #475569;
    --wm-gray-light: #94A3B8;
    --wm-light: #F8FAFC;
    --wm-border: #E2E8F0;
    --wm-white: #FFFFFF;
    --wm-danger: #DC2626;
    --wm-radius: 16px;
    --wm-radius-sm: 10px;
    --wm-shadow: 0 1px 3px rgba(0,0,0,0.08);
    --wm-shadow-md: 0 4px 12px rgba(0,0,0,0.08);
    --wm-shadow-lg: 0 10px 25px rgba(0,0,0,0.1);
    --wm-shadow-xl: 0 20px 40px rgba(0,0,0,0.12);
    --wm-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* BASE TYPOGRAPHY — Contraste fuerte */
body { color: var(--wm-dark); }
h1, h2, h3, h4 { color: var(--wm-dark); font-weight: 800; }
p { color: var(--wm-gray); line-height: 1.7; }

/* =============================================
   BOTONES
   ============================================= */
.wm-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 20px; border:none; border-radius:var(--wm-radius-sm); font-size:14px; font-weight:700; cursor:pointer; transition:var(--wm-transition); text-decoration:none!important; line-height:1.5; white-space:nowrap; }
.wm-btn-primary { background:linear-gradient(135deg,var(--wm-primary),var(--wm-primary-dark)); color:#fff!important; }
.wm-btn-primary:hover { background:linear-gradient(135deg,var(--wm-primary-dark),#172554); transform:translateY(-2px); box-shadow:0 8px 24px rgba(30,64,175,0.35); color:#fff!important; }
.wm-btn-float { box-shadow:0 6px 20px rgba(30,64,175,0.35)!important; }
.wm-btn-float:hover { transform:translateY(-3px)!important; box-shadow:0 12px 32px rgba(30,64,175,0.4)!important; }
.wm-btn-outline { background:transparent; color:var(--wm-primary); border:2px solid var(--wm-primary); }
.wm-btn-outline:hover { background:var(--wm-primary); color:#fff!important; transform:translateY(-2px); }
.wm-btn-ghost { background:transparent; color:var(--wm-gray); }
.wm-btn-ghost:hover { background:var(--wm-light); color:var(--wm-dark); }
.wm-btn-whatsapp { background:linear-gradient(135deg,#25D366,#128C7E); color:#fff!important; padding:14px 20px; border-radius:50px; font-size:14px; width:100%; text-align:center; box-shadow:0 4px 14px rgba(37,211,102,0.3); display:flex; justify-content:center; align-items:center; white-space:nowrap; }
.wm-btn-whatsapp:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(37,211,102,0.4); color:#fff!important; }
.wm-btn-full { width:100%; }
.wm-btn-lg { padding:14px 28px; font-size:16px; }
.wm-btn-sm { padding:6px 12px; font-size:12px; }
.wm-btn-share { background:linear-gradient(135deg,#F59E0B,#D97706); color:#fff!important; box-shadow:0 4px 14px rgba(245,158,11,0.3); }
.wm-btn-share:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(245,158,11,0.4); color:#fff!important; }
.wm-btn-glass { background:rgba(255,255,255,0.2); color:#fff!important; border:2px solid rgba(255,255,255,0.4); backdrop-filter:blur(8px); }
.wm-btn-glass:hover { background:rgba(255,255,255,0.35); color:#fff!important; transform:translateY(-2px); }

/* ==============================================
   ★ BOTÓN CTA HERO — PRUEBA GRATIS (GRANDE) ★
   ============================================== */
.wm-btn-cta-hero {
    display:inline-block!important;
    background:linear-gradient(135deg,#059669,#10B981)!important;
    color:#fff!important;
    font-size:20px!important;
    font-weight:900!important;
    padding:22px 52px!important;
    border-radius:60px!important;
    border:none!important;
    cursor:pointer!important;
    text-decoration:none!important;
    text-transform:uppercase!important;
    letter-spacing:1.5px!important;
    box-shadow:0 8px 30px rgba(5,150,105,0.4), 0 0 0 4px rgba(5,150,105,0.15)!important;
    transition:all 0.3s ease!important;
    text-align:center!important;
    white-space:nowrap!important;
    line-height:1.4!important;
}
.wm-btn-cta-hero:hover {
    transform:translateY(-4px)!important;
    box-shadow:0 14px 40px rgba(5,150,105,0.5), 0 0 0 6px rgba(5,150,105,0.2)!important;
    background:linear-gradient(135deg,#047857,#059669)!important;
    color:#fff!important;
}
.wm-btn-cta-hero:active {
    transform:translateY(-1px)!important;
}

/* =============================================
   BUSCADOR
   ============================================= */
.wm-search-section { max-width:900px; margin:0 auto; padding:40px 20px; }
.wm-search-hero { text-align:center; margin-bottom:30px; }
.wm-search-hero h2 { font-size:32px; color:var(--wm-dark); margin-bottom:10px; font-weight:800; }
.wm-search-hero p { font-size:16px; color:var(--wm-gray); }
.wm-search-bar { display:flex; background:#fff; border-radius:60px; box-shadow:var(--wm-shadow-lg); border:2px solid var(--wm-border); overflow:hidden; transition:var(--wm-transition); }
.wm-search-bar:focus-within { border-color:var(--wm-primary); box-shadow:0 0 0 4px rgba(30,64,175,0.1),var(--wm-shadow-lg); }
.wm-search-input { flex:1; border:none; padding:16px 24px; font-size:15px; outline:none; background:transparent; color:var(--wm-dark); min-width:0; }
.wm-search-select { border:none; padding:12px 16px; font-size:13px; color:var(--wm-gray); border-left:1px solid var(--wm-border); background:transparent; cursor:pointer; outline:none; max-width:180px; }
.wm-search-btn { background:var(--wm-primary); color:#fff; border:none; padding:16px 28px; font-weight:700; font-size:14px; cursor:pointer; transition:var(--wm-transition); white-space:nowrap; }
.wm-search-btn:hover { background:var(--wm-primary-dark); }

/* =============================================
   RESULTADOS / CARDS
   ============================================= */
.wm-results-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px; }
.wm-result-card { background:#fff; border-radius:var(--wm-radius); overflow:hidden; box-shadow:var(--wm-shadow-md); transition:var(--wm-transition); text-decoration:none!important; color:inherit; border:1px solid var(--wm-border); }
.wm-result-card:hover { transform:translateY(-6px); box-shadow:var(--wm-shadow-xl); border-color:#CBD5E1; }
.wm-result-cover { position:relative; height:160px; background:#F1F5F9; overflow:hidden; }
.wm-result-cover img { width:100%; height:100%; object-fit:cover; }
.wm-result-cover-placeholder { width:100%; height:100%; background:linear-gradient(135deg,#E2E8F0,#F1F5F9); }
.wm-result-verified-badge { position:absolute; top:10px; right:10px; background:rgba(5,150,105,0.9); color:#fff; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:700; backdrop-filter:blur(4px); }
.wm-result-premium-badge { position:absolute; bottom:10px; right:10px; background:rgba(245,158,11,0.9); color:#fff; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:700; }
.wm-result-cat-badge { position:absolute; top:10px; left:10px; background:rgba(30,64,175,0.85); color:#fff; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:600; }
.wm-result-body { padding:18px; }
.wm-result-body-top { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.wm-result-logo { width:44px; height:44px; border-radius:12px; object-fit:cover; box-shadow:var(--wm-shadow); border:2px solid #fff; flex-shrink:0; }
.wm-result-body-top h4 { font-size:15px; font-weight:800; color:var(--wm-dark); margin:0; }
.wm-result-city { font-size:12px; color:var(--wm-gray-light); }
.wm-result-slogan { font-size:13px; color:var(--wm-gray); margin:0 0 10px 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.wm-result-footer { display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--wm-gray-light); border-top:1px solid var(--wm-border); padding-top:10px; }
.wm-result-rating { font-weight:700; color:var(--wm-dark); }

/* =============================================
   LANDING — CTA PRUEBA GRATIS (Sección centrada)
   ============================================= */
.wm-cta-prueba-section { padding:60px 20px 40px; }
.wm-cta-prueba-card {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:24px;
    background:linear-gradient(135deg,#064E3B,#065F46);
    border-radius:28px;
    padding:50px 40px;
    max-width:900px;
    margin:0 auto;
}
.wm-cta-prueba-text h2 { font-size:28px; color:#fff; margin-bottom:10px; line-height:1.3; }
.wm-cta-prueba-text p { font-size:17px; color:#A7F3D0; margin:0; max-width:550px; line-height:1.6; }

/* =============================================
   PRICING — Hero y CTAs
   ============================================= */
.wm-pricing-section { max-width:1100px; margin:0 auto; padding:0 20px; }
.wm-pricing-hero {
    text-align:center;
    padding:50px 30px 40px;
    margin-bottom:40px;
    background:linear-gradient(135deg,#0F172A,#1E293B);
    border-radius:28px;
    color:#fff;
}
.wm-pricing-hero h2 { font-size:32px; color:#fff!important; margin-bottom:10px; }
.wm-pricing-hero p { font-size:17px; color:#CBD5E1; margin-bottom:28px; }
.wm-pricing-hero-sub { display:block; margin-top:18px; font-size:14px; color:#94A3B8; }

.wm-pricing-header { text-align:center; margin-bottom:40px; }
.wm-pricing-header h2 { font-size:32px; }
.wm-pricing-header p { font-size:16px; color:var(--wm-gray); }

.wm-pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:40px; }
.wm-pricing-4col { grid-template-columns:repeat(4,1fr); }
.wm-pricing-card { background:#fff; border-radius:20px; padding:32px 28px; box-shadow:var(--wm-shadow-md); border:2px solid var(--wm-border); position:relative; transition:var(--wm-transition); }
.wm-pricing-card:hover { transform:translateY(-4px); box-shadow:var(--wm-shadow-xl); }
.wm-pricing-popular { border-color:var(--wm-primary); box-shadow:0 8px 30px rgba(30,64,175,0.15); }
.wm-pricing-popular-badge { position:absolute; top:-16px; left:50%; transform:translateX(-50%); background:var(--wm-primary); color:#fff; padding:6px 20px; border-radius:50px; font-size:13px; font-weight:700; white-space:nowrap; }
.wm-pricing-card-header { text-align:center; margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid var(--wm-border); }
.wm-pricing-icon { font-size:40px; display:block; margin-bottom:10px; }
.wm-pricing-card-header h3 { font-size:20px; color:var(--wm-dark); margin-bottom:12px; }
.wm-pricing-amount { display:flex; align-items:baseline; justify-content:center; gap:2px; }
.wm-pricing-currency { font-size:18px; color:var(--wm-gray); font-weight:700; }
.wm-pricing-number { font-size:52px; font-weight:900; color:var(--wm-dark); line-height:1; }
.wm-pricing-per { font-size:16px; color:var(--wm-gray); font-weight:600; }
.wm-pricing-period { font-size:14px; color:var(--wm-gray); margin-top:6px; }
.wm-pricing-daily { font-size:12px; color:var(--wm-primary); margin-top:8px; background:var(--wm-primary-light); padding:6px 12px; border-radius:8px; }
.wm-pricing-features { list-style:none; padding:0; margin:0 0 24px 0; }
.wm-pricing-features li { padding:8px 0; font-size:14px; color:var(--wm-dark); border-bottom:1px solid #F1F5F9; }
.wm-feature-disabled { color:var(--wm-gray-light); }

/* PRICING: Mid & Final CTAs */
.wm-pricing-cta-mid {
    text-align:center;
    padding:44px 24px;
    margin:40px 0;
    background:linear-gradient(135deg,var(--wm-primary-light),#FFFFFF);
    border-radius:24px;
    border:2px solid var(--wm-border);
}
.wm-pricing-cta-mid p { font-size:17px; color:var(--wm-primary); margin-bottom:20px; font-weight:700; }

.wm-pricing-cta-final {
    text-align:center;
    padding:50px 30px;
    margin-top:40px;
    background:linear-gradient(135deg,var(--wm-primary),var(--wm-primary-hover));
    border-radius:28px;
}
.wm-pricing-cta-final h3 { font-size:26px; color:#fff!important; margin-bottom:10px; }
.wm-pricing-cta-final p { font-size:16px; color:#E0F2FE; margin-bottom:24px; }


/* =============================================
   WIN VIRAL
   ============================================= */
.wm-winviral-section { margin:40px 0; padding:50px 36px; background:linear-gradient(135deg,#0F172A,#1E293B); border-radius:28px; color:#fff; }
.wm-winviral-header { text-align:center; margin-bottom:40px; }
.wm-winviral-badge { display:inline-block; background:rgba(245,158,11,0.2); color:#FBBF24; padding:6px 16px; border-radius:50px; font-size:12px; font-weight:800; letter-spacing:1px; margin-bottom:16px; }
.wm-winviral-header h2 { font-size:28px; color:#fff!important; }
.wm-winviral-header p { font-size:16px; color:#94A3B8; max-width:600px; margin:12px auto 0; }
.wm-winviral-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.wm-winviral-card { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:20px; padding:28px; transition:var(--wm-transition); }
.wm-winviral-card:hover { background:rgba(255,255,255,0.1); transform:translateY(-2px); }
.wm-wv-icon { font-size:32px; display:block; margin-bottom:12px; }
.wm-winviral-card h4 { font-size:16px; color:#fff; margin-bottom:8px; }
.wm-winviral-card p { font-size:13px; color:#94A3B8; margin:0; line-height:1.6; }

/* SORTEOS */
.wm-sorteos-section { margin-top:40px; text-align:center; }
.wm-sorteos-section h3 { font-size:24px; color:#fff!important; margin-bottom:8px; }
.wm-sorteos-desc { color:#94A3B8; margin-bottom:24px; }
.wm-sorteos-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:700px; margin:0 auto 30px; }
.wm-sorteo-card { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:20px; padding:28px; }
.wm-sorteo-anual { border-color:rgba(245,158,11,0.4); background:rgba(245,158,11,0.08); }
.wm-sorteo-freq { font-size:13px; color:#94A3B8; margin-bottom:8px; }
.wm-sorteo-total { font-size:36px; font-weight:900; color:#fff; }
.wm-sorteo-prizes { display:flex; flex-direction:column; gap:4px; margin-top:12px; }
.wm-prize { font-size:14px; color:#CBD5E1; }
.wm-sorteo-rules { margin-top:30px; }
.wm-sorteo-rules h4 { font-size:16px; color:#fff; margin-bottom:16px; }
.wm-rules-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; max-width:600px; margin:0 auto; }
.wm-rule { font-size:13px; color:#CBD5E1; text-align:left; padding:8px 12px; background:rgba(255,255,255,0.04); border-radius:10px; }

/* =============================================
   FAQ
   ============================================= */
.wm-pricing-faq { margin:40px 0; }
.wm-pricing-faq h3 { text-align:center; font-size:24px; margin-bottom:24px; }
.wm-faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.wm-faq-item { background:#fff; border-radius:16px; padding:24px; box-shadow:var(--wm-shadow); border:1px solid var(--wm-border); transition:var(--wm-transition); }
.wm-faq-item:hover { box-shadow:var(--wm-shadow-md); }
.wm-faq-item h4 { font-size:15px; color:var(--wm-dark); margin-bottom:8px; }
.wm-faq-item p { font-size:13px; color:var(--wm-gray); margin:0; line-height:1.6; }

/* =============================================
   CATÁLOGO SHORTCODE
   ============================================= */
.wm-catalogo-section { max-width:1100px; margin:0 auto; }
.wm-catalogo-header { text-align:center; margin-bottom:30px; }
.wm-catalogo-header h2 { font-size:26px; }
.wm-catalogo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
.wm-producto-card { background:#fff; border-radius:var(--wm-radius); overflow:hidden; box-shadow:var(--wm-shadow-md); border:1px solid var(--wm-border); transition:var(--wm-transition); }
.wm-producto-card:hover { transform:translateY(-4px); box-shadow:var(--wm-shadow-lg); }
.wm-producto-img { width:100%; height:180px; object-fit:cover; background:#F1F5F9; }
.wm-producto-body { padding:16px; }
.wm-producto-body h4 { font-size:14px; font-weight:800; color:var(--wm-dark); margin-bottom:6px; }
.wm-producto-body p { font-size:12px; color:var(--wm-gray); margin-bottom:8px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.wm-producto-precio { font-size:18px; font-weight:900; color:var(--wm-primary); }
.wm-producto-precio-oferta { font-size:13px; text-decoration:line-through; color:var(--wm-gray-light); margin-left:6px; }
.wm-producto-tipo { display:inline-block; background:var(--wm-primary-light); color:var(--wm-primary); padding:2px 8px; border-radius:6px; font-size:10px; font-weight:700; text-transform:uppercase; margin-bottom:6px; }
.wm-producto-no-disponible { opacity:0.5; }
.wm-producto-badge { position:absolute; top:10px; left:10px; background:var(--wm-danger); color:#fff; padding:3px 8px; border-radius:6px; font-size:10px; font-weight:700; }
.wm-catalogo-empty { text-align:center; padding:40px; color:var(--wm-gray-light); }

/* =============================================
   REVIEWS
   ============================================= */
.wm-reviews-section { max-width:800px; margin:0 auto; }
.wm-reviews-header { text-align:center; margin-bottom:24px; }
.wm-review-item { background:#fff; border-radius:var(--wm-radius); padding:20px; box-shadow:var(--wm-shadow); margin-bottom:16px; border:1px solid var(--wm-border); }
.wm-review-top { display:flex; justify-content:space-between; margin-bottom:8px; }
.wm-review-author { font-weight:700; color:var(--wm-dark); font-size:14px; }
.wm-review-date { font-size:12px; color:var(--wm-gray-light); }
.wm-review-stars { font-size:16px; margin-bottom:6px; }
.wm-review-text { font-size:14px; color:var(--wm-gray); }
.wm-review-form { background:#fff; border-radius:var(--wm-radius); padding:24px; box-shadow:var(--wm-shadow); border:1px solid var(--wm-border); margin-top:20px; }
.wm-star-select { cursor:pointer; font-size:28px; filter:grayscale(100%); transition:var(--wm-transition); }
.wm-star-select:hover, .wm-star-select.active { filter:grayscale(0%); }

/* =============================================
   REGISTRO
   ============================================= */
.wm-registro-wrapper { max-width:700px; margin:0 auto; padding:20px; }
.wm-registro-box { background:#fff; border-radius:24px; box-shadow:var(--wm-shadow-lg); padding:40px; border:1px solid var(--wm-border); }
.wm-registro-header { text-align:center; margin-bottom:30px; }
.wm-registro-header h2 { font-size:26px; color:var(--wm-dark); margin-bottom:8px; }
.wm-registro-header p { font-size:15px; color:var(--wm-gray); }
.wm-registro-form h4 { font-size:16px; color:var(--wm-dark); margin-bottom:16px; padding-bottom:8px; border-bottom:2px solid var(--wm-border); }
.wm-form-group { margin-bottom:18px; }
.wm-form-group label { display:block; font-size:13px; font-weight:700; color:var(--wm-dark); margin-bottom:6px; }
.wm-form-group input, .wm-form-group select, .wm-form-group textarea {
    width:100%; padding:12px 16px; border:2px solid var(--wm-border); border-radius:var(--wm-radius-sm);
    font-size:14px; color:var(--wm-dark); transition:var(--wm-transition); background:#fff; box-sizing:border-box;
}
.wm-form-group input:focus, .wm-form-group select:focus, .wm-form-group textarea:focus { border-color:var(--wm-primary); box-shadow:0 0 0 3px rgba(30,64,175,0.1); outline:none; }
.wm-form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* PLAN SELECTOR */
.wm-plan-selector { display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.wm-plan-option { cursor:pointer; }
.wm-plan-option input { display:none; }
.wm-plan-option-card { border:2px solid var(--wm-border); border-radius:var(--wm-radius); padding:16px 20px; transition:var(--wm-transition); }
.wm-plan-option-card:hover { border-color:#CBD5E1; }
.wm-plan-option input:checked + .wm-plan-option-card { border-color:var(--wm-primary); background:var(--wm-primary-light); }
.wm-plan-option-card strong { font-size:15px; color:var(--wm-dark); display:block; }
.wm-plan-price { font-size:14px; color:var(--wm-primary); font-weight:700; }
.wm-plan-option-card small { font-size:12px; color:var(--wm-gray); display:block; margin-top:2px; }

.wm-registro-advisor-note { text-align:center; margin-top:14px; }
.wm-registro-advisor-note p { font-size:13px; color:var(--wm-gray); }
.wm-btn-registro-wa { background:linear-gradient(135deg,#25D366,#128C7E); color:#fff!important; width:100%; }

/* ALERTS */
.wm-alert { padding:14px 20px; border-radius:var(--wm-radius-sm); font-size:14px; margin-bottom:16px; }
.wm-alert-error { background:#FEF2F2; color:#991B1B; border:1px solid #FECACA; }
.wm-alert-success { background:#F0FDF4; color:#166534; border:1px solid #BBF7D0; }
.wm-alert-info { background:var(--wm-primary-light); color:var(--wm-primary); border:1px solid #93C5FD; }
.wm-alert a { color:inherit; font-weight:700; text-decoration:underline; }

/* =============================================
   NEGOCIO SINGLE PAGE
   ============================================= */
.wm-negocio-banner { width:100%; max-height:340px; overflow:hidden; background:#F1F5F9; }
.wm-negocio-banner img { width:100%; max-height:340px; object-fit:cover; }
.wm-negocio-header { max-width:1100px; margin:-50px auto 0; padding:0 20px; position:relative; z-index:2; }
.wm-negocio-header-card { display:flex; align-items:flex-end; gap:24px; background:#fff; border-radius:20px; padding:28px; box-shadow:var(--wm-shadow-lg); border:1px solid var(--wm-border); }
.wm-negocio-logo { width:100px; height:100px; border-radius:20px; overflow:hidden; box-shadow:var(--wm-shadow-md); flex-shrink:0; background:#fff; border:3px solid #fff; }
.wm-negocio-logo img { width:100%; height:100%; object-fit:cover; }
.wm-negocio-title h1 { font-size:26px; margin:0 0 4px 0; }
.wm-negocio-slogan { font-size:14px; color:var(--wm-gray); margin:0 0 8px 0; }
.wm-negocio-cats span { display:inline-block; background:var(--wm-primary-light); color:var(--wm-primary); padding:3px 10px; border-radius:6px; font-size:11px; font-weight:700; margin-right:6px; text-transform:uppercase; }
.wm-negocio-rating { font-size:14px; color:var(--wm-dark); font-weight:700; margin-top:6px; }
.wm-negocio-rating small { color:var(--wm-gray-light); font-weight:400; }
.wm-verified-badge { display:inline-flex; align-items:center; gap:4px; background:var(--wm-secondary); color:#fff; padding:2px 10px; border-radius:50px; font-size:11px; font-weight:700; vertical-align:middle; margin-left:8px; }
.wm-negocio-body { max-width:1100px; margin:30px auto 60px; padding:0 20px; display:grid; grid-template-columns:1fr 360px; gap:30px; }
.wm-negocio-about { background:#fff; border-radius:var(--wm-radius); padding:28px; box-shadow:var(--wm-shadow); border:1px solid var(--wm-border); }
.wm-negocio-about h2 { font-size:20px; margin-bottom:14px; }
.wm-negocio-sidebar { display:flex; flex-direction:column; gap:20px; }
.wm-negocio-info-card { background:#fff; border-radius:var(--wm-radius); padding:24px; box-shadow:var(--wm-shadow); border:1px solid var(--wm-border); }
.wm-negocio-info-card h3 { font-size:16px; margin-bottom:16px; }
.wm-info-item { display:flex; align-items:flex-start; gap:12px; padding:10px 0; border-bottom:1px solid #F1F5F9; }
.wm-info-icon { font-size:18px; flex-shrink:0; }
.wm-info-text { font-size:14px; color:var(--wm-gray); }
.wm-info-text a { color:var(--wm-primary); text-decoration:none; font-weight:600; }
.wm-info-text a:hover { text-decoration:underline; }
.wm-negocio-social { display:flex; gap:10px; margin-top:16px; padding-top:12px; border-top:1px solid #F1F5F9; }
.wm-social-link { font-size:24px; text-decoration:none; transition:var(--wm-transition); }
.wm-social-link:hover { transform:scale(1.2); }
.wm-negocio-cta { background:#fff; border-radius:var(--wm-radius); padding:24px; box-shadow:var(--wm-shadow); border:1px solid var(--wm-border); text-align:center; }
.wm-negocio-cta p { font-size:14px; color:var(--wm-gray); margin-bottom:12px; }

/* =============================================
   SUSCRIPCIÓN (Dashboard)
   ============================================= */
.wm-sub-widget { display:flex; align-items:center; gap:16px; padding:20px 24px; border-radius:var(--wm-radius); margin-bottom:20px; border:2px solid; flex-wrap:wrap; }
.wm-sub-widget-activo { background:linear-gradient(135deg,#F0FDF4,#DCFCE7); border-color:#BBF7D0; }
.wm-sub-widget-vencido { background:linear-gradient(135deg,#FEF2F2,#FEE2E2); border-color:#FECACA; }
.wm-sub-widget-icon { font-size:32px; flex-shrink:0; }
.wm-sub-widget-info { flex:1; min-width:200px; }
.wm-sub-widget-label { display:block; font-size:13px; color:var(--wm-gray); font-weight:600; }
.wm-sub-widget-date { display:block; font-size:20px; font-weight:900; color:var(--wm-dark); margin:2px 0; }
.wm-sub-widget-days { display:block; font-size:12px; color:var(--wm-gray); }
.wm-sub-expired-text { color:var(--wm-danger)!important; font-weight:800!important; font-size:16px!important; }

.wm-expired-alert { display:flex; align-items:center; gap:16px; padding:20px 24px; background:#FEF2F2; border:2px solid #FECACA; border-radius:var(--wm-radius); margin-bottom:20px; flex-wrap:wrap; }
.wm-expired-alert-icon { font-size:36px; flex-shrink:0; }
.wm-expired-alert-info { flex:1; min-width:200px; }
.wm-expired-alert-info strong { display:block; font-size:16px; color:#991B1B; margin-bottom:4px; }
.wm-expired-alert-info p { margin:0; font-size:13px; color:#7F1D1D; }

.wm-btn-disabled-wa { background:#CBD5E1!important; color:#94A3B8!important; cursor:not-allowed!important; padding:10px 14px; font-size:12px; border-radius:8px; border:none; width:100%; text-align:center; font-weight:700; box-shadow:none!important; }
.wm-disabled-action { opacity:0.35; pointer-events:none; }

/* Payment Modal */
.wm-modal-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.5); display:flex; align-items:center; justify-content:center; z-index:9999; padding:20px; backdrop-filter:blur(4px); }
.wm-modal { background:#fff; border-radius:24px; max-width:600px; width:100%; max-height:90vh; overflow-y:auto; box-shadow:var(--wm-shadow-xl); }
.wm-modal-header { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--wm-border); }
.wm-modal-header h3 { font-size:18px; margin:0; }
.wm-modal-close { background:none; border:none; font-size:24px; cursor:pointer; color:var(--wm-gray); padding:4px 8px; border-radius:8px; }
.wm-modal-close:hover { background:#F1F5F9; }
.wm-modal-payment { max-width:500px; }
.wm-payment-body { padding:24px 28px; }
.wm-payment-intro { font-size:14px; color:var(--wm-gray); margin-bottom:20px; text-align:center; }
.wm-payment-tabs { display:flex; gap:0; background:#F1F5F9; border-radius:12px; padding:4px; margin-bottom:20px; }
.wm-pay-tab { flex:1; padding:10px 16px; border:none; background:transparent; font-size:14px; font-weight:800; color:var(--wm-gray); cursor:pointer; border-radius:10px; transition:all 0.25s; text-align:center; }
.wm-pay-tab.active { background:#fff; color:var(--wm-primary); box-shadow:var(--wm-shadow-md); }
.wm-pay-content { display:none; text-align:center; }
.wm-pay-content.active { display:block; }
.wm-pay-qr-placeholder { width:180px; height:180px; background:#F8FAFC; border:2px dashed var(--wm-border); border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--wm-gray-light); font-weight:600; margin:0 auto 16px; }
.wm-pay-number-box { display:flex; align-items:center; justify-content:center; gap:12px; background:#F8FAFC; border:2px solid var(--wm-border); border-radius:12px; padding:14px 20px; flex-wrap:wrap; }
.wm-pay-number { font-size:22px; font-weight:900; color:var(--wm-dark); letter-spacing:1px; }
.wm-pay-name { font-size:13px; color:var(--wm-gray); margin-top:10px; }
.wm-pay-prices { display:flex; flex-direction:column; gap:6px; margin-top:20px; padding-top:16px; border-top:1px solid var(--wm-border); }
.wm-pay-price-item { font-size:13px; color:var(--wm-gray); padding:6px 12px; border-radius:8px; }
.wm-pay-popular { background:var(--wm-primary-light); color:var(--wm-primary); font-weight:700; }

/* PASSWORD */
.wm-password-match { display:block; font-size:12px; margin-top:4px; font-weight:700; }
.wm-pw-ok { color:#059669; }
.wm-pw-error { color:#DC2626; }

/* RECOMMENDED */
.wm-recommended-section { margin-top:40px; padding:30px 0; border-top:2px solid var(--wm-border); }
.wm-recommended-header { text-align:center; margin-bottom:24px; }
.wm-recommended-header h3 { font-size:22px; color:var(--wm-dark); margin-bottom:6px; }
.wm-recommended-header p { color:var(--wm-gray); font-size:14px; }

/* TOAST */
.wm-toast { position:fixed; bottom:30px; right:30px; padding:14px 24px; border-radius:12px; font-size:14px; font-weight:600; z-index:99999; box-shadow:var(--wm-shadow-lg); transition:all 0.3s ease; max-width:360px; }
.wm-toast-success { background:#059669; color:#fff; }
.wm-toast-error { background:#DC2626; color:#fff; }

/* SPINNER */
.wm-spinner { width:36px; height:36px; border:4px solid var(--wm-border); border-top-color:var(--wm-primary); border-radius:50%; animation:wmSpin 0.7s linear infinite; margin:0 auto; }
@keyframes wmSpin { to { transform:rotate(360deg); } }

/* Category sections */
.wm-cat-title-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.wm-cat-title-row h2 { font-size:22px; }
.wm-cat-ver-mas { font-size:14px; font-weight:700; color:var(--wm-primary); text-decoration:none; }
.wm-cat-ver-mas:hover { text-decoration:underline; }
.wm-section { padding:40px 20px; }
.wm-container { max-width:1100px; margin:0 auto; }
.wm-section-header { text-align:center; margin-bottom:24px; }
.wm-section-header h2 { font-size:26px; }

/* CTA Section (Landing) */
.wm-cta-section { padding:60px 20px; }
.wm-cta-card {
    max-width:800px;
    margin:0 auto;
    text-align:center;
    background:linear-gradient(135deg,#0F172A,#1E293B);
    border-radius:28px;
    padding:50px 40px;
    color:#fff;
}
.wm-cta-card h2 { font-size:28px; color:#fff!important; margin-bottom:10px; }
.wm-cta-card p { font-size:16px; color:#CBD5E1; margin-bottom:28px; }
.wm-cta-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* CONTACT DISABLED (Vencido) */
.wm-contact-disabled { color:var(--wm-gray-light); cursor:not-allowed; text-decoration:line-through; }
.wm-social-disabled { opacity:0.3; cursor:not-allowed; pointer-events:none; }

/* =============================================
   PANEL — SELECTOR DE ESQUEMA DE COLORES
   (3 opciones: classic, royal, onyx)
   ============================================= */
.wm-scheme-picker{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:10px}
.wm-scheme-option{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 12px;border:1px solid var(--wm-border);border-radius:14px;background:#fff;transition:var(--wm-transition);user-select:none}
.wm-scheme-option:hover{transform:translateY(-2px);box-shadow:var(--wm-shadow-md)}
.wm-scheme-option input{position:absolute;opacity:0;pointer-events:none}
.wm-scheme-dot{display:inline-block;flex:0 0 auto;width:18px;height:18px;border-radius:999px;border:2px solid #fff;outline:2px solid var(--wm-border);box-shadow:0 2px 10px rgba(0,0,0,0.12)}
.wm-scheme-name{font-weight:800;color:var(--wm-gray);font-size:13px;letter-spacing:0.2px}
.wm-scheme-original{background:linear-gradient(135deg,#F8FAFC,#E2E8F0)}
/* Pastel palettes */
.wm-scheme-classic{background:linear-gradient(135deg,#93C5FD,#A7F3D0)}
.wm-scheme-royal{background:linear-gradient(135deg,#BFEFFF,#A5F3FC)}
.wm-scheme-onyx{background:linear-gradient(135deg,#CBD5E1,#FDE68A)}
.wm-scheme-mint{background:linear-gradient(135deg,#BBF7D0,#A7F3D0)}
.wm-scheme-peach{background:linear-gradient(135deg,#FED7AA,#FECACA)}
.wm-scheme-lavender{background:linear-gradient(135deg,#DDD6FE,#E9D5FF)}
.wm-scheme-sky{background:linear-gradient(135deg,#BAE6FD,#CFFAFE)}
.wm-scheme-option input:checked ~ .wm-scheme-dot{outline-color:var(--wm-primary);box-shadow:0 0 0 4px rgba(30,64,175,0.12),0 6px 18px rgba(0,0,0,0.14)}
.wm-scheme-option input:checked ~ .wm-scheme-name{color:var(--wm-dark)}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width:1024px) {
    .wm-negocio-body { grid-template-columns:1fr; }
    .wm-pricing-grid { grid-template-columns:1fr!important; max-width:450px; margin-left:auto; margin-right:auto; }
}
@media (max-width:768px) {
    .wm-search-bar { flex-direction:column; border-radius:var(--wm-radius); }
    .wm-search-select { border-left:none; border-top:1px solid var(--wm-border); }
    .wm-results-grid { grid-template-columns:1fr; }
    .wm-pricing-grid { grid-template-columns:1fr!important; max-width:400px!important; margin-left:auto!important; margin-right:auto!important; }
    .wm-pricing-section { padding:0 12px; overflow-x:hidden; }
    .wm-pricing-section > div[style] { border-radius:18px!important; padding:30px 20px!important; }
    .wm-form-row-2 { grid-template-columns:1fr; }
    .wm-negocio-header-card { flex-direction:column; align-items:center; text-align:center; }
    .wm-negocio-cats { justify-content:center; display:flex; flex-wrap:wrap; }
    .wm-registro-box { padding:28px 20px; }
    .wm-faq-grid { grid-template-columns:1fr; }
    .wm-winviral-grid { grid-template-columns:1fr; }
    .wm-sorteos-grid { grid-template-columns:1fr; }
    .wm-rules-grid { grid-template-columns:1fr; }
    .wm-sub-widget { flex-direction:column; text-align:center; }
    .wm-expired-alert { flex-direction:column; text-align:center; }

    /* CTA Mobile */
    .wm-cta-prueba-card { padding:36px 24px; }
    .wm-cta-prueba-text h2 { font-size:22px; }
    .wm-cta-prueba-text p { font-size:15px; }
    .wm-btn-cta-hero { font-size:17px!important; padding:18px 36px!important; width:auto!important; max-width:100%!important; }
    .wm-pricing-hero { padding:36px 20px 30px; }
    .wm-pricing-hero h2 { font-size:24px; }
    .wm-pricing-cta-final h3 { font-size:22px; }
    .wm-cta-card h2 { font-size:22px; }
    .wm-cta-card { padding:36px 24px; }

    /* Toast mobile */
    .wm-toast { left:20px; right:20px; bottom:20px; max-width:none; }
}
@media (max-width:480px) {
    .wm-btn-cta-hero { font-size:15px!important; padding:16px 28px!important; letter-spacing:1px!important; }
}


/* =============================================
   CATALOGO (NEGOCIO)
   ============================================= */
.wm-catalog{max-width:1100px;margin:0 auto}
.wm-catalog-header{text-align:center;margin-bottom:26px}
.wm-catalog-header h2{font-size:26px;margin:0 0 6px;color:var(--wm-dark);font-weight:900}
.wm-catalog-header p{margin:0;color:var(--wm-gray);font-size:14px}

/* Catalog sections (Productos / Servicios) */
.wm-catalog-section{margin-top:18px}
.wm-catalog-section-header{display:flex;align-items:center;justify-content:space-between;margin:10px 0 14px;padding:0 4px}
.wm-catalog-section-header h3{margin:0;font-size:18px;font-weight:900;color:var(--wm-dark)}
.wm-catalog-section-header span{font-size:13px;color:var(--wm-gray);font-weight:600}
.wm-empty-state{text-align:center;padding:40px;color:var(--wm-gray-light)}
.wm-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.wm-catalog-card{background:#fff;border-radius:var(--wm-radius);overflow:hidden;border:1px solid var(--wm-border);box-shadow:var(--wm-shadow);display:flex;flex-direction:column;height:100%}
.wm-catalog-card-img{position:relative;width:100%;aspect-ratio:16/10;background:#F1F5F9;overflow:hidden;display:flex;align-items:center;justify-content:center}
.wm-catalog-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.wm-catalog-no-img{font-size:44px;line-height:1}
.wm-catalog-offer-badge{position:absolute;top:10px;left:10px;background:var(--wm-danger);color:#fff;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:0.02em}
.wm-catalog-card-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.wm-catalog-type{display:inline-block;background:var(--wm-primary-light);color:var(--wm-primary);padding:2px 10px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;width:max-content}
.wm-catalog-card-body h4{font-size:14px;font-weight:900;color:var(--wm-dark);margin:0}
.wm-catalog-desc{font-size:12px;color:var(--wm-gray);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.wm-catalog-price{margin-top:auto;display:flex;align-items:baseline;gap:8px}
.wm-price-old{font-size:12px;text-decoration:line-through;color:var(--wm-gray-light)}
.wm-price-now{font-size:16px;font-weight:900;color:var(--wm-primary)}
.wm-catalog-card .wm-btn{margin-top:10px}
@media (max-width:640px){
  .wm-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .wm-catalog-card-body{padding:12px}
  .wm-catalog-header h2{font-size:20px}
}

/* === v4.4 — Beneficios block in registration page === */
.wm-reg-benefits {
    background: linear-gradient(135deg, #F0FDFA 0%, #fff 100%);
    border: 2px solid #5EEAD4;
    border-radius: 18px;
    padding: 24px;
    margin-bottom: 28px;
}
.wm-reg-benefits-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #CCFBF1;
}
.wm-reg-benefits-icon {
    font-size: 40px;
    line-height: 1;
    flex-shrink: 0;
}
.wm-reg-benefits-header strong {
    display: block;
    font-size: 17px;
    color: #0F172A;
    font-weight: 800;
    line-height: 1.3;
}
.wm-reg-benefits-header small {
    display: block;
    font-size: 13px;
    color: #0F766E;
    margin-top: 4px;
    font-weight: 600;
}

.wm-reg-benefits-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.wm-reg-benefits-list li {
    padding: 9px 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.5;
    border-bottom: 1px dashed #F1F5F9;
}
.wm-reg-benefits-list li:last-child { border-bottom: none; }
.wm-reg-benefits-list strong { color: #0F172A; font-weight: 700; }

.wm-reg-extra {
    margin-top: 18px;
    padding: 16px;
    background: linear-gradient(135deg, #FEF3C7 0%, #FFFBEB 100%);
    border: 1.5px dashed #FCD34D;
    border-radius: 14px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.wm-reg-extra-icon {
    font-size: 32px;
    line-height: 1;
    flex-shrink: 0;
}
.wm-reg-extra strong {
    display: block;
    font-size: 15px;
    color: #92400E;
    font-weight: 700;
    margin-bottom: 6px;
}
.wm-reg-extra p {
    margin: 0;
    color: #78350F;
    font-size: 13.5px;
    line-height: 1.5;
}

@media (max-width: 600px) {
    .wm-reg-benefits { padding: 20px 18px; }
    .wm-reg-benefits-header { gap: 10px; }
    .wm-reg-benefits-icon { font-size: 32px; }
    .wm-reg-benefits-header strong { font-size: 15px; }
    .wm-reg-extra { flex-direction: column; text-align: center; padding: 16px; gap: 10px; }
    .wm-reg-extra-icon { font-size: 28px; }
    .wm-reg-benefits-list li { font-size: 13.5px; padding: 8px 0; }
}

/* === v4.5.3: guías dinámicas para formularios === */
.wm-registro-help {
    display:flex;
    gap:12px;
    flex-direction:column;
    background:linear-gradient(135deg,#F0F9FF,#FFFFFF);
    border:1px solid #BAE6FD;
    border-left:5px solid var(--wm-primary, #1E40AF);
    border-radius:16px;
    padding:16px 18px;
    margin:0 0 24px;
    color:#334155;
    line-height:1.55;
}
.wm-registro-help strong{display:block;color:#0F172A;font-size:15px;font-weight:800;}
.wm-registro-help span{display:block;font-size:13.5px;color:#475569;}
.wm-field-help,
.wm-auto-field-help {
    display:block;
    margin-top:7px;
    font-size:12.5px;
    line-height:1.45;
    color:#64748B;
}
.wm-field-help::before,
.wm-auto-field-help::before {
    content:'💡 ';
}
.wm-form-group:focus-within > .wm-field-help,
.wm-form-group:focus-within > .wm-auto-field-help {
    color:var(--wm-primary, #1E40AF);
}
.wm-form-group input::placeholder,
.wm-form-group textarea::placeholder { color:#94A3B8; opacity:1; }
.wm-form-group select:invalid { color:#64748B; }
.wm-registro-form .wm-form-group input,
.wm-registro-form .wm-form-group select,
.wm-registro-form .wm-form-group textarea { background:#FFFFFF; }
@media(max-width:640px){
    .wm-registro-help{padding:14px 15px;margin-bottom:20px;}
    .wm-field-help,.wm-auto-field-help{font-size:12px;}
}

/* v4.5.7 — Registro: contacto del desarrollador + refuerzo móvil */
.wm-dev-mini-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    background:linear-gradient(135deg,#F0FDF4,#ECFEFF);
    border:1px solid #BBF7D0;
    border-radius:16px;
    padding:14px 16px;
    margin:16px 0 22px;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.wm-dev-mini-main{display:flex;align-items:center;gap:12px;min-width:0;}
.wm-dev-mini-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    background:#22C55E;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:21px;
    flex:0 0 auto;
    box-shadow:0 8px 18px rgba(34,197,94,.22);
}
.wm-dev-mini-card strong{display:block;color:#0F172A;font-size:14px;font-weight:900;line-height:1.25;margin-bottom:3px;}
.wm-dev-mini-card small{display:block;color:#475569;font-size:12px;line-height:1.45;}
.wm-dev-mini-btn{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 14px;
    border-radius:999px;
    background:#16A34A;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:800;
    font-size:12px;
    white-space:nowrap;
    box-shadow:0 10px 22px rgba(22,163,74,.22);
}
.wm-dev-mini-btn:hover{background:#15803D;transform:translateY(-1px);color:#fff!important;}

.wm-registro-wrapper,
.wm-registro-box,
.wm-login-wrapper,
.wm-login-box{max-width:100%;box-sizing:border-box;}
.wm-registro-form input,
.wm-registro-form select,
.wm-registro-form textarea,
.wm-login-form input,
.wm-login-form select,
.wm-login-form textarea{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
}
.wm-registro-form label,
.wm-field-help,
.wm-registro-help,
.wm-dev-mini-card{overflow-wrap:anywhere;word-break:normal;}

@media (max-width:720px){
    .wm-registro-wrapper{padding:16px 12px;}
    .wm-registro-box{padding:22px 16px;border-radius:18px;}
    .wm-registro-header h2{font-size:22px;line-height:1.2;}
    .wm-registro-header p{font-size:14px;}
    .wm-form-row-2{grid-template-columns:1fr!important;gap:12px;}
    .wm-registro-form h4{font-size:15px;line-height:1.35;}
    .wm-registro-form .wm-btn,
    .wm-registro-form button{width:100%;white-space:normal;text-align:center;}
    .wm-dev-mini-card{align-items:flex-start;flex-direction:column;padding:14px;}
    .wm-dev-mini-main{align-items:flex-start;}
    .wm-dev-mini-btn{width:100%;white-space:normal;text-align:center;padding:10px 14px;}
}
