/*
Theme Name: Royal Roofing Pros
Description: Custom theme for Royal Roofing Pros (San Antonio roofing), converted from the original static two-page site.
Version: 1.0.0
Requires PHP: 8.0
Text Domain: royal-roofing-pros
*/
:root{--red:#e50914;--dark:#090b0f;--ink:#11151a;--muted:#626871;--line:#e5e7eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#f5f6f8}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{max-width:1210px;padding:0 24px;margin:auto}.site-header{background:#07090c;color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #333}.nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{width:175px;height:77px;object-fit:contain;object-position:left center}.nav-links{display:flex;align-items:center;gap:29px;margin:0;padding:0;list-style:none;font-size:12px;font-weight:800;text-transform:uppercase}.nav-links a:hover,.nav-links a.active{color:#ff2630}.nav-links a{position:relative}.nav-links a.active:after{content:'';position:absolute;left:0;right:0;bottom:-11px;height:2px;background:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:5px;background:linear-gradient(135deg,#ff1722,#c60008);color:#fff;padding:15px 22px;font-weight:800;font-size:13px;text-transform:uppercase;transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.12)}.btn-outline{background:rgba(0,0,0,.3);border:1px solid #ddd}.menu-toggle{display:none;color:white;background:none;border:1px solid #555;border-radius:4px;padding:8px 12px;font-size:22px}.hero{min-height:580px;position:relative;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.58) 52%,rgba(0,0,0,.12)),url('assets/brand-banner.webp') center/cover;overflow:hidden;color:white;display:flex;align-items:center}.hero-inner{width:100%;position:relative;padding-top:75px;padding-bottom:75px}.hero-copy{max-width:690px}.eyebrow{color:#ff3540;font-size:12px;font-weight:800;letter-spacing:3px;text-transform:uppercase}.hero h1,.page-hero h1{font:900 clamp(52px,7vw,98px)/.91 'Barlow Condensed',sans-serif;text-transform:uppercase;font-style:italic;letter-spacing:.3px;margin:22px 0 18px}.hero h1 span,.page-hero h1 span,.section-title span{color:var(--red)}.hero p{font-size:15px;letter-spacing:2px;text-transform:uppercase;font-weight:700}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.hero-icons{display:flex;gap:26px;flex-wrap:wrap;margin-top:40px}.hero-icons div{width:90px;text-align:center;font:800 15px/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase}.hero-icons b{display:grid;place-items:center;border:2px solid var(--red);border-radius:50%;width:58px;height:58px;margin:0 auto 10px;font-size:26px;background:#090b0fc9}.section{padding:75px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}.section-title{font:900 clamp(32px,4vw,49px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0 0 9px}.section-sub{color:#555c65;font-size:14px;line-height:1.6;margin:0;max-width:650px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.service-card{background:#111;overflow:hidden;border-radius:5px;color:white;min-height:285px;display:flex;flex-direction:column;position:relative}.service-card img{height:205px;width:100%;object-fit:cover;transition:transform .3s}.service-card:hover img{transform:scale(1.04)}.service-info{padding:17px;background:#0b0d11;flex:1}.service-info h3{font:800 22px/1 'Barlow Condensed';margin:0 0 8px;text-transform:uppercase}.service-info p{font-size:12px;color:#c9cbd0;margin:0;line-height:1.5}.feature-band{color:white;background:linear-gradient(90deg,rgba(4,6,10,.95),rgba(4,6,10,.8)),url('assets/roof-home.webp') center/cover;padding:58px 0}.feature-grid{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:35px}.feature-grid p{color:#c8cbd1;line-height:1.7;font-size:14px}.feature-items{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature-item{border:1px solid #5b5c61;border-radius:5px;padding:19px 8px;text-align:center;font:800 15px/1.1 'Barlow Condensed';text-transform:uppercase}.feature-item b{display:block;font-size:30px;margin-bottom:12px}.red-strip{background:linear-gradient(100deg,#b60008,#ed0712,#a90007);color:#fff;padding:24px 0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}.stat-grid div{font:800 23px 'Barlow Condensed';text-transform:uppercase}.stat-grid small{display:block;font:600 11px Inter;margin-top:3px;letter-spacing:1px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery img{width:100%;height:240px;object-fit:cover;border-radius:5px}.cta{background:#0b0d11;color:white;padding:55px 0;text-align:center}.cta h2{font:900 46px 'Barlow Condensed';margin:0 0 15px;text-transform:uppercase}.cta p{color:#c8cbd1;margin-bottom:25px}.footer{background:#06070a;color:#c7c8cb;padding:34px 0;font-size:12px}.footer-flex{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer a{color:white}.page-hero{min-height:350px;display:flex;align-items:center;color:white;background:linear-gradient(90deg,rgba(0,0,0,.91),rgba(0,0,0,.44)),url('assets/roof-home.webp') center/cover}.page-hero h1{font-size:clamp(55px,7vw,82px);margin:0 0 16px}.page-hero p{max-width:530px;line-height:1.7;color:#e7e7e7}.contact-layout{display:grid;grid-template-columns:1.4fr .9fr;gap:24px}.panel{background:white;border-radius:7px;padding:32px;box-shadow:0 8px 24px #1419230c}.panel h2{font:900 32px 'Barlow Condensed';text-transform:uppercase;margin:0 0 7px}.panel h2 span{color:var(--red)}.panel>p{font-size:13px;color:#60656b;margin:0 0 23px;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:13px 12px;border:1px solid #d6d8dc;border-radius:4px;background:#fafafa;color:#111}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #ffb1b5;border-color:var(--red)}.form-submit{width:100%;margin-top:6px}.dark-panel{background:#0b0e13;color:white}.dark-panel p{color:#c3c5ca}.contact-row{display:flex;align-items:flex-start;gap:15px;padding:17px 0;border-bottom:1px solid #34363a}.contact-row .symbol{font-size:25px;color:var(--red);width:34px}.contact-row b{display:block;font-size:14px}.contact-row small{display:block;font-size:12px;color:#aeb2ba;margin-top:6px}.contact-row a:hover{color:#ff3b44}.side-image{width:100%;margin-top:23px;border-radius:5px}.map-panel{background:linear-gradient(90deg,#0a0b0e,#20242b);color:white;padding:55px 0}.map-panel p{color:#c4c5c8;line-height:1.6}.notice{padding:13px;border-radius:4px;margin-bottom:16px;font-size:13px}.notice.error{background:#fff0f0;color:#9a1017}.notice.success{background:#e7f8eb;color:#14652b}.honeypot{position:absolute;left:-9999px;opacity:0}.note{font-size:11px;color:#737880;margin:12px 0 0}.service-img-shingle-roofing{object-position:12% center}.service-img-metal-roofing{object-position:80% 40%}.service-img-tile-roofing{object-position:75% center}.service-img-roof-repairs{object-position:center}.mobile-cta{display:none}@media(max-width:900px){.services{grid-template-columns:repeat(2,1fr)}.feature-grid,.contact-layout{grid-template-columns:1fr}.nav-links{gap:15px}.nav-links a{font-size:11px}.nav .btn{padding:12px}.logo{width:135px}.gallery img{height:190px}}@media(max-width:650px){.container{padding:0 18px}.nav{height:76px}.logo{width:135px;height:65px}.menu-toggle{display:block}.nav>.btn{display:none}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#08090b;flex-direction:column;padding:20px;gap:22px;align-items:flex-start}.nav-links.open{display:flex}.hero{min-height:620px;background-position:40% center}.hero-inner{padding:55px 0}.hero h1{font-size:60px}.hero-icons{gap:12px}.hero-icons div{width:70px;font-size:12px}.hero-icons b{width:50px;height:50px}.section{padding:48px 0}.services,.gallery,.form-grid{grid-template-columns:1fr}.feature-items{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:1fr;gap:18px}.footer-flex{flex-direction:column;text-align:center}.gallery img{height:250px}.panel{padding:22px}.section-head{align-items:flex-start;flex-direction:column}.page-hero{min-height:300px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:19;background:#c9000b;color:white;justify-content:center;padding:13px;font-weight:800}.footer{padding-bottom:75px}}
/* Visual fidelity revision: matches the two-page supplied mockup */
:root{--red:#ec000e}body{background:#f4f4f4}.container{max-width:1380px;padding-left:48px;padding-right:48px}.site-header{background:linear-gradient(110deg,#030609,#0a1019);box-shadow:0 2px 16px #0006}.nav{height:76px}.logo{width:143px;height:72px}.nav-links{gap:34px}.nav-links a{font-size:11px}.btn{border-radius:4px;padding:14px 20px}.hero{min-height:520px;background:linear-gradient(90deg,#080e14 0%,#0c1218 28%,#09111a00 75%),linear-gradient(0deg,#080b0d 0%,transparent 40%),url('assets/hero-scene.jpg') right center / 58% 100% no-repeat,#080e14}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 76% 4%,#d00a1633,transparent 42%);pointer-events:none}.hero-inner{padding-top:50px;padding-bottom:48px}.hero-copy{max-width:660px}.hero h1{font-size:clamp(66px,6.8vw,112px);margin:0 0 12px;letter-spacing:-1px;text-shadow:2px 4px 4px #0009}.hero p{font-size:15px;letter-spacing:3.3px}.hero-icons{margin-top:36px;gap:20px}.hero-icons div{width:94px;font-size:16px}.hero-icons b{height:62px;width:62px;border:3px solid var(--red);font-size:31px;box-shadow:0 0 0 4px #0006}.hero-actions{margin-top:30px}.section{padding:40px 0}.section-title{font-size:42px}.section-head{margin-bottom:24px}.services{gap:18px}.service-card{min-height:260px;box-shadow:0 3px 10px #0002}.service-card img{height:174px;object-fit:cover}.service-info{position:relative;padding:15px 46px 15px 14px;background:linear-gradient(135deg,#111,#030507)}.service-info h3{font-size:22px}.service-info p{font-size:12px}.service-info:after{content:'›';position:absolute;right:14px;top:19px;border-radius:50%;width:26px;height:26px;background:#ed0010;color:white;font:bold 27px/22px Arial;text-align:center}.feature-band{padding:36px 0;background:linear-gradient(90deg,#06090ef2,#080d13d9),url('assets/roof-home.webp') center 40%/cover}.feature-grid{grid-template-columns:1fr 1.05fr}.feature-items{gap:12px}.feature-item{padding:15px 7px;font-size:14px}.red-strip{padding:19px 0}.stat-grid{grid-template-columns:repeat(4,1fr)}.stat-grid div{font-size:21px}.gallery img{height:220px}.page-hero{min-height:345px;background:linear-gradient(90deg,#05090ff0 0%,#071019c9 38%,transparent 82%),url('assets/estimate-scene.jpg') right center/55% 100% no-repeat,#101720}.page-hero h1{font-size:clamp(64px,7vw,100px);margin-bottom:9px}.page-hero p{max-width:490px;font-size:15px;line-height:1.5}.estimate-icons{margin-top:25px}.estimate-icons div{width:95px;font-size:13px}.estimate-icons b{height:47px;width:47px;font-size:24px}.contact-layout{grid-template-columns:1.17fr .92fr;gap:14px;max-width:1220px}.panel{padding:24px;border-radius:5px}.panel h2{font-size:35px}.panel>p{margin-bottom:16px}.field{margin-bottom:8px;gap:6px}.form-grid{gap:8px 13px}.field input,.field select,.field textarea{padding:11px}.field textarea{min-height:95px}.dark-panel{background:linear-gradient(140deg,#13171b,#050608)}.contact-row{padding:14px 0}.dark-panel .side-image{display:block;height:155px;object-fit:contain;background:linear-gradient(145deg,#1b0609,#87030a);margin-top:18px}.map-panel{min-height:235px;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 50%,#7e061a 0%,#2a1019 19%,#10151b 48%,#07090c 75%)}.map-layout{position:relative}.map-layout>h2,.map-layout>p,.map-layout>a{position:relative;z-index:2}.map-art{position:absolute;right:8%;top:-75px;height:350px;width:350px;border-radius:50%;border:2px solid #ff2c4266;box-shadow:0 0 0 55px #e20b181c,0 0 0 105px #e20b180c;display:grid;place-items:center;color:white;font:900 29px 'Barlow Condensed';letter-spacing:3px;background:radial-gradient(circle,#ef0a2555,transparent 67%)}
@media(max-width:900px){.container{padding-left:24px;padding-right:24px}.hero{background-size:75% 100%}.hero-copy{max-width:540px}.page-hero{background-size:70% 100%}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.container{padding-left:18px;padding-right:18px}.nav{height:76px}.hero{min-height:650px;background:linear-gradient(0deg,#060b11 0%,#081018d6 40%,#0810186b 100%),url('assets/hero-scene.jpg') right top/auto 65% no-repeat,#081018}.hero h1{font-size:66px}.hero-copy{padding-top:120px}.hero-icons{gap:9px}.hero-icons div{width:72px;font-size:12px}.hero-icons b{width:51px;height:51px}.services{grid-template-columns:repeat(2,1fr);gap:10px}.service-card{min-height:210px}.service-card img{height:120px}.service-info{padding:11px}.service-info h3{font-size:18px}.service-info p{font-size:11px}.service-info:after{display:none}.feature-grid{grid-template-columns:1fr}.page-hero{min-height:450px;background:linear-gradient(0deg,#070b10 0%,#07101acc 60%,#07101a44 100%),url('assets/estimate-scene.jpg') right top/auto 66% no-repeat,#07101a}.page-hero .container{padding-top:100px;padding-bottom:25px}.page-hero h1{font-size:64px}.estimate-icons{gap:9px}.estimate-icons div{width:70px;font-size:11px}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-grid div{font-size:17px}.map-art{right:-130px;opacity:.5}.contact-layout{grid-template-columns:1fr}}

/* WordPress: the <nav> wrapper around the menu <ul> stays in the header row on mobile; keep the toggle pinned right. */
@media(max-width:650px){.nav{gap:0}.menu-toggle{margin-left:auto}}
.gallery-more{text-align:center;margin:28px 0 0}
.book-online{margin-top:20px}.book-online .btn{width:100%}.book-online small{display:block;text-align:center;font-size:12px;color:#aeb2ba;margin-top:8px}
