/*
Theme Name: QEPCO
Theme URI: https://www.qepco.biz
Author: Jerrysoft
Description: Block theme for Quality Engineered Products Co. — hollow metal doors, frames and hardware, Tampa FL.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: qepco
*/

:root{--navy:#0b2d56;--accent:#2a6cb8;--accent-l:#8fb8ea;--alt:#f1f4f8;--ink:#1c2631;--mute:#5d6b79;--line:#d9e0e7;--r:6px}

/* ---- layout resets ---- */
.wp-site-blocks>*{margin-block-start:0}
.wp-block-post-content>*{margin-block-start:0;margin-block-end:0}
.wp-block-post-content>.alignfull{padding-left:24px;padding-right:24px}
main.wp-block-group{margin:0}
.plain-main{padding:60px 24px}
.wp-block-post-content>.alignfull>*,.site-header-inner>*{max-width:1180px}

/* ---- header ---- */
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid var(--navy);box-shadow:0 2px 10px rgba(11,45,86,.08)}
body.admin-bar .wp-site-blocks>header.wp-block-template-part{top:32px}
.site-header-inner{max-width:1180px;margin:0 auto;padding:6px 24px;align-items:center;gap:24px}
.site-header-inner>.wp-block-group,.header-right{display:flex;align-items:center;gap:20px;flex-wrap:nowrap}
.site-logo-img{margin:0}.site-logo-img img{height:62px;width:auto;display:block;mix-blend-mode:multiply}
.site-nav .wp-block-navigation-item a{font-size:15px;font-weight:500;color:var(--navy);text-decoration:none;padding:8px 6px;border-bottom:2px solid transparent}
.site-nav .wp-block-navigation-item a:hover,.site-nav .current-menu-item a{border-bottom-color:var(--accent)}
.header-right .wp-block-buttons{margin:0}

/* ---- buttons ---- */
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:2px solid var(--navy);color:var(--navy)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--navy);color:#fff}
.hero .wp-block-button__link,.cta .wp-block-button__link{background:#fff;color:var(--navy)}
.hero .wp-block-button__link:hover,.cta .wp-block-button__link:hover{background:var(--accent-l);color:var(--navy)}
.hero .is-style-outline .wp-block-button__link,.cta .is-style-outline .wp-block-button__link{background:transparent;border:2px solid #fff;color:#fff}
.hero .is-style-outline .wp-block-button__link:hover,.cta .is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--navy)}

/* ---- dark sections ---- */
.hero,.page-hero,.cta{color:#fff;background:linear-gradient(105deg,rgba(11,45,86,.97) 35%,rgba(11,45,86,.6)),repeating-linear-gradient(135deg,#27476f 0 14px,#223f65 14px 28px)}
.hero{background:linear-gradient(100deg,rgba(11,45,86,.96) 30%,rgba(11,45,86,.35)),url(assets/images/frames-red-brick.jpg) center/cover;padding-top:120px;padding-bottom:130px}
.page-hero{padding-top:70px;padding-bottom:70px}.cta{padding-top:80px;padding-bottom:80px;text-align:center}
.hero h1,.hero h2,.page-hero h1,.cta h2{color:#fff}
.hero h1{max-width:760px}.hero em{font-style:normal;color:var(--accent-l)}
.page-hero h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:.2em}
.lead{font-size:1.2rem;max-width:620px;color:#cfdbe6}.cta .lead{margin-left:auto;margin-right:auto}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-l);margin:0 0 14px}
.eyebrow.dark{color:var(--accent)}
.intro{font-size:1.15rem;color:var(--mute);max-width:640px}.intro.wide{max-width:820px}

/* ---- sections ---- */
.section{padding-top:84px;padding-bottom:84px}.section.alt{background:var(--alt)}
.stats{background:var(--navy);color:#fff;padding-top:26px;padding-bottom:26px}
.stat-num{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:2.6rem;line-height:1;text-align:center;margin:0;color:#fff}
.stat-label{font-size:14px;text-align:center;margin:.3em 0 0;color:#dbe5ee}
.stats .wp-block-columns{margin:0}
.logos{border-bottom:1px solid var(--line);padding-top:22px;padding-bottom:22px;display:flex;align-items:center;justify-content:center;gap:36px;flex-wrap:wrap}
.logos>*{margin:0!important}.logos-label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.logo-img img{height:52px;width:auto;border-radius:4px}

.wp-block-columns.split{gap:56px;margin:0}.wp-block-columns.four,.wp-block-columns.three{margin-top:32px;margin-bottom:0}
.wp-block-columns.four{gap:20px}.wp-block-columns.three{gap:24px}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:var(--r);padding:26px}
.card h3{margin-top:.2em}.card p{color:var(--mute);font-size:15.5px}
.icon{font-size:2.2rem;color:var(--accent);margin:0}.more{font-weight:600;font-size:15px}.more a{text-decoration:none}
.muted{color:var(--mute);font-size:.9rem;margin-top:0}

.wp-block-image.tall img{height:420px;width:100%;object-fit:cover;border-radius:var(--r)}
.wp-block-image.land img{height:230px;width:100%;object-fit:cover;border-radius:var(--r)}
.checks{list-style:none;padding:0}.checks li{padding-left:30px;position:relative;margin:.55em 0}
.checks li:before{content:"";position:absolute;left:0;top:.45em;width:16px;height:9px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg)}
.projlist{list-style:none;margin:32px 0 0;padding:0;columns:3 260px;column-gap:40px}
.projlist li{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--line);margin:0;color:var(--mute);font-size:.9rem}
.projlist strong{color:var(--ink);font-size:1rem;font-weight:600}
.gal{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px!important;margin-top:28px}
.gal .wp-block-image{width:100%!important;margin:0!important}.gal img{height:240px;width:100%;object-fit:cover;border-radius:var(--r)}

/* ---- downloads ---- */
.dl{margin:0 0 10px}
.dl a{display:flex;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);text-decoration:none;font-size:15px}
.dl a:hover{border-color:var(--accent)}
.dl a:before{content:"PDF";background:var(--navy);color:#fff;font:700 11px Inter,sans-serif;padding:6px 7px;border-radius:4px}
.mt{margin-top:2em}
.wp-block-details{border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;padding:4px 16px 14px}
.wp-block-details summary{cursor:pointer;font:700 1.25rem 'Barlow Condensed',sans-serif;text-transform:uppercase;padding:10px 0;color:var(--navy)}

/* ---- contact ---- */
.formbox{background:var(--alt);border-radius:var(--r);padding:32px;border-top:4px solid var(--navy)}
.qform label{display:block;font-size:14px;font-weight:600;margin-bottom:14px}
.qform input,.qform select,.qform textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;font:16px Inter,sans-serif;border:1px solid #bcc7d2;border-radius:var(--r);background:#fff}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:2px solid var(--accent);border-color:transparent}
.qform button{border:0;cursor:pointer;margin-top:8px}
.hours td{border:0;padding:3px 24px 3px 0}.hours{margin:0 0 1.2em}
iframe.map{width:100%;height:240px;border:0;border-radius:var(--r);margin-top:12px}

/* ---- footer ---- */
.wp-site-blocks>footer.wp-block-template-part{margin:0}
.site-footer-inner{background:var(--navy);color:#b7c6d4;font-size:15px;padding:56px 24px 0}
.site-footer-inner h4{color:#fff}.site-footer-inner a{color:#e7eef5;text-decoration:none}.site-footer-inner a:hover{color:var(--accent-l)}
.footer-cols{max-width:1180px;margin:0 auto!important;gap:32px}
.legal{border-top:1px solid #25477a;margin:40px -24px 0;padding:18px;text-align:center;font-size:13px}

@media(max-width:781px){
	.section{padding-top:56px;padding-bottom:56px}.hero{padding-top:70px;padding-bottom:80px}
	.wp-block-columns.split{gap:28px}.wp-block-image.tall img{height:260px}
	.site-logo-img img{height:50px}.header-right .wp-block-buttons{display:none}
	.stats .wp-block-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
}

.dl .fsize{margin-left:auto;color:var(--mute);font-size:13px;white-space:nowrap}

.qform-msg{padding:14px 16px;border-radius:var(--r);margin:0 0 18px;font-size:15px}
.qform-ok{background:#e6f1e9;border:1px solid #9cc7a8;color:#1d4a2b}
.qform-err{background:#fbeaea;border:1px solid #e0a3a3;color:#7a1f1f}
