/* Solano — capa propia sobre Materialize 1.0 */
:root{--so-navy:#142A4C;--so-navy-d:#0E1E37;--so-sand:#E8DCC5;--so-sand-l:#F4EEE2;--so-brass:#C08A3E;--so-brass-d:#A2732F;--so-ink:#1B1F27;--so-mute:#5B6270;--so-line:#DDD3C1}
html{scroll-behavior:smooth}body{font-family:"DM Sans",system-ui,sans-serif;color:var(--so-ink);background:var(--so-sand-l);line-height:1.6}
img{height:auto}
h1,h2,h3,h4{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-.01em}
h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:.3rem 0 1rem}h3{font-size:1.25rem;margin:0}
.so-eyebrow{display:inline-block;font-weight:700;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--so-sand)}.so-eyebrow--brass{color:var(--so-brass)}.so-eyebrow--sand{color:var(--so-sand)}
.so-lead{font-size:1.06rem;color:var(--so-mute);max-width:54ch}.so-lead--light{color:rgba(255,255,255,.8)}.so-fine{font-size:.85rem;color:var(--so-mute);margin-top:1.2rem}
.so-link{color:var(--so-brass);text-decoration:underline;text-underline-offset:.2em}
.so-btn.btn,.so-btn.btn-large{font-family:"DM Sans",sans-serif;font-weight:700;letter-spacing:.04em;text-transform:none;border-radius:4px;box-shadow:none}
.so-btn--navy.btn,.so-btn--navy.btn-large{background:var(--so-navy)}.so-btn--navy.btn:hover,.so-btn--navy.btn-large:hover{background:var(--so-navy-d)}
.so-btn--brass.btn,.so-btn--brass.btn-large{background:var(--so-brass)}.so-btn--brass.btn:hover,.so-btn--brass.btn-large:hover{background:var(--so-brass-d)}
.so-btn--outline.btn-large{background:transparent;border:2px solid var(--so-navy);color:var(--so-navy);line-height:50px}.so-btn--outline.btn-large:hover{background:var(--so-navy);color:#fff}
/* nav */
.so-nav{position:fixed;top:0;left:0;right:0;z-index:200;background:transparent;box-shadow:none;height:72px;line-height:72px;transition:background .3s,box-shadow .3s}
.so-nav.is-solid{background:var(--so-navy);box-shadow:0 10px 30px -20px #000}
.so-brand{display:inline-flex!important;align-items:center;gap:.6rem;font-family:"DM Serif Display",serif;font-size:1.7rem!important;color:#fff}.so-brand svg{width:38px;height:38px}
.so-nav .nav-wrapper{display:flex;align-items:center;justify-content:space-between}.so-nav .brand-logo{position:static;transform:none}
.so-links{display:flex;align-items:center;gap:.2rem}.so-links li a{font-weight:500;font-size:.95rem;color:#fff}.so-links li a:hover{background:transparent;color:var(--so-sand)}
.so-links .btn{margin-left:.8rem;line-height:38px;height:38px;padding:0 1.2rem}
.so-nav .sidenav-trigger{color:#fff;margin:0}.so-nav .sidenav-trigger i{line-height:72px}
.so-side{background:var(--so-navy)}.so-side li a{color:#fff;font-family:"DM Serif Display",serif;font-size:1.3rem}.so-side li a:hover{background:rgba(255,255,255,.08)}
@media(max-width:992px){.so-nav .brand-logo{left:auto}.so-nav .sidenav-trigger{display:block}}
/* hero: banda inferior */
.so-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.so-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.so-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,30,55,.5),rgba(14,30,55,0) 45%)}
.so-hero__band{position:relative;background:var(--so-sand);padding:clamp(2rem,4vw,3.4rem) 0 clamp(1.8rem,3vw,2.6rem);clip-path:polygon(0 8%,100% 0,100% 100%,0 100%)}
.so-hero__row{margin-bottom:0;display:flex;flex-wrap:wrap;align-items:flex-end}
.so-hero h1{font-size:clamp(2.5rem,6vw,5.2rem);line-height:1;color:var(--so-navy);margin:.4rem 0 0}
.so-hero p{color:var(--so-ink);font-size:1.08rem;margin:0 0 1.2rem}.so-hero__cta{display:flex;gap:.7rem;flex-wrap:wrap}
.so-hero .so-eyebrow{color:var(--so-brass)}
/* secciones */
.so-section.section{padding:clamp(3.5rem,7vw,6rem) 0}.so-section--sand{background:var(--so-sand)}
.so-section--navy{background:var(--so-navy);color:#fff}.so-section--navy h2{color:#fff}
.so-head{margin-bottom:.5rem}.so-head .col{display:flex;flex-direction:column;justify-content:flex-end}
/* tarjetas */
.so-card.card{border-radius:8px;overflow:hidden;box-shadow:0 1px 0 var(--so-line),0 20px 40px -32px rgba(20,42,76,.5);margin:.6rem 0 1.2rem;display:flex;flex-direction:column;height:calc(100% - 1.8rem);background:#fff}
.so-card .card-image{position:relative;aspect-ratio:4/5;overflow:hidden}.so-card .card-image a{display:block;height:100%}.so-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.so-card:hover .card-image img{transform:scale(1.04)}
.so-pill{position:absolute;top:.9rem;left:.9rem;background:var(--so-navy);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}.so-pill--sand{background:var(--so-sand);color:var(--so-navy)}
.so-card .card-content{padding:1.2rem 1.3rem .8rem;flex:1}.so-card__top{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem}.so-price{font-family:"DM Serif Display",serif;font-size:1.3rem;color:var(--so-brass);white-space:nowrap;font-variant-numeric:tabular-nums}
.so-card .card-content p{margin:.5rem 0 .9rem;color:var(--so-mute);font-size:.93rem}
.so-cuellos{display:flex;gap:.3rem;flex-wrap:wrap}.so-cuellos span{font-size:.72rem;font-weight:700;border:1px solid var(--so-line);border-radius:4px;padding:.12rem .4rem;color:var(--so-ink)}.so-cuellos span.off{color:#B6AE9F;text-decoration:line-through;border-style:dashed}
.so-card .card-action{border-top:1px solid var(--so-line);padding:.9rem 1.3rem}.so-card .card-action a{color:var(--so-navy)!important;font-weight:700;text-transform:none;margin:0!important;letter-spacing:0}.so-card .card-action a:hover{color:var(--so-brass)!important}
/* configurador */
.so-about{border-radius:8px;margin-top:1.4rem;aspect-ratio:4/3;object-fit:cover;width:100%}
.so-config{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:clamp(1.2rem,3vw,2rem)}
.so-config fieldset{border:0;padding:0;margin:0 0 1.2rem;display:flex;flex-wrap:wrap;gap:.5rem}.so-config legend{width:100%;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--so-sand);margin-bottom:.5rem}
.so-config fieldset label{cursor:pointer}.so-config fieldset input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.so-config fieldset label span{display:inline-flex;align-items:baseline;gap:.4rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.45rem 1rem;color:#fff;font-weight:500;transition:.15s}.so-config fieldset label span em{font-style:normal;font-size:.78rem;color:rgba(255,255,255,.65)}
.so-config fieldset input:checked+span{background:var(--so-sand);color:var(--so-navy);border-color:var(--so-sand)}.so-config fieldset input:checked+span em{color:var(--so-navy)}.so-config fieldset input:focus-visible+span{outline:2px solid #fff}
.so-switch label{color:rgba(255,255,255,.85)!important;font-size:.95rem}.switch label input[type=checkbox]:checked+.lever{background-color:rgba(232,220,197,.5)}.switch label input[type=checkbox]:checked+.lever:after{background-color:var(--so-sand)}
.so-config__total{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.2)}.so-config__total span{display:block;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--so-sand)}.so-config__total output{font-family:"DM Serif Display",serif;font-size:2.4rem;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
/* talles */
.so-tabs.tabs{background:transparent;border-bottom:1px solid var(--so-line);height:52px}.so-tabs .tab a{color:var(--so-mute);font-family:"DM Serif Display",serif;font-size:1.15rem;text-transform:none;letter-spacing:0}.so-tabs .tab a.active,.so-tabs .tab a:hover{color:var(--so-navy);background:transparent}.so-tabs .indicator{background:var(--so-brass);height:3px}
.so-tabpane{padding-top:1rem}.so-table{background:#fff;border-radius:8px;overflow:hidden;font-variant-numeric:tabular-nums}.so-table th{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--so-mute)}.so-table tbody th{font-family:"DM Serif Display",serif;font-size:1.15rem;color:var(--so-navy);text-transform:none;letter-spacing:0}.so-table td,.so-table th{padding:.7rem .9rem}
/* clientes */
.so-review{background:#fff;border-radius:8px;padding:1.5rem;height:100%;display:flex;flex-direction:column;gap:.9rem;box-shadow:0 20px 40px -34px rgba(20,42,76,.5)}
.so-review header{display:flex;align-items:center;gap:.8rem}.so-review header img{width:52px;height:52px;object-fit:cover}.so-review header b{display:block;font-family:"DM Serif Display",serif;font-weight:400;font-size:1.05rem}.so-review header span{font-size:.82rem;color:var(--so-mute)}
.so-review p{margin:0;color:var(--so-ink);flex:1}.so-stars{color:var(--so-brass);letter-spacing:.1em}
/* faq */
.so-faq.collapsible{border:0;box-shadow:none;margin:0}.so-faq>li{background:#fff;border:1px solid var(--so-line);border-radius:8px;margin-bottom:.6rem;overflow:hidden}
.so-faq .collapsible-header{border:0;font-family:"DM Serif Display",serif;font-size:1.1rem;color:var(--so-navy);padding:1rem 1.2rem}.so-faq .collapsible-header i{color:var(--so-brass);transition:transform .25s}.so-faq>li.active .collapsible-header i{transform:rotate(45deg)}
.so-faq .collapsible-body{border:0;padding:0 1.2rem 1.1rem;color:var(--so-mute)}.so-faq .collapsible-body a{color:var(--so-brass);text-decoration:underline}
/* contacto */
.so-contact{margin:1.6rem 0 0;display:grid;gap:.6rem}.so-contact li{display:flex;align-items:center;gap:.7rem;font-size:.95rem}.so-contact i{color:var(--so-brass);font-size:1.3rem}.so-contact a{color:var(--so-navy);text-decoration:underline;text-underline-offset:.2em}
.so-form{background:#fff;border-radius:10px;padding:clamp(1.2rem,3vw,2rem) clamp(.4rem,2vw,1.2rem) 1.6rem;box-shadow:0 20px 40px -34px rgba(20,42,76,.5)}
.so-form .input-field input[type=text]:focus,.so-form .input-field input[type=email]:focus,.so-form .materialize-textarea:focus{border-bottom:1px solid var(--so-brass)!important;box-shadow:0 1px 0 0 var(--so-brass)!important}
.so-form .input-field input:focus+label,.so-form .input-field textarea:focus+label{color:var(--so-brass)!important}.so-form .dropdown-content li>a,.so-form .dropdown-content li>span{color:var(--so-navy)}
.so-check{display:flex;gap:.2rem;font-size:.9rem;color:var(--so-mute);margin:.4rem .75rem 1.2rem}.so-check span a{color:var(--so-navy);text-decoration:underline}
[type=checkbox].filled-in:checked+span:not(.lever):after{border-color:var(--so-navy);background-color:var(--so-navy)}
.so-form__foot{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.so-err{color:#B3261E;font-weight:700;font-size:.9rem}
/* footer */
.so-footer.page-footer{background:var(--so-navy-d);color:#C5CBD6;padding-top:3rem}.so-footer p{margin:.6rem 0 0;font-size:.92rem}.so-brand--foot{color:#fff;font-size:1.5rem!important}
.so-footer__legal{font-size:.82rem;line-height:1.7}.so-footer__legal a{color:#fff}
.so-footer h3{color:#fff;font-family:"DM Sans",sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .8rem}.so-footer ul li{margin-bottom:.4rem}.so-footer ul a{color:#E1E5EC}.so-footer ul a:hover{color:#fff;text-decoration:underline}
.so-arrep{color:#E3B77A!important;font-weight:700}.so-copy.footer-copyright{background:rgba(0,0,0,.25);font-size:.82rem;color:#C5CBD6}.so-copy a{color:#fff}
.so-modal.modal{border-radius:10px;max-width:600px}.so-modal h4{font-size:1.6rem}.so-modal ol{padding-left:1.2rem}.so-modal li{margin-bottom:.5rem}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
