@font-face{font-family:"VinaJoy Noto Sans";src:url("fonts/noto-sans-regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"VinaJoy Noto Sans";src:url("fonts/noto-sans-bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"VinaJoy Noto Sans";src:url("fonts/noto-sans-italic.woff") format("woff");font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"VinaJoy Noto Sans";src:url("fonts/noto-sans-bolditalic.woff") format("woff");font-weight:700;font-style:italic;font-display:swap;}
:root{--blue:#0758b8;--deep:#073b83;--navy:#102d50;--orange:#ff8a17;--muted:#62768e;--line:#dbe6f0;--bg:#f0f7fc;--white:#fff;font-family:"VinaJoy Noto Sans",sans-serif;color:var(--navy);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}a{color:inherit}[hidden]{display:none!important}.skip{position:absolute;left:20px;top:-60px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}
.topbar{height:90px;padding:0 4%;background:#fff;border-top:5px solid var(--orange);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:31px;font-weight:700;letter-spacing:-1px;color:var(--blue);font-style:italic}.brand>span>span{color:var(--orange)}.brand small{display:block;letter-spacing:.55px;font-size:9px;color:var(--deep);margin-top:5px;font-style:normal;font-weight:700}.brand-mark{height:43px;width:43px;display:flex;align-items:center;justify-content:center;border-radius:13px 13px 13px 3px;background:linear-gradient(145deg,#1ca5eb,#0750ab);color:white;font-size:33px;font-weight:700;box-shadow:inset 0 -5px 0 #033f841c}.topbar-right{display:flex;gap:18px;align-items:center}.internal-tag{display:flex;align-items:center;gap:8px;color:#526d8e;font-size:12px}.internal-tag svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.7}.help-button{border:1px solid var(--line);color:var(--blue);background:#f5f9fd;width:36px;height:36px;border-radius:50%;font-weight:700;font-size:16px}
.shell{display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1680px;margin:auto;padding:0 4%;gap:32px}.sidebar{padding:32px 7px 30px 0;align-self:start;position:sticky;top:90px;max-height:calc(100dvh - 90px);overflow:auto;scrollbar-width:thin;scrollbar-color:#c7d9ec transparent}.section-label{font-size:11px;letter-spacing:1.5px;font-weight:700;color:#7085a1}.sidebar>.section-label{padding:0 13px}.sidebar nav{display:flex;flex-direction:column;gap:7px;margin-top:18px}.category-button{border:0;display:flex;text-align:left;align-items:center;gap:10px;background:transparent;color:#466080;font-size:16px;min-height:54px;padding:12px;border-radius:12px;width:100%;line-height:1.4}.category-button .category-name{flex:1}.category-button .count{font-size:12px;font-variant-numeric:tabular-nums;color:#6f85a1;background:#e6eff7;padding:3px 7px;border-radius:7px}.category-button.active{background:linear-gradient(115deg,#0754b1,#0876ce);color:white;font-weight:700;box-shadow:0 6px 15px #0758b81a}.category-button.active .count{color:white;background:#ffffff25}.category-button:not(.active):hover{background:#e3eef8}.category-symbol{width:21px;text-align:center;font-size:20px;flex-shrink:0}.sidebar-note{margin-top:30px;padding:18px;border:1px solid #d7e5f3;border-radius:13px;font-size:12px;line-height:1.7;background:#fff}.sidebar-note strong{display:block;color:var(--deep);margin-top:10px}.sidebar-note p{color:var(--muted);margin:7px 0 0}.note-dot{display:block;width:29px;height:4px;border-radius:4px;background:var(--orange)}main{min-width:0;padding-top:32px}
.intro{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 36px 38px;border-radius:22px;background:radial-gradient(ellipse at 85% 100%,#42b8ed77,transparent 58%),linear-gradient(115deg,#06397f,#0666bd 73%,#168bd7);color:white;isolation:isolate;box-shadow:0 10px 30px #0758b815;border-bottom:5px solid var(--orange)}.intro:before,.intro:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #ffffff12;border-radius:50%;right:-65px;top:-130px;z-index:-1}.intro:after{width:330px;height:330px;right:-100px;top:-165px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#c4e6ff;margin-bottom:17px;display:flex;gap:8px;align-items:center}.eyebrow span{width:6px;height:6px;border-radius:50%;background:var(--orange)}h1{font-size:40px;line-height:1.18;letter-spacing:-1.4px;margin:0;font-weight:700}h1 span{color:#ffd18e}.intro p{color:#d2eaff;font-size:14px;line-height:1.6;margin:17px 0 0}.collection-stat{border-left:1px solid #ffffff35;padding:7px 0 7px 26px;display:flex;flex-direction:column;min-width:135px;gap:7px;flex-shrink:0}.collection-stat strong{font-size:48px;line-height:1;letter-spacing:-2px;color:white}.collection-stat>span{font-size:12px;color:#d6edff}.collection-stat small{font-size:10px;color:#abd8f7;margin-top:9px}
.search-section{margin:25px 0 30px}.search-wrap{display:flex;align-items:center;border:1px solid #c8daec;border-radius:13px;background:white;padding:0 19px;box-shadow:0 5px 18px #12365b06;height:62px}.search-wrap>svg{width:22px;height:22px;fill:none;stroke:var(--blue);stroke-width:1.8;flex-shrink:0}.search-wrap input{width:100%;height:100%;border:0;background:transparent;padding:0 13px;font-size:16px;color:var(--navy);outline:none}.search-wrap:focus-within{outline:3px solid #afd8fa;border-color:#5599dc}.search-wrap input:focus-visible{outline:none}.search-wrap input::placeholder{color:#8a9bb0}.search-wrap kbd{font-size:11px;color:#8297b0;padding:5px 7px;border:1px solid var(--line);border-radius:4px;white-space:nowrap}.status-note{display:flex;align-items:flex-start;gap:8px;margin-top:12px;color:#67798d;font-size:12px}.status-note p{margin:0;line-height:1.65}.status-icon{width:15px;height:15px;border:1px solid #9eb0c2;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;margin-top:2px}.status-note strong{font-weight:700;color:#94632c}.mobile-category{display:none}
.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 21px}h2{font-size:24px;margin:0;font-weight:700;letter-spacing:-.45px}.results-toolbar h2{position:relative;padding-left:14px}.results-toolbar h2:before{content:"";position:absolute;left:0;top:4px;bottom:3px;width:4px;border-radius:4px;background:var(--orange)}.results-toolbar p{font-size:12px;color:var(--muted);margin:9px 0 0;line-height:1.6}.sort-label{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}.sort-label select{color:#3d5c7f;font-size:12px;border:1px solid #ccdded;border-radius:9px;background:white;padding:11px 26px 11px 10px;max-width:170px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product-card{border:1px solid #d6e3ef;border-radius:16px;background:white;overflow:hidden;text-align:left;display:flex;flex-direction:column;padding:0;transition:transform .18s,border-color .18s,box-shadow .18s;color:var(--navy);box-shadow:0 4px 14px #17376804;min-width:0}.product-card:hover{transform:translateY(-3px);border-color:#87b3e2;box-shadow:0 8px 22px #17376813}.card-image{height:205px;background:#eff5fb;position:relative;display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}.card-image img{max-width:195px;max-height:185px;width:100%;height:100%;object-fit:contain;display:block;background:white;padding:10px;border-radius:8px}.card-image img.highres{max-width:none;max-height:none;padding:0;object-fit:cover;border-radius:0}.card-image svg.product-photo{width:100%;height:100%;max-height:100%;display:block;background:white}.image-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;width:100%;height:100%;background:linear-gradient(140deg,#eff7fc,#e5eff8);color:#90a6bd}.image-placeholder svg{width:40px;height:40px;stroke:currentColor;fill:none;stroke-width:1.1}.image-placeholder span{font-size:10px;text-align:center;padding:0 12px;line-height:1.6}.card-code{position:absolute;left:11px;top:11px;background:#ffffffed;border:1px solid #e2eaf2;color:#45698d;padding:5px 7px;border-radius:5px;font-size:10px;letter-spacing:.2px}.card-body{padding:19px;display:flex;flex-direction:column;flex:1;min-width:0}.card-category{font-size:10px;font-weight:700;color:var(--blue);letter-spacing:.1px;margin-bottom:10px;line-height:1.5}.card-title{font-size:17px;line-height:1.45;font-weight:700;margin:0 0 12px;min-height:49px;overflow-wrap:anywhere}.card-spec{font-size:12px;color:#6c8199;display:flex;align-items:flex-start;gap:6px;margin:0 0 19px;line-height:1.6}.card-spec svg{width:15px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;margin-top:2px}.card-bottom{border-top:1px solid #e8eff5;padding-top:15px;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:11px;margin-top:auto;min-height:61px}.price-missing{font-size:13px;color:#9a6328;font-weight:700}.price-value{font-weight:700;font-size:17px;color:var(--blue);line-height:1.4;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.card-arrow{font-size:11px;color:var(--deep);font-weight:700;white-space:nowrap}.image-badge{position:absolute;left:10px;bottom:10px;font-size:10px;color:#72470d;padding:5px 7px;background:#fff2daed;border-radius:5px}
/* Pool dimensions and approved prices stay visible without opening a card. */
.pool-list-heading{display:grid;grid-template-columns:minmax(0,1fr) 180px 78px;gap:24px;align-items:center;padding:15px 22px;background:linear-gradient(100deg,#07428b,#0867be);color:white;border-radius:12px 12px 0 0;font-size:10px;font-weight:700;letter-spacing:.8px}.product-list{display:flex;flex-direction:column;border:1px solid #ccdeef;border-top:0;border-radius:0 0 12px 12px;overflow:hidden;background:white}.pool-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 78px;gap:24px;align-items:center;padding:22px;border:0;border-bottom:1px solid #e2ecf5;background:white;text-align:left;color:var(--navy);width:100%}.pool-row:last-child{border-bottom:0}.pool-row:nth-child(even){background:#f8fbfe}.pool-row:hover{background:#eaf5ff}.pool-row:focus-visible{outline-offset:-4px}.pool-row-main{display:flex;gap:17px;align-items:center;min-width:0}.pool-row h3{font-size:18px;line-height:1.5;letter-spacing:-.3px;margin:0 0 7px;font-weight:700}.pool-meta{font-size:12px;color:#6d819a;line-height:1.6}.pool-symbol{height:44px;width:54px;border:2px solid #93c7ef;box-shadow:inset 0 0 0 4px #e3f3ff;background:#c9e8fd;border-radius:9px;flex-shrink:0;display:grid;place-items:center;font-size:27px;color:#1488cc;line-height:1}.pool-symbol.round{border-radius:50%;width:46px;height:46px;margin:0 4px}.pool-price{display:flex;flex-direction:column;gap:5px}.pool-price .price-value{font-size:21px}.pool-price small{font-size:10px;color:#8396ac}.pool-action{font-size:11px;color:var(--blue);white-space:nowrap}.pool-action b{font-size:19px;margin-left:6px;font-weight:400}
.collection-gallery{border:1px solid #ccdff1;background:#fff;border-radius:16px;padding:22px;margin:0 0 29px}.gallery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.gallery-header h2{font-size:20px}.gallery-header p{font-size:12px;line-height:1.7;color:var(--muted);margin:9px 0 0}.gallery-header>span{font-size:11px;color:var(--blue);white-space:nowrap;background:#eaf5ff;padding:7px 10px;border-radius:20px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gallery-card{padding:0;border:1px solid #dce7f2;border-radius:11px;overflow:hidden;background:#f9fcff;text-align:left;color:var(--navy)}.gallery-card img{width:100%;height:220px;object-fit:contain;display:block;background:white}.gallery-card>span{display:block;padding:14px 16px;font-size:14px;font-weight:700;line-height:1.5;border-top:1px solid #e1edf6}.gallery-card b{display:block;color:var(--blue);font-size:11px;margin-top:6px;font-weight:700}.gallery-single{grid-template-columns:1fr}.gallery-single .gallery-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr);align-items:center}.gallery-single .gallery-card img{height:290px}.gallery-single .gallery-card>span{border:0;padding:24px;font-size:19px}.gallery-single .gallery-card b{font-size:12px;margin-top:12px}
.pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin:30px 0 42px;font-size:13px;color:var(--muted)}.pagination button{font-size:13px;border:1px solid #cadaea;border-radius:9px;background:white;color:var(--deep);padding:12px 18px}footer{border-top:1px solid #d4e4f2;padding:22px 0 28px;margin-top:32px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#7a8fa7;line-height:1.7}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-icon{font-size:45px;color:#9cb5cf}.empty-state h3{color:var(--navy)}.empty-state p{font-size:14px}.primary-button{border:0;background:var(--blue);color:white;border-radius:9px;padding:13px 17px;font-size:13px}.empty-state button{margin-top:16px}#active-query{font-size:12px;color:var(--blue);margin:-5px 0 18px;overflow-wrap:anywhere}.filter-clear{border:0;background:none;color:inherit;padding-left:8px;text-decoration:underline;font-size:12px}
/* Product detail */
dialog{border:1px solid #d2e1f0;border-radius:18px;box-shadow:0 20px 80px #0c1b4433;padding:0;color:var(--navy);max-width:920px;width:calc(100% - 40px);max-height:calc(100dvh - 50px);overflow:auto}dialog::backdrop{background:#092b526b;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:17px 25px;position:sticky;top:0;background:linear-gradient(105deg,#063e84,#0868bd);z-index:2;border-bottom:3px solid var(--orange)}.dialog-top .section-label{color:white}.close-button{height:36px;width:36px;border:1px solid #ffffff50;border-radius:50%;background:#ffffff16;color:white;font-size:14px}.detail-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;padding:28px}.detail-visual{border-radius:12px;overflow:hidden;background:#f0f6fb;min-height:300px;display:flex;align-items:center;justify-content:center;position:relative}.detail-visual .image-placeholder{min-height:300px}.detail-visual .image-placeholder svg{width:55px;height:55px}.detail-visual .image-placeholder span{font-size:11px}.detail-visual img{width:100%;max-width:240px;max-height:480px;object-fit:contain;background:white}.detail-visual img.highres{max-width:100%;max-height:520px;object-fit:contain}.detail-visual svg.product-photo{width:100%;max-height:480px;display:block;background:white}.detail-visual:has(.highres){background:white}.detail-code{color:var(--blue);font-size:12px;letter-spacing:.5px;margin-bottom:11px;font-weight:700}.detail-name{font-size:27px;line-height:1.35;letter-spacing:-.5px;margin:0 0 12px}.detail-category{font-size:12px;color:#7e95ad;margin-bottom:21px}.detail-price{padding:19px;background:#fff7ec;border:1px solid #f3dfc6;border-radius:12px;margin-bottom:21px}.detail-price>span{display:block;font-size:10px;color:#9a7245;margin-bottom:8px;letter-spacing:.5px}.detail-price strong{font-size:24px;color:#976323;line-height:1.4}.detail-price p{font-size:12px;line-height:1.7;color:#8e785e;margin:9px 0 0}.detail-price.approved{background:linear-gradient(120deg,#edf8ff,#e6f0ff);border-color:#c6dff5;border-left:4px solid var(--orange)}.detail-price.approved strong{color:var(--deep)}.detail-price.approved>span{color:#487399}.detail-price.approved p{color:#6080a0}.specs{margin:0}.specs>div{display:grid;grid-template-columns:91px 1fr;gap:13px;padding:12px 0;border-bottom:1px solid #e6eef5;font-size:13px;line-height:1.6}.specs dt{color:#7c91a9}.specs dd{margin:0;color:#3b5876;overflow-wrap:anywhere}.detail-notes{font-size:12px;line-height:1.7;color:#8d7859;border-left:3px solid #f7b56b;padding-left:12px;margin-top:18px}.detail-copy{margin-top:20px;width:100%;border:0;border-radius:10px;background:var(--blue);padding:14px;color:white;font-size:13px;font-weight:700}.detail-caption{font-size:11px;color:#8095ad;margin-top:11px;line-height:1.7}.help-content{padding:27px;line-height:1.8;font-size:14px;color:#5c7691}.help-content h2{color:var(--navy);margin-bottom:21px}.help-content ol{padding-left:21px}.help-content li{padding-left:6px;margin-bottom:9px}.help-content h3{font-size:16px;color:var(--navy);margin:24px 0 8px}.info-box{background:#eef6fc;border-radius:10px;padding:16px;font-size:13px}#gallery-dialog{max-width:1000px}#gallery-content{padding:23px}#gallery-content>img{width:100%;max-height:70vh;object-fit:contain;display:block;background:#f7fbff;border-radius:10px}#gallery-content h3{font-size:18px;margin:18px 0 7px}#gallery-content p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:20;background:var(--deep);color:white;font-size:13px;padding:14px 22px;border-radius:10px;box-shadow:0 5px 25px #192a5240}
@media(min-width:1550px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1200px){.shell{grid-template-columns:215px minmax(0,1fr);gap:25px;padding:0 3%}.category-button{font-size:15px}.intro{padding:30px 28px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:36px}.pool-list-heading,.pool-row{grid-template-columns:minmax(0,1fr) 155px 55px;gap:14px;padding-left:18px;padding-right:18px}.pool-symbol{display:none}.pool-row h3{font-size:17px}.pool-price .price-value{font-size:19px}.pool-action{font-size:10px}.pool-action b{margin-left:2px}}
@media(max-width:900px){.shell{display:block;padding:0 4%}.sidebar{display:none}.topbar{padding:0 4%;height:80px}main{padding-top:25px}.mobile-category{display:flex;align-items:center;gap:12px;margin-top:13px}.mobile-category label{font-size:12px;color:var(--muted);white-space:nowrap}.mobile-category select{background:white;border:1px solid #ccdfef;color:var(--deep);padding:12px;border-radius:10px;font-size:16px;min-width:0;flex:1;min-height:48px}.pool-symbol{display:grid}.pool-row h3{font-size:18px}.pool-list-heading,.pool-row{grid-template-columns:minmax(0,1fr) 165px 65px;gap:18px}.pool-price .price-value{font-size:20px}}
@media(max-width:600px){.topbar{height:77px;padding:0 5%}.brand{font-size:27px;gap:9px}.brand-mark{height:36px;width:36px;border-radius:10px 10px 10px 3px;font-size:28px}.brand small{font-size:6.5px;letter-spacing:.4px}.topbar-right{gap:10px}.internal-tag{font-size:9px;gap:4px}.internal-tag svg{width:13px}.help-button{width:30px;height:30px;font-size:14px}.shell{padding:0 4%}main{padding-top:18px}.intro{align-items:flex-start;gap:12px;padding:24px 21px 27px;border-radius:17px;border-bottom-width:4px}h1{font-size:29px;letter-spacing:-.9px;line-height:1.18}.eyebrow{font-size:8px;letter-spacing:.8px;margin-bottom:14px;gap:5px}.intro p{font-size:12px;max-width:235px;margin-top:13px}.collection-stat{min-width:65px;padding-left:12px;margin-top:35px;gap:5px}.collection-stat strong{font-size:31px;letter-spacing:-1px}.collection-stat>span{font-size:9px;line-height:1.5;max-width:57px}.collection-stat small{font-size:8px;line-height:1.6;max-width:63px;margin-top:5px}.search-section{margin:19px 0 25px}.search-wrap{height:56px;padding:0 13px}.search-wrap input{font-size:16px;padding:0 10px}.search-wrap kbd{display:none}.mobile-category{gap:8px}.mobile-category label{font-size:11px}.mobile-category select{font-size:15px;padding:10px}.status-note{font-size:11px;gap:7px}.status-icon{width:13px;height:13px;font-size:9px;margin-top:2px}.results-toolbar{align-items:flex-start;gap:10px;margin-bottom:17px}.results-toolbar h2{font-size:21px;line-height:1.35;max-width:230px;padding-left:11px}.results-toolbar p{font-size:11px;margin-top:7px}.sort-label{font-size:0}.sort-label select{font-size:11px;max-width:120px;padding:9px 18px 9px 8px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-image{height:160px}.card-image img{max-width:145px;max-height:145px;padding:7px}.card-code{font-size:8px;top:8px;left:8px;padding:4px 5px}.card-body{padding:13px}.card-category{font-size:9px;margin-bottom:8px}.card-title{font-size:14px;min-height:41px;margin-bottom:10px;line-height:1.5}.card-spec{font-size:11px;gap:4px;margin-bottom:14px;overflow-wrap:anywhere}.card-spec svg{width:13px}.card-bottom{padding-top:12px;gap:10px;min-height:63px}.price-missing{font-size:11px}.price-value{font-size:14px}.card-arrow{font-size:10px}.image-placeholder svg{width:32px;height:32px}.image-placeholder span{font-size:9px}.image-badge{font-size:9px;bottom:7px;left:7px}.collection-gallery{padding:16px;border-radius:13px;margin-bottom:25px}.gallery-header{margin-bottom:14px}.gallery-header h2{font-size:18px}.gallery-header p{font-size:11px;margin-top:7px}.gallery-header>span{font-size:10px;padding:6px 8px}.gallery-grid{gap:10px}.gallery-card img{height:155px}.gallery-card>span{padding:11px;font-size:12px}.gallery-card b{font-size:10px}.gallery-single .gallery-card{display:block}.gallery-single .gallery-card img{height:280px}.gallery-single .gallery-card>span{font-size:14px;padding:13px;border-top:1px solid #e1edf6}.gallery-single .gallery-card b{font-size:11px;margin-top:6px}.pool-list-heading{display:none}.product-list{border:0;border-radius:0;overflow:visible;background:transparent;gap:12px}.pool-row,.pool-row:nth-child(even){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 10px;padding:18px;background:white;border:1px solid #d3e3f0;border-left:4px solid #2e91d4;border-radius:13px}.pool-row:last-child{border-bottom:1px solid #d3e3f0}.pool-row-main{grid-column:1/-1;gap:13px;align-items:flex-start}.pool-symbol{display:none}.pool-row h3{font-size:18px;line-height:1.5;margin-bottom:7px;letter-spacing:-.3px}.pool-meta{font-size:11px}.pool-price{gap:4px;padding-top:2px}.pool-price .price-value{font-size:22px}.pool-price .price-missing{font-size:15px}.pool-price small{font-size:10px}.pool-action{align-self:center;font-size:11px;background:#eaf5ff;padding:9px 10px;border-radius:8px}.pool-action b{font-size:15px;margin-left:4px}.pagination{gap:16px;font-size:12px;margin:27px 0 34px}.pagination button{font-size:12px;padding:11px 14px}footer{font-size:10px;display:block;padding-bottom:20px;margin-top:28px}footer span{display:block;margin-bottom:5px}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:14px}.dialog-top{padding:13px 17px}.detail-layout{grid-template-columns:1fr;padding:19px;gap:20px}.detail-visual,.detail-visual .image-placeholder{min-height:210px;max-height:300px}.detail-visual img{max-height:290px;max-width:220px}.detail-visual img.highres{max-height:390px;max-width:100%}.detail-visual:has(.highres){max-height:none}.detail-visual svg.product-photo{max-height:390px}.detail-name{font-size:25px}.detail-price{margin-bottom:17px}.detail-price strong{font-size:24px}.detail-category{margin-bottom:18px}.specs>div{font-size:13px;grid-template-columns:83px 1fr}.detail-caption{font-size:10px}.help-content{padding:20px;font-size:13px}.toast{max-width:90%;width:max-content;font-size:12px}#gallery-content{padding:16px}}
@media(max-width:375px){.internal-tag{display:none}.intro{padding:22px 17px}.collection-stat{display:none}h1{font-size:31px}.card-title{font-size:13px}.card-body{padding:11px}.card-image{height:140px}.gallery-card img{height:130px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.price-options{display:grid;gap:8px;margin-top:4px}.price-option-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:9px;background:#fff;border:1px solid #d7e6f3}.price-option-row b{font-size:13px;color:#3f6386}.price-option-row strong{font-size:18px!important;white-space:nowrap}.option-price-box>p{margin-top:11px}
@media(max-width:600px){.price-option-row{padding:9px 10px}.price-option-row b{font-size:12px}.price-option-row strong{font-size:17px!important}}

.card-image img.representative{object-fit:contain;background:#fff;max-width:none;max-height:none;width:100%;height:100%;padding:0}.image-badge.representative-badge{background:#eef7ffed;color:#15588b}

/* Pool references are illustrative: show the full inflatable shape. */
.card-image img.pool-photo{object-fit:contain;background:white}
.pool-thumbnail{width:90px;height:70px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #dce9f3;border-radius:8px;background:white}
.pool-thumbnail img,.pool-thumbnail svg.product-photo{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.pool-thumbnail{width:76px;height:76px}.pool-row-main:has(.pool-thumbnail){align-items:center}.pool-row-main:has(.pool-thumbnail) h3{font-size:16px}}

/* Keep unavailable configurations explicit without assigning a model-minimum price. */
.price-option-row>div{min-width:0}.price-option-row>div small{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:#546c80}.price-option-row>strong small{font-size:12px;font-weight:500}.price-status-note{font-weight:650;color:#825322!important}.pending-prices{margin:16px 0;padding:15px;border:1px solid #ecd4ac;border-radius:12px;background:#fffbf4;color:#76532b}.pending-prices>b{display:block;font-size:11px;letter-spacing:.05em;margin-bottom:10px}.pending-price-row{display:grid;gap:4px;padding:9px 0;border-top:1px solid #eddfca;font-size:13px;line-height:1.45}.pending-price-row strong{color:#714b22}.pending-price-row span{color:#796344}

/* Power selection and supplementary owner-provided photographs. */
.power-label{display:block;font-size:13px;font-weight:700;color:#375c7e;margin:12px 0 8px}.power-select{display:block;width:100%;min-height:46px;padding:10px 12px;border:1px solid #96bad9;border-radius:9px;background:white;color:#063e84;font:inherit;font-weight:700}.power-select:focus{outline:3px solid #f6b977;outline-offset:2px}.selected-power-price{display:block;margin-top:14px}.selected-power-inclusions{font-weight:700!important;color:#305a80!important;margin-bottom:14px!important}.chosen-option{border-color:#2e86c8;background:#f3faff}.product-references{margin-top:17px;border:1px solid #d7e5f2;border-radius:10px;background:#f6faff}.product-references summary{cursor:pointer;padding:13px;font-size:12px;color:#245c89;font-weight:700}.product-references figure{margin:0;padding:0 10px 14px}.reference-visual{border-radius:8px;overflow:hidden;background:white}.reference-visual img,.reference-visual svg{width:100%;height:auto;max-height:580px;object-fit:contain;display:block}.product-references figcaption{font-size:11px;line-height:1.6;color:#6e87a1;margin-top:10px}.power-price-box .price-option-row{gap:10px}.power-price-box .price-option-row strong{font-size:16px!important}.power-price-box .price-option-row small{font-size:11px}

.power-select{min-width:0;max-width:100%;text-overflow:ellipsis}.power-price-box .price-option-row>div{overflow-wrap:anywhere}.power-price-box .price-option-row strong{flex-shrink:0}

/* Grouped pools keep every original size, height and approved price readable. */
.pool-table-wrap{margin-top:17px;max-height:470px;overflow:auto;border:1px solid #c5dcec;border-radius:9px;background:white}
.pool-price-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;font-variant-numeric:tabular-nums}
.pool-price-table caption{padding:12px 10px;text-align:left;font-weight:700;color:#245b8b;background:#f4faff}
.pool-price-table thead th{position:sticky;top:0;background:#e8f3fc;color:#2e618a;font-size:11px;z-index:1}
.pool-price-table th,.pool-price-table td{padding:11px 9px;border-bottom:1px solid #e0edf6;text-align:left;vertical-align:middle}
.pool-price-table tbody th{font-weight:700;color:#31597c}
.pool-price-table small{display:block;font-size:9px;font-weight:400;color:#69859c;margin-top:4px}
.pool-price-table td:last-child,.pool-price-table th:last-child{text-align:right;white-space:nowrap}
.pool-price-table td:last-child{font-weight:700;color:#0758a0}
.pool-price-table tr:last-child>*{border-bottom:0}.pool-price-table .chosen-option>*{background:#fff3dc}
@media(max-width:600px){.pool-price-box{padding:14px 11px}.pool-table-wrap{max-height:420px}.pool-price-table{font-size:11px}.pool-price-table th,.pool-price-table td{padding:10px 6px}.pool-price-table thead th{font-size:10px}.pool-price-table small{font-size:8px}.pool-price-box .power-select{font-size:13px}}

.gallery-set+.gallery-set{margin-top:28px;padding-top:26px;border-top:1px solid #dce7f2}

/* Estimates are visually separate from approved fixed selling prices. */
.estimate-card-price{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:100%}.estimate-label{font-size:10px;font-weight:700;color:#8b4b12;background:#fff0da;border:1px solid #e9c796;border-radius:5px;padding:3px 6px;line-height:1.4}.estimate-card-price .price-value{color:#8a4e12;overflow-wrap:anywhere}.estimate-card-price small{font-size:10px;line-height:1.5;color:#795f40;overflow-wrap:anywhere}.detail-price.estimated{background:#fff7e8;border-color:#e4c697;border-left:4px solid #d99125}.detail-price.estimated>span{font-weight:700;color:#81511b}.detail-price.estimated strong{color:#805016}.detail-price.estimated p{color:#725433;font-weight:500}@media(max-width:600px){.estimate-label{font-size:9px}.estimate-card-price small{font-size:9px}.estimate-card-price .price-value{font-size:14px}}
