/* ══════════════════════════════════════════════
   Mr. Pez Cotizador — Tema Blanco + Azul v3
   ══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root {
    --mp-blue-dark:  #0a1e3d;
    --mp-blue:       #1a3f8f;
    --mp-blue-mid:   #1e6abf;
    --mp-blue-light: #3399e6;
    --mp-accent:     #00a8e8;
    --mp-white:      #ffffff;
    --mp-gray-bg:    #f4f7fb;
    --mp-gray-light: #e8eef6;
    --mp-text:       #1a2540;
    --mp-text-soft:  #4a5a7a;
    --mp-border:     #c8d8ee;
    --mp-radius:     12px;
    --mp-shadow:     0 4px 24px rgba(26,63,143,0.13);
}

/* ── Contenedor ── */
.mrpez-cotizador {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
    max-width: 680px;
    margin: 0 auto;
    background: var(--mp-white);
    border-radius: var(--mp-radius);
    box-shadow: var(--mp-shadow);
    border: 1px solid var(--mp-border);
    overflow: hidden;
    color: var(--mp-text);
}

/* ── Header azul oscuro ── */
.mrpez-header {
    background: linear-gradient(135deg, var(--mp-blue-dark) 0%, var(--mp-blue) 100%);
    padding: 1.4rem 1.75rem 1.25rem;
    position: relative;
}
.mrpez-header-wave {
    position: absolute;
    bottom: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--mp-blue-mid), var(--mp-accent), var(--mp-blue-mid));
    background-size: 200% 100%;
    animation: mrpez-wave 3s linear infinite;
}
@keyframes mrpez-wave {
    0%   { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}
.mrpez-logo-wrap {
    display: flex; align-items: center; gap: 14px; margin-bottom: 0.9rem;
}
.mrpez-logo-img {
    width: 56px; height: 56px; border-radius: 50%;
    border: 2px solid var(--mp-accent);
    box-shadow: 0 0 16px rgba(0,168,232,0.45);
    object-fit: cover;
    animation: mrpez-glow 3s ease-in-out infinite;
}
@keyframes mrpez-glow {
    0%,100% { box-shadow: 0 0 16px rgba(0,168,232,0.45); }
    50%      { box-shadow: 0 0 28px rgba(0,168,232,0.8); }
}
.mrpez-logo-text strong {
    display: block; font-size: 20px; font-weight: 800;
    color: #fff; letter-spacing: 0.02em;
}
.mrpez-logo-text span {
    font-size: 11px; color: var(--mp-accent);
    font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
}
.mrpez-badges {
    display: flex; gap: 8px; flex-wrap: wrap;
}
.mrpez-badge {
    display: inline-flex; align-items: center; gap: 5px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 20px; padding: 3px 10px;
    font-size: 11px; color: #fff; font-weight: 500;
}
.mrpez-badge svg { width:11px; height:11px; }

/* ── Descripción del producto ── */
.mrpez-descripcion-wrap {
    background: var(--mp-gray-bg);
    border-bottom: 1px solid var(--mp-border);
    padding: 1rem 1.75rem;
    text-align: center;
}
.mrpez-titulo-principal {
    font-size: 13px; font-weight: 800; color: var(--mp-blue-dark);
    text-transform: uppercase; letter-spacing: 0.08em;
    margin: 0 0 0.5rem;
}
.mrpez-descripcion-txt {
    font-size: 12.5px; color: var(--mp-text-soft);
    line-height: 1.65; margin: 0;
}
.mrpez-descripcion-txt strong { color: var(--mp-blue-dark); }

/* ── Nota aclaratoria siempre visible ── */
.mrpez-nota-fija {
    display: flex; align-items: flex-start; gap: 10px;
    margin: 1rem 1.75rem 0;
    background: #fff8e6;
    border: 1.5px solid #f0c040;
    border-radius: 9px;
    padding: 11px 14px;
    font-size: 12px; color: #7a5500; line-height: 1.55;
}
.mrpez-nota-fija svg { width:16px; height:16px; flex-shrink:0; margin-top:1px; color:#e8a000; }
.mrpez-nota-fija strong {
    display: block; margin-bottom: 2px;
    font-weight: 700; font-size: 11px;
    text-transform: uppercase; letter-spacing: 0.05em; color: #5a3d00;
}

/* ── Formulario ── */
.mrpez-form { padding: 1rem 1.75rem 1.5rem; }

.mrpez-instruccion {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; color: var(--mp-blue-mid); font-weight: 700;
    margin: 0 0 1rem; text-transform: uppercase; letter-spacing: 0.08em;
}
.mrpez-instruccion svg { width:15px; height:15px; }

.mrpez-inputs {
    display: grid; grid-template-columns: repeat(3,1fr);
    gap: 12px; margin-bottom: 1.25rem;
}
.mrpez-field { display: flex; flex-direction: column; gap: 5px; }

.mrpez-field-label {
    display: flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; color: var(--mp-blue-dark);
    text-transform: uppercase; letter-spacing: 0.06em;
}
.mrpez-field-label svg { width:13px; height:13px; color: var(--mp-blue-mid); }

.mrpez-field-wrap { position: relative; }
.mrpez-field-wrap svg.fi {
    position: absolute; left:10px; top:50%; transform:translateY(-50%);
    width:15px; height:15px; color: var(--mp-blue-mid); opacity:0.5; pointer-events:none;
}
.mrpez-field input[type="number"] {
    background: var(--mp-white);
    border: 2px solid var(--mp-border);
    border-radius: 9px; padding: 10px 10px 10px 33px;
    font-size: 17px; font-weight: 700; text-align: center;
    width: 100%; box-sizing: border-box;
    color: var(--mp-blue-dark); font-family: 'Poppins', sans-serif;
    transition: border-color 0.25s, box-shadow 0.25s;
    -moz-appearance: textfield;
}
.mrpez-field input[type="number"]::-webkit-inner-spin-button,
.mrpez-field input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; }
.mrpez-field input[type="number"]::placeholder { color: #bbc8dd; font-weight:400; font-size:14px; }
.mrpez-field input[type="number"]:focus {
    outline: none; border-color: var(--mp-accent);
    box-shadow: 0 0 0 3px rgba(0,168,232,0.15);
}

/* Hint con rango */
.mrpez-hint-wrap {
    display: flex; justify-content: space-between; align-items: center;
}
.mrpez-hint {
    font-size: 10px; color: var(--mp-text-soft); text-align: center; width: 100%;
}
.mrpez-range-badge {
    display: flex; align-items: center; justify-content: center;
    gap: 3px; font-size: 10px; color: var(--mp-blue-mid);
    font-weight: 600; background: var(--mp-gray-light);
    border-radius: 5px; padding: 2px 7px;
}

/* ── Botón ── */
.mrpez-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; padding: 13px 20px;
    background: linear-gradient(135deg, var(--mp-blue) 0%, var(--mp-blue-light) 100%);
    color: #fff; border: none; border-radius: 10px;
    font-size: 14px; font-weight: 700; font-family: 'Poppins', sans-serif;
    cursor: pointer; letter-spacing: 0.05em; text-transform: uppercase;
    position: relative; overflow: hidden;
    transition: transform 0.15s, box-shadow 0.25s;
    box-shadow: 0 4px 16px rgba(26,63,143,0.35);
}
.mrpez-btn::before {
    content: ''; position: absolute;
    top:0; left:-100%; width:100%; height:100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
}
.mrpez-btn:hover::before { left:100%; }
.mrpez-btn:hover  { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(26,63,143,0.45); }
.mrpez-btn:active { transform: scale(0.98); }
.mrpez-btn svg { width:18px; height:18px; }

/* ── Loading ── */
.mrpez-loading {
    display: flex; flex-direction: column; align-items: center;
    gap: 12px; padding: 2.5rem; color: var(--mp-blue-mid);
    font-size: 13px; font-weight: 600; letter-spacing: 0.04em;
}
.mrpez-bubbles { display:flex; gap:7px; align-items:flex-end; height:28px; }
.mrpez-bubbles span {
    display:block; width:9px; height:9px; border-radius:50%;
    background: var(--mp-accent);
    animation: mrpez-bub 1.1s ease-in-out infinite;
}
.mrpez-bubbles span:nth-child(2) { animation-delay:.2s; }
.mrpez-bubbles span:nth-child(3) { animation-delay:.4s; }
@keyframes mrpez-bub {
    0%,100% { transform:translateY(0); opacity:.3; }
    50%      { transform:translateY(-16px); opacity:1; }
}

/* ── Error ── */
.mrpez-error {
    margin: 0 1.75rem 1rem;
    background: #fff0f0; border: 1.5px solid #f5c0c0;
    border-radius: 9px; padding: 10px 14px;
    font-size: 13px; color: #c0392b;
    display: flex; align-items: flex-start; gap: 8px;
}
.mrpez-error svg { width:16px; height:16px; flex-shrink:0; margin-top:1px; }

/* ── Resultado ── */
.mrpez-resultado {
    border-top: 2px solid var(--mp-blue);
    animation: mrpez-slide-up 0.4s ease;
}
@keyframes mrpez-slide-up {
    from { opacity:0; transform:translateY(14px); }
    to   { opacity:1; transform:translateY(0); }
}
.mrpez-resultado-header {
    display: flex; align-items: center; gap: 10px;
    padding: 0.85rem 1.75rem;
    background: var(--mp-blue-dark);
}
.mrpez-resultado-header svg { width:18px; height:18px; color: var(--mp-accent); }
.mrpez-resultado-titulo {
    font-size: 13px; font-weight: 700; color: #fff;
    margin:0; text-transform: uppercase; letter-spacing: 0.08em;
}

/* Cards resultado */
.mrpez-cards {
    display: grid; grid-template-columns: repeat(2,1fr);
    gap: 1px; background: var(--mp-border);
    border-bottom: 1px solid var(--mp-border);
}
.mrpez-card {
    display: flex; flex-direction: column; gap: 3px;
    padding: 1rem 1.25rem;
    background: var(--mp-white);
    transition: background 0.2s;
}
.mrpez-card:hover { background: var(--mp-gray-bg); }
.mrpez-card-icon {
    width:30px; height:30px; border-radius:8px;
    background: var(--mp-gray-light);
    display:flex; align-items:center; justify-content:center;
    margin-bottom: 5px;
}
.mrpez-card-icon svg { width:15px; height:15px; color: var(--mp-blue-mid); }
.mrpez-card-label {
    font-size:10px; color: var(--mp-text-soft);
    font-weight:600; text-transform:uppercase; letter-spacing:0.06em;
}
.mrpez-card-value {
    font-size:22px; font-weight:800; color: var(--mp-blue-dark); line-height:1.1;
}
.mrpez-card--precio {
    background: linear-gradient(135deg, var(--mp-blue-dark) 0%, var(--mp-blue) 100%);
}
.mrpez-card--precio:hover { background: linear-gradient(135deg, var(--mp-blue) 0%, var(--mp-blue-mid) 100%); }
.mrpez-card--precio .mrpez-card-icon { background: rgba(255,255,255,0.15); }
.mrpez-card--precio .mrpez-card-icon svg { color: #fff; }
.mrpez-card--precio .mrpez-card-label { color: rgba(255,255,255,0.7); }
.mrpez-card--precio .mrpez-card-value { color: var(--mp-accent); font-size:24px; }

/* Animación tarjetas */
.mrpez-card { animation: mrpez-fi 0.4s ease both; }
.mrpez-card:nth-child(1){animation-delay:.04s}
.mrpez-card:nth-child(2){animation-delay:.09s}
.mrpez-card:nth-child(3){animation-delay:.14s}
.mrpez-card:nth-child(4){animation-delay:.19s}
@keyframes mrpez-fi {
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
}

/* Footer nota */
.mrpez-footer-nota {
    font-size:11px; color: var(--mp-text-soft);
    padding: 0.9rem 1.75rem 0; margin:0;
    display:flex; align-items:flex-start; gap:6px;
    border-top: 1px solid var(--mp-border);
}
.mrpez-footer-nota svg { width:11px; height:11px; flex-shrink:0; margin-top:2px; color: var(--mp-blue-mid); }

/* Features strip */
.mrpez-features {
    display:flex; justify-content:space-around;
    padding: 1rem 1rem 1.1rem;
    background: var(--mp-blue-dark); gap:4px;
}
.mrpez-feature {
    display:flex; flex-direction:column; align-items:center;
    gap:5px; font-size:10px; color: rgba(255,255,255,0.6);
    text-align:center; flex:1; line-height:1.3;
}
.mrpez-feature svg { width:22px; height:22px; color: var(--mp-accent); }

/* Responsive */
@media (max-width:520px){
    .mrpez-header, .mrpez-form, .mrpez-descripcion-wrap { padding-left:1.25rem; padding-right:1.25rem; }
    .mrpez-nota-fija { margin-left:1.25rem; margin-right:1.25rem; }
    .mrpez-inputs { grid-template-columns:1fr; }
    .mrpez-cards  { grid-template-columns:1fr; }
    .mrpez-resultado-header, .mrpez-footer-nota { padding-left:1.25rem; padding-right:1.25rem; }
    .mrpez-card-value { font-size:18px; }
    .mrpez-card--precio .mrpez-card-value { font-size:21px; }
    .mrpez-features { flex-wrap:wrap; }
    .mrpez-feature { flex: 0 0 48%; }
}