/* MAG'S — Calculadora modular por gremios. Afecta solo a #calculadora. */
.mags-project{background:#101b24;color:#eff7f5;padding:clamp(3.3rem,7vw,7rem) 0;font-family:Montserrat,'Segoe UI',sans-serif}
.mags-project *{box-sizing:border-box}
.mags-project__shell{width:min(calc(100% - 32px),1180px);margin:0 auto}
.mags-project__intro{max-width:840px;margin-bottom:2.2rem}
.mags-project__eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#9ce7df}
.mags-project__intro h2{font:700 clamp(2rem,4.6vw,3.8rem)/1.12 Montserrat,'Segoe UI',sans-serif;letter-spacing:-.045em;color:#fff;margin:.65rem 0 1rem}
.mags-project__intro p{font-size:1rem;line-height:1.7;color:#cbd8da}
.mags-project__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);border:1px solid #37525a;background:#1b3038}
.mags-project__form{padding:clamp(1.15rem,3.5vw,2.5rem);min-width:0}
.mags-project__result{padding:clamp(1.15rem,3.5vw,2.4rem);background:#0d2029;min-width:0}
.mags-project__fieldlabel,.mags-project__form legend{display:block;color:#fff;font-size:1rem;font-weight:700;margin:0 0 .75rem}
.mags-project__select,.mags-project__input{width:100%;min-height:48px;background:#f8fbfa;color:#132f36;border:1px solid #96b2b4;border-radius:5px;padding:.7rem;font:inherit}
.mags-project__select:focus-visible,.mags-project__input:focus-visible{outline:3px solid #89e4d7;outline-offset:2px}
.mags-project__block{padding:1.4rem 0;border-bottom:1px solid #405762}
.mags-project__block h3{font-size:1.07rem;font-weight:700;color:#fff;margin:0 0 .7rem}
.mags-project__block>p{font-size:.86rem;color:#c4d3d5;line-height:1.65;margin:.5rem 0}
.mags-project__block>label{display:block;margin:.9rem 0 .4rem;font-weight:600;color:#edf7f4}
.mags-project__choice{display:block;margin:.65rem 0 0}
.mags-project__choice small,.mags-project__item small{color:#c4d3d5;display:block;font-size:.79rem;line-height:1.5;margin-top:.3rem}
.mags-project__item{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:.7rem;align-items:center;border-bottom:1px solid #3c525b;padding:.85rem 0}
.mags-project__item strong{color:#fff;font-weight:600;font-size:.92rem}
.mags-project__item input[type=checkbox]{width:20px;height:20px;accent-color:#79dace}
.mags-project__checkbox{display:flex;gap:.7rem;align-items:start;margin:.8rem 0;color:#edf8f6;line-height:1.5}
.mags-project__checkbox input{margin-top:3px;accent-color:#79dace;width:18px;height:18px;flex-shrink:0}
.mags-project__input{width:90px;min-height:43px;padding:.5rem;text-align:right}
.mags-project__help{color:#b7c9cf;font-size:.82rem;line-height:1.6;margin:1.4rem 0}
.mags-project__small-link{color:#a5ece2;font-weight:700;text-decoration:underline;text-underline-offset:4px;line-height:1.6}
.mags-project__result h3{font-size:1.45rem;color:#fff;margin:.7rem 0 1.5rem;font-weight:700}
.mags-project__lines{min-height:130px}
.mags-project__line{display:flex;justify-content:space-between;align-items:start;gap:.8rem;font-size:.87rem;padding:.65rem 0;border-bottom:1px solid #304a52;line-height:1.55}
.mags-project__line span{color:#e1ebeb}
.mags-project__line strong{color:#fff;text-align:right;white-space:nowrap}
.mags-project__line--special strong{color:#aed9d4}
.mags-project__line--discount strong{color:#9bedc9}
.mags-project__totals{border-top:1px solid #5b777f;margin-top:1.5rem;padding-top:1rem}
.mags-project__totals>div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.87rem}
.mags-project__totals strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.mags-project__grand{border-top:1px solid #46606b;margin-top:.6rem;padding-top:1rem!important;font-size:1.08rem!important;color:#9ce7df;font-weight:700}
.mags-project__grand strong{font-size:clamp(1.4rem,3vw,2rem)}
.mags-project__pending{border-left:3px solid #9ce7df;background:#213941;padding:.85rem;font-size:.84rem;line-height:1.55;color:#fff}
.mags-project__disclaimer{font-size:.76rem;line-height:1.7;color:#c0cfd0;margin:1.2rem 0}
.mags-project__cta{display:block;background:#92e1d5;color:#113238!important;text-align:center;font-size:.95rem;font-weight:800;text-decoration:none;padding:1rem;line-height:1.4;min-height:48px}
.mags-project__cta:hover{background:#fff}
@media(max-width:1000px){.mags-project__grid{grid-template-columns:minmax(0,1fr)}.mags-project__result{border-top:1px solid #46606b}.mags-project__intro{padding-top:1.5rem}}@media(max-width:800px){.mags-project__item{grid-template-columns:minmax(0,1fr) 90px}.mags-project__input{width:100%;max-width:125px}.mags-project__block>.mags-project__input{display:block;width:100%;max-width:180px;margin:.4rem 0}.mags-project__result{padding:1.5rem}.mags-project__line{overflow-wrap:anywhere}}


/* AJUSTES MÓVILES Y LEGIBILIDAD: aplicar solo a la primera calculadora */
body .mags-project,body .mags-project *{min-width:0;max-width:100%}
body .mags-project{width:100%;overflow-x:clip}
body .mags-project__shell{width:min(calc(100% - 32px),1180px)!important;max-width:1180px!important;margin-inline:auto!important}
body .mags-project__intro,body .mags-project__grid,body .mags-project__form,body .mags-project__result,body .mags-project__block{min-width:0;width:100%;max-width:100%}
body .mags-project__intro h2{font:700 clamp(1.75rem,5vw,3.3rem)/1.18 Montserrat,"Segoe UI",sans-serif!important;color:#fff!important;letter-spacing:-.035em!important;text-transform:none!important;white-space:normal!important;overflow-wrap:break-word}
body .mags-project__form h3,body .mags-project__block h3,body .mags-project__result h3{font:700 clamp(.99rem,2.9vw,1.2rem)/1.42 Montserrat,"Segoe UI",sans-serif!important;letter-spacing:normal!important;text-transform:none!important;color:#fff!important;margin:0 0 .85rem!important;overflow-wrap:break-word;white-space:normal}
body .mags-project__block p,body .mags-project__block small,body .mags-project__help,body .mags-project__disclaimer{white-space:normal;overflow-wrap:break-word;word-break:normal;line-height:1.65}
body .mags-project__block>.mags-project__checkbox,body .mags-project__block>.mags-project__measure{margin-block:.85rem}
body .mags-project__checkbox{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:.8rem;min-width:0;max-width:100%;font:500 .93rem/1.5 Montserrat,"Segoe UI",sans-serif!important;letter-spacing:normal!important;white-space:normal!important;overflow-wrap:break-word}
body .mags-project__checkbox>span{display:block;flex:1;min-width:0;max-width:100%;white-space:normal;overflow-wrap:break-word}
body .mags-project__checkbox small{display:block;margin-top:.3rem;color:#bdd4d4;font-size:.78rem;font-weight:400}
body .mags-project__checkbox input[type=checkbox]{flex:0 0 19px;width:19px;min-width:19px;max-width:19px;height:19px;margin-top:3px}
body .mags-project__measure{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:center;min-width:0}
body .mags-project__measure>label{flex:1 1 180px;min-width:0;margin:0!important;color:#f0f6f5;font:500 .9rem/1.5 Montserrat,"Segoe UI",sans-serif!important;overflow-wrap:break-word}
body .mags-project__measure-control{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto;max-width:100%}
body .mags-project__measure-control input.mags-project__input{display:block;flex:0 0 95px;width:95px!important;max-width:95px!important;min-width:0;text-align:right;padding:.55rem}
body .mags-project__unit{color:#d7e9e6;white-space:nowrap;flex:0 0 auto;font:.85rem Montserrat,"Segoe UI",sans-serif}
body .mags-project__select{display:block;max-width:100%;font:.92rem/1.3 Montserrat,"Segoe UI",sans-serif}
body .mags-project__details{width:100%;max-width:100%;min-width:0;border:1px solid #47616b;padding:.9rem;margin:.9rem 0;overflow:hidden}
body .mags-project__details>summary{cursor:pointer;color:#b2f1e8;font:.9rem/1.5 Montserrat,"Segoe UI",sans-serif;overflow-wrap:break-word}
body .mags-project__details[open]{padding-bottom:1.2rem}
body .mags-project__details .mags-project__measure{padding:.55rem 0;border-bottom:1px solid #3b5661}
body .mags-project__line>span{flex:1;min-width:0;overflow-wrap:break-word}
body .mags-project__line>strong{flex:0 0 auto}
body .mags-project__grand strong{font-size:clamp(1.35rem,5vw,2.1rem)}
@media(max-width:1000px){
 body .mags-project__grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 body .mags-project__form,body .mags-project__result{width:100%!important}
}
@media(max-width:600px){
 body .mags-project__shell{width:calc(100% - 28px)!important}
 body .mags-project__form,body .mags-project__result{padding:1.1rem!important}
 body .mags-project__block{padding:1.2rem 0}
 body .mags-project__measure{align-items:flex-start;flex-direction:column;gap:.35rem}
 body .mags-project__measure>label{flex:auto;width:100%}
 body .mags-project__measure-control{align-self:flex-start}
 body .mags-project__lines{min-height:0}
 body .mags-project__totals>div{flex-wrap:wrap}
}

/* Fichas desplegables de alcance de los trabajos: solo calculadora de obras */
.mags-project__scope-list{margin-top:2.1rem;padding-top:1.3rem;border-top:2px solid #5a7d80;width:100%;min-width:0}
.mags-project__scope-list h3{font:700 1.14rem/1.35 Montserrat,"Segoe UI",sans-serif!important;color:#fff!important;margin:0 0 .75rem!important}
.mags-project__scope-list>p{font-size:.87rem;line-height:1.65;color:#cbdadb;margin-bottom:1.1rem}
.mags-project__scope{width:100%;min-width:0;max-width:100%;border:1px solid #45626a;border-radius:3px;margin:.6rem 0;background:#203943;overflow:hidden}
.mags-project__scope summary{display:list-item;list-style-position:inside;padding:.9rem .85rem;cursor:pointer;color:#e9f8f6;font:600 .88rem/1.55 Montserrat,"Segoe UI",sans-serif;overflow-wrap:break-word;white-space:normal}
.mags-project__scope summary::marker{color:#98e3d8}
.mags-project__scope[open] summary{background:#2a4751;color:#fff}
.mags-project__scope-body{padding:1rem .9rem .8rem;border-top:1px solid #547179}
.mags-project__scope-body p{color:#d6e5e6;font:.84rem/1.75 Montserrat,"Segoe UI",sans-serif;margin:0 0 .95rem;overflow-wrap:break-word}
.mags-project__scope-body strong{color:#a6ede2;font-weight:700}
@media(max-width:600px){.mags-project__scope summary{padding:1rem .72rem;font-size:.87rem}.mags-project__scope-body{padding:.9rem .72rem}}
