:root{--navy:#062947;--dark:#041b30;--blue:#006fe0;--blue2:#0089ea;--cyan:#13c9f1;--green:#079947;--mint:#effcf6;--ink:#102840;--text:#526374;--line:#dce7f1;--bg:#f5f8fc;--shadow:0 10px 32px rgba(5,44,77,.09);--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;font-size:14px;line-height:1.55}body.cart-open{overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(1240px,calc(100% - 64px));margin-inline:auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.13}h2{letter-spacing:-.035em}h2{font-size:clamp(25px,3vw,34px)}h3{font-size:18px}.section-pad{padding:44px 0}.skip-link{position:absolute;z-index:40;left:12px;top:-150px;background:#fff;padding:10px 16px}.skip-link:focus{top:8px}.topbar{height:31px;background:#063a60;color:#e6f5fd;font-size:11px}.topbar-inner,.topbar-points,.topbar-points>span,.topbar-contact{display:flex;align-items:center;gap:22px;height:100%}.topbar-inner{justify-content:space-between}.topbar-points>span,.topbar-contact{gap:5px}.topbar .icon{width:12px;height:12px}.site-header{height:78px;position:relative;z-index:18;background:rgba(255,255,255,.98);box-shadow:0 2px 12px rgba(9,37,61,.08)}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;flex-shrink:0}.brand-logo{width:244px;height:auto;max-height:62px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:21px;font-size:12.6px;font-weight:650;white-space:nowrap}.main-nav a{position:relative;padding:27px 0;color:#1e3347}.main-nav a:hover,.main-nav a.nav-active{color:var(--blue)}.main-nav a.nav-active:after{content:"";position:absolute;left:0;right:0;height:3px;border-radius:10px;background:var(--blue);bottom:18px}.nav-actions{display:flex;align-items:center;gap:8px}.nav-whatsapp{display:flex;align-items:center;gap:7px;color:var(--green);font-size:13px;font-weight:800;white-space:nowrap}.nav-whatsapp .icon{width:20px;height:20px}.cart-trigger{display:flex;align-items:center;gap:8px;padding:13px 14px;border:0;background:var(--navy);color:white;font-size:13px;font-weight:800;border-radius:11px;box-shadow:0 5px 11px rgba(0,47,87,.13)}.cart-trigger:hover{background:#005d9f}.count-badge{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;background:#0879cb;color:#fff;border-radius:50%;font-weight:800;font-size:11px}.cart-trigger .count-badge{background:#00ace4}.menu-trigger{display:none;background:#f2f7fb;border:0;border-radius:9px;padding:9px}.hero{min-height:375px;position:relative;isolation:isolate;color:#fff;overflow:hidden;background:#023653}.hero-photo{position:absolute;inset:0;z-index:-2;background-image:url('assets/images/hero-pendiente.svg');background-position:center 24%;background-size:cover}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,18,35,.96) 0%,rgba(3,31,50,.82) 30%,rgba(2,37,58,.23) 67%,rgba(3,25,43,.1))}.hero-content{position:relative;min-height:375px;display:flex;align-items:center;padding:36px 0}.hero-copy{max-width:565px}.eyebrow{font-size:11px;font-weight:800;color:#007bc3;letter-spacing:.18em;margin-bottom:9px}.eyebrow-light{color:#bde9ff}.eyebrow-rule{display:inline-block;vertical-align:middle;width:18px;height:3px;background:var(--cyan);margin-right:6px}.hero h1{max-width:600px;font-size:clamp(33px,4.35vw,57px);font-weight:850;letter-spacing:-.055em;line-height:1.05;margin:0 0 16px}.hero h1 span{color:#1fc8ff}.hero p{max-width:450px;color:#f0f8ff;font-size:15px;line-height:1.55;margin-bottom:20px}.hero-features{display:flex;gap:23px;margin-bottom:24px;flex-wrap:wrap}.hero-features span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.hero-features .icon{width:23px;height:23px;color:#a5e7ff}.hero-buttons{display:flex;gap:11px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 17px;border-radius:9px;border:1px solid transparent;font-weight:800;font-size:13px;text-align:center;line-height:1.2;min-height:43px;transition:transform .18s,background .18s,box-shadow .18s}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px #001b3529}.btn-green{background:linear-gradient(135deg,#0ab456,#048d43);border-color:#7cebb0;color:white}.btn-blue{background:linear-gradient(135deg,#008aff,#0062d4);color:white}.btn-outline-white{background:#12344b4d;border-color:#c0ddea;color:#fff}.btn-block{width:100%}.hero-stamp{position:absolute;right:10px;top:50px;transform:rotate(-5deg);background:#06375b;padding:12px 25px;text-align:center;border-radius:16px;box-shadow:0 6px 0 #ffffff34;font-size:13px}.hero-stamp span{display:block;color:#60ddff;font-weight:800;font-size:10px;letter-spacing:.15em}.hero-stamp strong{font-size:17px;line-height:1.1}.trust-row{min-height:82px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;align-items:stretch;background:#fff;margin-top:-1px;border-bottom:1px solid #edf2f7}.trust-row>div{display:flex;align-items:center;gap:12px;padding:17px 9px}.trust-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;color:#017ecc;background:#edf6fd}.trust-icon .icon{width:22px;height:22px}.trust-row strong{display:block;font-size:13px;line-height:1.2}.trust-row small{display:block;margin-top:4px;color:var(--text);font-size:11.5px}.catalog-section{background:linear-gradient(#f4f8fc,#fff 160px);padding-top:22px}.catalog-search{border:1px solid #e7edf3;border-radius:13px;background:#f0f5fa;display:grid;grid-template-columns:1fr 1.65fr;align-items:center;gap:15px;padding:15px 19px;margin-bottom:26px}.mini-label{font-size:10px;color:#0574b6;font-weight:850;letter-spacing:.1em}.catalog-search h2{font-size:22px;margin:0 0 3px}.catalog-search p{font-size:12px;margin:0;color:#687b8d}.search-fields{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.search-fields label{display:block;min-width:0;color:#617185;font-size:10px;font-weight:800}.search-fields select{margin-top:4px;display:block;width:100%;border:1px solid #d6e1eb;background:#fff;color:#173a53;padding:11px 12px;border-radius:8px;font-size:12px;min-height:42px}.search-button{white-space:nowrap;min-height:42px}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:19px}.section-title-row h2{margin:0 0 6px}.section-title-row p{color:var(--text);margin:0;font-size:13px}.heading-line{display:inline-block;vertical-align:middle;width:35px;height:3px;background:#0a84de;margin-left:6px}.small-highlight{font-size:11px;color:#3c789c;font-weight:650}.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:16px;align-items:start}.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card{background:#fff;border:1px solid #e4ebf2;border-radius:11px;overflow:hidden;box-shadow:0 5px 15px #1739550a;display:flex;flex-direction:column;min-width:0}.product-media{position:relative;height:164px;overflow:hidden}.product-media img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.product-card:hover img{transform:scale(1.04)}.product-tag{position:absolute;top:10px;left:10px;display:inline-block;border-radius:6px;color:#fff;background:var(--blue);font-size:9px;font-weight:850;letter-spacing:.03em;padding:5px 9px}.product-tag.neutral{background:#0c899b}.product-info{padding:12px;flex:1;display:flex;flex-direction:column}.product-info h3{font-size:15px;line-height:1.25;margin-bottom:5px}.product-info p{font-size:11px;color:var(--text);margin:0 0 9px}.meta-row{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:auto;margin-bottom:9px;color:#45647c;font-size:10.5px}.meta-row .icon{width:13px;height:13px;color:#118ad4}.meta-row>span{display:flex;align-items:center;gap:4px}.product-price{font-size:18px;font-weight:850;color:#052b4a;letter-spacing:-.025em}.product-price small{display:block;color:#8090a0;font-size:9.5px;letter-spacing:0;font-weight:550}.product-actions{display:flex;gap:7px;margin-top:10px}.product-actions button{flex:1;font-size:11px;padding:10px 6px}.btn-line{background:#fff;color:#0363a8;border:1px solid #b3d1e8}.product-actions .icon{width:15px;height:15px}.no-results{padding:25px;border-radius:10px;background:#eef8ff;text-align:center;color:#366582}.catalog-footnote{display:flex;gap:7px;align-items:flex-start;color:#74899b;font-size:11px;margin-top:14px}.catalog-footnote .icon{color:#1490bc;width:15px;height:15px}.quote-card{position:sticky;top:95px;background:linear-gradient(#eff8ff,#fff 140px);border:1px solid #dceefa;box-shadow:var(--shadow);border-radius:13px;padding:15px}.quote-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.quote-head-icon{color:#0070c8}.quote-head-icon .icon{width:26px;height:26px}.quote-head h3{font-size:16px;letter-spacing:-.02em;margin:0}.quote-head p{margin:1px 0 0;color:#56718a;font-size:10px}.quote-head .count-badge{margin-left:auto}.quote-mobile-close{display:none}.quote-items{max-height:315px;overflow:auto}.quote-empty{text-align:center;padding:18px 8px;color:#7891a3;font-size:12px}.quote-empty .icon{display:block;margin:0 auto 9px;width:26px;height:26px;color:#8dc6e6}.quote-row{display:grid;grid-template-columns:52px minmax(0,1fr) 20px;gap:8px;align-items:start;border-top:1px solid #e3edf5;padding:10px 0}.quote-row img{width:52px;height:52px;object-fit:cover;border-radius:7px}.quote-row-name{font-size:11px;font-weight:850;line-height:1.22;margin-bottom:4px}.quote-row-price{font-size:10.5px;color:#1473a9;font-weight:750}.qty-control{display:inline-flex;align-items:center;gap:8px;border:1px solid #d8e7f1;border-radius:7px;margin-top:7px;font-size:11px}.qty-control button{width:21px;height:22px;padding:0;border:none;background:#edf5fa;color:#134f76;font-weight:800}.remove-item{background:none;border:none;color:#7e90a0;padding:0}.remove-item .icon{width:16px;height:16px}.quote-summary{border-top:1px solid #dce8f1;margin-top:9px;padding:11px 0;font-size:12px}.summary-total{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-weight:850}.summary-total strong{font-size:17px;color:#055696}.summary-note{font-size:10px;color:#597389;margin:5px 0 0}.quote-form{display:grid;gap:6px;margin-bottom:13px}.quote-form label{color:#42637b;font-size:11px;font-weight:800}.quote-form label small{color:#819aab;font-weight:500}.quote-form input,.quote-form textarea{display:block;width:100%;border:1px solid #d5e3ee;background:#fff;border-radius:8px;padding:9px 10px;color:#23465d;font-size:12px;resize:vertical}.quote-card .btn-green{font-size:12px}.clear-cart{background:transparent;border:1px solid #b8d4e8;color:#0c5688;border-radius:7px;font-size:11px;font-weight:800;width:100%;margin-top:7px;padding:9px}.quote-disclaimer{font-size:10px;color:#7890a0;text-align:center;margin:10px 0 0}.extras-section{background:#fff;padding-top:22px}.extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.extra-card{display:grid;grid-template-columns:104px 1fr;gap:10px;background:#fff;border:1px solid #e1eaf2;border-radius:11px;padding:8px;min-width:0}.extra-card img{height:100%;min-height:100px;width:104px;object-fit:cover;border-radius:7px}.extra-info{min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:3px 1px}.extra-info h3{font-size:13px;margin:0 0 3px;line-height:1.25}.extra-info p{font-size:10.5px;color:#617486;margin:0 0 6px;line-height:1.35}.extra-price{display:block;color:#0872ba;font-size:10px;font-weight:850;margin:0 0 6px}.extra-add{width:100%;border:1px solid #1594e9;color:#0872ba;background:#fff;padding:7px 4px;border-radius:6px;font-size:10px;font-weight:850}.extra-add:hover{background:#edf8ff}.projects-section{background:#f5f9fd}.gallery-filters{display:flex;flex-wrap:wrap;gap:5px}.gallery-filter{border:1px solid #d2e3f1;padding:7px 11px;border-radius:30px;background:#fff;color:#4d6b83;font-size:11px;font-weight:700}.gallery-filter.selected{background:#0578c4;border-color:#0578c4;color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.project-tile{position:relative;overflow:hidden;height:164px;border:0;padding:0;border-radius:9px;background:#e4f2fa;text-align:left}.project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.project-tile:hover img{transform:scale(1.06)}.project-tile span{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,#00192fcc);padding:23px 8px 8px;font-size:11px;font-weight:750}.gallery-help{text-align:center;color:#8190a0;margin:13px 0 0;font-size:11px}.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.services-grid article{border:1px solid #e4eef5;border-radius:12px;text-align:center;padding:20px 9px;background:#fff}.service-icon{margin:0 auto 11px;background:#e8f6ff;color:#037ecd;width:48px;height:48px;border-radius:50%;display:grid;place-items:center}.service-icon .icon{width:25px;height:25px}.services-grid article h3{font-size:13px;margin-bottom:7px}.services-grid article p{font-size:11px;color:#617486;margin:0}.about-section{background:#eaf5fc}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;padding:44px 0}.about-image{position:relative}.about-image img{width:100%;height:265px;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}.about-image>span{position:absolute;bottom:14px;left:14px;background:#fff;padding:7px 10px;border-radius:6px;color:#075c91;font-weight:850;font-size:10px;letter-spacing:.1em}.about-copy h2{margin-bottom:14px;font-size:35px}.about-copy h2 span{color:#0787cb}.about-copy p{font-size:13px;color:#587083;max-width:520px}.steps-section{background:#fff}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.steps-grid>div{position:relative;background:#f6faff;border:1px solid #e1effa;border-radius:12px;padding:19px}.steps-grid span{display:grid;place-items:center;width:39px;height:39px;background:#0178d1;color:#fff;border-radius:50%;font-size:14px;font-weight:900;margin-bottom:10px}.steps-grid h3{font-size:15px;margin:0 0 6px}.steps-grid p{color:#607589;font-size:12px;margin:0}.contact-section{background:linear-gradient(95deg,#063a62e8,#003961e8),url('assets/images/proyecto-pendiente.svg') center/cover;color:#fff;padding:36px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.contact-inner h2{font-size:29px;margin:0 0 7px}.contact-inner p{color:#d1ebf7;margin:0;max-width:610px}.contact-actions{display:flex;flex-direction:column;gap:9px;min-width:242px}.site-footer{background:#041d33;color:#dbeaf6;padding-top:35px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:35px}.brand-footer .brand-logo{width:242px}.footer-grid h3{font-size:13px;margin-bottom:12px;color:#fff}.footer-grid a:not(.brand){display:block;font-size:12px;margin:7px 0;color:#d0e3f2}.footer-grid a:hover{color:#4eceff}.footer-grid p{font-size:12px;color:#88abc4;margin-top:12px}.footer-bottom{border-top:1px solid #315169;margin-top:32px;padding:15px 0;display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:#9dbcd2}.screen-overlay{position:fixed;inset:0;z-index:45;background:#051827a3}.screen-overlay[hidden]{display:none}.detail-dialog,.gallery-dialog{position:fixed;border:0;background:#fff;color:var(--ink);border-radius:17px;box-shadow:0 26px 80px #001d3766;padding:0;max-width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 30px);overflow:auto}.detail-dialog::backdrop,.gallery-dialog::backdrop{background:#00192bb5}.detail-close{position:absolute;top:10px;right:10px;z-index:1;background:#fff;width:32px;height:32px;border:0;border-radius:50%;display:grid;place-items:center;box-shadow:0 1px 8px #002c4c26}.detail-grid{display:grid;grid-template-columns:1fr 1fr;min-width:0}.detail-grid>img{height:100%;width:100%;max-height:490px;object-fit:cover}.detail-copy{padding:32px 25px}.detail-copy h2{font-size:24px}.detail-copy p,.detail-copy li{font-size:13px;color:#5b7286}.detail-copy ul{padding-left:19px}.detail-copy .btn{margin-top:12px}.gallery-dialog{width:min(1000px,calc(100% - 24px));background:#071e32;color:#fff;overflow:visible}.gallery-dialog figure{margin:0;display:grid;place-items:center}.gallery-dialog figure img{max-height:calc(100dvh - 140px);width:100%;object-fit:contain}.gallery-dialog figcaption{padding:10px 15px;font-size:12px}.gallery-arrow{position:absolute;top:50%;z-index:1;border:none;border-radius:50%;background:#fff;color:#00395a;font-size:33px;width:39px;height:39px;display:grid;place-items:center}.gallery-prev{left:-14px}.gallery-next{right:-14px}.toast{position:fixed;z-index:99;bottom:22px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#083c61;color:white;padding:13px 20px;border-radius:10px;font-size:12px;font-weight:750;box-shadow:var(--shadow);transition:opacity .2s,transform .2s;max-width:calc(100vw - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.icon-button{padding:0}.quote-mobile-close{border:0;background:transparent}.phone-cart-fab{display:none}
@media(max-width:1190px){.container{width:min(1120px,calc(100% - 44px))}.brand-logo{width:211px}.main-nav{gap:13px}.nav-whatsapp span{display:none}.nav-whatsapp{margin-right:4px}.main-nav a{font-size:12px}.catalog-layout{grid-template-columns:minmax(0,1fr) 255px}.product-media{height:141px}.product-info{padding:9px}.product-info h3{font-size:13px}.extra-card{grid-template-columns:83px 1fr}.extra-card img{width:83px}.hero-stamp{display:none}}
@media(max-width:930px){.container{width:min(740px,calc(100% - 36px))}.site-header{height:68px}.brand-logo{width:220px}.main-nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;padding:15px 24px;box-shadow:0 13px 20px #001e351c;flex-direction:column;align-items:flex-start;gap:0}.main-nav.open{display:flex}.main-nav a{padding:9px 0;width:100%}.main-nav a.nav-active:after{display:none}.menu-trigger{display:grid;place-items:center}.topbar-extra{display:none!important}.hero,.hero-content{min-height:390px}.hero-content{padding:42px 0}.hero-photo{background-position:58% center}.hero-shade{background:linear-gradient(90deg,#051f38f5,#06253ec2 55%,#062a3b3d)}.hero-copy{max-width:520px}.catalog-search{grid-template-columns:1fr}.catalog-layout{grid-template-columns:1fr}.products-grid{grid-template-columns:repeat(3,1fr)}.quote-card{position:fixed;top:0;right:0;height:100dvh;width:min(395px,100vw);border-radius:17px 0 0 17px;z-index:47;transform:translateX(103%);transition:transform .2s;overflow:auto;box-shadow:-25px 0 85px #00182e36;padding:20px}.quote-card.open{transform:translateX(0)}.quote-mobile-close{display:grid;place-items:center;margin-left:5px}.quote-items{max-height:45dvh}.extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about-inner{gap:20px}.footer-grid{grid-template-columns:repeat(2,1fr)}.phone-cart-fab{display:flex;position:fixed;z-index:22;bottom:17px;right:17px;align-items:center;gap:8px;border:0;border-radius:40px;background:var(--blue);color:white;padding:13px 16px;box-shadow:0 5px 20px #00375d55;font-weight:850;font-size:12px}}
@media(max-width:610px){.container{width:calc(100% - 28px)}.topbar{height:27px}.topbar-inner,.topbar-points{gap:8px}.topbar-points>span:nth-child(2){display:none}.topbar-contact{font-size:10px}.site-header{height:64px}.main-nav{top:64px}.brand-logo{width:174px}.nav-actions{gap:6px}.nav-whatsapp .icon{width:19px}.cart-trigger{padding:9px 11px;min-height:36px}.cart-trigger-label{display:none}.menu-trigger{padding:7px}.hero,.hero-content{min-height:445px}.hero-photo{background-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(1,18,32,.95),rgba(2,33,54,.78) 85%)}.hero-content{align-items:flex-end;padding:35px 0}.hero h1{font-size:clamp(36px,10vw,46px);line-height:1.04}.hero p{font-size:13.5px}.hero-features{gap:8px 12px}.hero-features span{font-size:10px}.hero-features .icon{width:19px;height:19px}.hero-buttons{gap:8px}.hero-buttons .btn{padding:12px 10px;font-size:11px}.trust-row{grid-template-columns:repeat(2,1fr);gap:0;padding:7px 0}.trust-row>div{gap:7px;padding:9px 2px}.trust-icon{width:32px;height:32px}.trust-icon .icon{width:18px;height:18px}.trust-row strong{font-size:10.5px}.trust-row small{font-size:9.5px;margin-top:1px}.section-pad{padding:30px 0}.catalog-section{padding-top:15px}.catalog-search{padding:15px;margin-bottom:26px}.catalog-search h2{font-size:20px}.search-fields{grid-template-columns:1fr 1fr}.search-fields .search-button{grid-column:1 / -1}.section-title-row{align-items:start;flex-direction:column}.small-highlight{display:none}.section-title-row h2{font-size:27px}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-media{height:145px}.product-info h3{font-size:12px}.product-info p{font-size:10px}.meta-row{font-size:9px;margin-bottom:7px}.product-price{font-size:15px}.product-actions{flex-direction:column;gap:5px}.product-actions button{padding:8px 5px;font-size:10px}.product-tag{font-size:8px}.extras-grid{grid-template-columns:1fr}.extra-card{grid-template-columns:102px 1fr}.extra-card img{width:102px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-tile{height:155px}.gallery-filters{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.gallery-filter{flex-shrink:0}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-inner{grid-template-columns:1fr;padding:28px 0}.about-image img{height:220px}.about-copy h2{font-size:30px}.steps-grid{grid-template-columns:repeat(2,1fr);gap:8px}.steps-grid>div{padding:13px}.contact-inner{flex-direction:column;align-items:start}.contact-inner h2{font-size:28px}.contact-actions{min-width:100%;width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.footer-brand{grid-column:1 / -1}.brand-footer .brand-logo{width:215px}.footer-bottom{flex-direction:column}.detail-grid{grid-template-columns:1fr}.detail-grid>img{max-height:255px}.detail-copy{padding:20px}.gallery-arrow{width:31px;height:31px}.gallery-prev{left:5px}.gallery-next{right:5px}}
@media(max-width:375px){.brand-logo{width:150px}.topbar-contact{display:none}.products-grid{grid-template-columns:1fr 1fr}.product-media{height:116px}.hero-buttons .btn{width:100%}.hero{min-height:505px}.hero-content{min-height:505px}}@media(max-width:330px){.brand-logo{width:140px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Footer Mario Mora · diseño grafito y acentos de marca */
.site-footer{background:#171c22;color:#eef3f7;padding:42px 0 20px}
.footer-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px)}
.footer-company,.footer-links,.footer-contact{min-width:0}
.footer-company .brand-footer{display:inline-flex;margin-bottom:14px}
.footer-company .brand-footer .brand-logo{width:min(260px,100%);height:auto}
.footer-company-name{font-size:15px!important;line-height:1.4;margin:0 0 10px;color:#fff}
.footer-company p{max-width:390px;margin:0;color:#c2ced8;font-size:13px;line-height:1.7}
.footer-grid h3{font-size:14px;margin-bottom:14px;color:#fff}
.footer-grid a:not(.brand){display:block;width:fit-content;max-width:100%;font-size:13px;margin:9px 0;color:#c9d5df;line-height:1.5}
.footer-grid a:hover{color:#45d1f0}
.footer-grid p{font-size:13px;color:#c2ced8;margin-top:12px}
.footer-bottom{border-top:1px solid #46515b;margin-top:30px;padding:17px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#d5dde4}
.footer-credit{max-width:100%;overflow-wrap:anywhere;text-align:right}
.footer-credit .cybersystem-link{display:inline!important;color:#d9a46f!important;font-weight:800}
.footer-credit .cybersystem-link:hover{color:#f0c28e!important}
.footer-owner{display:flex;justify-content:flex-end}
.footer-owner a{color:#d9a46f;text-decoration:underline;text-underline-offset:3px;font-size:11px}
.footer-owner a:hover{color:#f0c28e}
@media(max-width:930px){.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.footer-company{grid-column:1/-1}}
@media(max-width:610px){.footer-grid{grid-template-columns:minmax(0,1fr);gap:22px}.footer-company{grid-column:auto}.footer-company p{max-width:100%}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.footer-credit{text-align:left}.footer-owner{padding-top:6px}}
.service-photo{display:block;width:100%;max-height:180px;object-fit:cover;border-radius:12px;margin-top:14px}.business-socials{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.business-socials a{color:inherit}

/* Rediseño visual premium local, conserva la estructura y comportamiento existentes. */
:root{--navy:#071d25;--dark:#06151b;--blue:#0c5267;--blue2:#127b8e;--cyan:#24d0d2;--green:#08a96e;--mint:#e8f8f5;--ink:#10272d;--text:#5b6b6e;--line:#cbd9d8;--bg:#f3f6f3;--shadow:0 18px 45px rgba(3,22,29,.12);--radius:12px}
body{font-family:Inter,"Aptos",system-ui,-apple-system,"Segoe UI",sans-serif;background:#f3f5f2;color:#132a2f;letter-spacing:.005em}
h1,h2,h3,.quote-head h3,.product-info h3{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.topbar{background:#06171c;color:#e3ebe8;border-bottom:1px solid rgba(206,157,103,.26)}
.topbar-points .icon,.topbar-contact .icon{color:#d3a879}
.site-header{height:78px;background:rgba(5,22,28,.96);color:#f6f4ef;box-shadow:0 8px 28px rgba(0,0,0,.18);border-bottom:1px solid rgba(216,171,120,.25);backdrop-filter:blur(14px)}
.main-nav a{color:#e4e9e6}.main-nav a:hover,.main-nav a.nav-active{color:#e3b982}.main-nav a.nav-active:after{background:#d9a66e;height:2px}
.brand-logo{max-height:60px}.nav-whatsapp{color:#20c890}.cart-trigger{background:linear-gradient(130deg,#d9b083,#bd8859);color:#17262a;border-radius:7px;box-shadow:none}.cart-trigger:hover{background:#e9c498}.cart-trigger .count-badge{background:#102c32;color:#f7d4a4}
.hero{min-height:420px;background:#09252b}.hero-content{min-height:420px;padding-block:48px}.hero-photo{background-position:center 55%;filter:saturate(.9)}.hero-shade{background:linear-gradient(90deg,rgba(3,18,23,.92),rgba(4,24,29,.72) 37%,rgba(5,27,32,.1) 75%),linear-gradient(0deg,rgba(3,18,23,.38),transparent 38%)}
.hero-copy{max-width:610px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:clamp(39px,5.1vw,66px);letter-spacing:-.04em;line-height:.99}.hero h1 span{color:#e4b883}.hero p{font-size:16px;color:#f0f1ec;max-width:485px}.eyebrow,.mini-label{color:#137b82;letter-spacing:.2em}.eyebrow-light{color:#e6c091}.hero-features span{color:#f5f0e8}.hero-features .icon{color:#e2b47e}
.btn{border-radius:6px}.btn-green{background:#05a96b;border-color:#05a96b}.btn-blue{background:#0e6473;color:#fff}.btn-blue:hover{background:#0b505d}.btn-outline-white{border-color:rgba(241,210,173,.72);color:#fff;background:rgba(9,27,31,.24)}
.hero-stamp{border:1px solid rgba(234,191,140,.5);background:rgba(7,24,28,.72);backdrop-filter:blur(12px);border-radius:8px}.hero-stamp span{color:#e2bb8c}.hero-stamp strong{font-family:Georgia,serif;font-size:21px;font-weight:500}
.section-pad{padding-block:54px}.catalog-section,.extras-section,.projects-section,.services-section,.steps-section{background:#f2f4f1}.catalog-search,.quote-card,.extra-card,.product-card,.project-tile,.services-grid article,.steps-grid>div{border:1px solid #d2dcda;border-radius:8px;box-shadow:0 8px 25px rgba(14,39,43,.055)}
.catalog-search{background:#fff;padding:23px 26px;border-top:3px solid #cda273}.catalog-search-intro h2,.section-title-row h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#102c31}.search-fields select,.search-fields input{border-radius:5px;border-color:#cbd6d5}.search-button{min-height:45px}
.catalog-layout{gap:23px}.products-grid{gap:17px}.product-card{overflow:hidden;background:#fff;transition:transform .22s,box-shadow .22s,border-color .22s}.product-card:hover,.extra-card:hover,.project-tile:hover{transform:translateY(-3px);box-shadow:0 17px 35px rgba(8,35,40,.14);border-color:#c8a174}.product-media{background:#102c32}.product-media img{transition:transform .4s}.product-card:hover .product-media img{transform:scale(1.025)}.product-tag{background:#123c43;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:3px}.product-tag.neutral{background:#d9b181;color:#1c2d30}.product-info h3{font-size:21px;font-weight:500}.product-info p,.extra-info p{color:#5c6a6a}.product-price{color:#a87542}.product-actions .btn{min-height:39px}
.quote-card{background:#fbfcf9;border-top:3px solid #c79a68}.quote-head{border-bottom:1px solid #d8e0dc}.quote-head-icon{background:#123b42;color:#f1c794;border-radius:5px}.quote-head h3{font-size:21px;font-weight:500}.quote-items{scrollbar-color:#b99a78 transparent}.quote-row{border-bottom-color:#e0e5e2}.quote-row img{border-radius:5px}.qty-control button{border-radius:4px;background:#edf3f0;color:#183d43}.remove-item{color:#a44c40}.quote-form input,.quote-form textarea{border-radius:5px}.quote-summary{background:#f0f3ef;border-radius:5px}.summary-total strong{color:#a87542}.quote-disclaimer{color:#657170}.clear-cart{color:#70553f}
.extras-grid{gap:15px}.extra-card{background:#fff;overflow:hidden}.extra-card>img{background:#17353a}.extra-info h3{font-family:Georgia,serif;font-weight:500}.extra-price{color:#a87542}.extra-add{background:#edf4f1;color:#0c5863;border-radius:5px}.extra-add:hover{background:#dcece7}
.projects-grid{gap:15px}.project-tile{background:#0a282e;overflow:hidden}.project-tile span{background:linear-gradient(0deg,rgba(3,18,22,.95),rgba(3,18,22,.15));font-family:Georgia,serif;font-weight:500}.gallery-filter{border-radius:4px;border-color:#bac9c6;color:#274347}.gallery-filter.selected,.gallery-filter:hover{background:#123b42;border-color:#123b42;color:#fff}
.services-grid{gap:14px}.services-grid article{background:#fff;border-top:2px solid #cda273}.service-icon{background:#e8f2ee;color:#0c6670;border-radius:5px}.services-grid h3{font-family:Georgia,serif;font-weight:500}.service-photo{border-radius:5px}
.about-section{background:#e8eeea;padding-block:56px}.about-image{border-radius:8px;overflow:hidden}.about-image span{background:rgba(7,28,33,.83);color:#ebc99d}.about-copy h2{font-family:Georgia,serif;font-weight:500}.about-copy h2 span{color:#177b82}
.steps-grid>div{background:#fff;border-radius:7px}.steps-grid>div>span{color:#b27e4d}.steps-grid h3{font-family:Georgia,serif;font-weight:500}
.contact-section{background:linear-gradient(115deg,#071a20,#0a343a);border-top:3px solid #cda273}.contact-section h2{font-family:Georgia,serif;font-weight:500}.contact-section .eyebrow{color:#e5bd8e}.contact-actions .btn-outline-white{border-color:#b89b7a}
.site-footer{background:#06171c;color:#dce5e1;border-top:1px solid rgba(214,171,123,.45)}.footer-links h3,.footer-contact h3,.footer-company-name{font-family:Georgia,serif;color:#f3d3ad}.footer-links a:hover,.footer-contact a:hover,.footer-owner a:hover{color:#e8bb88}.footer-bottom{border-top-color:#274046}.footer-credit{color:#9fadaa}.cybersystem-link{color:#e1bc90}.footer-owner a{color:#aab8b4}
.detail-dialog,.gallery-dialog{border:1px solid #cfaa7f;border-radius:9px;box-shadow:0 25px 90px #06171ccc}.detail-close{background:#0a3037;color:#fff}.phone-cart-fab{background:linear-gradient(120deg,#d9b083,#c58e5c);color:#15292d;border-radius:6px;box-shadow:0 8px 25px #001d2470}.phone-cart-fab .count-badge{background:#123a42;color:#f5d1a3}
:focus-visible{outline:3px solid #24cbd0;outline-offset:3px}
@media(max-width:930px){.site-header{height:70px}.main-nav{background:#071d25;border:1px solid rgba(214,171,123,.35);border-radius:6px;box-shadow:0 20px 45px rgba(0,0,0,.25)}.main-nav a{color:#f2f3ed}.hero,.hero-content{min-height:450px}.hero-stamp{display:none}.catalog-layout{gap:16px}}
@media(max-width:600px){.container{width:min(100% - 32px,500px)}.hero,.hero-content{min-height:475px}.hero-content{padding-block:42px}.hero h1{font-size:clamp(38px,11vw,52px)}.hero p{font-size:14px}.hero-features{gap:12px 16px}.hero-features span{font-size:11px}.hero-buttons .btn{flex:1 1 100%}.section-pad{padding-block:39px}.catalog-search{padding:18px}.catalog-search-intro h2{font-size:26px}.quote-card{border-radius:9px 9px 0 0}.quote-head h3{font-size:19px}.footer-grid{gap:24px}}
.pool-customizer{margin:36px 0 12px;padding:clamp(18px,3vw,32px);background:#f9faf7;border:1px solid #d3ded9;border-top:3px solid #cda273;border-radius:9px;box-shadow:0 12px 35px rgba(8,35,40,.07);scroll-margin-top:90px}
.pool-customizer-heading,.complement-heading,.pool-save-row{display:flex;justify-content:space-between;align-items:center;gap:18px}
.pool-customizer-heading h2,.complement-heading h3{margin:0 0 7px;color:#102c31;font:500 clamp(25px,3vw,34px) Georgia,serif}
.pool-customizer-heading p,.complement-heading p{margin:0;color:#63716f;max-width:780px}
.customizer-step{display:flex;align-items:center;gap:10px;color:#071d25;font:600 30px Georgia,serif}.customizer-step small{font:600 11px Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#a87542}
.pool-config-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:22px;margin-top:22px}
.pool-visual-panel,.pool-fields-panel{min-width:0}
.pool-main-photo-wrap{position:relative;min-height:320px;height:100%;max-height:460px;background:#e7efeb;border-radius:7px;overflow:hidden}
.pool-main-photo-wrap>img{width:100%;height:100%;min-height:320px;max-height:460px;object-fit:cover}
.image-pending-badge{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:4px;color:#fff;background:rgba(6,25,31,.85);font-size:11px}
.pool-thumbnails{display:flex;gap:8px;overflow:auto;padding-top:9px}
.pool-thumb{width:74px;height:56px;padding:2px;flex:0 0 74px;border:1px solid #cad6d2;background:#fff;border-radius:4px;overflow:hidden}
.pool-thumb.selected,.pool-thumb:hover{border:2px solid #0a8387}
.pool-thumb img{width:100%;height:100%;object-fit:cover}
.pool-fields-panel{padding:20px;background:#fff;border:1px solid #d9e1dd;border-radius:7px}
.field-label,.measure-grid label{display:block;font-size:12px;font-weight:750;color:#203b3d;margin-bottom:7px}
.pool-model-select{width:100%;min-height:45px;margin-bottom:5px;padding:9px 12px;color:#142e32;background:#f5f7f4;border:1px solid #cbd7d3;border-radius:5px}
.field-help{display:block;color:#71807d;font-size:11px;margin-bottom:18px}
.measure-heading,.color-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:14px 0 9px}
.measure-heading h3,.color-heading h3{font:500 18px Georgia,serif;margin:0;color:#18373a}
.measure-heading span,.color-heading span{font-size:10px;color:#8e6843}
.measure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.measure-grid label{font-size:11px}
.measure-grid input,.pool-fields-panel textarea{width:100%;min-width:0;margin-top:5px;padding:10px;border:1px solid #cbd7d3;border-radius:4px;background:#fff}
.measure-grid input:focus,.pool-fields-panel textarea:focus{outline:2px solid #27c7c9;outline-offset:1px}
.advice-choice{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px;background:#f0f5f2;border:1px solid #dbe5df;border-radius:5px;cursor:pointer}
.advice-choice input{margin-top:3px;accent-color:#0b8185}
.advice-choice span{display:grid;gap:2px}.advice-choice strong{font-size:12px;color:#173c40}.advice-choice small{font-size:11px;color:#667673}
.pool-color-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}
.pool-color-choice{display:flex;align-items:center;gap:6px;padding:7px 9px;background:#f8faf8;border:1px solid #d1dcd8;border-radius:4px;color:#30494a;font-size:10px}
.pool-color-choice>span{width:16px;height:16px;background:var(--swatch);border:1px solid #8b9b98;border-radius:50%}
.pool-color-choice.selected{border-color:#087c84;box-shadow:0 0 0 1px #087c84;color:#0b5960}
.pool-fields-panel textarea{resize:vertical;margin:0}
.pool-complement-section{margin-top:28px;padding-top:23px;border-top:1px solid #d9e1dd}
.complement-heading{align-items:flex-end;margin-bottom:16px}
.complement-heading h3{font-size:25px}
.quote-shared-label{flex:0 0 auto;padding:8px 11px;color:#0a5961;background:#e6f1ec;border:1px solid #cddbd5;border-radius:4px;font-size:11px;font-weight:750}
.pool-complement-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.complement-group{min-width:0;padding:13px;background:#f1f5f2;border:1px solid #d9e2dd;border-radius:6px}
.complement-group>h4{margin:0 0 10px;color:#193a3d;font:500 17px Georgia,serif}
.complement-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px}
.pool-complement-card{display:grid;grid-template-columns:75px minmax(0,1fr);min-height:125px;background:#fff;border:1px solid #d5ded9;border-radius:5px;overflow:hidden}
.pool-complement-card>img{width:75px;height:100%;min-height:125px;object-fit:cover;background:#e7efeb}
.pool-complement-copy{padding:9px;min-width:0}
.pool-complement-copy h4{margin:0 0 4px;font:500 15px Georgia,serif;color:#173b40}
.pool-complement-copy p{margin:0 0 5px;color:#647270;font-size:10px;line-height:1.35}
.pool-complement-copy small{display:block;margin-bottom:7px;color:#9a7147;font-size:9px;line-height:1.3}
.complement-toggle{width:100%;min-height:32px;padding:6px 8px;border:1px solid #b7d6cf;border-radius:4px;background:#edf5f1;color:#125961;font-size:10px;font-weight:750}
.complement-toggle:hover,.complement-toggle.selected{background:#0f5960;border-color:#0f5960;color:#fff}
.pool-complement-card.is-added{border-color:#0f8586;box-shadow:0 0 0 1px #0f8586}
.pool-save-row{margin-top:20px;padding-top:16px;border-top:1px solid #d9e1dd}
.pool-save-row p{margin:0;color:#5f706d;font-size:12px}
.pool-save-row>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.product-card.is-selected{border:2px solid #0d8b8c;box-shadow:0 0 0 3px #0d8b8c20}
.quote-line{align-items:start}
.quote-line-copy{min-width:0}
.quote-line-details{margin:6px 0;padding-left:15px;color:#62716f;font-size:10px}
.quote-line-details li+li{margin-top:3px}
.quote-edit-line{display:block;margin:5px 0;padding:0;border:0;background:none;color:#0e6870;font-size:11px;font-weight:750;text-decoration:underline}
.quote-line-note{display:grid;gap:3px;margin-top:6px;color:#66736f;font-size:10px}
.quote-line-note input{width:100%;min-width:0;padding:6px;border:1px solid #d1dcd7;border-radius:4px;font:inherit}
@media(max-width:950px){.pool-config-grid{grid-template-columns:1fr 1fr}.pool-main-photo-wrap,.pool-main-photo-wrap>img{min-height:300px}.pool-complement-groups{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.pool-config-grid{grid-template-columns:1fr}.pool-main-photo-wrap,.pool-main-photo-wrap>img{height:270px;min-height:270px}.pool-fields-panel{padding:15px}.pool-complement-groups{grid-template-columns:1fr}.pool-complement-card{grid-template-columns:84px minmax(0,1fr)}.pool-complement-card>img{width:84px}.complement-heading,.pool-save-row{align-items:flex-start;flex-direction:column}.pool-save-row>div{width:100%;justify-content:stretch}.pool-save-row .btn{flex:1}.customizer-step{display:none}.pool-color-options{gap:6px}.pool-color-choice{padding:6px}}

@media(max-width:680px){.phone-cart-fab{width:50px;height:50px;justify-content:center;padding:0;border-radius:50%;font-size:0;gap:0}.phone-cart-fab>.icon{width:20px;height:20px}.phone-cart-fab .count-badge{position:absolute;top:-5px;right:-4px}}

/* Construcción: propuestas comerciales pendientes de validación */
.construction-section{background:linear-gradient(180deg,#f1f4f1 0%,#f8f9f6 100%);border-top:1px solid #dce3df}
.construction-intro{align-items:center}
.construction-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,3.1vw,38px);font-weight:500;color:#102c31}
.construction-intro>div{max-width:900px}
.construction-intro p{max-width:820px;line-height:1.6}
.draft-status{flex:0 0 auto;padding:8px 12px;border:1px solid #d2ad83;border-radius:5px;background:#f6ebdc;color:#6e5337;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.construction-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 26px}
.construction-category-card{display:grid;grid-template-columns:88px minmax(0,1fr) 20px;align-items:center;gap:12px;min-width:0;min-height:116px;padding:9px;border:1px solid #d5dfda;border-radius:8px;background:#fff;color:#18393c;text-align:left;box-shadow:0 6px 18px rgba(9,37,40,.045);transition:transform .18s,border-color .18s,box-shadow .18s}
.construction-category-card:hover,.construction-category-card.selected{transform:translateY(-2px);border-color:#c69b68;box-shadow:0 11px 25px rgba(9,37,40,.1)}
.construction-category-visual{display:flex;height:96px;align-items:flex-end;justify-content:space-between;flex-direction:column;padding:10px;border-radius:5px;background:linear-gradient(150deg,#0d343a,#1b5a5d 62%,#d4a778);color:#f5e0c5;position:relative;overflow:hidden}
.construction-category-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68}
.construction-category-visual:before,.construction-category-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.28);border-radius:50%;width:82px;height:82px;right:-32px;top:23px}
.construction-category-visual:after{width:53px;height:53px;right:8px;top:48px}
.construction-category-visual b{position:relative;z-index:1;font:500 24px Georgia,serif}
.construction-category-visual small{position:relative;z-index:1;font-size:7px;letter-spacing:.1em}
.visual-2{background:linear-gradient(150deg,#132f31,#6b5b45 65%,#d5a674)}
.visual-3{background:linear-gradient(150deg,#243a3a,#7a8a83 65%,#c7a074)}
.visual-4{background:linear-gradient(150deg,#18343a,#61736d 65%,#ca9f71)}
.visual-5{background:linear-gradient(150deg,#173a3c,#58817c 65%,#d2ad83)}
.visual-6{background:linear-gradient(150deg,#26393b,#8d735b 65%,#d3a674)}
.visual-7{background:linear-gradient(150deg,#132f35,#367275 65%,#bd9467)}
.construction-category-copy{display:grid;gap:7px;min-width:0}
.construction-category-copy strong{font:500 16px/1.2 Georgia,"Times New Roman",serif}
.construction-category-copy small{color:#75807c;font-size:9px;line-height:1.35}
.construction-category-arrow{display:grid;place-items:center;width:20px;height:20px;border:1px solid #d7c0a4;border-radius:50%;color:#98734d;font-size:13px}
.construction-personalizer{padding:clamp(18px,2.7vw,30px);border:1px solid #d5dfd8;border-top:3px solid #cda273;border-radius:9px;background:#f9faf7;box-shadow:0 12px 35px rgba(8,35,40,.07);scroll-margin-top:90px}
.construction-personalizer-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.construction-personalizer-heading h3{margin:0 0 7px;color:#102c31;font:500 clamp(25px,2.8vw,34px) Georgia,serif}
.construction-personalizer-heading p{max-width:800px;margin:0;color:#63716f}
.construction-config-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr);gap:22px;align-items:start}
.construction-visual-panel,.construction-fields-panel{min-width:0}
.construction-main-photo-wrap{position:relative;height:clamp(300px,34vw,470px);background:#edf2ed;border:1px solid #d6dfd9;border-radius:7px;overflow:hidden}
.construction-main-photo-wrap img{width:100%;height:100%;object-fit:cover}
.construction-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:10px 0 13px}
.construction-thumbnails .pool-thumb{flex:0 0 86px}
.construction-visual-panel>.field-label{margin-top:8px}
.construction-visual-panel>input,.construction-fields-panel textarea{width:100%;min-width:0;padding:10px 12px;border:1px solid #cbd6d1;border-radius:5px;background:#fff;color:#203c3f}
.construction-visual-panel>input:focus,.construction-fields-panel input:focus,.construction-fields-panel select:focus,.construction-fields-panel textarea:focus{outline:2px solid #12a5a5;outline-offset:1px}
.construction-fields-panel{padding:20px;border:1px solid #d7dfda;border-radius:7px;background:#fff}
.construction-fields-panel>.field-label,.construction-project-label{display:block;margin:0 0 5px}
.construction-project-label{margin-top:14px!important}
.draft-note{margin:7px 0 15px;padding:8px 10px;border-left:3px solid #cda273;background:#f6f2e9;color:#685c49;font-size:10px;line-height:1.45}
.construction-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 12px}
.construction-field{display:grid;gap:4px;min-width:0;color:#345052;font-size:10px;font-weight:800}
.construction-field>span{display:inline;color:#798582;font-weight:500}
.construction-field input{width:100%;min-width:0;padding:10px 9px;border:1px solid #cbd6d1;border-radius:5px;background:#fff;color:#213a3d;font-size:12px}
.construction-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.construction-choice-grid label{display:grid;gap:5px;min-width:0;color:#375255;font-size:10px;font-weight:800}
.construction-choice-grid select{width:100%;min-width:0;padding:10px 9px;border:1px solid #cbd6d1;border-radius:5px;background:#fff;color:#213a3d;font-size:11px}
.construction-options-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 8px}
.construction-options-heading h4{margin:0;color:#15383b;font:500 18px Georgia,serif}
.construction-options-heading>span{color:#866d4e;font-size:9px}
.construction-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.construction-option{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:8px;border:1px solid #dbe3de;border-radius:5px;background:#f7f9f6;color:#3c5353;font-size:10px;line-height:1.35;cursor:pointer}
.construction-option input{accent-color:#0b7b7d;flex:0 0 auto;margin:1px 0 0}
.construction-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}
.construction-save-row p{margin:0;color:#727d78;font-size:10px}
.construction-save-row>div{display:flex;gap:8px}
.construction-save-row .btn{white-space:nowrap}
.construction-disclaimer{margin:12px 0 0;color:#687671;font-size:10px}
@media(max-width:1180px){.construction-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.construction-config-grid{grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:16px}}
@media(max-width:860px){.construction-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-config-grid{grid-template-columns:1fr}.construction-main-photo-wrap{height:360px}.construction-visual-panel{max-width:none}}
@media(max-width:600px){.construction-intro{align-items:flex-start}.construction-intro h2{font-size:29px}.draft-status{font-size:8px;padding:6px 8px}.construction-category-grid{grid-template-columns:1fr;gap:8px;margin-block:17px}.construction-category-card{min-height:93px;grid-template-columns:74px minmax(0,1fr) 20px}.construction-category-visual{height:75px}.construction-category-visual b{font-size:20px}.construction-category-copy strong{font-size:15px}.construction-personalizer{padding:14px}.construction-personalizer-heading{align-items:flex-start;flex-direction:column;gap:9px}.construction-config-grid{gap:12px}.construction-main-photo-wrap{height:265px}.construction-fields-panel{padding:14px}.construction-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-choice-grid{grid-template-columns:1fr}.construction-options{grid-template-columns:1fr}.construction-save-row{align-items:stretch;flex-direction:column}.construction-save-row>div{width:100%}.construction-save-row .btn{flex:1;font-size:11px;padding-inline:9px}.construction-personalizer-heading p{font-size:12px}}
@media(max-width:380px){.construction-field-grid{grid-template-columns:1fr}.construction-category-copy strong{font-size:14px}}


.gallery-video{width:min(82vw,900px);aspect-ratio:16/9;margin:12px auto 0}.gallery-video iframe{width:100%;height:100%;border:0;border-radius:12px;background:#071820}.gallery-dialog #gallery-similar{display:block;margin:12px auto 4px}.gallery-dialog #gallery-similar[hidden]{display:none}


/* Mario Mora · premium petroleum / copper / turquoise surface system */
:root{--navy:#0b252b;--dark:#06171c;--blue:#176171;--blue2:#218899;--cyan:#29c9c5;--green:#08a96f;--mint:#102f32;--ink:#eff5f1;--text:#b1c2bf;--line:#29484b;--bg:#081c20;--shadow:0 18px 45px rgba(0,0,0,.27)}
body{color:var(--ink);background:#07191d}
.topbar{background:#061418;color:#cfdfda;border-bottom:1px solid #244145}.site-header{position:sticky;top:0;background:rgba(6,22,26,.95);border-bottom:1px solid rgba(204,157,105,.28);box-shadow:0 8px 28px #0004;backdrop-filter:blur(14px)}.main-nav a{color:#d9e4df}.main-nav a:hover,.main-nav a.nav-active{color:#46d2cf}.main-nav a.nav-active:after{background:#d1a16d}.menu-trigger{background:#123238;color:#eaf1eb}.cart-trigger{background:linear-gradient(125deg,#c99361,#e1b582);color:#152326;box-shadow:0 8px 20px #0003}.cart-trigger:hover{background:#ebc392}
.hero{background:#061b20}.hero-shade{background:linear-gradient(90deg,rgba(3,18,22,.96),rgba(4,25,30,.76) 44%,rgba(4,25,30,.14) 84%)}.hero h1 span{color:#d9ae7f}.hero-stamp{background:rgba(7,27,31,.83);border:1px solid #b99068;color:#f0dbc0}.hero-stamp span{color:#d9ae7f}.trust-row{background:#0c2529;border-color:#29474a;color:#e6eee8}.trust-icon{background:#12363b;color:#57d0cd}.trust-row small{color:#aebfbb}
.catalog-section,.extras-section,.projects-section,.services-section,.steps-section{background:#091d21}.catalog-search,.quote-card,.extra-card,.product-card,.project-tile,.services-grid article,.steps-grid>div{background:linear-gradient(145deg,#10272b,#0b2024);border-color:#29484b;box-shadow:0 14px 32px #0003;color:#e8efea}.catalog-search h2,.section-title-row h2,.product-info h3,.extra-info h3,.quote-head h3,.steps-grid h3,.services-grid h3{color:#f0f3ec}.catalog-search p,.section-title-row p,.product-info p,.extra-info p,.quote-head p,.steps-grid p,.services-grid p{color:#afc0bc}.mini-label,.eyebrow{color:#42c8c6}.product-card:hover,.extra-card:hover,.project-tile:hover{border-color:#c89a69;box-shadow:0 18px 38px #0005}.product-tag{background:#183b3d;border-color:#55716e}.product-tag.neutral{background:#d1a16d;color:#162326;border-color:#e0bb90}.product-price,.extra-price{color:#e1b27c}
.quote-card{border-top:3px solid #c99a6b}.quote-head{border-color:#29484b}.quote-head-icon{background:#183a3c;color:#f0c590}.quote-items{scrollbar-color:#a77d55 transparent}.quote-row{border-bottom-color:#29484b}.qty-control button{background:#17363a;color:#e7efeb}.quote-form label{color:#d4e0da}.quote-form input,.quote-form textarea,.catalog-search input,.catalog-search select{background:#081a1e;color:#f0f5f0;border-color:#315358}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#95aaa5}.quote-summary{background:#122b2e;color:#e6ede7}.clear-cart{color:#d8aa7c}
.pool-customizer,.construction-personalizer{background:linear-gradient(145deg,#10282c,#0b2024);border-color:#29484b;border-top-color:#c99a6b;box-shadow:0 16px 38px #0003;color:#e8efea}.pool-customizer-heading h2,.complement-heading h3,.construction-personalizer-heading h3{color:#f2f0e9}.pool-customizer-heading p,.complement-heading p,.construction-personalizer-heading p{color:#b2c2be}.pool-fields-panel,.construction-fields-panel,.complement-group{background:#0b2024;border-color:#29484b;color:#e7efea}.field-label,.measure-grid label{color:#dce7e1}.pool-model-select,.measure-grid input,.pool-fields-panel textarea,.construction-visual-panel>input,.construction-fields-panel input,.construction-fields-panel select,.construction-fields-panel textarea{background:#07191d;color:#edf4ef;border-color:#35565a}.field-help,.measure-heading span,.color-heading span{color:#b0aaa0}.measure-heading h3,.color-heading h3,.complement-group>h4,.pool-complement-copy h4{color:#e9eee8}.advice-choice,.pool-color-choice{background:#102b2f;color:#dce9e4;border-color:#315256}.advice-choice strong,.pool-complement-copy h4{color:#f1f2ec}.advice-choice small,.pool-complement-copy p{color:#adbfba}.pool-color-choice.selected{border-color:#2cd2cd;box-shadow:0 0 0 1px #2cd2cd;color:#80e4e0}.pool-complement-card{background:#10262a;border-color:#315054}.pool-complement-card.is-added{border-color:#2dc5bf;box-shadow:0 0 0 1px #2dc5bf}.complement-toggle{background:#15383a;color:#cce5df;border-color:#436a69}.complement-toggle:hover,.complement-toggle.selected{background:#146567;border-color:#3bc8c2;color:#fff}.quote-shared-label{background:#15373a;color:#a4e0dc;border-color:#2d6665}.pool-save-row{border-color:#29484b}.pool-save-row p{color:#b3c4c0}
.construction-section{background:linear-gradient(180deg,#0a2024,#07191d);border-color:#29484b}.construction-intro h2{color:#f1f3ed}.construction-intro p{color:#b2c2be}.construction-category-card{background:#10272b;color:#e8efea;border-color:#29484b;box-shadow:0 10px 25px #0003}.construction-category-card:hover,.construction-category-card.selected{border-color:#d2a16d;box-shadow:0 12px 28px #0005}.construction-category-copy small{color:#aec0bb}.construction-fields-panel .field-help{color:#aebfbb}.draft-status{background:#352e25;border-color:#8d704f;color:#efd2ab}
.gallery-filter{background:#10272b;border-color:#3b5a5d;color:#dbe8e2}.gallery-filter.selected,.gallery-filter:hover{background:#165b61;border-color:#39c7c5;color:#fff}.about-section{background:linear-gradient(120deg,#0d262a,#081b1f);color:#e9f0ea}.about-copy p{color:#b3c2be}.about-copy h2 span{color:#d8ab7b}.about-image{border:1px solid #3b5c5b}.about-image span{background:#07191de6;color:#edc999}.services-grid article{border-top:2px solid #c99a6b}.steps-grid>div{border-top:2px solid #39c6c1}.steps-grid>div>span{color:#e0b27d}.contact-section{background:linear-gradient(115deg,#06181c,#0d3539);border-top:1px solid #c99a6b}.site-footer{background:#041316}.footer-grid a:not(.brand){color:#c4d1cc}.footer-bottom{color:#9cadab}.footer-credit{color:#afbfba}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #43d3ce;outline-offset:3px}
@media(max-width:930px){.main-nav{background:#0a2024;border:1px solid #29484b;border-radius:0 0 12px 12px}.main-nav a{color:#e2ebe6}.main-nav a:hover{color:#6adfda}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.motion-reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}.motion-reveal.motion-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1;transform:none;transition:none}}

/* Services now follow the hero directly; the dark gradient eases into the catalog. */
.services-section{padding-top:clamp(32px,4vw,48px);padding-bottom:clamp(36px,4vw,48px);border-top:1px solid rgba(201,154,107,.42);background:linear-gradient(180deg,#0a2024 0%,#091d21 100%)}
.services-section .section-title-row{margin-bottom:22px}
@media(max-width:600px){.services-section{padding-block:32px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.services-grid article{padding:16px 10px}}
@media(max-width:360px){.services-grid{grid-template-columns:1fr}}

/* Responsive refinements: mobile-first controls and consistent section rhythm. */
:root{--mobile-header-height:64px}
html{scroll-padding-top:calc(var(--mobile-header-height) + 18px)}
img,video,iframe{max-width:100%}
.hero h1{overflow-wrap:normal;text-wrap:balance}
.hero p,.section-title-row p,.services-grid article p{overflow-wrap:anywhere}
.services-section{padding-top:clamp(30px,4vw,50px);padding-bottom:clamp(34px,4vw,48px);scroll-margin-top:calc(var(--mobile-header-height) + 18px)}
.services-grid{align-items:stretch}
.services-grid article{display:flex;flex-direction:column;align-items:center;min-width:0;min-height:100%;gap:8px}
.services-grid article h3{line-height:1.3;text-wrap:balance}
.services-grid article p{line-height:1.55}
.service-photo{width:100%;height:clamp(104px,12vw,160px);object-fit:cover;margin-top:auto}
.project-tile img,.product-media img,.pool-main-photo-wrap img,.construction-main-photo-wrap img{width:100%;object-fit:cover}
.gallery-video{width:min(100%,900px);aspect-ratio:16/9}
.gallery-video iframe{display:block;width:100%;height:100%;aspect-ratio:16/9}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:930px){:root{--mobile-header-height:70px}.site-header{position:sticky;top:0}.nav-inner{gap:12px}.main-nav{max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain}.main-nav a{display:flex;align-items:center;min-height:44px}.catalog-layout{grid-template-columns:minmax(0,1fr)}.quote-card{width:min(420px,100vw);padding-bottom:calc(18px + env(safe-area-inset-bottom))}}
@media(max-width:767px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title-row{gap:10px}.pool-config-grid,.construction-config-grid{grid-template-columns:minmax(0,1fr)}.pool-fields-panel,.construction-fields-panel{min-width:0}.catalog-layout>*{min-width:0}.construction-config-grid>*{min-width:0}.pool-config-grid>*{min-width:0}.pool-main-photo-wrap,.construction-main-photo-wrap{width:100%;overflow:hidden}.construction-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-tile{min-width:0}.gallery-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}.gallery-dialog figure img{max-height:calc(100dvh - 170px)}.detail-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}}
@media(max-width:600px){:root{--mobile-header-height:64px}.container{width:calc(100% - 32px)}.section-pad{padding-block:34px}.hero,.hero-content{min-height:clamp(470px,125vw,540px)}.hero-content{padding:34px 0 calc(34px + env(safe-area-inset-bottom));align-items:flex-end}.hero h1{font-size:clamp(32px,9.4vw,46px);letter-spacing:-.035em;line-height:1.04;max-width:15ch}.hero p{max-width:34ch;font-size:15px;line-height:1.55}.hero-features{gap:10px 14px}.hero-features span{font-size:11px}.hero-buttons{display:grid;grid-template-columns:1fr;gap:9px}.hero-buttons .btn{width:100%;min-height:46px;font-size:13px}.trust-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:10px 0}.trust-row>div{min-width:0;padding:9px 4px}.trust-row strong{font-size:11px}.trust-row small{font-size:10px}.catalog-search{grid-template-columns:minmax(0,1fr);padding:16px}.search-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.search-fields select{min-width:0;min-height:46px;font-size:14px}.search-fields .search-button{grid-column:1/-1;min-height:46px}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-media{height:auto;aspect-ratio:4/3}.product-info{padding:12px}.product-info h3{font-size:clamp(14px,3.7vw,17px);line-height:1.3}.product-info p{font-size:12px}.meta-row{font-size:10px}.product-actions{display:grid;grid-template-columns:1fr;gap:7px}.product-actions button{min-height:44px;font-size:12px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.services-grid article{padding:16px 12px;justify-content:flex-start}.services-grid article h3{font-size:15px}.services-grid article p{font-size:12px}.service-photo{height:120px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-tile{height:auto;aspect-ratio:1/1.05}.gallery-filters{gap:7px;padding-bottom:4px}.gallery-filter{min-height:42px;padding:9px 13px}.construction-category-grid{grid-template-columns:1fr;gap:10px}.construction-category-card{min-height:96px}.measure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.measure-grid label{min-width:0}.measure-grid label:last-child{grid-column:1/-1}.measure-grid input,.quote-form input,.quote-form textarea,.pool-model-select,.construction-fields-panel input,.construction-fields-panel select,.construction-fields-panel textarea{min-height:46px;font-size:16px}.pool-fields-panel textarea,.construction-fields-panel textarea,.quote-form textarea{min-height:92px}.pool-color-options{display:flex;flex-wrap:wrap;gap:8px}.pool-color-choice{min-height:44px}.pool-complement-card{min-width:0;grid-template-columns:88px minmax(0,1fr)}.pool-complement-card>img{width:88px;height:100%;min-height:94px;object-fit:cover}.quote-card{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;top:0;right:0;border-radius:0;padding:calc(12px + env(safe-area-inset-top)) 16px calc(14px + env(safe-area-inset-bottom));overscroll-behavior:contain}.quote-items{max-height:none;overflow:visible}.quote-card .btn-block{min-height:48px;position:sticky;bottom:0;z-index:1;background:linear-gradient(180deg,#0b2024f2,#0b2024);box-shadow:0 -6px 14px #06171966}.quote-mobile-close{width:44px;height:44px;flex:0 0 44px}.phone-cart-fab{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:54px;height:54px}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-brand{grid-column:auto}.footer-grid a:not(.brand){min-height:42px;display:flex;align-items:center}.footer-bottom{gap:12px}.footer-credit{text-align:left}.detail-grid{grid-template-columns:1fr}.detail-grid>img{width:100%;max-height:280px;object-fit:cover}.gallery-dialog{border-radius:10px}.gallery-arrow{width:42px;height:42px}.gallery-prev{left:6px}.gallery-next{right:6px}}
@media(max-width:380px){.container{width:calc(100% - 24px)}.services-grid{grid-template-columns:1fr}.products-grid,.projects-grid{grid-template-columns:1fr}.product-media{aspect-ratio:16/9}.product-actions{grid-template-columns:1fr 1fr}.product-actions button{padding-inline:6px}.measure-grid{grid-template-columns:1fr}.measure-grid label:last-child{grid-column:auto}.hero h1{font-size:clamp(30px,9vw,36px)}.hero-buttons .btn{max-width:none}.construction-field-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:600px){.hero-content{min-width:0}.hero-copy{width:100%;min-width:0}.hero h1{width:100%;max-width:100%;overflow-wrap:anywhere}.nav-inner{min-width:0;gap:8px}.brand{min-width:0;flex:0 1 auto}.brand-logo{width:clamp(132px,42vw,174px);max-width:100%}.nav-actions{flex:0 0 auto;gap:5px}.menu-trigger{min-width:42px;min-height:42px}}
@media(max-width:380px){.hero h1{font-size:clamp(28px,8.6vw,34px)}.cart-trigger{padding-inline:8px}.services-grid{grid-template-columns:1fr}}

@media(max-width:420px){.topbar-contact{display:none}.hero-copy{max-width:100%}.hero h1{font-size:clamp(27px,8.1vw,34px);max-width:100%;width:100%}.nav-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.nav-actions{justify-content:flex-end}.nav-whatsapp{min-width:30px;justify-content:center}.cart-trigger{min-width:44px;justify-content:center}.menu-trigger{width:42px;height:42px}}
@media(max-width:380px){.hero-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px}.hero-features span{min-width:0;font-size:10px}.hero h1{font-size:clamp(27px,8.2vw,31px)}.services-grid{grid-template-columns:1fr}}

@media(max-width:930px){.quote-card{transform-origin:right center}.quote-card:not(.open){transform:scaleX(0);opacity:0;visibility:hidden;pointer-events:none}.quote-card.open{transform:scaleX(1);opacity:1;visibility:visible;pointer-events:auto}}

@media(max-width:930px){.quote-card:not(.open){display:none!important;transform:none;opacity:0;visibility:hidden;pointer-events:none}.quote-card.open{display:block!important;transform:none;opacity:1;visibility:visible;pointer-events:auto}}

/* Small-screen fit: allow construction CTA labels to wrap within their column. */
@media(max-width:600px){.construction-save-row>div{min-width:0}.construction-save-row .btn{min-width:0;width:100%;white-space:normal;text-align:center;line-height:1.35;justify-content:center}}


/* Servicios: tarjetas editoriales amplias que conservan los datos del administrador. */
.services-section{padding-block:clamp(40px,4.2vw,72px)}
.services-section>.container{width:min(1540px,calc(100% - 96px))}
.services-section .section-title-row{margin-bottom:clamp(20px,2vw,30px)}
.services-section .section-title-row h2{font-size:clamp(30px,3vw,40px)}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.55vw,28px);align-items:stretch}
.services-grid>.service-card{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:flex-start;min-width:0;min-height:0;aspect-ratio:1.48;overflow:hidden;padding:0;border:1px solid rgba(206,157,101,.58);border-radius:16px;background:#0a292e;color:#fff;text-decoration:none;box-shadow:0 10px 26px rgba(0,18,22,.22);transition:border-color .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.2,.7,.25,1)}
.services-grid>.service-card.is-placeholder{background:radial-gradient(ellipse at 76% 22%,rgba(25,188,190,.2),transparent 42%),radial-gradient(ellipse at 15% 80%,rgba(198,145,92,.17),transparent 43%),linear-gradient(145deg,#17373a,#091e22 70%)}
.services-grid>.service-card.is-placeholder:nth-child(3n+2){background:radial-gradient(ellipse at 22% 18%,rgba(30,174,179,.18),transparent 45%),linear-gradient(135deg,#294345,#0a2024 72%)}
.services-grid>.service-card.is-placeholder:nth-child(3n){background:radial-gradient(ellipse at 84% 76%,rgba(193,141,91,.2),transparent 43%),linear-gradient(150deg,#1a3438,#071b20 72%)}
.services-grid>.service-card:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.06),transparent 42%),repeating-linear-gradient(135deg,transparent 0 29px,rgba(255,255,255,.018) 30px 31px)}
.services-grid>.service-card:after{content:"";position:absolute;inset:24% 0 0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(4,17,19,.18) 30%,rgba(4,15,17,.9) 100%)}
.services-grid>.service-card.has-photo:before{background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 45%)}
.services-grid>.service-card .service-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-height:none;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.25,1)}
.services-grid>.service-card h3{position:relative;z-index:1;width:100%;margin:0;padding:clamp(16px,1.8vw,26px);color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(19px,1.65vw,26px);font-weight:600;line-height:1.16;letter-spacing:-.01em;text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.55);overflow-wrap:anywhere}
.services-grid>.service-card:focus-visible{outline:3px solid #2ed0cc;outline-offset:3px}
@media(hover:hover) and (pointer:fine){.services-grid>.service-card:hover{z-index:2;transform:translateY(-5px);border-color:#d9ac78;box-shadow:0 19px 38px rgba(0,17,21,.34)}.services-grid>.service-card:hover .service-photo{transform:scale(1.06)}}
.services-grid>.service-card:active{transform:scale(.985);border-color:#36c4bf;box-shadow:0 8px 22px rgba(0,17,21,.3)}
@media(max-width:1100px){.services-section>.container{width:calc(100% - 64px)}.services-grid{gap:16px}.services-grid>.service-card{aspect-ratio:1.28}.services-grid>.service-card h3{font-size:clamp(17px,2.1vw,23px)}}
@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid>.service-card{aspect-ratio:1.28}}
@media(max-width:767px){.services-section{padding-block:38px 42px}.services-section>.container{width:calc(100% - 32px)}.services-section .section-title-row{margin-bottom:20px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.services-grid>.service-card{aspect-ratio:1.08;border-radius:12px}.services-grid>.service-card h3{padding:12px;font-size:clamp(15px,4.3vw,20px)}}
@media(max-width:380px){.services-grid{gap:9px}.services-grid>.service-card{aspect-ratio:1.02;border-radius:10px}.services-grid>.service-card h3{padding:9px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.services-grid>.service-card,.services-grid>.service-card .service-photo{transition:none}}

@media(max-width:767px){body.services-in-view .phone-cart-fab{display:none!important}body.selection-sections-in-view .phone-cart-fab{display:none!important}}


/* Pool catalog cards and full-screen model photo viewer. */
.pool-catalog-intro{margin:0 0 17px}.pool-catalog-intro h2{margin:4px 0 6px;color:#eef3ed;font:500 clamp(27px,3.2vw,36px)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.025em}.pool-catalog-intro p{margin:0;color:#aabbb6;font-size:13px}.pool-catalog-tools{display:flex;align-items:center;gap:14px;margin:0 0 21px;min-width:0}.pool-filter-source{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.pool-category-filters{display:flex;align-items:center;gap:8px;min-width:0;flex:1;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 2px 8px;scrollbar-width:thin;scrollbar-color:#765c43 transparent}.pool-filter-pill{flex:0 0 auto;min-height:40px;padding:8px 15px;border:1px solid #35494a;border-radius:24px;background:#0a1c20;color:#d5ded8;font-size:12px;font-weight:650;white-space:nowrap;transition:background .18s,border-color .18s,color .18s}.pool-filter-pill:hover{border-color:#c59968}.pool-filter-pill[aria-pressed=true]{background:#d5ad7e;border-color:#e0bd96;color:#182729;box-shadow:0 4px 15px #0003}.pool-size-filter{display:flex;align-items:center;gap:8px;flex:0 0 auto;color:#bac8c2;font-size:11px;font-weight:700}.pool-size-filter select{min-height:40px;max-width:145px;padding:7px 28px 7px 11px;border:1px solid #35494a;border-radius:7px;background:#0a1c20;color:#eef3ed;font:inherit}.catalog-layout{align-items:start}.catalog-main{min-width:0}.products-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card-shell{position:relative;min-width:0}.product-card{appearance:none;-webkit-appearance:none;display:flex;width:100%;min-width:0;height:100%;padding:0;overflow:hidden;flex-direction:column;border:1px solid #29484b;border-radius:10px;background:#0d2428;color:#eaf0eb;text-align:left;cursor:pointer;box-shadow:0 10px 26px #0003;transition:border-color .2s,box-shadow .2s,transform .2s}.product-card.is-selected{border:2px solid #18c3c0;box-shadow:0 0 0 3px #18c3c02b,0 14px 28px #0004}.product-card:focus-visible{outline:3px solid #18c3c0;outline-offset:3px}.product-media{position:relative;display:block;width:100%;height:auto;aspect-ratio:1.2;overflow:hidden;background:#0b282c}.product-photo{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.product-card:hover .product-photo{transform:scale(1.035)}.product-tag{top:9px;left:9px;z-index:2;padding:5px 8px;font-size:9px}.product-selected-check{position:absolute;top:9px;right:9px;z-index:3;display:grid;place-items:center;width:29px;height:29px;border:1px solid #80eeee;border-radius:50%;background:#11bdbb;color:#062629;font-size:18px;font-weight:900;line-height:1;opacity:0;transform:scale(.85);transition:opacity .18s,transform .18s}.product-card.is-selected .product-selected-check{opacity:1;transform:scale(1)}.product-image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:radial-gradient(ellipse at 80% 20%,#1a7f8260,transparent 42%),radial-gradient(ellipse at 15% 85%,#b7875632,transparent 46%),linear-gradient(145deg,#183a3d,#081b20 76%);color:#a9c3bc}.product-image-placeholder:before{position:absolute;inset:0;content:"";background:repeating-linear-gradient(135deg,transparent 0 34px,#ffffff08 35px 36px)}.product-image-placeholder .icon{position:relative;width:31px;height:31px;color:#5bc8c2}.product-image-placeholder small{position:relative;color:#c1d0ca;font-size:10px;letter-spacing:.035em}.pool-photo-zoom{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #dbc09d;border-radius:50%;background:#0a2024e8;color:#f4d1a5;box-shadow:0 4px 14px #0005;cursor:pointer}.pool-photo-zoom svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.product-photo-zoom{position:absolute;right:9px;bottom:9px;z-index:5;width:36px;height:36px}.pool-photo-zoom:hover{background:#d5ad7e;color:#142729;border-color:#f0d0a8}.product-info{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0;padding:10px 11px 12px;background:linear-gradient(145deg,#10272b,#0b2024)}.product-card-title{display:block;color:#f1f3ec;font:500 clamp(15px,1.45vw,18px)/1.18 Georgia,"Times New Roman",serif;letter-spacing:-.015em;text-wrap:balance}.product-card-description{display:-webkit-box;overflow:hidden;color:#adbfba;font-size:11px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pool-main-photo-wrap{background:#0b2529}.pool-main-photo-wrap>img[hidden],#pool-main-placeholder[hidden],.pool-main-photo-badge[hidden],.pool-main-photo-zoom[hidden]{display:none!important}.pool-main-photo-zoom{position:absolute;right:12px;top:12px;z-index:3}.pool-image-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:9px;background:radial-gradient(ellipse at 80% 18%,#1a7f8245,transparent 42%),linear-gradient(145deg,#15383b,#081b20 78%);color:#b8ccc4}.pool-image-placeholder .icon{width:44px;height:44px;color:#59c9c3}.pool-image-placeholder small{font-size:12px;letter-spacing:.04em}.pool-model-specs{display:block;margin:6px 0;color:#bac8c2;font-size:12px;line-height:1.45}.pool-model-details{display:inline-flex;align-items:center;min-height:38px;padding:5px 0;border:0;background:transparent;color:#d6ae7e;font-size:12px;font-weight:750;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.pool-model-details:hover{color:#f1d7b3}.pool-thumbnails[hidden]{display:none!important}.pool-thumb{position:relative}.pool-thumb-zoom{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:22px;height:22px;border:1px solid #d9b98f;border-radius:50%;background:#071b20e8;color:#f3d3a9}.pool-thumb-zoom svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pool-photo-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:calc(14px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));overflow:hidden;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 45%,#132f33,#061518 72%);color:#f2f4ee;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px}.pool-photo-dialog[open]{display:grid}.pool-photo-dialog::backdrop{background:#020b0de8}.pool-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.pool-viewer-top>div{display:grid;gap:3px;min-width:0}.pool-viewer-top strong{overflow:hidden;color:#f2f4ee;font:500 18px/1.2 Georgia,"Times New Roman",serif;text-overflow:ellipsis;white-space:nowrap}.pool-viewer-top small{color:#b4c4bd;font-size:12px}.pool-viewer-close{width:46px;height:46px;flex:0 0 46px;border:1px solid #b78d64;border-radius:50%;background:#10292d;color:#f3d3aa;font-size:28px;line-height:1}.pool-viewer-stage{position:relative;display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:contain;background:#071619;border:1px solid #273f40;border-radius:10px}.pool-viewer-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;touch-action:none;transform-origin:center center;will-change:transform}.pool-viewer-arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:46px;height:56px;transform:translateY(-50%);border:1px solid #d6b083;border-radius:7px;background:#071b20de;color:#f1d0a5;font-size:34px;line-height:1}.pool-viewer-arrow:disabled{opacity:.35}.pool-viewer-prev{left:22px}.pool-viewer-next{right:22px}.pool-viewer-controls{display:flex;justify-content:center;gap:9px}.pool-viewer-controls button{min-width:48px;min-height:44px;padding:8px 14px;border:1px solid #344c4c;border-radius:22px;background:#10272b;color:#f0eee5;font-size:15px;font-weight:700}.pool-viewer-controls button:hover{border-color:#d5ad7e;color:#f0d2ae}.pool-viewer-hint{margin:0;color:#9db1aa;font-size:11px;text-align:center}
@media(max-width:1050px){.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pool-catalog-tools{align-items:stretch;flex-direction:column;gap:8px}.pool-category-filters{order:1;width:100%;gap:7px}.pool-filter-pill{min-height:40px;padding-inline:13px}.pool-size-filter{order:2;justify-content:flex-end;min-height:38px}.pool-size-filter select{min-height:40px}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-media{aspect-ratio:1.15}.product-info{padding:9px 9px 10px}.product-card-title{font-size:clamp(14px,4vw,17px)}.product-card-description{font-size:10px}.product-tag{top:7px;left:7px}.product-selected-check{top:7px;right:7px;width:27px;height:27px}.product-photo-zoom{right:7px;bottom:7px;width:34px;height:34px}.pool-photo-zoom{width:42px;height:42px}.pool-viewer-prev{left:8px}.pool-viewer-next{right:8px}.pool-viewer-arrow{width:40px;height:50px}.pool-viewer-top strong{font-size:16px}}
@media(max-width:360px){.products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product-media{aspect-ratio:1.05}.product-info{padding:8px}.product-card-title{font-size:14px}.product-card-description{font-size:10px;line-height:1.35}.pool-filter-pill{padding-inline:11px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.product-card,.product-photo,.pool-filter-pill{transition:none}}

/* Keep the mobile catalog strictly within its column, including older cascade rules. */
@media(max-width:760px){
  .catalog-section>.container{width:calc(100% - 32px);max-width:100%;min-width:0;margin-inline:auto}
  .catalog-layout,.catalog-main,.pool-catalog-intro,.pool-catalog-tools,.products-grid{width:100%;max-width:100%;min-width:0}
  .catalog-layout{grid-template-columns:minmax(0,1fr)}
  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .product-card-shell,.product-card,.product-media,.product-info{min-width:0;max-width:100%}
  .pool-catalog-intro p{max-width:100%;overflow-wrap:anywhere}
  .pool-catalog-tools>*{min-width:0;max-width:100%}
}
@media(max-width:380px){.catalog-section>.container{width:calc(100% - 24px)}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.pool-category-select-wrap{display:none}
@media(max-width:760px){
  .pool-category-filters{display:none}
  .pool-category-select-wrap{display:grid;order:1;gap:6px;width:100%;color:#c1cec8;font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
  .pool-category-select-wrap select{width:100%;min-width:0;min-height:48px;padding:10px 42px 10px 14px;appearance:none;border:1px solid #b98d62;border-radius:9px;background-color:#10292d;background-image:linear-gradient(45deg,transparent 50%,#e6c49c 50%),linear-gradient(135deg,#e6c49c 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;color:#f0f2eb;font-size:15px;font-weight:700}
  .pool-category-select-wrap select:focus-visible{outline:3px solid #19c4c0;outline-offset:2px}
  .pool-size-filter{order:2;justify-content:flex-end;width:100%}
}

/* Pool customizer: photo-first premium layout, scoped to this section only. */
#pool-customizer{margin:30px 0 12px;padding:clamp(16px,2.3vw,30px);border:1px solid #29484b;border-top:2px solid #c99a6b;border-radius:15px;background:radial-gradient(ellipse at 0 0,#17414655,transparent 38%),linear-gradient(145deg,#10282c,#081b1f 78%);box-shadow:0 18px 48px #0004;color:#e8efea}
#pool-customizer .pool-customizer-heading{align-items:flex-start;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #29484b}
#pool-customizer .pool-customizer-heading h2{margin:2px 0 6px;color:#f3f0e9;font:500 clamp(26px,3vw,35px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
#pool-customizer .pool-customizer-heading p{max-width:760px;color:#b6c6c1;font-size:13px}
#pool-customizer .customizer-step{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border:1px solid #e2bd92;border-radius:50%;background:#d5ad7e;color:#182729;font:600 22px Georgia,serif}
#pool-customizer .customizer-step small{display:none}
#pool-customizer .pool-config-grid{grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);align-items:start;gap:clamp(14px,2vw,24px);margin-top:0}
#pool-customizer .pool-visual-panel,#pool-customizer .pool-fields-panel{min-width:0}
#pool-customizer .pool-main-photo-wrap{height:auto;min-height:0;max-height:none;aspect-ratio:1.24;border:1px solid #355558;border-radius:11px;background:#07191d}
#pool-customizer .pool-main-photo-wrap>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover}
#pool-customizer .pool-image-placeholder{border-radius:10px;background:radial-gradient(ellipse at 82% 15%,#176f7445,transparent 44%),linear-gradient(145deg,#143438,#08191d 78%);color:#b8ccc4}
#pool-customizer .pool-thumbnails{gap:9px;min-height:0;margin-top:10px;padding:2px 2px 8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#8c694b transparent}
#pool-customizer .pool-thumbnails[hidden]{display:none!important}
#pool-customizer .pool-thumb{width:clamp(66px,8vw,92px);height:62px;flex-basis:clamp(66px,8vw,92px);border:1px solid #40595a;border-radius:7px;background:#0b2024}
#pool-customizer .pool-thumb.selected{border:2px solid #21c7c3;box-shadow:0 0 0 2px #21c7c32a}
#pool-customizer .pool-fields-panel{display:flex;flex-direction:column;gap:0;padding:clamp(15px,2vw,22px);border:1px solid #29484b;border-radius:11px;background:linear-gradient(155deg,#0d2226,#091a1e);box-shadow:inset 0 1px #ffffff08}
#pool-customizer .pool-model-summary{margin:0 0 12px;padding:0 0 13px;border-bottom:1px solid #29484b}
#pool-customizer .pool-model-summary h3{margin:0 0 5px;color:#f1eee6;font:500 clamp(21px,2.3vw,29px)/1.15 Georgia,"Times New Roman",serif}
#pool-customizer .pool-model-summary p{margin:0;color:#aebfba;font-size:12px;line-height:1.5}
#pool-customizer .field-label,#pool-customizer .measure-grid label{color:#dce7e1}
#pool-customizer .pool-model-select,#pool-customizer .measure-grid input,#pool-customizer .pool-fields-panel textarea{min-height:44px;border:1px solid #38565a;border-radius:7px;background:#07191d;color:#edf4ef}
#pool-customizer .pool-model-select{margin:4px 0 3px}
#pool-customizer .field-help{margin:0 0 7px;color:#95aaa4;font-size:10px}
#pool-customizer .pool-model-specs{margin:2px 0;color:#b6c5c0;font-size:11px}
#pool-customizer .pool-model-details{min-height:32px;color:#dfb98d;font-size:11px}
#pool-customizer .measure-heading,#pool-customizer .color-heading{justify-content:flex-start;gap:10px;margin:13px 0 8px}
#pool-customizer .measure-heading h3,#pool-customizer .color-heading h3{display:flex;align-items:center;gap:9px;margin:0;color:#eeeae1;font:500 18px/1.25 Georgia,"Times New Roman",serif}
#pool-customizer .measure-heading h3:before,#pool-customizer .color-heading h3:before{counter-increment:pool-step;content:counter(pool-step);display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:50%;background:#d4aa78;color:#17282a;font:700 15px Georgia,serif}
#pool-customizer .pool-fields-panel{counter-reset:pool-step}
#pool-customizer .measure-heading span,#pool-customizer .color-heading span{margin-left:auto;color:#ad9a83;font-size:10px}
#pool-customizer .measure-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#pool-customizer .measure-grid label{min-width:0;font-size:11px}
#pool-customizer .measure-grid input{padding:9px 10px}
#pool-customizer .advice-choice{margin:11px 0 4px;border-color:#385358;border-radius:8px;background:#10292d}
#pool-customizer .advice-choice input{accent-color:#27c7c3}
#pool-customizer .pool-color-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 5px}
#pool-customizer .pool-color-choice{position:relative;display:grid;place-items:center;align-content:start;gap:8px;min-width:0;min-height:96px;padding:10px 5px;border:1px solid #315256;border-radius:10px;background:#10292d;color:#dce9e4;font-size:11px;text-align:center;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
#pool-customizer .pool-color-choice:hover{border-color:#779694;background:#143337;transform:translateY(-1px)}
#pool-customizer .pool-color-choice .pool-color-swatch{display:block;width:40px;height:40px;flex:none;border:1px solid #8ca09d;border-radius:9px;background:var(--swatch);box-shadow:0 3px 10px #0003}
#pool-customizer .pool-color-choice .pool-color-label{display:block;width:auto;height:auto;max-width:100%;flex:none;border:0;border-radius:0;background:transparent;color:inherit;font-size:11px;font-weight:650;line-height:1.2;word-break:normal;overflow-wrap:normal}
#pool-customizer .pool-color-choice .pool-color-check{position:absolute;top:5px;right:5px;display:grid;place-items:center;width:19px;height:19px;border:1px solid #74e2dc;border-radius:50%;background:#07383a;color:#a8fffa;font-size:12px;font-weight:900;line-height:1;opacity:0;transform:scale(.8);transition:opacity .18s,transform .18s}
#pool-customizer .pool-color-choice.selected{border-color:#37d7d0;background:#123b3d;color:#e9fffd;box-shadow:0 0 0 2px #22c6c033,0 7px 18px #0003}
#pool-customizer .pool-color-choice.selected .pool-color-check{opacity:1;transform:scale(1)}
@media(max-width:680px){#pool-customizer .pool-color-options{gap:6px}#pool-customizer .pool-color-choice{min-height:86px;padding:9px 3px;gap:7px}#pool-customizer .pool-color-choice .pool-color-swatch{width:34px;height:34px;border-radius:8px}#pool-customizer .pool-color-choice .pool-color-label{font-size:10px}#pool-customizer .pool-color-choice .pool-color-check{top:3px;right:3px;width:17px;height:17px}}
#pool-customizer .pool-custom-color-tools{display:flex;align-items:center;margin:0 0 14px}
#pool-customizer .pool-custom-color-button{min-height:38px;padding:8px 13px;border:1px solid #627e7d;border-radius:8px;background:#0b2226;color:#e6c69f;font-size:11px;font-weight:750;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
#pool-customizer .pool-custom-color-button:hover{border-color:#d5ad7e;background:#173337;color:#ffe0b5}
#pool-customizer #pool-custom-color-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
#pool-customizer #pool-line-notes{min-height:72px;padding:10px;border-color:#38565a;border-radius:8px;background:#07191d;color:#edf4ef}
#pool-customizer .pool-complement-section{margin-top:20px;padding-top:18px;border-top:1px solid #29484b}
#pool-customizer .complement-heading{align-items:flex-end;margin-bottom:13px}
#pool-customizer .complement-heading h3{font:500 clamp(22px,2.6vw,29px)/1.15 Georgia,"Times New Roman",serif}
#pool-customizer .complement-heading p{font-size:11px}
#pool-customizer .quote-shared-label{border-color:#315e5d;border-radius:20px;background:#123336;color:#aee7df}
#pool-customizer .pool-complement-groups{counter-reset:pool-step 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#pool-customizer .complement-group{min-width:0;padding:11px;border:1px solid #29484b;border-radius:10px;background:linear-gradient(150deg,#10272b,#0b1e22)}
#pool-customizer .complement-group>h4{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:#eeeae1;font:500 16px/1.25 Georgia,"Times New Roman",serif}
#pool-customizer .complement-group>h4:before{counter-increment:pool-step;content:counter(pool-step);display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#d4aa78;color:#17282a;font:700 14px Georgia,serif}
#pool-customizer .complement-group-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));align-items:stretch;gap:10px}
#pool-customizer .pool-complement-card{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border:1px solid #315054;border-radius:11px;background:linear-gradient(145deg,#102b2f,#0b2024);transition:transform .2s,border-color .2s,box-shadow .2s}
#pool-customizer .pool-complement-card:only-child{max-width:420px}
#pool-customizer .pool-complement-card:hover{transform:translateY(-3px);border-color:#c89a69;box-shadow:0 16px 34px #0005}
#pool-customizer .pool-complement-card>img{display:block;width:100%;aspect-ratio:1.75;height:auto;min-height:0;object-fit:cover;background:#0a1c20}
#pool-customizer [data-extra-id="borde-curvo-referencia"] .pool-complement-photo{object-position:center 72%}
#pool-customizer [data-extra-id="borde-perimetral-amplio"] .pool-complement-photo{object-position:center 64%}
#pool-customizer .pool-complement-copy{display:flex;min-width:0;flex:1;flex-direction:column;align-items:stretch;gap:6px;padding:11px}
#pool-customizer .pool-complement-copy h4{margin:0;color:#f1eee6;font:500 15px/1.25 Georgia,"Times New Roman",serif}
#pool-customizer .pool-complement-copy p{display:-webkit-box;overflow:hidden;margin:0;color:#afbfba;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
#pool-customizer .pool-complement-copy small{margin:0;color:#d1aa7b;font-size:9px;line-height:1.35}
#pool-customizer .complement-toggle{min-height:40px;margin-top:auto;border:1px solid #426669;border-radius:8px;background:#15383a;color:#d5eae3;font-size:11px;font-weight:700;line-height:1.25}
#pool-customizer .complement-toggle:hover,#pool-customizer .complement-toggle.selected{border-color:#35c9c3;background:#126468;color:#fff}
#pool-customizer .pool-complement-card.is-added{border-color:#31c9c2;box-shadow:0 0 0 2px #25c9c02a}
#pool-customizer .pool-save-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:center;gap:14px;margin-top:17px;padding-top:15px;border-top:1px solid #29484b}
#pool-customizer .pool-save-row>div{display:flex;justify-content:flex-end;gap:8px}
#pool-customizer #pool-add-to-cart{width:100%;min-height:52px;border:1px solid #f0cb9b;border-radius:9px;background:linear-gradient(135deg,#e3bd8e,#c99562);color:#192a2b;font-size:14px;font-weight:850;box-shadow:0 7px 18px #0003}
#pool-customizer #pool-add-to-cart:hover{background:linear-gradient(135deg,#f0d1aa,#d6a572);transform:translateY(-1px)}
#pool-customizer .pool-save-row p{color:#aebfba}
@media(max-width:950px){#pool-customizer .pool-config-grid{grid-template-columns:minmax(0,1fr) minmax(285px,.92fr);gap:14px}#pool-customizer .pool-complement-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){#pool-customizer{margin-top:22px;padding:14px;border-radius:12px}#pool-customizer .pool-customizer-heading{gap:10px}#pool-customizer .pool-customizer-heading h2{font-size:27px}#pool-customizer .pool-customizer-heading p{font-size:11px}#pool-customizer .customizer-step{width:38px;height:38px;flex-basis:38px;font-size:18px}#pool-customizer .pool-config-grid{grid-template-columns:minmax(0,1fr);gap:13px}#pool-customizer .pool-main-photo-wrap{aspect-ratio:1.22}#pool-customizer .pool-fields-panel{padding:14px}#pool-customizer .pool-complement-groups{grid-template-columns:minmax(0,1fr)}#pool-customizer .complement-heading{flex-direction:row;align-items:center}#pool-customizer .pool-save-row{grid-template-columns:minmax(0,1fr);gap:8px}#pool-customizer .pool-save-row>div{width:100%;justify-content:stretch}#pool-customizer #pool-add-to-cart{min-height:54px;font-size:13px}}
@media(max-width:380px){#pool-customizer{padding:11px}#pool-customizer .pool-main-photo-wrap{aspect-ratio:1.12}#pool-customizer .pool-fields-panel{padding:12px}#pool-customizer .measure-grid{gap:6px}#pool-customizer .measure-grid label{font-size:10px}#pool-customizer .measure-grid input{padding:8px 6px}#pool-customizer .complement-group-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}}
#pool-customizer-disclosure{display:block}
#pool-customizer-disclosure>.pool-customizer-heading{list-style:none}
#pool-customizer-disclosure>.pool-customizer-heading::-webkit-details-marker{display:none}
#pool-customizer .pool-customizer-chevron{display:none}
@media(max-width:680px){
  #pool-customizer-disclosure>.pool-customizer-heading{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
  #pool-customizer-disclosure>.pool-customizer-heading>div{min-width:0;flex:1}
  #pool-customizer .pool-customizer-chevron{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid #bc946d;border-radius:50%;background:#102c30;color:#f0cea5}
  #pool-customizer .pool-customizer-chevron::before{content:'+';font:500 25px/1 Arial,sans-serif}
  #pool-customizer-disclosure[open] .pool-customizer-chevron::before{content:'−'}
  #pool-customizer-disclosure:not([open])>.pool-customizer-heading{margin-bottom:0;padding-bottom:0;border-bottom:0}
  #pool-customizer-disclosure[open]>.pool-customizer-heading{margin-bottom:16px}
  #pool-customizer-disclosure:not([open]) .pool-customizer-content{display:none}
  #pool-customizer-disclosure:not([open])~.pool-save-row{display:none}
}

/* Categorías de construcción desplegables y catálogo dinámico de modelos */
.construction-category-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:22px 0 26px}
.construction-category-accordion{min-width:0;border:1px solid #29484b;border-radius:11px;background:#0c2226;overflow:hidden;box-shadow:0 10px 24px #0002}
.construction-category-card{width:100%;min-height:86px;grid-template-columns:78px minmax(0,1fr) 34px;padding:8px 12px;background:#10272b;color:#f0f2ed;border:0;border-radius:0;box-shadow:none;cursor:pointer;text-align:left}
.construction-category-card:hover,.construction-category-card.selected{transform:none;border-color:transparent;background:#123035;box-shadow:none}
.construction-category-accordion.has-selection .construction-category-card{box-shadow:inset 3px 0 #21c5bd}
.construction-category-visual{height:68px;justify-content:center;gap:5px;padding:7px;background:linear-gradient(145deg,#102e32,#1c4a4b 68%,#99734f)}
.construction-category-visual b{font-size:21px}
.construction-category-visual small{font-size:7px}
.construction-category-copy{gap:5px}
.construction-category-copy strong{font-size:clamp(14px,1.5vw,18px);color:#f1eee7}
.construction-category-copy small{font-size:10px;color:#a8bfba}
.construction-category-arrow{width:30px;height:30px;border-color:#80664d;background:#172d30;color:#e3b783;font-size:18px;transition:transform .24s ease,background .2s ease}
.construction-category-accordion.is-open .construction-category-arrow{transform:rotate(180deg);background:#254347}
.construction-category-panel{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .28s ease,opacity .22s ease,visibility .28s}
.construction-category-accordion.is-open .construction-category-panel{grid-template-rows:1fr;opacity:1;visibility:visible}
.construction-category-panel-inner{min-height:0;overflow:hidden;padding:0 14px}
.construction-category-accordion.is-open .construction-category-panel-inner{padding:2px 14px 16px}
.construction-subcategory-tabs{display:flex;gap:8px;overflow-x:auto;padding:5px 1px 12px;scrollbar-width:thin;scrollbar-color:#b88c61 #10272b}
.construction-subcategory-tab{flex:0 0 auto;min-height:38px;padding:8px 13px;border:1px solid #355357;border-radius:999px;background:#10282c;color:#cfdbd5;font-family:inherit;font-size:12px;font-weight:650;line-height:1.2;cursor:pointer}
.construction-subcategory-tab:hover,.construction-subcategory-tab.selected{border-color:#24c4bd;background:#123e41;color:#f5fffc;box-shadow:0 0 0 1px #24c4bd55}
.construction-model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;min-width:0}
.construction-model-card{position:relative;min-width:0;overflow:hidden;border:1px solid #345257;border-radius:10px;background:#0c2024;transition:border-color .2s,box-shadow .2s,transform .2s}
.construction-model-card:hover{transform:translateY(-2px);border-color:#bd9367;box-shadow:0 10px 22px #0004}
.construction-model-card.is-selected{border:2px solid #20c9c1;box-shadow:0 0 0 2px #20c9c12c,0 12px 24px #0004}
.construction-model-select{position:relative;display:flex;width:100%;min-height:100%;flex-direction:column;padding:0;border:0;background:none;color:#eff1ec;text-align:left;cursor:pointer}
.construction-model-photo,.construction-model-placeholder{display:flex;width:100%;aspect-ratio:1;object-fit:cover}
.construction-model-placeholder{align-items:center;justify-content:center;flex-direction:column;gap:8px;background:repeating-linear-gradient(135deg,#10282c 0 20px,#142e32 20px 22px);color:#a7c6c0}
.construction-model-placeholder>span{display:grid;width:44px;height:44px;place-items:center;border:1px solid #53bbb5;border-radius:50%;color:#68d5cf;font:500 15px Georgia,serif}
.construction-model-placeholder small{font-size:11px;letter-spacing:.04em}
.construction-quote-badge{position:absolute;top:10px;left:10px;padding:6px 9px;border:1px solid #d5ae7f;border-radius:4px;background:#d0a475;color:#16282a;font-size:10px;font-weight:850}
.construction-model-check{position:absolute;top:9px;right:9px;display:grid;width:30px;height:30px;place-items:center;border:1px solid #b7fff7;border-radius:50%;background:#15aaa8;color:white;font-size:17px;font-weight:900;box-shadow:0 3px 10px #0005}
.construction-model-copy{display:grid;width:100%;gap:5px;min-height:78px;padding:11px 12px 12px;background:linear-gradient(180deg,#10262a,#0c2024)}
.construction-model-copy strong{font:500 16px/1.2 Georgia,"Times New Roman",serif;color:#f1eee7}
.construction-model-copy small{display:-webkit-box;overflow:hidden;color:#aebfba;font-size:11px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.construction-model-zoom{position:absolute;top:8px;right:8px;display:grid;width:36px;height:36px;place-items:center;border:1px solid #f1cfaa;border-radius:50%;background:#092126d9;color:#f0d1aa;cursor:pointer}
.construction-model-zoom svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.construction-main-photo-wrap .construction-main-photo-zoom{position:absolute;right:12px;bottom:12px;display:flex;min-height:40px;align-items:center;gap:8px;padding:8px 13px;border:1px solid #f1cda6;border-radius:999px;background:#092126df;color:#f2d3ae;font-weight:750;cursor:pointer}
.construction-main-photo-wrap .construction-main-photo-zoom[hidden]{display:none}
.construction-main-photo-zoom span{font-size:20px;line-height:1}
.construction-empty-state{grid-column:1/-1;margin:0;padding:16px;border:1px dashed #587176;border-radius:8px;color:#b7c7c2;font-size:13px;line-height:1.5}
.construction-personalizer .btn:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:767px){.construction-category-grid{gap:8px;margin:16px 0 20px}.construction-category-card{min-height:75px;grid-template-columns:62px minmax(0,1fr) 31px;padding:7px 9px;gap:9px}.construction-category-visual{height:58px;padding:6px}.construction-category-visual b{font-size:18px}.construction-category-copy strong{font-size:14px;line-height:1.2}.construction-category-copy small{font-size:9px;line-height:1.3}.construction-category-panel-inner{padding-inline:9px}.construction-category-accordion.is-open .construction-category-panel-inner{padding:1px 9px 12px}.construction-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.construction-model-copy{min-height:76px;padding:9px}.construction-model-copy strong{font-size:14px}.construction-model-copy small{font-size:10px}.construction-model-zoom{top:6px;right:6px;width:33px;height:33px}.construction-quote-badge{top:7px;left:7px;padding:5px 7px;font-size:9px}.construction-model-placeholder>span{width:36px;height:36px}.construction-model-placeholder small{font-size:9px}.construction-main-photo-wrap .construction-main-photo-zoom{min-height:42px}}
@media(max-width:360px){.construction-category-card{grid-template-columns:54px minmax(0,1fr) 29px;padding-inline:7px;gap:7px}.construction-category-visual{height:52px}.construction-category-copy strong{font-size:13px}.construction-category-copy small{font-size:8px}.construction-category-arrow{width:27px;height:27px}.construction-model-grid{gap:7px}.construction-model-copy{padding:8px;min-height:72px}.construction-model-copy strong{font-size:13px}.construction-model-copy small{font-size:9px}}
@media(min-width:1180px){.construction-model-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.construction-category-card{grid-template-columns:88px minmax(0,1fr) 36px;min-height:96px}.construction-category-visual{height:76px}}

/* Personalizador de construcción: misma jerarquía visual que piscinas */
.construction-personalizer .construction-config-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(14px,2vw,24px);align-items:start}
.construction-personalizer .construction-visual-panel{position:sticky;top:92px;min-width:0}
.construction-personalizer .construction-main-photo-wrap{height:clamp(220px,25vw,350px);border:1px solid #35565a;border-radius:11px;background:#07191d;box-shadow:0 12px 28px #0004}
.construction-personalizer .construction-main-photo-wrap img{object-fit:cover}
.construction-personalizer .construction-main-photo-wrap img[src*="proyecto-pendiente.svg"]{object-fit:contain;padding:clamp(18px,4vw,38px);background:radial-gradient(ellipse at 50% 42%,#16363a,#07191d 72%)}
.construction-personalizer .construction-thumbnails{gap:8px;padding:9px 1px 5px;scrollbar-width:thin;scrollbar-color:#bd9367 #10272b}
.construction-personalizer .construction-thumbnails .pool-thumb{flex-basis:68px;height:52px;border-color:#35565a;background:#0b2024}
.construction-personalizer .construction-thumbnails .pool-thumb.selected{border-color:#29c9c1;box-shadow:0 0 0 1px #29c9c1}
.construction-photo-note{display:block;margin:8px 0 0;color:#9fb3ae;font-size:10px;line-height:1.45}
.construction-personalizer .construction-fields-panel{padding:clamp(14px,1.8vw,22px);border:1px solid #29484b;border-radius:11px;background:linear-gradient(145deg,#0d2428,#0a1d21);box-shadow:0 12px 30px #0003}
.construction-model-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:5px}
.construction-fields-panel .construction-project-label{margin-top:9px!important}
.construction-model-summary{margin:12px 0 11px;padding:12px 14px;border:1px solid #29484b;border-left:3px solid #22c5be;border-radius:7px;background:#10282c}
.construction-model-summary h4{margin:0 0 5px;color:#f2eee6;font:500 clamp(20px,2vw,25px)/1.2 Georgia,"Times New Roman",serif}
.construction-model-summary .draft-note{margin:0;padding:0;border:0;background:none;color:#aebfba;font-size:11px;line-height:1.45}
.construction-option-disclosure{margin:8px 0;border:1px solid #29484b;border-radius:8px;background:#0b2024;overflow:hidden}
.construction-option-disclosure>summary{display:flex;align-items:center;gap:10px;min-height:58px;padding:9px 12px;list-style:none;cursor:pointer;color:#f2eee6;-webkit-tap-highlight-color:transparent}
.construction-option-disclosure>summary::-webkit-details-marker{display:none}
.construction-disclosure-step{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;border:1px solid #f0cda8;border-radius:50%;background:linear-gradient(135deg,#f1d5b3,#d0a273);color:#17292b;font:750 14px Georgia,serif}
.construction-disclosure-title{display:grid;gap:3px;min-width:0}
.construction-disclosure-title strong{font:500 17px/1.2 Georgia,"Times New Roman",serif}
.construction-disclosure-title small{color:#aabbb6;font-size:10px;line-height:1.3}
.construction-disclosure-chevron{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;margin-left:auto;border:1px solid #735b45;border-radius:50%;color:#e4bd91;transition:transform .2s}
.construction-disclosure-chevron:before{content:"⌄";font-size:18px;line-height:1}
.construction-option-disclosure[open] .construction-disclosure-chevron{transform:rotate(180deg)}
.construction-disclosure-body{padding:0 13px 13px}
.construction-field-grid{margin:4px 0 10px}
.construction-field{color:#dce7e1;font-size:11px}
.construction-field>span{color:#aebfba}
.construction-fields-panel .construction-choice-label{display:block;margin:2px 0 6px;color:#dce7e1;font-size:11px;font-weight:800}
.construction-fields-panel #construction-material,.construction-fields-panel #construction-finish{width:100%;min-height:46px;padding:10px 12px;border:1px solid #3b5e61;border-radius:7px;background:linear-gradient(110deg,#10292d,#0b2024);color:#edf4ef;font-size:13px}
.construction-options-heading{display:none}
.construction-options{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px}
.construction-option{align-items:center;min-height:44px;border-color:#355357;border-radius:7px;background:#10282c;color:#dce9e4;font-size:11px}
.construction-option input{width:17px;height:17px;accent-color:#28c8c2}
.construction-fields-panel .construction-reference-input,.construction-fields-panel #construction-notes{width:100%;min-height:46px;padding:11px 12px;border:1px solid #35565a;border-radius:7px;background:#07191d;color:#edf4ef;font:inherit}
.construction-fields-panel #construction-notes{min-height:92px;resize:vertical}
.construction-notes-label{display:block;margin-top:13px}
.construction-choices-note{display:block;margin:9px 3px;color:#a8b8b3;font-size:10px;line-height:1.45}
.construction-save-row{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin-top:14px;padding-top:13px;border-top:1px solid #29484b}
.construction-save-row>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.construction-save-row #construction-add-to-cart{grid-column:1/-1;width:100%;min-height:52px;border:1px solid #f1cda6;border-radius:8px;background:linear-gradient(135deg,#e4bf91,#c89562);color:#17292b;font-size:14px;font-weight:850;box-shadow:0 7px 18px #0004}
.construction-save-row #construction-add-to-cart:hover{background:linear-gradient(135deg,#f0d1aa,#d5a270);transform:translateY(-1px)}
.construction-save-row p{color:#aebfba;font-size:10px}
.construction-personalizer .field-label{color:#dce7e1}
@media(max-width:767px){.construction-personalizer .construction-config-grid{grid-template-columns:minmax(0,1fr);gap:12px}.construction-personalizer .construction-visual-panel{position:static}.construction-personalizer .construction-main-photo-wrap{height:auto;aspect-ratio:1.42}.construction-personalizer .construction-fields-panel{padding:12px}.construction-personalizer .construction-model-summary{margin:10px 0}.construction-option-disclosure{margin:7px 0}.construction-option-disclosure>summary{min-height:56px;padding:8px 10px}.construction-disclosure-title strong{font-size:16px}.construction-disclosure-body{padding:0 10px 11px}.construction-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.construction-choice-grid{grid-template-columns:1fr}.construction-save-row{gap:8px}.construction-save-row>div{grid-template-columns:1fr}.construction-save-row #construction-add-to-cart{min-height:54px}.construction-save-row #construction-cancel-edit{width:100%}.construction-photo-note{margin-top:5px}}
@media(max-width:380px){.construction-personalizer{padding:11px}.construction-personalizer .construction-fields-panel{padding:10px}.construction-personalizer .construction-main-photo-wrap{aspect-ratio:1.35}.construction-option-disclosure>summary{gap:8px;min-height:52px;padding:7px 8px}.construction-disclosure-step{width:28px;height:28px;flex-basis:28px;font-size:12px}.construction-disclosure-title strong{font-size:15px}.construction-disclosure-title small{font-size:9px}.construction-disclosure-chevron{width:25px;height:25px;flex-basis:25px}.construction-field-grid{grid-template-columns:minmax(0,1fr)}.construction-options{grid-template-columns:minmax(0,1fr)}}

/* El panel de construcción también se puede plegar para ahorrar espacio móvil. */
.construction-personalizer>summary{display:flex;align-items:center;list-style:none;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.construction-personalizer>summary::-webkit-details-marker{display:none}
.construction-personalizer[open]>summary{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #29484b}
.construction-personalizer:not([open])>summary{margin-bottom:0;padding-bottom:0;border-bottom:0}
.construction-panel-chevron{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;margin-left:10px;border:1px solid #8a6b4c;border-radius:50%;background:#10292d;color:#e7c39c;transition:transform .22s ease,background .22s ease}
.construction-panel-chevron:before{content:"⌄";font-size:22px;line-height:1}
.construction-personalizer[open] .construction-panel-chevron{transform:rotate(180deg);background:#18383c}
.construction-personalizer:not([open])>.construction-config-grid{display:none}
@media(max-width:767px){.construction-personalizer{padding:14px}.construction-personalizer>summary{gap:9px}.construction-personalizer:not([open]) .construction-personalizer-heading p{display:none}.construction-personalizer:not([open])>.construction-personalizer-heading{min-height:54px}.construction-personalizer[open]>.construction-personalizer-heading{align-items:center;flex-direction:row;margin-bottom:14px;padding-bottom:12px}.construction-personalizer .construction-personalizer-heading h3{font-size:clamp(21px,5.8vw,27px);margin-bottom:4px}.construction-personalizer .construction-personalizer-heading p{font-size:11px}.construction-personalizer .construction-personalizer-heading .quote-shared-label{display:none}.construction-panel-chevron{width:32px;height:32px;flex-basis:32px;margin-left:auto}}
@media(max-width:380px){.construction-personalizer{padding:11px}.construction-personalizer[open]>.construction-personalizer-heading{align-items:flex-start}.construction-personalizer:not([open])>.construction-personalizer-heading{align-items:center}.construction-personalizer .construction-personalizer-heading h3{font-size:21px}.construction-panel-chevron{width:29px;height:29px;flex-basis:29px}}

/* En computador, las categorías de construcción adoptan tarjetas de catálogo como las piscinas. */
@media(min-width:768px){
  .construction-category-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:13px}
  .construction-category-accordion.is-open{grid-column:1/-1}
  .construction-category-accordion.has-selection{border-color:#25c8c1;box-shadow:0 0 0 1px #25c8c13b,0 12px 25px #0004}
  .construction-category-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;min-height:0;padding:0;border-radius:10px;overflow:hidden}
  .construction-category-card:hover,.construction-category-card.selected{transform:translateY(-2px);border-color:#27c9c2;background:#102b2f;box-shadow:0 12px 26px #0004}
  .construction-category-accordion.is-open .construction-category-card{transform:none;border-radius:0;background:#123035}
  .construction-category-visual{height:clamp(145px,14vw,190px);width:100%;align-items:flex-end;justify-content:space-between;padding:13px;background:radial-gradient(ellipse at 76% 24%,#28585a 0,transparent 39%),linear-gradient(145deg,#15393c,#0a2024 70%,#765a3e)}
  .construction-category-visual:before{width:170px;height:170px;right:-50px;top:18px;border-color:#ffffff20}
  .construction-category-visual:after{width:108px;height:108px;right:26px;top:56px;border-color:#e7bd8d55}
  .construction-category-visual b{font-size:32px}
  .construction-category-visual small{font-size:8px;letter-spacing:.13em}
  .construction-category-copy{gap:6px;min-height:86px;padding:13px 14px 15px}
  .construction-category-copy strong{font-size:clamp(15px,1.3vw,19px);line-height:1.25}
  .construction-category-copy small{font-size:10px;line-height:1.4}
  .construction-category-arrow{position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;border-color:#e1b886;background:#0a2024d9;color:#f1cda6;font-size:20px}
  .construction-category-accordion.is-open .construction-category-arrow{background:#173c40}
}

/* La galería mantiene su cuadrícula en escritorio y usa carrusel táctil en celular. */
.gallery-carousel-controls{display:none}
@media(max-width:767px){
  .projects-grid{display:flex;gap:12px;overflow-x:auto;padding:3px 2px 12px;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:manipulation}
  .projects-grid::-webkit-scrollbar{display:none}
  .projects-grid>.project-tile{flex:0 0 clamp(260px,84%,360px);width:auto;height:auto;min-width:0;aspect-ratio:1.14;scroll-snap-align:center;scroll-snap-stop:always}
  .gallery-carousel-controls{display:flex;align-items:center;justify-content:center;gap:13px;margin:8px auto 0}
  .gallery-carousel-controls button{display:grid;width:44px;height:44px;place-items:center;border:1px solid #a9845e;border-radius:50%;background:#10292d;color:#f0c99e;font-size:25px;line-height:1;box-shadow:0 5px 14px #0003}
  .gallery-carousel-controls button:active{background:#17464b;transform:scale(.97)}
  .gallery-carousel-controls span{min-width:78px;color:#f0cfaa;text-align:center;font-size:13px;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:.08em}
  .gallery-help{font-size:10px}
}
@media(max-width:380px){.projects-grid{gap:9px}.projects-grid>.project-tile{flex-basis:88%;aspect-ratio:1.04}.gallery-carousel-controls{gap:10px}}

/* Etiqueta legible para desplegar categorías de construcción. */
.construction-category-arrow{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-width:96px;height:34px;padding:0 10px;border:1px solid #d9b181;border-radius:999px;background:#0a2024e8;color:#f1cda6;font-size:10px;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 4px 12px #0004;transition:background .2s ease,border-color .2s ease}
.construction-category-arrow .construction-category-action-text{display:inline}
.construction-category-chevron{display:grid;place-items:center;font-size:17px;line-height:1;transition:transform .22s ease}
.construction-category-accordion.is-open .construction-category-chevron{transform:rotate(180deg)}
@media(min-width:768px){.construction-category-arrow{position:absolute;top:12px;right:12px;z-index:2}.construction-category-card:hover .construction-category-arrow{background:#173c40;border-color:#27c9c2}}
@media(max-width:767px){.construction-category-card{grid-template-columns:62px minmax(0,1fr) auto}.construction-category-arrow{position:static;min-width:88px;height:34px;padding-inline:8px;font-size:9px}.construction-category-chevron{font-size:15px}}
@media(max-width:380px){.construction-category-arrow{min-width:82px;gap:5px;padding-inline:6px;font-size:8px}}

.construction-category-accordion.is-open .construction-category-arrow{transform:none}


/* Los modelos abiertos conservan una medida compacta en escritorio aunque solo haya uno. */
@media(min-width:768px){
  .construction-category-accordion.is-open .construction-model-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),260px));justify-content:start;align-items:start}
  .construction-category-accordion.is-open .construction-model-photo,.construction-category-accordion.is-open .construction-model-placeholder{aspect-ratio:1}
}

.construction-model-photo{cursor:zoom-in}


.construction-model-photo,#construction-main-photo:not([src*="proyecto-pendiente.svg"]){cursor:zoom-in}


/* Cierre de cotización: pasos claros y llamada a la acción premium. */
.steps-section{position:relative;overflow:hidden;padding-block:clamp(54px,7vw,82px);border-top:1px solid #244347;background:radial-gradient(ellipse at 8% 100%,#123b3e80,transparent 38%),linear-gradient(180deg,#07191d,#0b2327)}
.steps-section .section-title-row{margin-bottom:24px}
.steps-section .eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#4bd0ca}
.steps-section .eyebrow:before{content:"";width:22px;height:2px;background:#d3a575;border-radius:2px}
.steps-section h2{max-width:720px;margin:0;color:#f3f0e8;font:500 clamp(30px,3.4vw,42px)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.steps-grid{gap:14px}
.steps-grid>div{position:relative;display:flex;min-height:190px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:20px 19px 21px;overflow:hidden;border:1px solid #294b4e;border-top:1px solid #3a7776;border-radius:11px;background:linear-gradient(145deg,#10292d,#0a1d21 88%);box-shadow:0 12px 28px #0003;transition:transform .2s,border-color .2s,box-shadow .2s}
.steps-grid>div:after{content:"";position:absolute;right:16px;bottom:0;left:16px;height:2px;background:linear-gradient(90deg,#22c4bf,#bc8e61);opacity:.7}
.steps-grid>div>span{display:grid;width:44px;height:44px;place-items:center;margin:0 0 14px;border:1px solid #e1b987;border-radius:50%;background:linear-gradient(145deg,#e7c294,#c89360);color:#14272a;font-size:13px;font-weight:850;box-shadow:0 5px 14px #0003}
.steps-grid h3{margin:0 0 7px;color:#f4eee4;font:500 19px/1.2 Georgia,"Times New Roman",serif}
.steps-grid p{max-width:32ch;margin:0;color:#b8c8c3;font-size:12px;line-height:1.6}
.steps-grid>div:hover{transform:translateY(-3px);border-color:#4acac4;box-shadow:0 17px 32px #0005}
.contact-section{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(38px,5.5vw,64px);border-top:1px solid #896d51;background:radial-gradient(ellipse at 82% 20%,#15545a88,transparent 42%),linear-gradient(115deg,#07191d,#0d3034 68%,#102b2e)}
.contact-section:after{content:"";position:absolute;z-index:-1;right:-95px;bottom:-180px;width:420px;height:420px;border:1px solid #d2a36e28;border-radius:50%;box-shadow:0 0 0 32px #d2a36e0a,0 0 0 68px #d2a36e08}
.contact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:center;gap:clamp(28px,6vw,80px)}
.contact-inner>div:first-child{max-width:690px}
.contact-section .eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#e5bd8e}
.contact-section .eyebrow:before{content:"";width:22px;height:2px;background:#38c8c3;border-radius:2px}
.contact-inner h2{margin:0 0 11px;color:#f4f0e7;font:500 clamp(28px,3.2vw,39px)/1.13 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.contact-inner p{max-width:62ch;margin:0;color:#c1cfca;font-size:14px;line-height:1.7}
.contact-actions{display:grid;min-width:0;gap:10px;padding:13px;border:1px solid #3b5b5c;border-radius:14px;background:#06191c99;box-shadow:0 16px 38px #0003;backdrop-filter:blur(8px)}
.contact-actions .btn{width:100%;min-height:52px;border-radius:8px;font-size:13px}
.contact-actions .btn-green{background:linear-gradient(135deg,#10a875,#078653);border-color:#2ac28e;box-shadow:0 7px 18px #00845a30}
.contact-actions .btn-green:hover{background:linear-gradient(135deg,#17bd87,#0a9961);box-shadow:0 10px 24px #00845a52}
.contact-actions .btn-outline-white{background:#10282c;border-color:#927251;color:#ecd1b1}
.contact-actions .btn-outline-white:hover{background:#17363a;border-color:#c9a477}
@media(max-width:900px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps-grid>div{min-height:170px}}
@media(max-width:610px){.steps-section{padding-block:42px}.steps-section .section-title-row{margin-bottom:18px}.steps-section h2{font-size:clamp(27px,7vw,34px)}.steps-grid{gap:10px}.steps-grid>div{min-height:174px;padding:16px 14px 18px}.steps-grid>div>span{width:38px;height:38px;margin-bottom:11px;font-size:12px}.steps-grid h3{font-size:17px}.steps-grid p{font-size:11px}.contact-section{padding-block:38px}.contact-inner{grid-template-columns:minmax(0,1fr);gap:20px}.contact-inner h2{font-size:clamp(27px,7vw,34px)}.contact-inner p{font-size:13px}.contact-actions{grid-template-columns:minmax(0,1fr);padding:10px}}
@media(max-width:360px){.steps-grid{grid-template-columns:minmax(0,1fr)}.steps-grid>div{min-height:0;padding:16px}.steps-grid p{max-width:42ch}}

/* Rediseño editorial de cierre · edición lujo arquitectónico */
.steps-section{padding-block:clamp(64px,8vw,104px);border-top:1px solid #31575a;background:radial-gradient(ellipse at 50% -25%,#1a4d5080,transparent 54%),linear-gradient(180deg,#081b1f 0%,#0b2327 100%)}
.steps-section .container{position:relative}
.steps-section .section-title-row{align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.steps-section .section-title-row:after{content:"UN PROCESO SIMPLE · UNA COTIZACIÓN A TU MEDIDA";padding:9px 13px;border:1px solid #725c45;border-radius:999px;background:#102529;color:#d8b48d;font-size:9px;font-weight:800;letter-spacing:.12em;white-space:nowrap}
.steps-section .eyebrow{margin-bottom:12px;font-size:10px;letter-spacing:.24em}
.steps-section h2{font-size:clamp(34px,4.2vw,51px);letter-spacing:-.04em}
.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.steps-grid>div{min-height:232px;padding:23px 21px 25px;border:1px solid #34565a;border-radius:15px;background:radial-gradient(ellipse at 95% 0%,#1a424680,transparent 52%),linear-gradient(148deg,#102b30,#0a1c20 78%);box-shadow:inset 0 1px #ffffff0a,0 16px 36px #0004;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.steps-grid>div:before{content:"";position:absolute;top:-43px;right:-38px;width:144px;height:144px;border:1px solid #d8ad7b26;border-radius:50%;box-shadow:0 0 0 18px #d8ad7b08,0 0 0 39px #d8ad7b05;pointer-events:none}
.steps-grid>div:after{right:21px;left:21px;height:2px;border-radius:2px;background:linear-gradient(90deg,#27c7c2,#d8a878 60%,transparent);opacity:.8}
.steps-grid>div>span{position:relative;z-index:1;width:54px;height:54px;margin:0 0 24px;border:1px solid #e0b986;border-radius:50%;background:linear-gradient(145deg,#18383b,#0a2024);color:#f0c99b;font:600 17px/1 Georgia,"Times New Roman",serif;box-shadow:0 0 0 5px #d8ad7b0b,0 8px 20px #0004}
.steps-grid>div>span:after{content:"ETAPA";position:absolute;right:-40px;top:50%;color:#5dd1cd;font:800 8px/1 Inter,system-ui,sans-serif;letter-spacing:.18em;transform:translateY(-50%)}
.steps-grid h3{margin:0 0 9px;color:#f5eee4;font:500 22px/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
.steps-grid p{max-width:32ch;color:#bdcbc6;font-size:12px;line-height:1.7}
.steps-grid>div:hover{transform:translateY(-5px);border-color:#5d9692;box-shadow:inset 0 1px #ffffff12,0 22px 42px #0006}
.contact-section{padding-block:clamp(52px,7vw,78px);border-top:1px solid #b58c62;background:radial-gradient(ellipse at 86% 30%,#1c646766,transparent 43%),linear-gradient(112deg,#07191d 0%,#0b282c 56%,#113438 100%)}
.contact-section:after{right:-80px;bottom:-245px;width:560px;height:560px;border-color:#d7aa7529;box-shadow:0 0 0 26px #d7aa7508,0 0 0 58px #d7aa7506,0 0 0 98px #d7aa7504}
.contact-inner{grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:clamp(36px,7vw,104px)}
.contact-section .eyebrow{font-size:10px;letter-spacing:.24em}
.contact-inner h2{max-width:17ch;margin-bottom:14px;font-size:clamp(33px,4vw,48px);letter-spacing:-.04em}
.contact-inner p{max-width:58ch;font-size:14px;line-height:1.8}
.contact-actions{position:relative;gap:11px;padding:27px 17px 16px;border:1px solid #496a69;border-radius:16px;background:linear-gradient(145deg,#102e32eF,#071a1eeF);box-shadow:0 20px 48px #0005,inset 0 1px #ffffff0b;backdrop-filter:blur(12px)}
.contact-actions:before{content:"ATENCIÓN DIRECTA";position:absolute;top:10px;left:19px;color:#72d6d0;font-size:8px;font-weight:850;letter-spacing:.2em}
.contact-actions .btn{min-height:56px;border-radius:9px;font-size:13px;letter-spacing:.01em}
.contact-actions .btn-green{background:linear-gradient(110deg,#0da77b,#058651);border:1px solid #42c69c;color:#f7fffb;box-shadow:0 8px 22px #00895a45}
.contact-actions .btn-green:hover{transform:translateY(-2px);background:linear-gradient(110deg,#16bb8b,#07985e);box-shadow:0 13px 28px #00895a61}
.contact-actions .btn-outline-white{min-height:49px;border-color:#887050;background:#0b2024;color:#e8c9a3}
.contact-actions .btn-outline-white:hover{border-color:#d5ac7c;background:#143237;color:#fff0dc}
@media(max-width:1000px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps-grid>div{min-height:215px}}
@media(max-width:760px){.contact-inner{grid-template-columns:minmax(0,1fr) minmax(250px,310px);gap:24px}}
@media(max-width:610px){.steps-section{padding-block:48px}.steps-section .section-title-row{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:22px}.steps-section .section-title-row:after{font-size:8px;padding:8px 11px}.steps-section h2{font-size:clamp(31px,8vw,39px)}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.steps-grid>div{min-height:210px;padding:18px 15px 21px;border-radius:13px}.steps-grid>div>span{width:46px;height:46px;margin-bottom:21px;font-size:15px}.steps-grid h3{font-size:19px}.steps-grid p{font-size:11px}.contact-section{padding-block:42px}.contact-inner{grid-template-columns:minmax(0,1fr);gap:22px}.contact-inner h2{max-width:20ch;font-size:clamp(31px,8vw,39px)}.contact-inner p{font-size:13px}.contact-actions{max-width:440px;padding:27px 13px 13px}.contact-actions .btn{min-height:53px}}
@media(max-width:360px){.steps-section .section-title-row:after{white-space:normal}.steps-grid{grid-template-columns:minmax(0,1fr)}.steps-grid>div{min-height:0;padding:17px 16px 20px}.steps-grid>div>span{margin-bottom:18px}.steps-grid p{max-width:44ch}}

.steps-grid>div.has-image-background{background-image:linear-gradient(180deg,#07191d99 0%,#07191dcc 78%,#07191df0 100%),var(--step-background);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;border-color:#416265}
.steps-grid>div.has-image-background:before{border-color:#f1c79648;box-shadow:0 0 0 18px #d8ad7b12,0 0 0 39px #d8ad7b08}

/* Ajustes móviles del pie y carrito flotante movible */
.phone-cart-fab{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.phone-cart-fab.is-dragging{cursor:grabbing;transform:scale(1.08);box-shadow:0 14px 34px #0009;transition:none}
.phone-cart-fab.owner-access-visible{visibility:hidden;opacity:0;pointer-events:none}
@media(max-width:600px){
 .site-footer{padding:30px 0 calc(18px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 8% 0%,#17424780,transparent 42%),linear-gradient(155deg,#071a1e,#041316 78%)}
 .footer-grid{grid-template-columns:minmax(0,1fr);gap:13px}
 .footer-company{padding:18px 17px;border:1px solid #29474a;border-radius:15px;background:linear-gradient(145deg,#102b2f,#091c20);box-shadow:inset 0 1px #ffffff0a}
 .brand-footer{display:inline-flex;margin-bottom:9px}.brand-footer .brand-logo{width:min(220px,72vw);max-height:54px}
 .footer-company-name{margin:0 0 7px;font-size:17px}.footer-grid p{margin:0;color:#b5c5c0;font-size:12px;line-height:1.6}
 .footer-links,.footer-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:14px;border:1px solid #244247;border-radius:14px;background:#0b2226}
 .footer-grid h3{grid-column:1/-1;margin:0 0 3px;padding:0 0 8px;border-bottom:1px solid #29474a;color:#e7c397;font-size:17px}
 .footer-grid a:not(.brand){display:flex;align-items:center;width:100%;min-width:0;min-height:42px;margin:0;padding:8px 10px;border:1px solid #25454a;border-radius:9px;background:#102a2e;color:#d2dfda;font-size:11px;line-height:1.3;overflow-wrap:anywhere}
 .footer-grid a:not(.brand):hover,.footer-grid a:not(.brand):focus-visible{border-color:#38bdb7;background:#143438;color:#fff}
 .footer-contact #footer-socials{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}
 .footer-bottom{display:grid;gap:12px;margin-top:15px;padding-top:14px;border-top:1px solid #2a484b;color:#a9bbb6;font-size:11px;line-height:1.5}
 .footer-credit{display:flex;align-items:flex-start;gap:9px;text-align:left;font-size:11px}.footer-credit img{width:25px;height:25px;flex:0 0 25px}
 .footer-owner{justify-content:center;margin-top:10px}.footer-owner a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:1px solid #9d7a56;border-radius:999px;background:#10272b;color:#e7c397;font-size:12px;font-weight:700;text-decoration:none;letter-spacing:.02em}
}
@media(max-width:360px){.footer-links,.footer-contact{gap:6px;padding:11px}.footer-grid a:not(.brand){padding:7px 8px;font-size:10.5px}.footer-company{padding:15px}}

/* Cierre de página móvil: editorial, ligero y sin tarjetas apiladas */
@media(max-width:600px){
 .site-footer{position:relative;isolation:isolate;overflow:hidden;padding:34px 0 calc(23px + env(safe-area-inset-bottom));border-top:1px solid #a77e58;background:radial-gradient(ellipse at 50% 0%,#123a3e 0%,transparent 48%),linear-gradient(180deg,#071a1e 0%,#041215 100%)}
 .site-footer:before{content:"";position:absolute;z-index:-1;top:0;left:12%;width:76%;height:1px;background:linear-gradient(90deg,transparent,#45c6c0 50%,transparent);opacity:.65}
 .footer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .footer-company,.footer-links,.footer-contact{padding:20px 0;border:0;border-bottom:1px solid #234044;border-radius:0;background:transparent;box-shadow:none}
 .footer-company{text-align:center;padding-top:4px;padding-bottom:21px}
 .brand-footer{display:flex;justify-content:center;margin:0 auto 13px}
 .brand-footer .brand-logo{width:min(220px,68vw);max-height:60px}
 .footer-company-name{margin:0 0 8px;color:#e8c79f;font-size:19px;line-height:1.25}
 .footer-grid p{max-width:38ch;margin:0 auto;color:#aebfba;font-size:12px;line-height:1.65}
 .footer-links,.footer-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}
 .footer-grid h3{grid-column:1/-1;margin:0 0 9px;padding:0 0 8px;border:0;border-bottom:1px solid #254246;color:#e9c69a;font:500 21px/1.2 Georgia,"Times New Roman",serif}
 .footer-grid a:not(.brand){position:relative;display:flex;align-items:center;width:100%;min-width:0;min-height:38px;margin:0;padding:6px 2px;color:#bdccc7;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
 .footer-links a:not(.brand):before{content:"";width:5px;height:5px;flex:0 0 5px;margin-right:9px;border-radius:50%;background:#bd9369;opacity:.8}
 .footer-grid a:not(.brand):hover,.footer-grid a:not(.brand):focus-visible{color:#f0d3b1}
 .footer-contact a[data-open-cart]{grid-column:1/-1;justify-content:center;min-height:46px;margin:2px 0 7px;padding:10px 14px;border:1px solid #2cc28f;border-radius:8px;background:linear-gradient(110deg,#0da77b,#078653);color:#fff;font-weight:800}
 .footer-contact a[data-open-cart]:before{content:none}
 .footer-contact #footer-socials{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;padding-top:7px}
 .footer-bottom{display:grid;justify-items:center;gap:12px;margin-top:17px;padding-top:4px;border:0;color:#899d98;font-size:11px;text-align:center}
 .footer-credit{display:flex;align-items:center;justify-content:center;gap:9px;color:#a9bab4;font-size:11px;line-height:1.5;text-align:left}
 .footer-credit img{width:25px;height:25px;flex:0 0 25px}
 .footer-owner{justify-content:center;margin-top:10px}
 .footer-owner a{display:inline-flex;min-height:38px;align-items:center;padding:6px 12px;border:0;border-radius:0;background:none;color:#d1a77b;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:360px){.footer-links,.footer-contact{column-gap:9px}.footer-grid a:not(.brand){font-size:11px}}

/* Corrección de alineación del footer móvil */
@media(max-width:600px){
 body .site-footer{padding:22px 0 calc(18px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 0%,#12383c 0%,transparent 45%),#061619}
 body .site-footer .footer-grid{gap:0}
 body .site-footer .footer-company,body .site-footer .footer-links,body .site-footer .footer-contact{padding:13px 0!important;border:0!important;border-bottom:1px solid #254247!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
 body .site-footer .footer-company{padding-top:0!important;padding-bottom:14px!important}
 body .site-footer .brand-footer{margin:0 auto 7px}
 body .site-footer .brand-footer .brand-logo{width:min(164px,48vw);max-height:43px}
 body .site-footer .footer-company-name{margin:0 0 5px;font-size:15px;line-height:1.2}
 body .site-footer .footer-grid p{max-width:36ch;font-size:11px;line-height:1.45}
 body .site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-top:14px!important;padding-bottom:13px!important}
 body .site-footer .footer-grid h3{margin:0 0 5px;padding:0 0 6px;font-size:18px;line-height:1.2}
 body .site-footer .footer-grid a:not(.brand){display:flex;align-items:center;min-width:0;min-height:32px;padding:4px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#c1cfca;font-size:11px;line-height:1.25;overflow-wrap:anywhere}
 body .site-footer .footer-links a:not(.brand):before{width:4px;height:4px;flex:0 0 4px;margin-right:7px}
 body .site-footer .footer-links a:last-of-type{grid-column:1/-1;justify-self:center;width:max-content;max-width:100%}
 body .site-footer .footer-contact{grid-template-columns:minmax(0,1fr);gap:0;padding-top:13px!important;padding-bottom:12px!important}
 body .site-footer .footer-contact a[data-open-cart]{min-height:42px;margin:4px 0 6px;padding:8px 12px!important;border:1px solid #2ab783!important;border-radius:7px!important;background:linear-gradient(110deg,#0da77b,#078653)!important;color:#fff!important;font-size:12px;font-weight:800}
 body .site-footer .footer-contact a:not([data-open-cart]){min-height:30px;white-space:normal;font-size:11px}
 body .site-footer .footer-contact #footer-socials{padding-top:5px;gap:6px}
 body .site-footer .footer-bottom{gap:7px;margin-top:12px;padding:0!important;font-size:10px;line-height:1.4}
 body .site-footer .footer-credit{gap:7px;font-size:10px;line-height:1.35}
 body .site-footer .footer-credit img{width:21px;height:21px;flex-basis:21px}
 body .site-footer .footer-owner{margin-top:5px}
 body .site-footer .footer-owner a{min-height:32px;padding:4px 10px!important;font-size:11px}
}
@media(max-width:360px){body .site-footer .footer-links{column-gap:10px}body .site-footer .footer-grid a:not(.brand){font-size:10.5px}}

/* Pie corporativo en tres áreas: identidad, navegación y contacto */
.site-footer{padding:48px 0 22px;border-top:1px solid #987451;background:radial-gradient(ellipse at 12% 0%,#143b3f 0%,transparent 42%),linear-gradient(135deg,#07191d,#041215 75%);color:#d9e3df}
.site-footer .footer-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.9fr);align-items:start;gap:0}
.site-footer .footer-company,.site-footer .footer-links,.site-footer .footer-contact{min-width:0;padding:4px clamp(18px,3vw,38px)}
.site-footer .footer-company{padding-left:0}
.site-footer .footer-links{border-left:1px solid #29474a;border-right:1px solid #29474a}
.site-footer .footer-contact{padding-right:0}
.site-footer .brand-footer{margin:0 0 15px}
.site-footer .brand-footer .brand-logo{width:min(220px,100%);max-height:58px}
.site-footer .footer-company-name{margin:0 0 9px;color:#e6c397;font:500 18px/1.25 Georgia,"Times New Roman",serif}
.site-footer .footer-grid p{max-width:36ch;color:#aebfba;font-size:12px;line-height:1.65}
.site-footer .footer-grid h3{margin:0 0 13px;padding:0 0 10px;border-bottom:1px solid #29474a;color:#e8c397;font:700 10px/1.3 Inter,system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.site-footer .footer-grid a:not(.brand){display:flex;align-items:center;width:100%;min-height:34px;margin:0;padding:5px 0;border:0;border-radius:0;background:transparent;color:#c1cfca;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.site-footer .footer-grid a:not(.brand):hover,.site-footer .footer-grid a:not(.brand):focus-visible{color:#f1d6b5}
.site-footer .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.site-footer .footer-links h3{grid-column:1/-1}
.site-footer .footer-links a:last-of-type{grid-column:1/-1;justify-self:start;width:auto}
.site-footer .footer-contact{display:flex;flex-direction:column;align-items:stretch;gap:5px}
.site-footer .footer-contact h3{width:100%}
.site-footer .footer-contact a[data-open-cart]{justify-content:center;min-height:42px;margin:0 0 4px;padding:9px 12px;border:1px solid #28b582;border-radius:7px;background:linear-gradient(110deg,#0da77b,#078653);color:#fff;font-weight:800}
.site-footer .footer-contact #footer-socials{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding-top:17px;border-top:1px solid #29474a;color:#899d98;font-size:11px}
.site-footer .footer-credit{display:flex;align-items:center;gap:8px;color:#a9bab4;font-size:11px;line-height:1.4}
.site-footer .footer-credit img{width:23px;height:23px;flex:0 0 23px}
.site-footer .cybersystem-link{color:#d9b083;font-weight:750}
.site-footer .footer-owner{display:flex;justify-content:flex-end;margin-top:4px}
.site-footer .footer-owner a{display:inline-flex;min-height:28px;align-items:center;padding:3px 0;color:#c7a27b;font-size:10px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){
 .site-footer{padding:30px 0 calc(20px + env(safe-area-inset-bottom))}
 .site-footer .footer-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .site-footer .footer-company,.site-footer .footer-links,.site-footer .footer-contact{padding:15px 0!important;border:0;border-bottom:1px solid #29474a;border-radius:0;background:transparent;box-shadow:none}
 .site-footer .footer-company{text-align:left;padding-top:0!important;padding-bottom:16px!important}
 .site-footer .brand-footer{justify-content:flex-start;margin:0 0 9px}
 .site-footer .brand-footer .brand-logo{width:min(190px,62vw);max-height:50px}
 .site-footer .footer-company-name{font-size:16px;margin-bottom:6px}
 .site-footer .footer-grid p{max-width:42ch;margin:0;font-size:11px;line-height:1.5}
 .site-footer .footer-grid h3{margin-bottom:7px;padding-bottom:7px;font-size:9px}
 .site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding-top:13px!important;padding-bottom:12px!important}
 .site-footer .footer-grid a:not(.brand){min-height:31px;padding:4px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:11px;line-height:1.28}
 .site-footer .footer-links a:last-of-type{grid-column:1/-1;justify-self:start;width:auto}
 .site-footer .footer-contact{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;padding-top:13px!important;padding-bottom:12px!important}
 .site-footer .footer-contact a[data-open-cart]{min-height:42px;margin:3px 0 5px;padding:8px 12px!important;border:1px solid #28b582!important;border-radius:7px!important;background:linear-gradient(110deg,#0da77b,#078653)!important;color:#fff!important;font-size:12px}
 .site-footer .footer-contact a:not([data-open-cart]){min-height:29px;font-size:11px;white-space:normal}
 .site-footer .footer-contact #footer-socials{grid-column:1/-1;gap:7px;padding-top:5px}
 .site-footer .footer-bottom{display:grid;justify-content:initial;justify-items:start;gap:8px;margin-top:13px;padding-top:12px;font-size:10px}
 .site-footer .footer-credit{justify-content:flex-start;font-size:10px}
 .site-footer .footer-credit img{width:21px;height:21px;flex-basis:21px}
 .site-footer .footer-owner{justify-content:center;margin-top:5px}
 .site-footer .footer-owner a{min-height:30px;font-size:11px}
}
@media(max-width:360px){.site-footer .footer-grid a:not(.brand){font-size:10.5px}.site-footer .footer-links{column-gap:9px}}

@media(max-width:800px){
 .site-footer .footer-links > a[href="#proyectos"]{grid-column:1 / 2!important;justify-self:start!important;align-self:start!important;width:max-content!important;max-width:100%;margin:0!important;text-align:left!important}
}

/* Marca Mario Mora: placa original, con borde exterior gris removido */
.brand-logo[src$="logo-mario-mora.svg"]{width:170px;height:88px;max-height:none;object-fit:contain}
.site-header{height:92px}
.nav-inner{min-height:92px}
.brand-footer .brand-logo[src$="logo-mario-mora.svg"]{width:min(200px,100%);height:auto;max-height:none}
@media(max-width:600px){
 :root{--mobile-header-height:80px}
 .site-header{height:80px}
 .nav-inner{min-height:80px}
 .main-nav{top:80px}
 .brand-logo[src$="logo-mario-mora.svg"]{width:clamp(132px,39vw,154px);height:auto;max-height:74px}
 .brand-footer .brand-logo[src$="logo-mario-mora.svg"]{width:min(180px,60vw);height:auto;max-height:none}
}

/* Contraste nativo de listas desplegables en los personalizadores oscuros */
.pool-fields-panel select,.construction-fields-panel select{color-scheme:dark}
.pool-fields-panel select option,.construction-fields-panel select option{background-color:#0b2024!important;color:#edf4ef!important}
.pool-fields-panel select option:checked,.construction-fields-panel select option:checked{background-color:#15565a!important;color:#fff!important}
#piscinas .pool-size-filter{display:none!important}


/* Portada: ajustar el alto al formato 2:1 de la foto, sin cambiarla. */
.hero { min-height: clamp(560px, 37vw, 720px); }
.hero-content { min-height: inherit; width: min(1480px, calc(100% - 96px)); }
.hero-photo { background-size: cover; background-position: center 55%; background-repeat: no-repeat; background-color: #07191d; }
.hero-shade { background: linear-gradient(90deg, rgba(3,18,22,.80) 0%, rgba(4,25,30,.66) 30%, rgba(4,25,30,.32) 58%, rgba(4,25,30,.06) 100%); }
.hero-copy { position: relative; z-index: 1; }
.hero-stamp { top: clamp(48px, 4vw, 72px); right: 10px; z-index: 2; }
@media (max-width: 930px) { .hero-stamp { display: block; top: 18px; right: 16px; transform: scale(.8) rotate(-5deg); transform-origin: top right; } }
@media (max-width: 610px) {
  .hero, .hero-content { min-height: 450px; }
  .hero-content { width: calc(100% - 32px); }
  .hero-photo { background-position: 80% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(3,18,22,.90) 0%, rgba(4,25,30,.70) 52%, rgba(4,25,30,.24) 100%), linear-gradient(0deg, rgba(3,18,22,.94) 0%, rgba(3,18,22,.48) 48%, transparent 100%); }
  .hero-stamp { top: 12px; right: 9px; transform: scale(.68) rotate(-5deg); }
}
@media (max-width: 375px) { .hero, .hero-content { min-height: 475px; } }
@media (max-width: 610px) {
  .hero, .hero-content { min-height: 520px; }
  .hero-content { align-items: flex-end; padding-top: 76px; }
  .hero-copy { width: 100%; max-width: 100%; min-width: 0; }
  .hero h1 { width: 100%; max-width: 13ch; font-size: clamp(28px, 8vw, 32px); line-height: 1.04; overflow-wrap: anywhere; }
  .hero-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 10px; }
  .hero-features span { min-width: 0; font-size: 10px; }
  .hero-stamp { top: 10px; right: 10px; transform: scale(.5) rotate(-5deg); }
}
@media (max-width: 375px) { .hero, .hero-content { min-height: 540px; } }

/* Catálogo de piscinas: escala amplia para lectura y fotografía en escritorio. */
@media (min-width: 931px) {
  .catalog-section>.container { width: min(1740px, calc(100% - 72px)); }
  .catalog-section { padding-top: clamp(36px, 3.2vw, 62px); padding-bottom: clamp(40px, 4vw, 70px); }
  .pool-catalog-intro { margin-bottom: 24px; }
  .pool-catalog-intro .eyebrow { font-size: 13px; }
  .pool-catalog-intro h2 { font-size: clamp(36px, 2.8vw, 46px); margin: 7px 0 9px; }
  .pool-catalog-intro p { font-size: 16px; max-width: 70ch; }
  .pool-catalog-tools { gap: 20px; margin-bottom: 28px; }
  .pool-category-filters { gap: 11px; }
  .pool-filter-pill { min-height: 48px; padding: 11px 20px; font-size: 14px; }
  .catalog-layout { grid-template-columns: minmax(0, 1fr) 330px; gap: 24px; }
  .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .product-card { border-radius: 14px; }
  .product-media { aspect-ratio: 1.38; }
  .product-info { padding: 18px 19px 20px; gap: 8px; }
  .product-card-title { font-size: clamp(20px, 1.6vw, 25px); }
  .product-card-description { font-size: 14px; line-height: 1.5; }
  .product-tag { top: 14px; left: 14px; font-size: 12px; padding: 7px 11px; }
  .product-photo-zoom { width: 44px; height: 44px; }
  .quote-card { padding: 21px; border-radius: 16px; }
  .quote-head { gap: 12px; margin-bottom: 15px; }
  .quote-head-icon .icon { width: 32px; height: 32px; }
  .quote-head h3 { font-size: 21px; }
  .quote-head p { font-size: 12px; }
  .quote-empty { padding: 26px 12px; font-size: 14px; }
  .quote-form { gap: 10px; margin-bottom: 17px; }
  .quote-form label { font-size: 13px; }
  .quote-form input, .quote-form textarea { padding: 12px 13px; font-size: 14px; }
  .quote-card .btn-green, .clear-cart { min-height: 48px; font-size: 14px; }
  .quote-disclaimer { font-size: 12px; line-height: 1.5; }
}
@media (min-width: 931px) and (max-width: 1199px) {
  .catalog-section>.container { width: calc(100% - 48px); }
  .catalog-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; }
  .products-grid { gap: 16px; }
  .product-info { padding: 15px; }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  .catalog-section>.container { width: min(1500px, calc(100% - 72px)); }
  .catalog-layout { grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; }
}
@media (min-width: 1600px) {
  .catalog-section>.container { width: min(1740px, calc(100% - 112px)); }
  .catalog-layout { grid-template-columns: minmax(0, 1fr) 370px; gap: 28px; }
  .products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .pool-catalog-intro h2 { font-size: 48px; }
  .product-card-title { font-size: 25px; }
  .product-card-description { font-size: 15px; }
}
/* Franja de beneficios: lectura clara y proporción acorde a las tarjetas de servicios. */
@media (min-width: 931px) {
  .trust-strip-container { width: min(1540px, calc(100% - 96px)); margin: 26px auto 42px; }
  .trust-row { min-height: 124px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: stretch; padding: 12px; border: 1px solid #294b4d; border-radius: 18px; background: linear-gradient(120deg, #102d31, #0b2024 72%); box-shadow: 0 18px 42px #0003; }
  .trust-row>div { min-width: 0; gap: 16px; padding: 18px 20px; border: 1px solid #2a4b4d; border-radius: 13px; background: linear-gradient(145deg, #143438, #10282c); transition: border-color .2s ease, transform .2s ease, background .2s ease; }
  .trust-row>div:hover { transform: translateY(-2px); border-color: #ad8c68; background: linear-gradient(145deg, #193d40, #10282c); }
  .trust-icon { width: 58px; height: 58px; border: 1px solid #286063; background: #123e42; color: #55d5cf; }
  .trust-icon .icon { width: 27px; height: 27px; }
  .trust-row strong { color: #f0eee6; font-size: 16px; line-height: 1.25; }
  .trust-row small { margin-top: 6px; color: #b2c4be; font-size: 13px; line-height: 1.4; }
}
@media (min-width: 931px) and (max-width: 1199px) {
  .trust-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-row>div { min-height: 92px; }
}
/* Acción para ampliar fotos: franja propia bajo el texto, nunca encima de la ficha. */
.product-card-shell { display: flex; flex-direction: column; }
.product-card-shell .product-card { flex: 1 1 auto; height: auto; border-radius: 14px 14px 0 0; }
.product-photo-zoom { position: static; display: flex; flex: 0 0 44px; align-items: center; justify-content: flex-end; gap: 9px; width: 100%; height: 44px; padding: 0 15px; border: 1px solid #29484b; border-top: 0; border-radius: 0 0 14px 14px; background: linear-gradient(145deg, #10272b, #0b2024); color: #e2c49d; box-shadow: none; }
.product-photo-zoom svg { width: 18px; height: 18px; }
.product-photo-zoom span { font-size: 12px; font-weight: 750; letter-spacing: .01em; }
.product-photo-zoom:hover { border-color: #ad8c68; background: linear-gradient(145deg, #17373a, #10272b); color: #f0d4ad; transform: none; }
.product-photo-zoom:focus-visible { position: relative; z-index: 6; outline: 3px solid #39d0cb; outline-offset: 2px; }
.product-photo-action-placeholder { flex: 0 0 44px; height: 44px; border: 1px solid #29484b; border-top: 0; border-radius: 0 0 14px 14px; background: linear-gradient(145deg, #10272b, #0b2024); }

/* Tarjetas de galería con acceso independiente a foto y cotización. */
.project-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #29484b;border-radius:12px;background:linear-gradient(145deg,#10272b,#0b2024);box-shadow:0 14px 32px #0003;transition:transform .2s,border-color .2s,box-shadow .2s}
.project-card:hover{transform:translateY(-3px);border-color:#c89a69;box-shadow:0 18px 38px #0005}
.project-card .project-tile{display:block;width:100%;height:auto;min-width:0;aspect-ratio:1.18;border:0;border-radius:0;background:#0a282e}
.project-card .project-tile:hover img{transform:scale(1.035)}
.project-card .project-tile:focus-visible,.project-quote-button:focus-visible{outline:3px solid #39d0cb;outline-offset:-3px;z-index:2}
.project-quote-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;margin-top:auto;padding:9px 12px;border:0;border-top:1px solid #29484b;border-radius:0;background:#123336;color:#e2c49d;font-size:12px;font-weight:750;line-height:1.25;transition:background .2s,color .2s}
.project-quote-button:hover,.project-quote-button.is-added{background:#126468;color:#fff}
.project-quote-button:disabled{opacity:1;cursor:default}
@media(max-width:760px){.projects-grid>.project-card{flex:0 0 clamp(260px,84%,360px);width:auto;scroll-snap-align:center;scroll-snap-stop:always;touch-action:manipulation}.projects-grid .project-tile,.projects-grid .project-quote-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.project-card .project-tile{aspect-ratio:1.28}}
@media(max-width:380px){.projects-grid>.project-card{flex-basis:88%}.project-card .project-tile{aspect-ratio:1.2}}

/* La descripción de cada proyecto queda fuera de la fotografía. */
.project-card .project-tile{position:relative;display:block;width:100%;aspect-ratio:1.38;overflow:hidden;padding:0;border:0;border-radius:0;background:#0a282e}
.project-card .project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.project-card-copy{display:grid;gap:5px;padding:13px 14px 15px;color:#e7eeee}
.project-card-copy h3{margin:0;font-family:Georgia,serif;font-size:clamp(16px,1.4vw,19px);font-weight:600;line-height:1.25}
.project-card-copy p{margin:0;color:#b8c9ca;font-size:12px;line-height:1.5}
@media(max-width:760px){.project-card .project-tile{aspect-ratio:1.32}.project-card-copy{gap:4px;padding:11px 12px 13px}.project-card-copy h3{font-size:17px}.project-card-copy p{font-size:12px}}
/* Título de proyecto sobre la imagen; descripción separada debajo. */
.project-card-heading{padding:12px 14px 9px;color:#f1e8dc;background:#10272b}
.project-card-heading h3{margin:0;font-family:Georgia,serif;font-size:clamp(16px,1.4vw,19px);font-weight:600;line-height:1.25}
.project-card-copy{padding:9px 14px 13px}
.project-card-copy:empty{display:none}
.project-card-copy p{margin:0}
@media(max-width:760px){.project-card-heading{padding:11px 12px 8px}.project-card-heading h3{font-size:17px}.project-card-copy{padding:8px 12px 11px}}
/* Igualar las tarjetas aunque los títulos y descripciones tengan longitudes distintas. */
.project-card{height:100%}
.project-card-heading{display:flex;align-items:center;min-height:56px;height:56px;overflow:hidden}
.project-card-heading h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:17px;line-height:1.25}
.project-card .project-tile{flex:0 0 auto;aspect-ratio:1.38}
.project-card-copy{display:flex;align-items:flex-start;min-height:58px;height:58px;overflow:hidden}
.project-card-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.45}
.project-card-copy:empty{display:block}
@media(max-width:760px){.project-card-heading{min-height:54px;height:54px}.project-card-heading h3{font-size:16px}.project-card .project-tile{aspect-ratio:1.32}.project-card-copy{min-height:54px;height:54px}}
/* Acabado premium para las tarjetas de proyectos. */
.project-card{border:1px solid rgba(204,157,106,.34);border-radius:15px;background:linear-gradient(155deg,#112c30 0%,#0a2024 100%);box-shadow:0 9px 24px rgba(0,0,0,.2);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.project-card:hover{transform:translateY(-4px);border-color:rgba(220,177,130,.78);box-shadow:0 18px 34px rgba(0,0,0,.32),0 0 0 1px rgba(220,177,130,.12)}
.project-card-heading{position:relative;min-height:60px;height:60px;padding:10px 14px 10px 19px;background:linear-gradient(105deg,rgba(207,160,111,.09),rgba(16,39,43,.15));border-bottom:1px solid rgba(204,157,106,.18)}
.project-card-heading:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:3px;border-radius:0 3px 3px 0;background:#c99c6d}
.project-card-heading h3{color:#f3e9dc;font-size:17px;letter-spacing:.005em}
.project-card .project-tile{aspect-ratio:1.4;background:#09191c}
.project-card .project-tile img{transition:transform .45s cubic-bezier(.2,.65,.3,1),filter .35s}
.project-card:hover .project-tile img{transform:scale(1.035);filter:saturate(1.06)}
.project-card-copy{min-height:64px;height:64px;padding:11px 14px;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent)}
.project-card-copy p{color:#b9c8c7;font-size:12px;line-height:1.5}
.project-quote-button{min-height:44px;border-top:1px solid rgba(204,157,106,.2);background:rgba(201,156,109,.075);color:#e7c69f;letter-spacing:.01em}
.project-quote-button:hover,.project-quote-button.is-added{background:linear-gradient(110deg,#bb8b5b,#d3aa7b);color:#142326}
.project-quote-button:focus-visible{outline-offset:-4px}
@media(max-width:760px){.project-card{border-radius:14px}.project-card-heading{min-height:56px;height:56px;padding-left:17px}.project-card-heading:before{top:14px;bottom:14px}.project-card-heading h3{font-size:16px}.project-card .project-tile{aspect-ratio:1.32}.project-card-copy{min-height:60px;height:60px;padding:10px 12px}.project-card-copy p{font-size:12px}.project-quote-button{min-height:46px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-card .project-tile img,.project-quote-button{transition:none}}
/* El contenedor reservado para videos no debe dejar un rectángulo vacío en el zoom. */
.gallery-dialog .gallery-video:empty{display:none}
/* Catálogo paginado con tarjetas de modelos más amplias. */
#products-grid.products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#products-grid .product-media{height:auto;aspect-ratio:1.38}
#products-grid .product-card{border-radius:16px}
#products-grid .product-info{padding:20px 22px 22px;gap:9px}
#products-grid .product-card-title{font-size:clamp(21px,1.65vw,28px);line-height:1.2}
#products-grid .product-card-description{font-size:15px;line-height:1.55}
.pool-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:24px 0 8px}
.pool-pagination[hidden]{display:none}
.pool-pagination button{min-height:46px;padding:10px 17px;border:1px solid rgba(203,159,110,.55);border-radius:999px;background:linear-gradient(145deg,#122e32,#0b2024);color:#e7c69f;font-weight:750;transition:background .18s,transform .18s}
.pool-pagination button:hover:not(:disabled){background:#21464a;transform:translateY(-1px)}
.pool-pagination button:disabled{opacity:.45;cursor:not-allowed}
.pool-pagination span{min-width:170px;color:#b9c9c7;text-align:center;font-size:13px;font-weight:700}
@media(max-width:600px){#products-grid.products-grid{grid-template-columns:1fr;gap:16px}#products-grid .product-media{aspect-ratio:1.5}#products-grid .product-info{padding:16px 17px 18px}#products-grid .product-card-title{font-size:22px}#products-grid .product-card-description{font-size:14px}.pool-pagination{gap:8px}.pool-pagination button{min-height:44px;padding:9px 13px}.pool-pagination span{min-width:118px;font-size:12px}}
/* Galería de proyectos: menos columnas y fotos más grandes en computador. */
#projects-grid.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#projects-grid .project-card .project-tile{aspect-ratio:1.35}
#projects-grid .project-card-heading{min-height:64px;height:64px;padding:11px 15px 10px 20px}
#projects-grid .project-card-heading h3{font-size:clamp(17px,1.25vw,21px)}
#projects-grid .project-card-copy{min-height:68px;height:68px;padding:11px 15px 13px}
#projects-grid .project-card-copy p{font-size:13px;line-height:1.5}
.gallery-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:22px 0 8px}
.gallery-pagination[hidden]{display:none}
.gallery-pagination button{min-height:44px;padding:9px 16px;border:1px solid rgba(203,159,110,.55);border-radius:999px;background:linear-gradient(145deg,#122e32,#0b2024);color:#e7c69f;font-weight:750;transition:background .18s,transform .18s}
.gallery-pagination button:hover:not(:disabled){background:#21464a;transform:translateY(-1px)}
.gallery-pagination button:disabled{opacity:.45;cursor:not-allowed}
.gallery-pagination span{min-width:165px;color:#b9c9c7;text-align:center;font-size:13px;font-weight:700}
@media(min-width:768px) and (max-width:1100px){#projects-grid.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:767px){.gallery-pagination{gap:8px;margin-top:14px}.gallery-pagination button{min-height:42px;padding:8px 12px}.gallery-pagination span{min-width:118px;font-size:12px}}
/* Ajustar la galería para mostrar 12 proyectos por página. */
#projects-grid.projects-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#projects-grid .project-card .project-tile{aspect-ratio:1.45}
#projects-grid .project-card-heading{min-height:58px;height:58px;padding:10px 13px 9px 18px}
#projects-grid .project-card-heading h3{font-size:clamp(16px,1.05vw,19px)}
#projects-grid .project-card-copy{min-height:60px;height:60px;padding:9px 13px 11px}
#projects-grid .project-card-copy p{font-size:12px;line-height:1.45}
@media(min-width:768px) and (max-width:1100px){#projects-grid.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:767px){#gallery-pagination{display:none!important}}


.gallery-category-select-wrap{display:none}
@media(max-width:767px){.gallery-filters{display:none!important}.gallery-category-select-wrap{display:grid;gap:6px;width:100%;color:#b8c9c5;font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.gallery-category-select-wrap select{width:100%;min-height:46px;padding:10px 42px 10px 14px;appearance:none;border:1px solid #a9845e;border-radius:10px;background-color:#10292d;background-image:linear-gradient(45deg,transparent 50%,#e6c49c 50%),linear-gradient(135deg,#e6c49c 50%,transparent 50%);background-position:calc(100% - 20px) 20px,calc(100% - 14px) 20px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;color:#f0f2eb;font-size:15px;font-weight:700}.gallery-category-select-wrap select:focus-visible{outline:3px solid #19c4c0;outline-offset:2px}}

/* Mobile project carousel: preserve vertical page scrolling and avoid double-tap page zoom. */
@media(max-width:760px){#projects-grid.projects-grid{touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scroll-snap-type:x proximity}#projects-grid.projects-grid>.project-card,#projects-grid.projects-grid .project-tile,#projects-grid.projects-grid .project-quote-button{touch-action:pan-x pan-y pinch-zoom;scroll-snap-stop:normal}}

/* Acceso directo del propietario para editar cada proyecto desde su tarjeta. */
.project-card-heading{justify-content:space-between;gap:10px}.project-card-heading h3{flex:1;min-width:0}.project-owner-edit{flex:0 0 auto;min-height:32px;padding:6px 10px;border:1px solid rgba(216,178,138,.72);border-radius:7px;background:#102c32;color:#f6d7b5;font:700 11px/1.1 system-ui,sans-serif;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.project-owner-edit:hover{background:#1a4147;border-color:#e4bd91;transform:translateY(-1px)}.project-owner-edit:focus-visible{outline:3px solid #39d0cb;outline-offset:2px}@media(max-width:760px){.project-card-heading{gap:6px}.project-owner-edit{min-height:30px;padding:5px 8px;font-size:10px}}


/* Portada: tipografía editorial, elegante y adaptable. */
.hero h1{font-family:"Palatino Linotype","Book Antiqua",Georgia,"Times New Roman",serif;font-weight:600;font-size:clamp(30px,4.6vw,70px);line-height:1.02;letter-spacing:-.035em;text-wrap:balance;font-feature-settings:"kern","liga"}

/* Catálogo de modelos: fotos algo más compactas en computador. */
@media(min-width:1200px){#products-grid .product-media{aspect-ratio:1.58}}

/* Personalizador desplegable en escritorio y móvil; complementos y acción de carrito permanecen visibles. */
#pool-customizer-disclosure>.pool-customizer-heading{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
#pool-customizer-disclosure>.pool-customizer-heading>div{min-width:0;flex:1}
#pool-customizer .pool-customizer-chevron{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;margin-left:8px;border:1px solid #bc946d;border-radius:50%;background:#102c30;color:#f0cea5;transition:background .2s ease}
#pool-customizer .pool-customizer-chevron::before{content:'+';font:500 25px/1 Arial,sans-serif}
#pool-customizer-disclosure[open] .pool-customizer-chevron::before{content:'−'}
#pool-customizer-disclosure:not([open])>.pool-customizer-heading{margin-bottom:0;padding-bottom:0;border-bottom:0}
#pool-customizer-disclosure[open]>.pool-customizer-heading{margin-bottom:16px}
#pool-customizer-disclosure:not([open]) .pool-customizer-content{display:none}
#pool-customizer-disclosure:not([open])~.pool-save-row{display:grid}
@media(max-width:680px){#pool-customizer .pool-customizer-chevron{width:34px;height:34px;flex-basis:34px}}
/* Escala equilibrada para escritorio: catálogo y personalizador ya no ocupan todo el ancho de monitores grandes. */
@media (min-width: 931px) {
  #pool-customizer { width: min(1520px, calc(100% - 72px)); margin-left: auto; margin-right: auto; }
  #pool-customizer .pool-config-grid { grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: clamp(14px, 1.4vw, 22px); }
  #pool-customizer .pool-main-photo-wrap { aspect-ratio: 1.5; }
  #pool-customizer .pool-customizer-heading h2 { font-size: clamp(25px, 2vw, 32px); }
}
@media (min-width: 931px) and (max-width: 1599px) {
  .catalog-section > .container { width: min(1380px, calc(100% - 72px)); }
  .catalog-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; }
  #products-grid.products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  #products-grid .product-media { aspect-ratio: 1.58; }
  #products-grid .product-info { padding: 15px 16px 17px; gap: 7px; }
  #products-grid .product-card-title { font-size: clamp(18px, 1.35vw, 23px); }
  #products-grid .product-card-description { font-size: 13px; line-height: 1.45; }
  .pool-catalog-intro h2 { font-size: clamp(30px, 2.4vw, 38px); }
}
@media (min-width: 1600px) {
  .catalog-section > .container { width: min(1520px, calc(100% - 96px)); }
  .catalog-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; }
  #products-grid.products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
  #products-grid .product-media { aspect-ratio: 1.62; }
  #products-grid .product-info { padding: 14px 15px 16px; gap: 6px; }
  #products-grid .product-card-title { font-size: clamp(18px, 1.1vw, 22px); }
  #products-grid .product-card-description { font-size: 12px; line-height: 1.45; }
  .pool-catalog-intro h2 { font-size: 38px; }
}

/* Foto de idea para compartir en WhatsApp; nunca se guarda en el sitio. */
.construction-reference-image-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:center;margin-top:12px;padding:12px;border:1px solid #345257;border-radius:9px;background:#0d2529}
.construction-reference-image-field>strong{color:#f1d0a6;font-size:13px}
.construction-reference-image-field>p{grid-column:1/-1;margin:0;color:#b6c9c3;font-size:11px;line-height:1.45}
.construction-idea-attach{min-height:42px;justify-self:start}
.construction-idea-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.construction-reference-image-field:focus-within .construction-idea-attach{outline:2px solid #27c9c2}
.construction-idea-card{border-style:dashed;border-color:#bd9367;background:linear-gradient(145deg,#132c30,#0b2024)}
.construction-idea-card .construction-model-placeholder{background:radial-gradient(circle at 50% 35%,#254b4d,#10282c 68%)}
.construction-idea-card .construction-model-placeholder>span{color:#f1cda6;border-color:#bd9367;font-size:26px}
.construction-idea-card .construction-model-copy strong{color:#f1d0a6}
.construction-idea-preview{grid-column:1/-1;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;color:#d8e4de;font-size:11px}
.construction-idea-preview[hidden]{display:none}
.construction-idea-preview img{display:block;width:72px;height:72px;object-fit:cover;border:1px solid #527174;border-radius:8px;background:#07191d}
.construction-idea-preview .btn{min-height:36px;padding:7px 10px;font-size:11px}
.construction-idea-status{grid-column:1/-1;margin:0;color:#9db9b2;font-size:10px;line-height:1.45}
.quote-image-whatsapp-fallback{display:block;margin:7px auto;color:#f0cc9d;text-align:center;font-size:12px;font-weight:750;text-decoration:underline}
.quote-image-whatsapp-fallback[hidden]{display:none}
@media(max-width:600px){.construction-reference-image-field{grid-template-columns:1fr;gap:8px;padding:10px}.construction-idea-attach{width:100%;justify-content:center}.construction-idea-preview{grid-template-columns:58px minmax(0,1fr);gap:8px}.construction-idea-preview img{width:58px;height:58px}.construction-idea-preview .btn{grid-column:1/-1;width:100%}}

#construction-personalizer[hidden]{display:none!important}
.construction-idea-inline{display:grid;gap:9px;padding:11px;border-top:1px solid #345257;background:#0d2226}
.construction-idea-inline .field-label{display:grid;gap:6px;margin:0}
.construction-idea-inline textarea{min-height:78px;resize:vertical}
.construction-idea-inline-upload{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
.construction-idea-inline-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.construction-idea-inline-upload span{font-size:11px;color:#b6c9c3;overflow-wrap:anywhere}
.construction-idea-inline-preview{grid-column:1/-1;width:100%;max-height:180px;object-fit:contain;border-radius:8px;background:#081a1d}
.construction-idea-inline [data-construction-idea-add]{width:100%;justify-content:center}
@media(max-width:600px){.construction-idea-inline-upload{grid-template-columns:1fr}.construction-idea-inline-upload .btn{width:100%;justify-content:center}}

/* Tarjeta de idea propia: formulario amplio y legible dentro de cada categoría. */
.construction-idea-card.is-selected{grid-column:1/-1;transform:none!important}
.construction-idea-card.is-selected>.construction-model-select{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:0;align-items:stretch}
.construction-idea-card.is-selected .construction-idea-placeholder{height:104px;min-height:104px;aspect-ratio:auto}
.construction-idea-card.is-selected .construction-model-copy{align-self:center;min-height:0;background:transparent}
.construction-idea-inline{grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr) minmax(190px,.55fr);align-items:end;gap:14px;padding:16px}
.construction-idea-inline .field-label{font-size:12px;line-height:1.4}
.construction-idea-inline textarea{width:100%;min-height:94px;padding:12px;border:1px solid #45666a;border-radius:8px;background:#081a1d;color:#f3f0e9;font:inherit;font-size:13px;line-height:1.5}
.construction-idea-inline textarea::placeholder{color:#91aaa5}
.construction-idea-inline-upload{grid-template-columns:minmax(0,1fr);gap:7px;min-width:0}
.construction-idea-inline-upload .btn{min-height:44px;background:#15383c;border-color:#bd9367;color:#f1d0a6}
.construction-idea-inline-upload span{font-size:11px;line-height:1.45}
.construction-idea-inline-preview{max-height:120px}
.construction-idea-inline [data-construction-idea-add]{min-height:48px;align-self:end;padding:10px 14px;line-height:1.3}
@media(max-width:767px){.construction-idea-card.is-selected{grid-column:1/-1}.construction-idea-card.is-selected>.construction-model-select{grid-template-columns:76px minmax(0,1fr)}.construction-idea-card.is-selected .construction-idea-placeholder{height:76px;min-height:76px}.construction-idea-inline{grid-template-columns:minmax(0,1fr);gap:11px;padding:12px}.construction-idea-inline textarea{min-height:88px}.construction-idea-inline-upload{grid-template-columns:minmax(0,1fr)}.construction-idea-inline [data-construction-idea-add]{width:100%}}

/* Cierre explícito del formulario de idea propia. */
.construction-idea-inline-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.construction-idea-inline-head strong{color:#f1d0a6;font-family:var(--font-display,Georgia,serif);font-size:18px}
.construction-idea-inline-head .btn{flex:0 0 auto;min-height:38px;padding:8px 12px;font-size:12px}
@media(max-width:767px){.construction-idea-inline-head{align-items:flex-start;flex-wrap:wrap}.construction-idea-inline-head .btn{width:auto}}
/* Tarjeta «Tu idea»: un llamado visual propio, claro y sin fotografía inventada. */
.construction-idea-card:not(.is-selected){border:1px solid #a9825d;background:linear-gradient(160deg,#16383b 0%,#0b2024 78%);box-shadow:inset 0 1px #f0cda433}
.construction-idea-card:not(.is-selected):hover{border-color:#e1b27e;box-shadow:0 12px 26px #0005,0 0 0 2px #d6a87929}
.construction-idea-card:not(.is-selected) .construction-idea-placeholder{position:relative;isolation:isolate;min-height:210px;aspect-ratio:1;overflow:hidden;gap:12px;background:radial-gradient(ellipse at 50% 68%,#1d5555 0%,#123236 43%,#0d2529 76%)}
.construction-idea-card:not(.is-selected) .construction-idea-placeholder::before{content:"";position:absolute;z-index:-1;width:178px;height:178px;top:23px;left:50%;transform:translateX(-50%);border:1px solid #d6a8794d;border-radius:50%;box-shadow:0 0 0 18px #d6a8790c,0 0 50px #21b9b22b}
.construction-idea-card:not(.is-selected) .construction-idea-placeholder::after{content:"";position:absolute;z-index:-1;inset:auto -20% -55px;height:115px;border:1px solid #36c5bd3b;border-radius:50%;background:linear-gradient(180deg,#0fa9a622,#0fa9a600)}
.construction-idea-card:not(.is-selected) .construction-idea-placeholder>span{width:62px;height:62px;border:1px solid #e5b782;border-radius:18px;background:#d7a878;color:#102529;font:500 34px/1 Georgia,serif;box-shadow:0 8px 22px #0004}
.construction-idea-card:not(.is-selected) .construction-idea-placeholder small{color:#d9c2a6;font-size:10px;font-weight:800;letter-spacing:.12em}
.construction-idea-card:not(.is-selected) .construction-model-copy{gap:7px;min-height:116px;padding:14px 15px 15px}
.construction-idea-card:not(.is-selected) .construction-model-copy strong{font-size:18px}
.construction-idea-card:not(.is-selected) .construction-model-copy small{font-size:12px;line-height:1.5;-webkit-line-clamp:3}
.construction-idea-card-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:3px;padding:9px 11px;border:1px solid #bd9367;border-radius:7px;color:#f1d0a6;font-size:12px;font-weight:800;line-height:1.2}
.construction-idea-card-cta span{font-size:17px;transition:transform .2s ease}
.construction-idea-card:not(.is-selected):hover .construction-idea-card-cta span{transform:translateX(3px)}
@media(max-width:767px){.construction-idea-card:not(.is-selected) .construction-idea-placeholder{min-height:170px}.construction-idea-card:not(.is-selected) .construction-idea-placeholder::before{width:140px;height:140px;top:17px}.construction-idea-card:not(.is-selected) .construction-model-copy{min-height:112px}}
/* Cabecera de categoría abierta: foto lateral para evitar la franja excesivamente recortada. */
@media(min-width:768px){
  .construction-category-accordion.is-open .construction-category-card{grid-template-columns:minmax(280px,36%) minmax(0,1fr);min-height:220px;align-items:stretch}
  .construction-category-accordion.is-open .construction-category-visual{height:auto;min-height:220px;align-items:flex-end;justify-content:flex-start;padding:16px}
  .construction-category-accordion.is-open .construction-category-photo{object-fit:cover;object-position:center 52%;opacity:.92}
  .construction-category-accordion.is-open .construction-category-copy{align-content:center;min-height:220px;padding:24px 58px 24px 30px;background:linear-gradient(100deg,#123035,#0e272b 72%,#10292d)}
  .construction-category-accordion.is-open .construction-category-copy strong{font-size:clamp(20px,2vw,28px);line-height:1.15}
  .construction-category-accordion.is-open .construction-category-copy small{font-size:12px}
}
/* Diálogo centrado para cotizar una idea sin expandir la tarjeta de categoría. */
.construction-idea-dialog{width:min(680px,calc(100% - 28px));max-width:none;max-height:min(88dvh,820px);padding:0;border:1px solid #527174;border-radius:18px;background:#0c2327;color:#f3f0e9;box-shadow:0 28px 90px #0009;overflow:auto}
.construction-idea-dialog::backdrop{background:#031316c9;backdrop-filter:blur(7px)}
.construction-idea-modal{display:grid;gap:16px;padding:clamp(20px,4vw,34px)}
.construction-idea-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #315257}
.construction-idea-modal-head .eyebrow{color:#39c5c1;font-size:10px;font-weight:800;letter-spacing:.16em}
.construction-idea-modal-head h2{margin:8px 0;color:#f2d2ac;font:clamp(25px,4vw,34px)/1.1 Georgia,serif}
.construction-idea-modal-head p,.construction-idea-modal-upload p{margin:6px 0 0;color:#b8cbc7;font-size:13px;line-height:1.5}
.construction-idea-modal-head p strong{color:#f3f0e9}
.construction-idea-modal-close{flex:0 0 42px;width:42px;height:42px;border:1px solid #557174;border-radius:50%;background:#123238;color:#f2d2ac;font-size:28px;line-height:1;cursor:pointer}
.construction-idea-modal .field-label{display:grid;gap:8px;font-size:13px;font-weight:700}
.construction-idea-modal textarea{width:100%;min-height:140px;padding:13px;border:1px solid #45666a;border-radius:9px;background:#081a1d;color:#f3f0e9;font:inherit;font-size:14px;line-height:1.5;resize:vertical}
.construction-idea-modal textarea::placeholder{color:#91aaa5}
.construction-idea-modal-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid #315257;border-radius:11px;background:#102b30}
.construction-idea-modal-upload>div:first-child strong{color:#f1d0a6;font-size:14px}
.construction-idea-modal-upload>label{min-height:42px;white-space:nowrap}
.construction-idea-modal-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.construction-idea-modal-image{grid-column:1/-1;display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;align-items:center;color:#9fb5b0;font-size:12px;overflow-wrap:anywhere}
.construction-idea-modal-image img{width:100px;height:74px;object-fit:cover;border-radius:8px;background:#081a1d}
.construction-idea-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}
.construction-idea-modal-actions .btn{min-height:46px}
@media(max-width:560px){.construction-idea-dialog{width:calc(100% - 18px);max-height:90dvh;border-radius:14px}.construction-idea-modal{gap:13px;padding:18px}.construction-idea-modal-upload{grid-template-columns:1fr}.construction-idea-modal-upload>label{width:100%;justify-content:center}.construction-idea-modal-image{grid-template-columns:76px minmax(0,1fr)}.construction-idea-modal-image img{width:76px;height:64px}.construction-idea-modal-image [hidden]{display:none}.construction-idea-modal-image .btn{grid-column:1/-1}.construction-idea-modal-actions{display:grid;grid-template-columns:1fr}.construction-idea-modal-actions .btn{width:100%;justify-content:center}}

/* Respeta hidden en los controles de la vista previa de la idea. */
#construction-idea-dialog [hidden]{display:none!important}

/* Foto de presentación cuadrada en computador y celular. */
.about-image{aspect-ratio:1/1}
.about-image img{width:100%;height:100%;object-fit:cover}

/* Presentación editorial más cuidada para el bloque Nosotros. */
.about-copy{position:relative;padding:clamp(24px,3.5vw,44px);border:1px solid #315256;border-radius:16px;background:linear-gradient(145deg,#10292d 0%,#0b2024 72%,#10282b 100%);box-shadow:inset 0 1px #ffffff0a,0 18px 42px #0002}
.about-copy:before{content:"";position:absolute;left:clamp(24px,3.5vw,44px);top:0;width:72px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#40c9c5,#d6a877)}
.about-copy>.eyebrow{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin:0 0 18px;padding:7px 10px;border:1px solid #34595a;border-radius:999px;background:#102f33;color:#56d0cd;font-size:10px;letter-spacing:.16em}
.about-copy h2{max-width:560px;margin:0 0 20px;font-size:clamp(34px,3.2vw,46px);line-height:1.08;letter-spacing:-.04em}
.about-copy h2 span{display:block;margin-top:3px;color:#dfb17d}
.about-copy p{max-width:54ch;margin:0 0 13px;color:#c0ceca;font-size:14px;line-height:1.75}
.about-copy p+p{padding-top:12px;border-top:1px solid #29474a;color:#9fb4af}
.about-copy .btn{min-height:49px;margin-top:9px;padding:13px 18px;border:1px solid #277a7d;border-radius:9px;background:linear-gradient(115deg,#166a70,#11565e);box-shadow:0 8px 22px #001b2044;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.about-copy .btn:hover{transform:translateY(-2px);border-color:#d3a574;box-shadow:0 12px 28px #0004}
@media(max-width:610px){.about-copy{padding:24px 20px;border-radius:13px}.about-copy:before{left:20px}.about-copy>.eyebrow{margin-bottom:15px;font-size:9px}.about-copy h2{font-size:clamp(29px,8vw,36px);margin-bottom:16px}.about-copy p{font-size:13px;line-height:1.65}.about-copy .btn{width:100%;justify-content:center}}

/* Pasos de cotización: mostrar con claridad las imágenes de fondo y conservar contraste para el texto. */
.steps-grid>div.has-image-background{background-image:linear-gradient(180deg,rgba(4,17,20,.08) 0%,rgba(4,17,20,.16) 48%,rgba(4,17,20,.78) 100%),var(--step-background);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat}
/* Etapas de cotización: franja de imagen arriba y textos en un bloque separado. */
.steps-grid>div.has-image-background{min-height:330px;padding:168px 21px 25px;background-color:#0a1c20;background-image:none;border-color:#416265}
.steps-grid>div.has-image-background:before{top:0;right:0;left:0;width:auto;height:148px;border:0;border-bottom:1px solid #34565a;border-radius:14px 14px 0 0;box-shadow:none;background-image:linear-gradient(180deg,transparent 68%,rgba(5,20,23,.12)),var(--step-background);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat}
.steps-grid>div.has-image-background>span{margin-bottom:12px}
@media(max-width:610px){.steps-grid>div.has-image-background{min-height:310px;padding:150px 15px 21px}.steps-grid>div.has-image-background:before{height:132px;border-radius:12px 12px 0 0}}
@media(max-width:360px){.steps-grid>div.has-image-background{min-height:0;padding-top:150px}}
/* Tarjetas de etapas compactas: foto cuadrada y encabezado separado del texto descriptivo. */
.steps-grid{max-width:1040px;margin-inline:auto;gap:12px}
.steps-grid>div.has-image-background{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-content:start;column-gap:10px;row-gap:8px;min-height:0;padding:calc(100% + 16px) 15px 18px}
.steps-grid>div.has-image-background:before{top:0;right:0;left:0;width:auto;height:auto;aspect-ratio:1/1;border-bottom:1px solid #34565a;border-radius:14px 14px 0 0;background-size:cover,cover;background-position:center,center}
.steps-grid>div.has-image-background>span{grid-column:1;grid-row:1;width:40px;height:40px;margin:0;font-size:14px}
.steps-grid>div.has-image-background>span:after{display:none}
.steps-grid>div.has-image-background>h3{grid-column:2;grid-row:1;align-self:center;margin:0;font-size:20px;line-height:1.15}
.steps-grid>div.has-image-background>p{grid-column:1/-1;grid-row:2;max-width:none;margin:0;font-size:11px;line-height:1.55}
@media(max-width:610px){.steps-grid{max-width:100%;gap:10px}.steps-grid>div.has-image-background{grid-template-columns:36px minmax(0,1fr);column-gap:8px;row-gap:7px;padding:calc(100% + 13px) 12px 15px}.steps-grid>div.has-image-background:before{border-radius:12px 12px 0 0}.steps-grid>div.has-image-background>span{width:35px;height:35px;font-size:12px}.steps-grid>div.has-image-background>h3{font-size:17px}.steps-grid>div.has-image-background>p{font-size:10px;line-height:1.45}}
@media(max-width:360px){.steps-grid>div.has-image-background{padding-top:calc(100% + 13px)}}
/* Contacto final: una acción clara por WhatsApp y una línea breve de especialidades. */
.contact-actions .contact-note{margin:0;padding-top:10px;border-top:1px solid #29484b;color:#b7c7c2;text-align:center;font-size:10px;font-weight:650;letter-spacing:.04em}