/* ==========================================================
   Metro Suite — Frontend Form
   Design tokens
   ========================================================== */

:root{
    --ms-accent:#2d5be3;
    --ms-accent-dark:#1f47c4;
    --ms-ink:#16181d;
    --ms-muted:#6b7280;
    --ms-line:#e8e9ec;
    --ms-bg-soft:#f7f8fa;
    --ms-success-bg:#eaf7ee;
    --ms-success-line:#c9ebd2;
    --ms-success-ink:#1f8a3d;
    --ms-radius:10px;
    --ms-radius-sm:6px;
}

/* Preço original do WooCommerce escondido pelo plugin */
.summary .price{display:none!important}

/* ==========================================================
   Tabela de escalões
   ========================================================== */

.rp-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    margin:16px 0;
    border:1px solid var(--ms-line);
    border-radius:var(--ms-radius);
    overflow:hidden;
    font-size:14px;
}

.rp-table th{
    background:var(--ms-ink)!important;
    color:#fff!important;
    padding:9px 12px;
    text-align:left;
    font-weight:600;
    font-size:12px;
    letter-spacing:.02em;
    text-transform:uppercase;
    border:none!important;
}

.rp-table td{
    padding:9px 12px;
    border-top:1px solid var(--ms-line);
    color:var(--ms-ink);
}

.rp-table tr:hover td{
    background:var(--ms-bg-soft);
}

.rp-table td:last-child{
    width:100px;
    text-align:right;
    font-weight:600;
    font-variant-numeric:tabular-nums;
}

.rp-table tr.active td{
    background:#eef2fd;
}

.rp-table tr.active td:first-child{
    display:flex;
    align-items:center;
    gap:6px;
}

.rp-table tr.active td:first-child::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--ms-accent);
    flex-shrink:0;
}

/* ==========================================================
   Preço em destaque
   ========================================================== */

.rp-big-price{
    display:flex;
    align-items:baseline;
    gap:6px;
    margin:4px 0 10px;
    line-height:1;
}

.rp-big-price #rp_preco{
    font-size:34px;
    font-weight:700;
    color:var(--ms-ink);
    letter-spacing:-0.01em;
}

.rp-label{
    font-size:13px;
    color:var(--ms-muted);
}

/* ==========================================================
   Upsell
   ========================================================== */

#rp-upsell{
    display:inline-block;
    background:var(--ms-success-bg);
    border:1px solid var(--ms-success-line);
    color:var(--ms-success-ink);
    font-size:13px;
    font-weight:500;
    padding:8px 12px;
    border-radius:999px;
    margin:0 0 14px;
}

#rp-upsell:empty{
    display:none;
    margin:0;
}

/* ==========================================================
   Quantidade + Botão
   ========================================================== */

.cart{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin:0 0 6px;
}

.quantity{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.quantity::after{
    content:"Metro(s)";
    font-size:13px;
    font-weight:500;
    color:var(--ms-muted);
    white-space:nowrap;
}

.quantity .qty{
    width:64px;
    height:44px;
    padding:0 8px;
    text-align:center;
    font-size:15px;
    font-weight:600;
    color:var(--ms-ink);
    border:1px solid var(--ms-line);
    border-radius:var(--ms-radius-sm);
    background:#fff;
    -moz-appearance:textfield;
}

.quantity .qty:focus{
    outline:none;
    border-color:var(--ms-accent);
    box-shadow:0 0 0 3px rgba(45,91,227,.12);
}

.single_add_to_cart_button{
    height:44px;
    background:var(--ms-accent)!important;
    color:#fff!important;
    border:none!important;
    border-radius:var(--ms-radius-sm)!important;
    padding:0 22px!important;
    font-size:14px!important;
    font-weight:600!important;
    letter-spacing:.01em;
    transition:background .15s ease;
}

.single_add_to_cart_button:hover{
    background:var(--ms-accent-dark)!important;
}

/* ==========================================================
   Total (abaixo do botão)
   ========================================================== */

.rp-total-wrapper{
    display:flex;
    align-items:baseline;
    gap:8px;
    width:100%;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid var(--ms-line);
}

.rp-total-label{
    font-size:13px;
    color:var(--ms-muted);
}

.rp-total-big{
    font-size:22px;
    font-weight:700;
    color:var(--ms-ink);
    font-variant-numeric:tabular-nums;
}

/* ==========================================================
   Responsivo
   ========================================================== */

@media screen and (max-width:480px){

    .rp-big-price #rp_preco{
        font-size:28px;
    }

    .rp-table th,
    .rp-table td{
        padding:8px 10px;
        font-size:13px;
    }

}

/* ==========================================================
   Campos "Link do ficheiro" / "Notas" (compactos)
   ========================================================== */

.wapf-wrapper .wapf-field-container{
    margin-bottom:8px!important;
}

.wapf-wrapper .wapf-field-label{
    margin-bottom:2px!important;
    font-size:13px!important;
    line-height:1.2!important;
}

.wapf-wrapper .wapf-field-input input[type="text"],
.wapf-wrapper .wapf-field-input textarea{
    padding:6px 8px!important;
    min-height:auto!important;
    font-size:13px!important;
}

.wapf-wrapper .wapf-field-description{
    margin-top:1px!important;
    font-size:11px!important;
    line-height:1.2!important;
}

/* ==========================================================
   Caixa de Upload de Ficheiro (compacta, ~metade da altura)
   ========================================================== */

.products-uploads-dragandrophandler-container{
    padding:0!important;
    min-height:auto!important;
}

.products-uploads-dragandrophandler{
    padding:14px 12px!important;
    min-height:auto!important;
}

.products-uploads-dragandrophandler-inner{
    padding:0!important;
}

.products-uploads-text-drop{
    font-size:14px!important;
    margin:0 0 2px!important;
    line-height:1.3!important;
}

.products-uploads-text-or{
    margin:2px 0!important;
    font-size:12px!important;
    line-height:1!important;
}

.products-uploads-text-browser{
    margin-top:2px!important;
}

.products-uploads-text-browser a{
    display:inline-block!important;
    padding:6px 14px!important;
    font-size:13px!important;
}
