/* DFW Solid Concrete – new site design */
html{scroll-behavior:smooth}
body.dfwsc-page{margin:0;background:#ffffff}
.dfwsc *,.dfwsc *::before,.dfwsc *::after{box-sizing:border-box}
.dfwsc img{max-width:100%}
.dfwsc a{color:#195FAA}
.dfwsc a:hover{opacity:.9}
.dfwsc h1,.dfwsc h2,.dfwsc h3{font-family:'Montserrat',sans-serif;text-transform:none;letter-spacing:normal}
.dfwsc p,.dfwsc li,.dfwsc blockquote,.dfwsc figure,.dfwsc label{font-family:inherit}
.dfwsc input,.dfwsc select,.dfwsc textarea,.dfwsc button{font-family:'Open Sans',system-ui,sans-serif;font-size:16px;color:#2a2b2f;box-shadow:none;max-width:100%;margin:0}
.dfwsc input,.dfwsc select,.dfwsc textarea{width:100%}
.dfwsc button{text-transform:none;letter-spacing:normal}
.dfwsc details summary{list-style-position:outside}

/* Photo boxes: real photo when it exists, labelled placeholder when it doesn't */
.dfwsc .dfwsc-photo{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.dfwsc .dfwsc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.dfwsc .dfwsc-photo-label{font-size:13px;color:#6b6c71;padding:12px;text-align:center}
.dfwsc .ph .dfwsc-photo-label{color:#e4e5e8}
.dfwsc .ph{background-color:#4a4b50;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 14px,transparent 14px 28px)}
.dfwsc .phl{background-color:#e4e5e8;background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.04) 0 14px,transparent 14px 28px)}

#estimate{scroll-margin-top:16px}

@media (max-width:640px){
 .dfwsc h1{font-size:36px!important}
 .dfwsc h2{font-size:28px!important}
 .dfwsc header img{height:52px!important}
 .dfwsc form{padding:22px!important}
}

/* Blog slider */
.dfwsc .dfwsc-slide-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px) / 4);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:12px;scrollbar-width:thin}
.dfwsc .dfwsc-slide{scroll-snap-align:start;min-width:0}
.dfwsc .dfwsc-slide-track:focus-visible{outline:3px solid #195FAA;outline-offset:4px}
@media (max-width:1100px){.dfwsc .dfwsc-slide-track{grid-auto-columns:calc((100% - 40px) / 3)}}
@media (max-width:820px){.dfwsc .dfwsc-slide-track{grid-auto-columns:calc((100% - 20px) / 2)}}
@media (max-width:560px){.dfwsc .dfwsc-slide-track{grid-auto-columns:85%}}

/* Blog post body */
.dfwsc-article{font-size:18px;line-height:1.75;color:#2a2b2f}
.dfwsc-article h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:30px;line-height:1.2;color:#35363A;margin:44px 0 0}
.dfwsc-article h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:22px;color:#35363A;margin:32px 0 0}
.dfwsc-article p{margin:16px 0 0}
.dfwsc-article ul,.dfwsc-article ol{margin:16px 0 0;padding-left:24px}
.dfwsc-article li{margin:8px 0 0}
.dfwsc-article strong{color:#35363A}
.dfwsc-article a{color:#195FAA;text-decoration:underline}
.dfwsc-article img{max-width:100%;height:auto;border-radius:8px}
.dfwsc-pagination a,.dfwsc-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border:1px solid #d5d7db;border-radius:6px;color:#35363A;text-decoration:none;font-weight:600}
.dfwsc-pagination .current{background:#35363A;color:#ffffff;border-color:#35363A}
@media (max-width:640px){.dfwsc-article{font-size:17px}.dfwsc-article h2{font-size:24px!important}}

/* ---------- Header: menu button (phones) ---------- */
.dfwsc .dfwsc-menu-btn{display:none;align-items:center;gap:6px;min-height:46px;padding:0 14px;border:2px solid #35363A;border-radius:8px;background:#ffffff;color:#35363A;font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;cursor:pointer}
.dfwsc .dfwsc-menu-btn .dfwsc-ico-close{display:none}
.dfwsc .dfwsc-header.is-open .dfwsc-menu-btn .dfwsc-ico-open{display:none}
.dfwsc .dfwsc-header.is-open .dfwsc-menu-btn .dfwsc-ico-close{display:inline}

/* ---------- Sticky call / estimate bar (phones) ---------- */
.dfwsc .dfwsc-mbar{display:none}

@media (max-width:900px){
 .dfwsc .dfwsc-topbar{display:none}
 .dfwsc .dfwsc-header{position:sticky;top:0;z-index:50;box-shadow:0 1px 0 #e4e5e8}
 .dfwsc .dfwsc-header-in{flex-wrap:nowrap!important;padding:10px 16px!important;gap:12px!important}
 .dfwsc .dfwsc-logo{flex:0 1 auto;min-width:0;max-width:62vw;overflow:hidden}
 .dfwsc .dfwsc-logo img{height:46px!important;max-width:100%;object-fit:contain;object-position:left center}
 .dfwsc .dfwsc-menu-btn{margin-left:auto;flex:none}
 .dfwsc .dfwsc-menu-btn{display:inline-flex}
 .dfwsc .dfwsc-hdr-cta{display:none!important}
 .dfwsc .dfwsc-nav{display:none!important}
 .dfwsc .dfwsc-header.is-open .dfwsc-header-in{flex-wrap:wrap!important}
 .dfwsc .dfwsc-header.is-open .dfwsc-nav{display:flex!important;flex-direction:column;flex-basis:calc(100% + 32px);gap:0!important;margin:4px -16px -10px;border-top:1px solid #e4e5e8}
 .dfwsc .dfwsc-header.is-open .dfwsc-nav a{display:flex;align-items:center;min-height:52px;padding:0 20px;border-bottom:1px solid #eef0f2;font-size:16px}
 .dfwsc .dfwsc-pill{font-size:12px!important;letter-spacing:.1em!important;padding:5px 10px!important}
 #top .dfwsc-photo{height:260px!important;flex-basis:100%!important}

 .dfwsc .dfwsc-mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#ffffff;box-shadow:0 -2px 12px rgba(0,0,0,.14)}
 .dfwsc .dfwsc-mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:8px;color:#ffffff;text-decoration:none;font-family:'Montserrat',sans-serif;font-weight:800;font-size:16px}
 .dfwsc .dfwsc-mbar-call{background:#195FAA}
 .dfwsc .dfwsc-mbar-est{background:#C81E26}
 body.dfwsc-page{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 #estimate{scroll-margin-top:76px}
}
