/*
Theme Name: CG Fence Original Rebuild
Theme URI: https://cgfenceorlando.com
Author: CG Fence Inc
Description: Custom WordPress theme recreated from CG Fence's exported React website. Editable content and portfolio gallery.
Version: 3.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: cgfence-rebuild
*/
:root{--navy:#102956;--blue:#153a80;--red:#e52529;--muted:#60728f;--light:#f4f7fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:#13284c;background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%}.cg-wrap{width:min(1115px,calc(100% - 40px));margin:auto}.cg-header{background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 1px 4px #152b4d16}.admin-bar .cg-header{top:32px}.cg-head{height:82px;display:flex;align-items:center;gap:28px}.cg-logo{flex:0 0 196px;display:flex;align-items:center}.cg-logo img{width:196px;height:auto;display:block}.cg-nav{display:flex;align-items:center;gap:25px;margin:auto}.cg-nav a{font-size:14px;font-weight:700;color:var(--navy);white-space:nowrap}.cg-nav a:hover,.cg-nav a[aria-current]{color:var(--red)}.cg-head-right{display:flex;align-items:center;gap:20px}.cg-phone{font-weight:700;color:var(--navy);white-space:nowrap;font-size:14px}.cg-btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:7px;background:var(--red);color:#fff;padding:15px 23px;font-size:15px;font-weight:750;cursor:pointer;line-height:1.4;box-shadow:0 4px 0 #a61920}.cg-btn:hover{background:#c91e23;color:#fff}.cg-head-cta{white-space:nowrap;padding:12px 20px}.cg-toggle{display:none;background:none;border:0;font-size:26px;color:var(--navy)}.cg-hero{min-height:650px;display:flex;align-items:center;color:#fff;background-image:linear-gradient(90deg,rgba(13,32,79,.94),rgba(13,32,79,.80) 49%,rgba(13,32,79,.22)),var(--hero);background-position:center;background-size:cover}.cg-hero-inner{padding:95px 0}.cg-pill{display:inline-block;background:#ffffff15;border:1px solid #ffffff55;border-radius:30px;color:#ffb5b5;font-weight:750;font-size:13px;padding:7px 15px}.cg-hero h1{font-size:clamp(42px,5.2vw,68px);line-height:1.1;letter-spacing:-2px;margin:24px 0;font-weight:850}.cg-hero h1 em{font-style:normal;color:var(--red)}.cg-hero p{max-width:625px;font-size:18px;line-height:1.55}.cg-actions{display:flex;gap:14px;align-items:center;margin:30px 0}.cg-outline{padding:14px 22px;border:1px solid #ffffff8a;border-radius:7px;color:#fff;background:#ffffff15;font-weight:700}.cg-hero small{font-size:13px}.cg-trust{background:#f8fafd;padding:28px 0}.cg-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cg-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.cg-card{display:flex;gap:15px;align-items:flex-start;background:#fff;border:1px solid #e7ebf0;border-radius:13px;padding:18px;box-shadow:0 1px 3px #13284c08}.cg-card h3{margin:0 0 4px;font-size:15px}.cg-card p{margin:0;font-size:13px;color:var(--muted)}.cg-icon{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:9px;background:#183a88;color:#fff;font-size:25px}.cg-section{padding:90px 0}.cg-light{background:var(--light)}.cg-dark{background:var(--navy);color:#fff}.cg-section h2{font-size:clamp(30px,3.6vw,48px);line-height:1.2;letter-spacing:-1px;margin:10px 0 20px}.cg-section-head{text-align:center;max-width:730px;margin:0 auto 40px}.cg-section-head p,.cg-center>p{color:var(--muted);font-size:18px}.cg-dark p{color:#d9e1f1}.cg-center{text-align:center}.cg-center .cg-btn{margin-top:16px}.cg-eyebrow{color:var(--red);font-weight:800;font-size:13px;letter-spacing:1px}.cg-service,.cg-panel{background:#fff;border:1px solid #e4e9f0;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px #1029560a}.cg-service img{width:100%;height:240px;object-fit:cover;display:block}.cg-service>div{padding:24px}.cg-service h3,.cg-panel h3{font-size:22px;margin:0 0 12px;line-height:1.25}.cg-service p,.cg-panel p{color:#5c6c82}.cg-service a{color:var(--red);font-weight:750}.cg-panel{padding:28px}.cg-panel ul{padding-left:19px;color:#53637b}.cg-panel li{margin:9px 0}.cg-page-hero{background:linear-gradient(125deg,#f1f5fc,#fff,#f6f8fc);padding:85px 0}.cg-page-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.15;letter-spacing:-1.7px;margin:12px 0 18px;color:var(--navy)}.cg-page-hero p{font-size:19px;max-width:760px;margin:0 auto;color:var(--muted)}.cg-process{margin:42px 0}.cg-process b{font-size:42px;color:var(--red)}.cg-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:35px}.cg-filters button{background:#f2f5fa;border:1px solid #e0e5ee;color:var(--navy);border-radius:50px;padding:11px 19px;cursor:pointer;font-weight:700}.cg-filters button.active,.cg-filters button:hover{background:var(--navy);color:#fff}.cg-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cg-project{display:block;text-align:left;background:#fff;padding:0;border:1px solid #e4e9f0;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:0 4px 15px #1029560b}.cg-project[hidden]{display:none}.cg-project img{width:100%;height:255px;object-fit:cover;display:block;transition:transform .3s}.cg-project:hover img{transform:scale(1.035)}.cg-project span{display:block;font-weight:750;color:var(--navy);padding:14px 18px}.cg-lightbox[hidden]{display:none}.cg-lightbox{position:fixed;inset:0;z-index:99999;background:#050b16ee;display:flex;align-items:center;justify-content:center;padding:65px 60px}.cg-lightbox img{max-height:90vh;max-width:100%;object-fit:contain}.cg-lightbox button{position:absolute;background:#ffffff30;color:#fff;border:0;border-radius:40px;font-size:35px;cursor:pointer;width:45px;height:45px}.cg-close{right:20px;top:20px}.cg-prev{left:12px}.cg-next{right:12px}.cg-modal-open{overflow:hidden}.cg-two{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.cg-two h2{margin-top:8px}.cg-about-img{border-radius:18px;object-fit:cover;width:100%;min-height:350px}.cg-form-card h2{font-size:30px}.cg-form{display:grid;gap:16px}.cg-form label{display:grid;gap:6px;font-size:14px;font-weight:700}.cg-form input,.cg-form textarea,.cg-form select{font:inherit;width:100%;border:1px solid #d4dce8;border-radius:8px;padding:12px;color:var(--navy);background:#fff}.cg-form .cg-btn{justify-self:start}.cg-small{font-size:12px!important}.cg-trap{position:absolute;left:-9999px}.cg-notice{padding:12px;background:#e7f7ee;color:#155e38}.cg-area{text-align:center;padding:55px 20px}.cg-area-icon{font-size:52px;color:var(--red)}.cg-area a{color:var(--red);font-weight:750}.cg-why{margin-top:24px}.cg-contact-top{padding:50px 0}.cg-contact-top .cg-panel h3{font-size:17px}.cg-contact-top .cg-panel p{font-size:14px;overflow-wrap:anywhere}.cg-footer{background:#0c2047;color:#fff;padding:60px 0 20px}.cg-footer-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:50px}.cg-footer img{background:#fff;border-radius:6px;padding:6px}.cg-footer a{display:block;margin:9px 0}.cg-footer p,.cg-copy{color:#c9d5eb;font-size:14px}.cg-copy{border-top:1px solid #ffffff30;padding-top:18px;margin-top:35px}.cg-entry{min-height:200px}@media(max-width:1080px){.cg-head{gap:16px}.cg-logo,.cg-logo img{width:165px;flex-basis:165px}.cg-nav{gap:14px}.cg-head-right{gap:10px}.cg-phone{font-size:12px}}@media(max-width:800px){.admin-bar .cg-header{top:46px}.cg-head{height:70px;justify-content:space-between;position:relative}.cg-logo,.cg-logo img{width:170px;flex-basis:170px}.cg-toggle{display:block;margin-left:auto}.cg-nav{display:none;position:absolute;top:70px;left:-20px;right:-20px;background:#fff;box-shadow:0 12px 22px #1029561b;padding:15px 25px;flex-direction:column;align-items:stretch;gap:0}.cg-nav.open{display:flex}.cg-nav a{padding:12px 5px;border-bottom:1px solid #eee}.cg-head-right{display:none}.cg-hero{min-height:590px}.cg-hero-inner{padding:75px 0}.cg-hero h1{letter-spacing:-1px}.cg-grid3,.cg-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-two{grid-template-columns:1fr}.cg-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.cg-wrap{width:min(100% - 30px,1115px)}.cg-hero h1{font-size:43px}.cg-hero p{font-size:16px}.cg-actions{align-items:stretch;flex-direction:column;max-width:300px}.cg-grid3,.cg-grid4,.cg-gallery,.cg-footer-grid{grid-template-columns:1fr}.cg-section{padding:60px 0}.cg-page-hero{padding:65px 0}.cg-project img{height:255px}.cg-footer-grid{gap:18px}}

/* v3: visual alignment to exported Horizons pages */
.cg-portfolio-hero{background:linear-gradient(125deg,#1b326e,#0a1029);color:#fff;padding:110px 0 100px;text-align:center}.cg-portfolio-hero h1{font-size:clamp(40px,5vw,65px);line-height:1.1;letter-spacing:-2px;margin:0 0 22px}.cg-portfolio-hero h1 em{font-style:normal;color:#f04349}.cg-portfolio-hero p{font-size:17px;line-height:1.65}.cg-portfolio-hero .cg-actions{justify-content:center}.cg-outline-white{background:#fff;color:#122750;border-radius:6px;padding:14px 20px;font-weight:750}.cg-mini-trust{font-weight:750;font-size:14px;color:#102956}.cg-mini-trust small{display:block;font-weight:400;font-size:12px;margin-left:25px;color:#64748b}.cg-portfolio-hero+.cg-trust{border-bottom:1px solid #d9e1ee}.cg-portfolio-hero~.cg-section .cg-gallery{gap:16px}.cg-project{position:relative;aspect-ratio:1.15;border:0}.cg-project img{height:100%;width:100%;object-fit:cover}.cg-photo-overlay{position:absolute;inset:auto 0 0;padding:32px 18px 16px!important;color:#fff!important;background:linear-gradient(transparent,#000c);display:flex!important;flex-direction:column;gap:3px}.cg-photo-overlay strong{font-size:16px}.cg-photo-overlay small{font-size:11px;color:#fff}.cg-faq-list{max-width:750px;margin:auto}.cg-faq-list details{background:#fff;border:1px solid #dce4ed;border-radius:10px;padding:18px 22px;margin-bottom:12px}.cg-faq-list summary{font-weight:750;cursor:pointer}.cg-faq-list p{color:#52637b}.cg-head{gap:20px}.cg-nav{gap:20px}.cg-head-right{gap:15px}@media(max-width:800px){.cg-portfolio-hero{padding:70px 0}.cg-portfolio-hero p br{display:none}.cg-portfolio-hero .cg-actions{flex-wrap:wrap}}

/* CG Fence original logo — cropped transparent image, fixed header dimensions */
.cg-header .cg-head {min-height:82px;height:82px;overflow:visible;align-items:center;}
.cg-header .cg-head > a.cg-logo {display:flex!important;align-items:center!important;justify-content:flex-start!important;flex:0 0 196px!important;width:196px!important;min-width:196px!important;max-width:196px!important;height:72px!important;max-height:72px!important;padding:0!important;margin:0!important;overflow:hidden!important;position:relative!important;}
.cg-header .cg-head > a.cg-logo > img.cg-brand-image {display:block!important;position:static!important;width:196px!important;min-width:0!important;max-width:196px!important;height:auto!important;max-height:72px!important;object-fit:contain!important;object-position:left center!important;margin:0!important;padding:0!important;transform:none!important;float:none!important;}
@media(max-width:1080px){.cg-header .cg-head > a.cg-logo{flex-basis:175px!important;width:175px!important;min-width:175px!important;max-width:175px!important}.cg-header .cg-head > a.cg-logo > img.cg-brand-image{width:175px!important;max-width:175px!important}}
@media(max-width:800px){.cg-header .cg-head{height:70px;min-height:70px}.cg-header .cg-head > a.cg-logo{flex-basis:165px!important;width:165px!important;min-width:165px!important;max-width:165px!important;height:65px!important}.cg-header .cg-head > a.cg-logo > img.cg-brand-image{width:165px!important;max-width:165px!important;max-height:65px!important}}

/* v3.2: estimate form interaction and validation */
.cg-form button[type="submit"]{pointer-events:auto;opacity:1;position:relative;z-index:1;min-height:48px}
.cg-form button[type="submit"]:disabled{cursor:wait;opacity:.7}
.cg-form [aria-invalid="true"]{border-color:#c91e23;outline:2px solid #c91e2333}
.cg-form-feedback{margin:0;font-size:14px;font-weight:650;color:#153a80}
.cg-notice{border-radius:8px}
