/* =================================================================
   Lista Cotizador — Frontend styles
   Heredan colores y tipografía del theme activo (Flatsome).
   Variables CSS con fallback para que funcione standalone.
   ================================================================= */

.lc-cotizador {
    --lc-primary:    var(--primary-color,    #d9b154);   /* fallback Flatsome amber */
    --lc-secondary:  var(--secondary-color,  #1f2937);
    --lc-bg:         var(--accent-color,     #f7f6f3);
    --lc-text:       var(--body-text-color,  #1a1a1a);
    --lc-muted:      #6b6b6b;
    --lc-border:     #e4e2dd;
    --lc-radius:     6px;

    font-family: inherit;
    color: var(--lc-text);
    max-width: 920px;
    margin: 0 auto;
    padding: 0;
}

.lc-cotizador__title {
    font-size: 1.6rem;
    margin: 0 0 18px;
    color: var(--lc-secondary);
}

/* ---------- TABS ---------- */
.lc-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--lc-border);
    margin-bottom: 24px;
}
.lc-tab {
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    padding: 12px 22px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    color: var(--lc-muted);
    transition: color .15s, border-color .15s;
}
.lc-tab:hover { color: var(--lc-secondary); }
.lc-tab.is-active {
    color: var(--lc-primary);
    border-bottom-color: var(--lc-primary);
}

/* ---------- PANELS ---------- */
.lc-panel { padding: 6px 0 22px; }
.lc-panel.is-hidden { display: none; }

.lc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px 20px;
}
.lc-grid label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--lc-secondary);
}
.lc-grid select,
.lc-grid input[type="range"] {
    width: 100%;
    box-sizing: border-box;
}
.lc-grid select,
.lc-grid input[type="text"],
.lc-grid input[type="email"],
.lc-grid input[type="tel"] {
    padding: 9px 12px;
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
    font-size: 0.95rem;
    background: #fff;
    color: var(--lc-text);
}
.lc-range-val {
    font-weight: 700;
    color: var(--lc-primary);
    font-size: 0.92rem;
}

.lc-spec {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.lc-spec span {
    background: var(--lc-bg);
    border: 1px solid var(--lc-border);
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 0.85rem;
    color: var(--lc-muted);
}

/* ---------- PRICE ---------- */
.lc-result {
    margin-top: 24px;
    padding: 24px 28px;
    background: var(--lc-bg);
    border: 1px solid var(--lc-border);
    border-radius: var(--lc-radius);
}
.lc-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 14px;
}
.lc-price__label {
    font-size: 0.88rem;
    color: var(--lc-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    width: 100%;
    margin-bottom: 6px;
}
.lc-price__ars {
    font-size: 2.4rem;
    font-weight: 800;
    color: var(--lc-secondary);
    line-height: 1;
    letter-spacing: -0.02em;
}
.lc-price__usd {
    font-size: 1.05rem;
    color: var(--lc-primary);
    font-weight: 600;
}
.lc-price__per-m2 {
    margin-top: 10px;
    font-size: 0.86rem;
    color: var(--lc-muted);
}
.lc-disclaimer {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px dashed var(--lc-border);
    font-size: 0.78rem;
    color: var(--lc-muted);
    line-height: 1.5;
}

/* ---------- LEAD FORM ---------- */
.lc-lead { margin-top: 28px; }
.lc-lead h3 {
    font-size: 1.15rem;
    color: var(--lc-secondary);
    margin: 0 0 12px;
}
.lc-lead__form {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 10px;
}
.lc-lead__form input { min-width: 0; }
.lc-lead__form button {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: 6px;
}

.lc-btn {
    display: inline-block;
    padding: 11px 26px;
    border: none;
    border-radius: var(--lc-radius);
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: filter .15s;
}
.lc-btn:hover { filter: brightness(0.92); }
.lc-btn--primary {
    background: var(--lc-primary);
    color: #1a1a1a;
}

.lc-lead__msg {
    margin-top: 10px;
    font-size: 0.9rem;
}
.lc-lead__msg.is-success { color: #2a7a3a; }
.lc-lead__msg.is-error   { color: #b03030; }

@media (max-width: 640px) {
    .lc-price__ars { font-size: 1.8rem; }
    .lc-lead__form { grid-template-columns: 1fr; }
}
