/*
 * cotizador.css — PMG-Studio Cotizador Modular v4.0
 * Componente iOS Light reutilizable en: cotizar.php, index.html, panel
 */

/* ═══════════════════════════════════════
   CONTENEDOR RAÍZ
   ═══════════════════════════════════════ */
.pmg-cot {
    --cot-bg:       #F2F2F7;
    --cot-card:     #FFFFFF;
    --cot-green:    #00a060;
    --cot-blue:     #007AFF;
    --cot-purple:   #5856D6;
    --cot-orange:   #FF9500;
    --cot-red:      #FF3B30;
    --cot-text:     #1C1C1E;
    --cot-muted:    #8E8E93;
    --cot-border:   rgba(0,0,0,0.10);
    --cot-shadow:   0 4px 24px rgba(0,0,0,0.07);
    --cot-r:        20px;
    --cot-r-sm:     14px;
    --cot-r-in:     12px;

    font-family: -apple-system, BlinkMacSystemFont, 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
    color: var(--cot-text);
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    position: relative;
}

/* ═══════════════════════════════════════
   BARRA DE PROGRESO
   ═══════════════════════════════════════ */
.pmg-cot-progress {
    height: 4px;
    background: rgba(0,0,0,0.07);
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 20px;
}
.pmg-cot-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--cot-green), var(--cot-blue));
    border-radius: 2px;
    transition: width .45s cubic-bezier(.4,0,.2,1);
}

/* DOTS */
.pmg-cot-dots {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-bottom: 20px;
}
.pmg-cot-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: rgba(0,0,0,0.15);
    transition: all .3s;
}
.pmg-cot-dot.active {
    background: var(--cot-green);
    width: 18px;
    border-radius: 3px;
}
.pmg-cot-dot.done { background: rgba(0,160,96,0.4); }

/* STEP COUNTER */
.pmg-cot-counter {
    text-align: center;
    font-size: .72rem;
    font-weight: 600;
    color: var(--cot-muted);
    letter-spacing: .08em;
    margin-bottom: 8px;
}

/* ═══════════════════════════════════════
   PANTALLA (SCREEN)
   ═══════════════════════════════════════ */
.pmg-cot-screen { display: none; }
.pmg-cot-screen.active {
    display: block;
    animation: cotSlideUp .38s cubic-bezier(.4,0,.2,1) both;
}
@keyframes cotSlideUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════
   CARD
   ═══════════════════════════════════════ */
.pmg-cot-card {
    background: var(--cot-card);
    border-radius: var(--cot-r);
    border: 1px solid var(--cot-border);
    box-shadow: var(--cot-shadow);
    padding: 28px 24px;
    margin-bottom: 12px;
}
.pmg-cot-eyebrow {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 6px;
    color: var(--cot-green);
    display: flex;
    align-items: center;
    gap: 6px;
}
.pmg-cot-title {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--cot-text);
    margin-bottom: 6px;
}
.pmg-cot-sub {
    font-size: .88rem;
    color: var(--cot-muted);
    line-height: 1.55;
    margin-bottom: 22px;
}

/* ═══════════════════════════════════════
   TARJETAS DE SERVICIO (Screen 1)
   ═══════════════════════════════════════ */
.cot-svc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 18px;
}
@media(max-width:480px) { .cot-svc-grid { grid-template-columns: 1fr; } }

.cot-svc-card {
    background: var(--cot-bg);
    border: 2px solid var(--cot-border);
    border-radius: var(--cot-r-sm);
    padding: 16px 14px;
    cursor: pointer;
    transition: all .2s;
    position: relative;
    text-align: left;
}
.cot-svc-card:hover {
    border-color: rgba(0,160,96,0.4);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0,160,96,0.10);
}
.cot-svc-card.selected {
    border-color: var(--cot-green) !important;
    background: rgba(0,160,96,0.05) !important;
    box-shadow: 0 4px 18px rgba(0,160,96,0.12);
}
.cot-svc-card.selected::after {
    content: '✓';
    position: absolute;
    top: 10px; right: 12px;
    width: 22px; height: 22px;
    background: var(--cot-green);
    color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: .72rem; font-weight: 700;
}
.cot-svc-icon { font-size: 1.8rem; margin-bottom: 8px; line-height: 1; }
.cot-svc-name { font-size: .9rem; font-weight: 700; color: var(--cot-text); margin-bottom: 3px; }
.cot-svc-desc { font-size: .75rem; color: var(--cot-muted); margin-bottom: 6px; }
.cot-svc-price { font-size: .78rem; font-weight: 700; color: var(--cot-green); }

/* ═══════════════════════════════════════
   COLORES (Screen 2)
   ═══════════════════════════════════════ */
.cot-color-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 10px;
}
.cot-color-swatch {
    width: 48px; height: 48px;
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid transparent;
    transition: all .2s;
    position: relative;
    flex-shrink: 0;
}
.cot-color-swatch:hover { transform: scale(1.1); }
.cot-color-swatch.selected {
    border-color: #1C1C1E !important;
    transform: scale(1.18);
    box-shadow: 0 0 0 4px rgba(0,0,0,0.08);
}
.cot-color-swatch.selected::after {
    content: '✓';
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 800; font-size: .8rem;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
.cot-color-preview {
    font-size: .78rem;
    color: var(--cot-muted);
    min-height: 18px;
    margin-top: 6px;
}

/* ═══════════════════════════════════════
   DOMAIN / WHOIS (Screen 3)
   ═══════════════════════════════════════ */
.cot-seg {
    display: flex;
    background: rgba(0,0,0,0.07);
    border-radius: 11px;
    padding: 3px;
    gap: 3px;
    margin-bottom: 18px;
}
.cot-seg-btn {
    flex: 1; padding: 9px 8px;
    border: none; border-radius: 9px;
    font-size: .85rem; font-weight: 600;
    cursor: pointer;
    background: transparent;
    color: var(--cot-muted);
    transition: all .2s;
    font-family: inherit;
}
.cot-seg-btn.active {
    background: #fff;
    color: var(--cot-text);
    box-shadow: 0 1px 8px rgba(0,0,0,0.12);
}

.cot-whois-result {
    border-radius: var(--cot-r-sm);
    padding: 14px 16px;
    margin-top: 12px;
    border: 1.5px solid;
    display: none;
    animation: cotSlideUp .3s ease both;
}
.cot-whois-result.avail {
    background: rgba(0,160,96,0.05);
    border-color: rgba(0,160,96,0.3);
}
.cot-whois-result.taken {
    background: rgba(255,59,48,0.04);
    border-color: rgba(255,59,48,0.22);
}

/* ═══════════════════════════════════════
   CHIPS (Screen 4 — Industria)
   ═══════════════════════════════════════ */
.cot-chips {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-bottom: 16px;
}
.cot-chip {
    padding: 9px 16px;
    border-radius: 30px;
    border: 1.5px solid var(--cot-border);
    background: var(--cot-card);
    color: var(--cot-text);
    font-size: .85rem; font-weight: 500;
    cursor: pointer; transition: all .18s;
    font-family: inherit;
}
.cot-chip:hover { border-color: rgba(0,160,96,0.4); color: var(--cot-green); }
.cot-chip.selected {
    background: rgba(0,160,96,0.09);
    border-color: var(--cot-green);
    color: var(--cot-green);
    font-weight: 700;
}

/* Years buttons */
.cot-years {
    display: flex; gap: 7px; flex-wrap: wrap;
    margin-bottom: 16px;
}
.cot-year-btn {
    padding: 8px 15px;
    border-radius: 10px;
    border: 1.5px solid var(--cot-border);
    background: var(--cot-card);
    color: var(--cot-text);
    font-size: .83rem; font-weight: 600;
    cursor: pointer; transition: all .18s;
    font-family: inherit;
}
.cot-year-btn.selected {
    background: var(--cot-blue);
    border-color: var(--cot-blue);
    color: #fff;
}

/* ═══════════════════════════════════════
   CAMPO DE TEXTO + MIC GRANDE (Screen 5)
   ═══════════════════════════════════════ */
.cot-mic-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 0 16px;
    gap: 12px;
}
.cot-mic-big {
    width: 96px; height: 96px;
    border-radius: 50%;
    border: none;
    background: var(--cot-green);
    color: #fff;
    font-size: 2.4rem;
    cursor: pointer;
    transition: all .2s;
    box-shadow: 0 6px 24px rgba(0,160,96,0.35);
    display: flex; align-items: center; justify-content: center;
    position: relative;
}
.cot-mic-big:hover {
    transform: scale(1.06);
    box-shadow: 0 10px 30px rgba(0,160,96,0.45);
}
.cot-mic-big.recording {
    background: var(--cot-red);
    box-shadow: 0 6px 24px rgba(255,59,48,0.4);
    animation: micPulse 1.2s ease-in-out infinite;
}
.cot-mic-big.recording::after {
    content: '';
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 2px solid rgba(255,59,48,0.3);
    animation: micRing 1.2s ease-in-out infinite;
}
@keyframes micPulse {
    0%,100% { transform: scale(1);   }
    50%      { transform: scale(1.05); }
}
@keyframes micRing {
    0%   { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.5); opacity: 0; }
}
.cot-mic-label {
    font-size: .85rem;
    font-weight: 600;
    color: var(--cot-muted);
    text-align: center;
}
.cot-mic-status {
    font-size: .78rem;
    text-align: center;
    min-height: 18px;
    color: var(--cot-muted);
    transition: color .2s;
}
.cot-mic-status.recording { color: var(--cot-red); font-weight: 600; }
.cot-mic-status.done      { color: var(--cot-green); font-weight: 600; }

/* ═══════════════════════════════════════
   CHECKBOXES DE SECCIONES (Screen 6)
   ═══════════════════════════════════════ */
.cot-sections-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 16px;
}
@media(max-width:420px) { .cot-sections-grid { grid-template-columns: 1fr; } }

.cot-section-check {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 14px;
    border-radius: var(--cot-r-sm);
    border: 1.5px solid var(--cot-border);
    background: var(--cot-bg);
    cursor: pointer;
    transition: all .18s;
    font-size: .85rem; font-weight: 500; color: var(--cot-text);
    user-select: none;
}
.cot-section-check:hover { border-color: rgba(0,160,96,0.35); }
.cot-section-check.selected {
    background: rgba(0,160,96,0.06);
    border-color: var(--cot-green);
    color: var(--cot-green);
    font-weight: 700;
}
.cot-section-check .cot-chk-box {
    width: 20px; height: 20px; border-radius: 6px;
    border: 1.5px solid var(--cot-border);
    background: var(--cot-card);
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: .7rem; color: #fff; font-weight: 700;
    transition: all .18s;
}
.cot-section-check.selected .cot-chk-box {
    background: var(--cot-green);
    border-color: var(--cot-green);
}

/* ═══════════════════════════════════════
   REDES SOCIALES (Screen 7)
   ═══════════════════════════════════════ */
.cot-social-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px;
}
@media(max-width:460px) { .cot-social-grid { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════
   INPUTS GENÉRICOS
   ═══════════════════════════════════════ */
.pmg-cot .cot-input,
.pmg-cot .cot-select,
.pmg-cot .cot-textarea {
    width: 100% !important;
    background: #F2F2F7 !important;
    border: 1.5px solid rgba(0,0,0,0.15) !important;
    border-radius: var(--cot-r-in) !important;
    padding: 13px 16px !important;
    font-size: .93rem !important;
    font-family: inherit !important;
    color: #1C1C1E !important;
    outline: none !important;
    transition: border-color .2s, box-shadow .2s;
    -webkit-appearance: none;
    box-sizing: border-box;
}
.pmg-cot .cot-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238E8E93' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
}
.pmg-cot .cot-textarea { resize: vertical; min-height: 90px; }
.pmg-cot .cot-input:focus,
.pmg-cot .cot-select:focus,
.pmg-cot .cot-textarea:focus {
    border-color: var(--cot-green) !important;
    box-shadow: 0 0 0 3px rgba(0,160,96,0.12) !important;
    background: #FFFFFF !important;
}
.pmg-cot .cot-input::placeholder,
.pmg-cot .cot-textarea::placeholder { color: var(--cot-muted); }
.pmg-cot .cot-input.valid   { border-color: var(--cot-green); }
.pmg-cot .cot-input.invalid { border-color: var(--cot-red); }

.pmg-cot .cot-label {
    display: block;
    font-size: .7rem; font-weight: 700;
    letter-spacing: .07em; text-transform: uppercase;
    color: var(--cot-muted);
    margin-bottom: 7px;
}
.pmg-cot .cot-fg { margin-bottom: 14px; }

/* ═══════════════════════════════════════
   iOS SWITCH
   ═══════════════════════════════════════ */
.cot-switch-row {
    display: flex; align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid var(--cot-border);
}
.cot-switch-row:last-child { border-bottom: none; }
.cot-sw-info { flex: 1; padding-right: 12px; }
.cot-sw-label { font-size: .92rem; font-weight: 600; color: var(--cot-text); }
.cot-sw-sub   { font-size: .76rem; color: var(--cot-muted); margin-top: 2px; }

.cot-ios-switch {
    position: relative; display: inline-block;
    width: 51px; height: 31px; flex-shrink: 0;
}
.cot-ios-switch input { opacity: 0; width: 0; height: 0; }
.cot-ios-slider {
    position: absolute; inset: 0;
    background: rgba(0,0,0,0.15);
    border-radius: 31px; cursor: pointer;
    transition: background .25s;
}
.cot-ios-slider::before {
    content: '';
    position: absolute;
    height: 27px; width: 27px;
    left: 2px; bottom: 2px;
    background: #fff; border-radius: 50%;
    transition: transform .25s;
    box-shadow: 0 2px 6px rgba(0,0,0,0.22);
}
.cot-ios-switch input:checked + .cot-ios-slider { background: var(--cot-green); }
.cot-ios-switch input:checked + .cot-ios-slider::before { transform: translateX(20px); }

/* ═══════════════════════════════════════
   LOGO UPLOAD
   ═══════════════════════════════════════ */
.cot-upload-label {
    display: flex; align-items: center; gap: 14px;
    background: var(--cot-bg);
    border: 2px dashed rgba(0,160,96,0.35);
    border-radius: var(--cot-r-in);
    padding: 16px 18px;
    cursor: pointer;
    transition: border-color .2s;
}
.cot-upload-label:hover { border-color: var(--cot-green); }
.cot-upload-icon { font-size: 1.8rem; }
.cot-upload-text { font-size: .88rem; color: var(--cot-muted); }

/* ═══════════════════════════════════════
   COTIZADOR (Screen 9 / último)
   ═══════════════════════════════════════ */
.cot-price-card {
    background: var(--cot-card);
    border-radius: var(--cot-r);
    box-shadow: 0 6px 32px rgba(0,0,0,0.09);
    overflow: hidden;
    border: 1px solid var(--cot-border);
    margin-bottom: 14px;
}
.cot-price-header {
    padding: 24px;
    background: linear-gradient(135deg, rgba(0,160,96,0.05), rgba(0,122,255,0.05));
    border-bottom: 1px solid var(--cot-border);
}
.cot-price-amount {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 3rem; font-weight: 800;
    color: var(--cot-text); line-height: 1;
    margin-bottom: 4px;
}
.cot-price-amount span { color: var(--cot-green); }
.cot-price-sub { color: var(--cot-muted); font-size: .83rem; }
.cot-deposit-pill {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(0,160,96,0.1);
    border: 1px solid rgba(0,160,96,0.25);
    color: var(--cot-green);
    border-radius: 30px;
    padding: 5px 14px;
    font-size: .78rem; font-weight: 700;
    margin-top: 10px;
}
.cot-price-rows { padding: 6px 0; }
.cot-price-row {
    display: flex; justify-content: space-between;
    align-items: center;
    padding: 11px 24px;
    border-bottom: 1px solid var(--cot-border);
    font-size: .88rem;
}
.cot-price-row:last-child { border-bottom: none; }
.cot-price-row .lbl { color: var(--cot-muted); font-size: .83rem; }
.cot-price-row .val { font-weight: 700; }
.cot-price-row .val.inc { color: var(--cot-green); }

/* 3 ACTION BUTTONS */
.cot-action-btns { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }

/* ═══════════════════════════════════════
   BOTONES GENÉRICOS
   ═══════════════════════════════════════ */
.pmg-cot .cot-btn {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; padding: 15px 20px;
    border: none; border-radius: var(--cot-r-sm);
    font-size: .95rem; font-weight: 700;
    font-family: 'Space Grotesk', inherit;
    cursor: pointer; transition: all .2s;
    text-decoration: none;
    text-align: center;
    box-sizing: border-box;
}
.pmg-cot .cot-btn-primary {
    background: var(--cot-green);
    color: #fff;
    box-shadow: 0 4px 18px rgba(0,160,96,0.3);
}
.pmg-cot .cot-btn-primary:hover {
    background: #009050;
    box-shadow: 0 6px 24px rgba(0,160,96,0.38);
    transform: translateY(-1px);
}
.pmg-cot .cot-btn-blue {
    background: var(--cot-blue);
    color: #fff;
    box-shadow: 0 4px 18px rgba(0,122,255,0.28);
}
.pmg-cot .cot-btn-blue:hover { background: #0062cc; transform: translateY(-1px); }
.pmg-cot .cot-btn-outline {
    background: var(--cot-card);
    color: var(--cot-text);
    border: 1.5px solid var(--cot-border) !important;
}
.pmg-cot .cot-btn-outline:hover { background: var(--cot-bg); }
.pmg-cot .cot-btn-ghost {
    background: rgba(0,160,96,0.07);
    color: var(--cot-green);
    border: 1.5px solid rgba(0,160,96,0.2) !important;
}
.pmg-cot .cot-btn-ghost:hover { background: rgba(0,160,96,0.12); }
.pmg-cot .cot-btn-wa {
    background: #25D366;
    color: #fff;
    box-shadow: 0 4px 18px rgba(37,211,102,0.3);
}
.pmg-cot .cot-btn-wa:hover { background: #1da851; transform: translateY(-1px); }

.pmg-cot .cot-btn-row {
    display: flex; gap: 10px;
}
.pmg-cot .cot-btn-row .cot-btn-outline {
    flex: 0 0 auto; width: auto; padding: 15px 22px;
}
.pmg-cot .cot-btn-row .cot-btn-primary,
.pmg-cot .cot-btn-row .cot-btn-blue { flex: 1; }

/* ═══════════════════════════════════════
   EMAIL VALIDACIÓN
   ═══════════════════════════════════════ */
.cot-email-wrap { position: relative; }
.cot-email-icon {
    position: absolute; right: 13px; top: 50%;
    transform: translateY(-50%); pointer-events: none; font-size: .9rem;
}
.cot-email-msg { font-size: .72rem; margin-top: 4px; min-height: 14px; }

/* ═══════════════════════════════════════
   INFO BOX
   ═══════════════════════════════════════ */
.cot-info-box {
    background: rgba(0,122,255,0.05);
    border: 1px solid rgba(0,122,255,0.15);
    border-radius: var(--cot-r-sm);
    padding: 14px 16px;
    display: flex; gap: 12px;
    font-size: .84rem; color: var(--cot-muted);
    line-height: 1.55; margin-bottom: 12px;
}
.cot-info-box strong { color: var(--cot-text); }

/* PAYMENT BADGES */
.cot-pay-methods {
    display: flex; flex-wrap: wrap; gap: 7px;
    justify-content: center; margin: 14px 0;
}
.cot-pay-badge {
    padding: 5px 12px;
    border-radius: 20px;
    background: var(--cot-card);
    border: 1px solid var(--cot-border);
    font-size: .74rem; color: var(--cot-muted);
}

/* ═══════════════════════════════════════
   ÉXITO (Success screen)
   ═══════════════════════════════════════ */
.cot-success { text-align: center; padding: 30px 0; }
.cot-success-icon {
    width: 88px; height: 88px; border-radius: 50%;
    background: rgba(0,160,96,0.09);
    border: 2px solid rgba(0,160,96,0.3);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 22px; font-size: 2.6rem;
    animation: cotSlideUp .5s ease both;
}
.cot-checklist { list-style: none; text-align: left; display: flex; flex-direction: column; gap: 10px; margin: 18px 0; }
.cot-checklist li { display: flex; align-items: center; gap: 10px; font-size: .88rem; color: var(--cot-muted); }
.cot-checklist li::before { content: '✅'; flex-shrink: 0; }

/* ═══════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════ */
@media(max-width:540px) {
    .pmg-cot-card, .cot-card { padding: 20px 16px; }
    .pmg-cot-title, .cot-title { font-size: 1.3rem; }
    .cot-price-amount { font-size: 2.3rem; }
    .cot-mic-big { width: 82px; height: 82px; font-size: 2rem; }
}

/* ═══════════════════════════════════════
   ALIASES (HTML usa nombres cortos,
   CSS tenía nombres largos — ambos valen)
   ═══════════════════════════════════════ */
.pmg-cot .cot-screen { display: none; }
.pmg-cot .cot-screen.active {
    display: block;
    animation: cotSlideUp .38s cubic-bezier(.4,0,.2,1) both;
}
.pmg-cot .cot-screen.exit-left  { animation: cotExitLeft  .28s ease-in both; }
.pmg-cot .cot-screen.exit-right { animation: cotExitRight .28s ease-in both; }
@keyframes cotExitLeft  { to { opacity:0; transform: translateX(-40px); } }
@keyframes cotExitRight { to { opacity:0; transform: translateX(40px); } }

.pmg-cot .cot-card {
    background: var(--cot-card);
    border-radius: var(--cot-r);
    border: 1px solid var(--cot-border);
    box-shadow: var(--cot-shadow);
    padding: 28px 24px;
    margin-bottom: 12px;
}
.pmg-cot .cot-card-icon {
    font-size: 2.8rem;
    margin-bottom: 10px;
    text-align: center;
}
.pmg-cot .cot-title {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--cot-text);
    margin-bottom: 6px;
    text-align: center;
}
.pmg-cot .cot-subtitle {
    font-size: .92rem;
    color: var(--cot-muted);
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.5;
}
.pmg-cot .cot-hint {
    font-size: .82rem;
    color: var(--cot-muted);
    margin-top: 8px;
}
/* Step label */
.cot-step-label {
    text-align: center;
    font-size: .78rem;
    font-weight: 600;
    color: var(--cot-muted);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
/* Nav botones */
.pmg-cot .cot-nav {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}
.pmg-cot .cot-btn-back {
    background: rgba(0,0,0,0.06);
    border: none;
    border-radius: 14px;
    padding: 13px 18px;
    font-size: .9rem;
    color: var(--cot-text);
    cursor: pointer;
    font-weight: 500;
    transition: background .2s;
}
.pmg-cot .cot-btn-back:hover { background: rgba(0,0,0,0.1); }
.pmg-cot .cot-btn-next {
    flex: 1;
    background: var(--cot-green);
    border: none;
    border-radius: 14px;
    padding: 13px 18px;
    font-size: .9rem;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
    transition: background .2s, transform .15s;
}
.pmg-cot .cot-btn-next:hover { background: #009050; transform: translateY(-1px); }

/* Shake animation */
.pmg-cot .cot-shake {
    animation: cotShake .4s ease-in-out;
}
@keyframes cotShake {
    0%,100% { transform: translateX(0); }
    20%,60% { transform: translateX(-5px); }
    40%,80% { transform: translateX(5px); }
}

/* Email messages */
.pmg-cot .cot-email-msg { font-size:.78rem; margin-top:4px; }
.pmg-cot .cot-email-ok   { color: var(--cot-green); }
.pmg-cot .cot-email-warn { color: var(--cot-orange); }

/* Contact grid */
.pmg-cot .cot-contact-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 10px;
}
@media(max-width:480px) { .pmg-cot .cot-contact-row { grid-template-columns: 1fr; } }
.pmg-cot .cot-contact-field { display: flex; flex-direction: column; gap: 4px; }

/* Logo upload */
.pmg-cot .cot-upload-label {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--cot-bg);
    border: 2px dashed var(--cot-border);
    border-radius: var(--cot-r-in);
    padding: 16px 20px;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    font-size: .9rem;
    color: var(--cot-muted);
}
.pmg-cot .cot-upload-label:hover {
    border-color: var(--cot-green);
    background: rgba(0,160,96,0.05);
    color: var(--cot-text);
}
.pmg-cot .cot-upload-icon { font-size: 1.4rem; }

/* Switch premium row */
.pmg-cot .cot-switch-premium {
    background: linear-gradient(135deg, rgba(88,86,214,0.06), rgba(0,160,96,0.04));
    border-radius: var(--cot-r-in);
    padding: 12px;
}
.pmg-cot .cot-badge-plus {
    display: inline-block;
    background: var(--cot-purple);
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    border-radius: 6px;
    padding: 1px 6px;
    vertical-align: middle;
}

/* Price note */
.pmg-cot .cot-price-note {
    font-size: .82rem;
    color: var(--cot-muted);
    text-align: center;
    line-height: 1.6;
    margin: 12px 0 20px;
}

/* Price actions */
.pmg-cot .cot-price-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Success screen */
.pmg-cot .cot-success {
    display: none;
}
.pmg-cot .cot-success.active {
    display: block;
    animation: cotSlideUp .38s ease both;
}

/* Color hint */
.pmg-cot .cot-color-hint {
    text-align: center;
    font-size: .82rem;
    color: var(--cot-muted);
    margin-top: 12px;
    min-height: 20px;
}

/* WHOIS edu */
.pmg-cot .cot-whois-edu {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pmg-cot .cot-edu-item {
    font-size: .84rem;
    color: var(--cot-muted);
    padding: 10px 14px;
    background: var(--cot-bg);
    border-radius: 10px;
    line-height: 1.4;
}

/* Mic area */
.pmg-cot .cot-mic-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 0 12px;
    gap: 10px;
}
.pmg-cot .cot-mic-area-sm {
    padding: 16px 0 8px;
}
.pmg-cot .cot-mic-hint {
    font-size: .85rem;
    color: var(--cot-muted);
    text-align: center;
}

/* Mic tamaño mediano (secundario) */
.pmg-cot .cot-mic-md {
    width: 72px !important;
    height: 72px !important;
    font-size: 1.8rem !important;
}
.pmg-cot .cot-mic-md.recording {
    animation: micPulse .9s ease-in-out infinite !important;
}

/* Textarea wrapper */
.pmg-cot .cot-textarea-wrap { position: relative; }

/* Social rows */
.pmg-cot .cot-social-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.pmg-cot .cot-social-ico {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: .88rem;
    flex-shrink: 0;
}

/* Switches list */
.pmg-cot .cot-switches-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.pmg-cot .cot-switch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--cot-border);
}
.pmg-cot .cot-switch-row:last-child { border-bottom: none; }
.pmg-cot .cot-switch-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}
.pmg-cot .cot-switch-label {
    font-size: .9rem;
    font-weight: 600;
    color: var(--cot-text);
}
.pmg-cot .cot-switch-desc {
    font-size: .78rem;
    color: var(--cot-muted);
    line-height: 1.3;
}
