/*
Theme Name: The Pool Place Modern
Theme URI: https://poolplaceeaston.com/
Author: Tech Guys Inc.
Description: Clean, brand-first redesign preserving existing WordPress pages, legacy logos and the Richard Dubois memorial.
Version: 0.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pool-place-modern
*/
:root{--navy:#102d4b;--blue:#007db9;--ice:#f0f8fc;--line:#dde7ec;--muted:#4d6274;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--navy);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.56}a{color:var(--blue)}a:hover{text-decoration:none}img{max-width:100%;height:auto}.wrap{max-width:var(--max);margin:auto;padding:0 25px}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.branding img{max-height:72px;max-width:270px;width:auto;object-fit:contain}.brand-fallback{font-size:28px;font-weight:850;line-height:1.1;letter-spacing:-.04em;text-decoration:none;color:var(--navy)}.brand-fallback span{color:var(--blue)}.brand-caption{font-size:11px;text-transform:uppercase;letter-spacing:.28em;color:var(--muted)}.desktop-menu,.desktop-menu ul{display:flex;align-items:center;gap:26px;margin:0;padding:0;list-style:none}.desktop-menu li{position:relative}.desktop-menu a{text-decoration:none;color:var(--navy);font-weight:650;font-size:14px}.desktop-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:225px;max-height:65vh;overflow:auto;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 14px 35px #18324d20;z-index:30;padding:12px;gap:10px}.desktop-menu li:hover>.sub-menu,.desktop-menu li:focus-within>.sub-menu{display:flex;flex-direction:column;align-items:stretch}.desktop-menu .sub-menu .sub-menu{left:100%;top:0}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;font-weight:750}.mobile-nav ul{list-style:none;padding:10px 0}.mobile-nav li{padding:7px}.mobile-nav li ul{padding-left:16px}.mobile-nav a{text-decoration:none;color:var(--navy)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.17em;color:var(--blue);text-transform:uppercase}.hero{background:linear-gradient(120deg,#fff 0%,#f7fcff 70%,#eaf6fd 100%);border-bottom:1px solid var(--line);padding:70px 0}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.hero h1{font-size:clamp(36px,5vw,62px);line-height:1.05;letter-spacing:-.047em;margin:12px 0 22px}.hero h1 em{font-style:normal;color:var(--blue)}.hero p{font-size:19px;color:var(--muted);max-width:560px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;padding:13px 21px;border:1px solid var(--blue);border-radius:7px;font-size:14px;font-weight:800;text-decoration:none;min-height:46px}.btn.secondary{background:white;color:var(--navy);border-color:var(--blue)}.hero-product{height:305px;border-radius:14px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:white;overflow:hidden}.hero-product img{width:100%;height:100%;object-fit:contain}.hero-product .simple-art{font-weight:900;font-size:clamp(38px,5vw,64px);color:var(--blue);letter-spacing:-.055em}.section{padding:55px 0}.section h2{font-size:clamp(27px,3vw,36px);text-align:center;letter-spacing:-.035em;margin:0 0 7px}.section-intro{text-align:center;color:var(--muted);margin:0 auto 28px;max-width:680px}.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.brand-card{min-height:114px;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;padding:18px;gap:5px;background:#fff;transition:box-shadow .2s,transform .2s}.brand-card:hover,.category-card:hover{transform:translateY(-3px);box-shadow:0 12px 27px #102d4b17}.brand-card img{height:53px;width:100%;object-fit:contain}.brand-wordmark{font-weight:900;color:var(--navy);font-size:clamp(17px,2vw,27px);letter-spacing:-.045em;line-height:1.15;text-align:center}.brand-card small{font-size:11px;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.category-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--navy);background:white;transition:box-shadow .2s,transform .2s}.category-image{height:158px;background:var(--ice);display:flex;align-items:center;justify-content:center;overflow:hidden}.category-image img{height:100%;width:100%;object-fit:cover}.category-symbol{font-size:52px;color:var(--blue)}.category-body{padding:15px}.category-body strong{font-size:16px}.category-body p{font-size:12px;color:var(--muted);margin:5px 0 0}.service-strip{background:#f7fbfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-item{background:white;padding:25px;border-radius:10px;border:1px solid var(--line)}.service-item h3{margin:0 0 5px}.service-item p{color:var(--muted);font-size:14px}.memorial{background:linear-gradient(110deg,#edf7fc 0%,#f9fcff 100%);padding:45px 0}.memorial-grid{display:grid;grid-template-columns:240px 1fr;gap:35px;align-items:center;max-width:820px;margin:auto}.memorial-photo{width:240px;aspect-ratio:4/4.6;background:#e3e9ed;border:8px solid white;box-shadow:0 5px 18px #102d4b18;display:flex;align-items:center;justify-content:center;color:#607488;text-align:center;padding:15px}.memorial-photo img{width:100%;height:100%;object-fit:contain}.memorial h2{text-align:left;margin:0;font-family:Georgia,serif;font-size:38px}.memorial p{color:#42596c}.site-footer{background:var(--navy);color:#fff;padding:33px 0}.footer-inner{display:grid;grid-template-columns:1.2fr 1.5fr 1fr 1.5fr;gap:18px;align-items:center}.site-footer a{color:white}.footer-brand{font-weight:900;font-size:23px;line-height:1.1}.footer-item{font-size:13px;border-left:1px solid #ffffff40;padding-left:20px}.page-content{padding:52px 0 80px}.page-content h1{letter-spacing:-.035em;font-size:clamp(31px,4vw,45px)}.page-content img{border-radius:6px}.page-content .wp-block-image,.page-content table{max-width:100%}.page-content table{border-collapse:collapse;display:block;overflow-x:auto}.page-content td,.page-content th{border:1px solid var(--line);padding:10px}.page-content input,.page-content select,.page-content textarea{max-width:100%;padding:10px;border-radius:5px;border:1px solid #cad7e0}.page-content button,.page-content input[type=submit]{background:var(--blue);border:0;color:white;padding:12px 20px;border-radius:6px;cursor:pointer}.archive-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.archive-card{border:1px solid var(--line);padding:18px;border-radius:8px}.screen-reader-text{position:absolute;left:-9999px}.screen-reader-text:focus{left:10px;top:10px;background:white;z-index:100}body.admin-bar .site-header{top:32px}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-product{height:230px}.category-grid{grid-template-columns:repeat(3,1fr)}.brand-grid{grid-template-columns:repeat(3,1fr)}.desktop-menu{display:none}.mobile-nav{display:block}.footer-inner{grid-template-columns:repeat(2,1fr)}.memorial-grid{grid-template-columns:180px 1fr}.memorial-photo{width:180px}}@media(max-width:620px){.header-inner{min-height:74px}.branding img{max-width:190px;max-height:60px}.hero{padding:42px 0}.hero p{font-size:16px}.brand-grid,.category-grid{grid-template-columns:repeat(2,1fr)}.service-grid,.footer-inner{grid-template-columns:1fr}.section{padding:38px 0}.memorial-grid{grid-template-columns:1fr;justify-items:center}.memorial h2,.memorial .eyebrow{text-align:center}.memorial-photo{width:220px}.footer-item{border-left:0;padding-left:0}}

/* v0.2 — match approved brand-and-product homepage composition */
.ppm-home{overflow:hidden}.ppm-home .wrap,.site-header .wrap,.site-footer .wrap{max-width:1290px}.site-header{position:relative;background:white;border-bottom:1px solid #ebeff4}.header-inner{min-height:108px}.branding img{max-width:355px;max-height:88px;object-fit:contain}.brand-fallback{display:block;position:relative;font-size:clamp(27px,3.4vw,46px);font-weight:820;letter-spacing:-.06em;white-space:nowrap}.brand-fallback>span:first-child{font-weight:400}.brand-fallback small{display:block;letter-spacing:.42em;font-size:10px;text-align:right;color:#65748a;font-weight:500;margin-top:-1px}.brand-swoosh{display:block;background:#0082c4;width:130px;height:7px;transform:skew(-28deg) rotate(-3deg);border-radius:60%;margin-top:1px}.ppm-topnav{display:flex;gap:44px;align-items:center}.ppm-topnav a{text-decoration:none;color:#0b2446;font-size:15px;font-weight:600}.ppm-topnav a:hover{color:#008ed5}.ppm-hero{background:linear-gradient(120deg,#fff 0%,#fff 62%,#f7fbff 100%);border-bottom:1px solid #e8f0f6}.ppm-hero-grid{min-height:460px;display:grid;grid-template-columns:49% 51%;align-items:center;position:relative}.ppm-hero-copy{position:relative;z-index:2;padding:62px 0 66px}.ppm-overline{color:#167fb7;font-size:11px;font-weight:700;letter-spacing:.16em}.ppm-hero h1{font-size:clamp(43px,4.7vw,66px);line-height:1.09;color:#0a264d;letter-spacing:-.055em;margin:18px 0 18px;font-weight:830}.ppm-hero h1 span{color:#0879bf}.ppm-hero p{font-size:19px;color:#5a687d;margin:0;line-height:1.54}.ppm-hero .btn{background:#075b9f;border-color:#075b9f;border-radius:5px;padding:15px 26px}.ppm-hero .btn.secondary{background:white;color:#045f9e;border-color:#167dc3}.ppm-hero-art{height:410px;position:relative;display:flex;align-items:center;justify-content:center}.ppm-wave{position:absolute;width:120%;height:250px;right:-10%;top:18%;background:linear-gradient(110deg,#eefaff,#d3f0ff);clip-path:polygon(0 58%,12% 40%,29% 23%,49% 32%,69% 7%,100% 19%,100% 92%,80% 80%,64% 62%,40% 83%,19% 70%);opacity:.78}.ppm-hero-photo{position:relative;z-index:1;width:100%;height:340px;object-fit:contain;filter:drop-shadow(0 10px 14px #41678f1b)}.ppm-hero-clean{position:relative;z-index:1;color:#0879bf;font-size:clamp(25px,3vw,38px);line-height:1.35;text-align:center}.ppm-home .section{padding:38px 0 44px}.ppm-section-heading{text-align:center;margin:0 0 26px}.ppm-section-heading h2{font-size:clamp(30px,3vw,42px);font-weight:830;color:#0b2046;letter-spacing:-.04em;margin:0 0 4px}.ppm-section-heading p{color:#63728a;font-size:15px;margin:0}.ppm-brands{background:#fff}.brand-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.brand-card{height:120px;min-height:120px;border:1px solid #dce6f0;box-shadow:0 1px 2px #091e3d06;border-radius:7px;padding:20px;background:white}.brand-card img{max-height:79px;height:79px;object-fit:contain}.brand-wordmark{font-size:clamp(24px,2.5vw,35px);color:#066fac;letter-spacing:-.045em}.brand-polaris .brand-wordmark,.brand-dolphin .brand-wordmark{color:#182f78}.brand-hayward .brand-wordmark{color:#0870a6}.brand-ba-quacil .brand-wordmark{color:#128dc8}.brand-intex .brand-wordmark{color:#1680b5}.ppm-categories{padding-top:16px!important}.category-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.category-card{border-radius:6px;border-color:#e0e8f0;min-width:0}.category-image{height:170px;background:#fff;padding:12px}.category-image img{object-fit:contain;width:100%;height:100%}.category-body{padding:14px 15px 17px;min-height:108px;position:relative}.category-body strong{font-size:17px;color:#102d56}.category-body p{font-size:12px;color:#67778c;max-width:170px;padding-right:10px;line-height:1.45}.category-arrow{position:absolute;bottom:14px;right:12px;display:grid;place-items:center;width:28px;height:28px;color:#0474b9;border:1px solid #0474b9;border-radius:50%;font-weight:700}.ppm-category-default{font-weight:700;font-size:19px;color:#1471ac}.memorial{margin-top:13px;padding:46px 0;background:linear-gradient(103deg,#eaf5fc,#f4fafe 70%,#ddf2fc)}.memorial-grid{max-width:980px;grid-template-columns:250px 1fr;gap:58px;align-items:center}.memorial-photo{width:250px;aspect-ratio:4/4.4;padding:0;background:#e0e7ec;border:9px solid white;box-shadow:0 5px 20px #11304f24;border-radius:2px;overflow:hidden}.memorial-photo img{object-fit:contain;background:#fff}.ppm-photo-missing{display:block;padding:20px;font-size:16px;font-weight:600}.ppm-photo-missing small{display:block;font-size:11px;margin-top:10px;font-weight:400}.memorial .eyebrow{letter-spacing:.3em}.memorial h2{font-size:clamp(33px,3.7vw,52px);color:#10274f;line-height:1.04;margin:7px 0 2px}.memorial p{font-size:16px;line-height:1.5;margin:10px 0}.memorial-byline{font:italic 20px Georgia,serif!important;margin-top:5px!important;color:#1a3b67!important}.memorial-rule{height:1px;background:#bfd2e2;max-width:430px;margin:15px 0}.site-footer{padding:28px 0;background:#103a63}.footer-brand{font-weight:400;font-size:27px;letter-spacing:-.04em}.footer-location{font-size:10px;letter-spacing:.27em}.footer-inner{grid-template-columns:1.35fr 1.3fr .85fr 1.3fr}.footer-item{font-size:13px;white-space:nowrap}.mobile-nav nav{display:grid;padding:12px;gap:10px}.mobile-nav nav a{font-weight:600;color:#103a63;text-decoration:none}@media(max-width:900px){.ppm-topnav{display:none}.ppm-hero-grid{grid-template-columns:1fr}.ppm-hero-copy{padding:50px 0 0}.ppm-hero-art{height:260px}.ppm-hero-photo{height:240px}.brand-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.memorial-grid{grid-template-columns:210px 1fr;gap:30px}.memorial-photo{width:210px}.footer-inner{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.header-inner{min-height:80px}.branding img{max-width:235px}.ppm-hero h1{font-size:40px}.ppm-hero p{font-size:16px}.ppm-hero-art{height:190px}.ppm-hero-photo{height:190px}.ppm-home .section{padding:30px 0}.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-card{min-height:94px;height:94px;padding:12px}.brand-card img{height:62px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-image{height:122px}.category-body{min-height:118px}.memorial-grid{grid-template-columns:1fr;gap:19px}.memorial-photo{width:215px}.memorial-text{text-align:center}.memorial-rule{margin:15px auto}.footer-inner{grid-template-columns:1fr}.footer-item{white-space:normal}.wide-only{display:none}}
