/* Calculadora por m² (Mayagar): mismos valores que el boceto, con variables globales de Bricks */
.mcalc{ width:100%; }
.mcalc__field{ margin-bottom:var(--s-4); }
.mcalc__field > label{ display:block; font-size:var(--fs-sm); font-weight:700; color:var(--c-ink); margin-bottom:6px; }
.mcalc__m2{ position:relative; }
.mcalc__m2[hidden]{ display:none; }
.mcalc__porche-opt .mcalc__m2{ margin-top:var(--s-2); }
.mcalc__m2 input{ width:100%; min-height:52px; padding:14px 44px 14px 16px; border:1px solid var(--c-line-strong); border-radius:var(--r-sm); background:#fff; font:inherit; color:inherit; }
.mcalc__m2 input:focus{ outline:2px solid var(--c-brand-soft); border-color:var(--c-brand); }
.mcalc__m2 input.is-invalid{ border-color:#c0392b; outline-color:#f6d5d1; }
.mcalc__m2 span{ position:absolute; right:12px; top:50%; transform:translateY(-50%); color:var(--c-muted); pointer-events:none; font-size:var(--fs-sm); }
.mcalc__hint{ font-size:var(--fs-xs); color:var(--c-muted); margin:5px 0 0; }
.mcalc__check{ display:flex; align-items:center; gap:9px; cursor:pointer; font-weight:600; font-size:var(--fs-base); color:var(--c-ink); }
.mcalc__check input{ accent-color:var(--c-brand); width:18px; height:18px; margin:0; }
.mcalc__check small{ font-weight:400; color:var(--c-muted); font-size:var(--fs-xs); }
.mcalc__line{ display:flex; justify-content:space-between; gap:var(--s-3); padding:8px 0; border-bottom:1px dashed var(--c-line); font-size:var(--fs-base); }
.mcalc__line[hidden]{ display:none; }
.mcalc__line small{ display:block; font-size:.78em; color:var(--c-muted); }
.mcalc__line b{ color:var(--c-ink); white-space:nowrap; }
.mcalc__total{ display:flex; justify-content:space-between; align-items:center; gap:var(--s-3); margin-top:var(--s-4); padding:var(--s-4); background:var(--c-accent-soft); border:1px solid var(--c-accent); border-radius:var(--r-md); }
.mcalc__total span{ font-size:var(--fs-sm); color:var(--c-ink); }
.mcalc__total small{ color:var(--c-muted); font-size:var(--fs-xs); }
.mcalc__total b{ font-family:var(--f-head); font-size:var(--fs-2xl); color:var(--c-ink); line-height:1; white-space:nowrap; }
.mcalc__medida{ margin:0; padding:var(--s-4); background:var(--c-brand-soft); border-radius:var(--r-md); color:var(--c-ink); font-size:var(--fs-base); }
.mcalc__medida b{ display:block; margin-bottom:4px; }
.mcalc__m2 input[readonly]{ background:var(--c-bg-alt); color:var(--c-ink); cursor:default; }

/* Aviso al pasarse del máximo (o quedarse por debajo del mínimo) del modelo */
.mcalc__m2 input.is-aviso{ border-color:#C98A00; outline:2px solid #FDF3D7; }
.mcalc__hint.is-aviso{ display:flex; gap:8px; align-items:flex-start; padding:8px 12px; margin-top:6px; border-radius:var(--r-sm,3px); background:#FDF3D7; color:#6B4A00; font-weight:600; }
.mcalc__hint.is-aviso::before{ content:"!"; flex:none; display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:#C98A00; color:#fff; font-size:.75rem; font-weight:700; margin-top:1px; }
