/*
Theme Name: Primo Pressure Washing
Theme URI: https://primopalmbeach.com
Description: Custom GeneratePress child theme for Primo Pressure Washing LLC.
Author: Primo Pressure Washing
Template: generatepress
Version: 1.0.0
Text Domain: primo
*/

:root{
  --primo-blue:#0878d8;
  --primo-blue-dark:#07549a;
  --primo-navy:#071b33;
  --primo-ink:#101820;
  --primo-muted:#5f6b78;
  --primo-light:#f4f8fb;
  --primo-white:#ffffff;
  --primo-border:#dce6ee;
  --primo-radius:18px;
  --primo-shadow:0 14px 40px rgba(7,27,51,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--primo-ink);background:#fff;line-height:1.65;margin:0}
body .site.grid-container,body #page{max-width:none}
body .site-content{padding:0!important}
body .content-area{width:100%!important}
body .site-main{margin:0!important}
body .entry-content{margin:0!important}
body .entry-header,body .site-header,body .site-footer,body .site-info,body .main-navigation{display:none!important}
a{transition:.2s ease}
.primo-wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.primo-topbar{background:var(--primo-navy);color:#fff;font-size:14px}
.primo-topbar .primo-wrap{display:flex;justify-content:space-between;gap:20px;padding:9px 0}
.primo-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--primo-border)}
.admin-bar .primo-header{top:32px}
.primo-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.primo-brand{display:block;line-height:0}
.primo-brand img{width:235px;max-height:66px;object-fit:contain;object-position:left center}
.primo-links{display:flex;align-items:center;gap:21px;font-weight:800;font-size:14px}
.primo-links a{color:var(--primo-navy);text-decoration:none}
.primo-links a:hover{color:var(--primo-blue)}
.primo-mobile-toggle{display:none;border:0;background:var(--primo-blue);color:#fff;border-radius:999px;padding:11px 15px;font-weight:900;cursor:pointer}
.primo-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:999px;font-weight:900;text-decoration:none!important;border:2px solid transparent;transition:.2s ease}
.primo-btn-primary{background:var(--primo-blue);color:#fff!important;box-shadow:0 8px 22px rgba(8,120,216,.22)}
.primo-btn-primary:hover{background:var(--primo-blue-dark);transform:translateY(-1px)}
.primo-btn-light{background:#fff;color:var(--primo-navy)!important}
.primo-btn-outline{border-color:var(--primo-blue);color:var(--primo-blue)!important;background:#fff}
.primo-btn-outline-light{border-color:rgba(255,255,255,.68);color:#fff!important;background:transparent}
.primo-hero{background:linear-gradient(120deg,#071b33 0%,#0b3159 56%,#0878d8 145%);color:#fff;padding:92px 0 86px;overflow:hidden;position:relative}
.primo-hero:after{content:"";position:absolute;width:540px;height:540px;border:80px solid rgba(255,255,255,.05);border-radius:50%;right:-185px;top:-175px}
.primo-hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:58px;align-items:center;position:relative;z-index:1}
.primo-eyebrow{font-size:14px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:#70c5ff;margin-bottom:14px}
.primo-hero h1,.primo-page-hero h1{font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.045em;margin:0 0 22px;color:#fff}
.primo-hero p{font-size:20px;max-width:720px;color:#e7f1f9;margin:0 0 30px}
.primo-actions{display:flex;flex-wrap:wrap;gap:12px}
.primo-hero-card{background:#fff;color:var(--primo-ink);padding:30px;border-radius:24px;box-shadow:var(--primo-shadow)}
.primo-hero-card h2{font-size:26px;margin:0 0 8px;color:var(--primo-navy)}
.primo-hero-card p{color:var(--primo-muted);font-size:16px;margin:0}
.primo-hero-card ul{padding-left:20px;margin:17px 0 22px}
.primo-trust{background:#fff;border-bottom:1px solid var(--primo-border)}
.primo-trust .primo-wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.primo-trust-item{text-align:center;padding:18px;border-right:1px solid var(--primo-border);font-weight:850;color:var(--primo-navy)}
.primo-trust-item:last-child{border-right:0}
.primo-section{padding:78px 0}
.primo-section-light{background:var(--primo-light)}
.primo-section h2{font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.03em;color:var(--primo-navy);margin:0 0 16px}
.primo-section h3{color:var(--primo-navy)}
.primo-lead{font-size:19px;color:var(--primo-muted);max-width:820px;margin:0 0 34px}
.primo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.primo-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.primo-card{background:#fff;border:1px solid var(--primo-border);border-radius:var(--primo-radius);padding:27px;box-shadow:0 8px 28px rgba(7,27,51,.05)}
.primo-card h3{font-size:23px;margin:9px 0 10px}
.primo-card p{color:var(--primo-muted);margin:0 0 18px}
.primo-card a{font-weight:900;color:var(--primo-blue);text-decoration:none}
.primo-number{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eaf5ff;color:var(--primo-blue);font-weight:950}
.primo-two{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.primo-checks{display:grid;gap:13px;margin:24px 0 0}
.primo-check{display:flex;gap:12px;align-items:flex-start;color:#43505d}
.primo-check:before{content:"✓";display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#e7f5ff;color:var(--primo-blue);font-weight:950}
.primo-panel{background:#fff;border:1px solid var(--primo-border);border-radius:22px;padding:30px;box-shadow:var(--primo-shadow)}
.primo-area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.primo-area{padding:14px 16px;border:1px solid var(--primo-border);border-radius:12px;background:#fff;font-weight:800;color:var(--primo-navy)}
.primo-cta{background:var(--primo-blue);color:#fff;border-radius:28px;padding:42px;display:flex;justify-content:space-between;gap:30px;align-items:center}
.primo-cta h2{color:#fff;margin-bottom:8px}
.primo-cta p{margin:0;color:#eaf6ff}
.primo-page-hero{background:linear-gradient(120deg,#071b33,#0b3159);padding:72px 0;color:#fff}
.primo-page-hero h1{font-size:clamp(38px,5vw,62px)}
.primo-page-hero p{font-size:19px;color:#e6f0f8;max-width:800px;margin:0}
.primo-copy{max-width:900px}
.primo-copy h2{margin-top:42px}
.primo-copy h3{font-size:24px;margin-top:28px}
.primo-copy p,.primo-copy li{color:#43505d}
.primo-faq{display:grid;gap:14px}
.primo-faq details{background:#fff;border:1px solid var(--primo-border);border-radius:14px;padding:17px 19px}
.primo-faq summary{font-weight:900;color:var(--primo-navy);cursor:pointer}
.primo-faq p{margin:10px 0 0;color:var(--primo-muted)}
.primo-form{display:grid;gap:14px}
.primo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.primo-form label{font-weight:800;color:var(--primo-navy);font-size:14px}
.primo-form input,.primo-form select,.primo-form textarea{width:100%;margin-top:5px;border:1px solid #cdd9e3;border-radius:11px;padding:13px 14px;background:#fff;color:var(--primo-ink);font:inherit}
.primo-form textarea{min-height:140px;resize:vertical}
.primo-form input:focus,.primo-form select:focus,.primo-form textarea:focus{outline:3px solid rgba(8,120,216,.15);border-color:var(--primo-blue)}
.primo-notice{padding:14px 16px;border-radius:12px;margin-bottom:18px;font-weight:750}
.primo-notice-success{background:#edf9f2;border:1px solid #b9e4ca;color:#17613a}
.primo-notice-error{background:#fff3f3;border:1px solid #efc2c2;color:#8a2323}
.primo-hp{position:absolute!important;left:-9999px!important}
.primo-footer{background:#06172b;color:#d9e5ef;padding:54px 0 28px}
.primo-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.primo-footer img{width:220px;max-height:90px;object-fit:contain;background:#fff;border-radius:12px;padding:8px}
.primo-footer h3{color:#fff;font-size:17px;margin:0 0 14px}
.primo-footer a{color:#d9e5ef;text-decoration:none}
.primo-footer a:hover{color:#70c5ff}
.primo-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:22px;font-size:13px;color:#91a4b7;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:980px){
 .primo-mobile-toggle{display:inline-flex}
 .primo-links{position:absolute;display:none;top:100%;left:0;right:0;background:#fff;padding:20px;box-shadow:0 18px 35px rgba(7,27,51,.12);flex-direction:column;align-items:stretch;border-top:1px solid var(--primo-border)}
 .primo-links.is-open{display:flex}
 .primo-links .primo-btn{width:100%}
 .primo-hero-grid,.primo-two{grid-template-columns:1fr}
 .primo-grid{grid-template-columns:1fr 1fr}
 .primo-area-grid{grid-template-columns:1fr 1fr}
 .primo-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:782px){.admin-bar .primo-header{top:46px}}
@media(max-width:620px){
 .primo-wrap{width:min(100% - 28px,1180px)}
 .primo-topbar .primo-wrap{justify-content:center;text-align:center}
 .primo-topbar span:last-child{display:none}
 .primo-nav{min-height:72px}
 .primo-brand img{width:186px}
 .primo-hero{padding:64px 0}
 .primo-trust .primo-wrap{grid-template-columns:1fr}
 .primo-trust-item{border-right:0;border-bottom:1px solid var(--primo-border)}
 .primo-trust-item:last-child{border-bottom:0}
 .primo-grid,.primo-grid-2,.primo-area-grid,.primo-footer-grid,.primo-form-row{grid-template-columns:1fr}
 .primo-section{padding:58px 0}
 .primo-cta{padding:30px;display:block}
 .primo-cta .primo-actions{margin-top:22px}
}
