/*
Theme Name: House Boss PA
Theme URI: https://housebosspa.com/
Author: House Boss
Author URI: https://housebosspa.com/
Description: Custom home improvement theme for House Boss PA in Wyomissing, Berks County, PA. Built for Elementor Free with auto-created pages, service pages, blog, quote form and Google Map.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: house-boss-pa
Tags: custom-menu, custom-logo, featured-images, full-width-template, threaded-comments
*/

:root{
  --hb-primary:#D91E26;
  --hb-primary-dark:#B3151C;
  --hb-dark:#111111;
  --hb-topbar-bg:#111111;
  --hb-header-bg:#ffffff;
  --hb-footer-bg:#111111;
  --hb-text:#2b2b2b;
  --hb-muted:#6b6b6b;
  --hb-line:#e7e7e7;
  --hb-soft:#f6f6f6;
  --hb-heading-font:'Archivo',Arial,Helvetica,sans-serif;
  --hb-body-font:'Public Sans',Arial,Helvetica,sans-serif;
  --hb-body-size:16px;
  --hb-header-height:76px;
  --hb-footer-cols:4;
  --hb-inner-hero-img:none;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--hb-body-font);font-size:var(--hb-body-size);line-height:1.65;color:var(--hb-text);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--hb-primary);text-decoration:none}
a:hover{color:var(--hb-primary-dark)}
:focus-visible{outline:3px solid var(--hb-primary);outline-offset:2px}
h1,h2,h3,h4,h5,h6{font-family:var(--hb-heading-font);color:var(--hb-dark);line-height:1.15;margin:0 0 .6em;font-weight:800;letter-spacing:-.01em}
.screen-reader-text{position:absolute;left:-9999px}
.hb-skip{position:absolute;left:-9999px;top:0;background:#fff;padding:10px 16px;z-index:100000}
.hb-skip:focus{left:10px;top:10px}
.hb-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}

/* Top bar */
.hb-topbar{background:var(--hb-topbar-bg);color:#d8d8d8;font-size:13.5px}
.hb-topbar .hb-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px;flex-wrap:wrap}
.hb-topbar a{color:#fff}
.hb-topbar a:hover{color:#ff7b81}
.hb-topbar-group{display:flex;gap:22px;flex-wrap:wrap}

/* Header */
.hb-header{background:var(--hb-header-bg);border-bottom:1px solid var(--hb-line);z-index:999;width:100%}
.hb-sticky .hb-header{position:sticky;top:0}
.admin-bar.hb-sticky .hb-header{top:32px}
.hb-header .hb-wrap{display:flex;align-items:center;justify-content:space-between;min-height:var(--hb-header-height);gap:24px}
.hb-brand{display:flex;flex-direction:column;line-height:1;color:var(--hb-dark)}
.hb-brand:hover{color:var(--hb-dark)}
.hb-brand-name{font-family:var(--hb-heading-font);font-weight:900;font-size:26px;letter-spacing:.01em;text-transform:uppercase;font-style:italic}
.hb-brand-name span{color:var(--hb-primary)}
.hb-brand-tag{font-size:12px;color:var(--hb-muted);margin-top:4px}
.custom-logo{max-height:56px;width:auto}
.hb-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;align-items:center}
.hb-nav li{position:relative}
.hb-nav a{display:block;padding:10px 14px;color:var(--hb-dark);font-weight:600;font-size:15px}
.hb-nav a:hover,.hb-nav .current-menu-item>a,.hb-nav .current_page_item>a{color:var(--hb-primary)}
.hb-nav .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:260px;background:#fff;border:1px solid var(--hb-line);border-top:3px solid var(--hb-primary);padding:8px 0;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.hb-nav li:hover>.sub-menu,.hb-nav li:focus-within>.sub-menu{display:flex}
.hb-nav .sub-menu a{padding:9px 18px;font-weight:500}
.hb-header-cta{display:flex;align-items:center;gap:18px}
.hb-header-phone{font-weight:800;color:var(--hb-dark);font-family:var(--hb-heading-font);font-size:18px;white-space:nowrap}
.hb-btn,.hb-header-cta .hb-btn{display:inline-block;background:var(--hb-primary);color:#fff;font-family:var(--hb-heading-font);font-weight:700;font-size:14px;padding:13px 24px;border-radius:4px;border:0;cursor:pointer;line-height:1.2;transition:background .2s}
.hb-btn:hover{background:var(--hb-primary-dark);color:#fff}
.hb-menu-toggle{display:none;background:none;border:2px solid var(--hb-dark);border-radius:4px;padding:8px 12px;font-weight:700;cursor:pointer;font-family:var(--hb-heading-font)}

/* Elementor sections */
.hb-main{min-height:50vh}
.elementor-section.hb-hero{min-height:var(--hb-hero-height,640px)}
.hb-pill{display:inline-block;background:rgba(217,30,38,.95);color:#fff;font-weight:700;font-size:13.5px;padding:6px 14px;border-radius:30px;margin:0}
.hb-label{color:var(--hb-primary);font-weight:700;font-size:14px;margin:0}
.hb-subtle,.hb-subtle p{color:rgba(255,255,255,.78)}
.hb-card{background:#fff;border:1px solid var(--hb-line);border-left:4px solid var(--hb-primary);padding:28px}
.hb-card h3{font-size:20px}
.hb-estimate{background:#fff;color:var(--hb-text);padding:32px;border-top:6px solid var(--hb-primary)}
.hb-estimate h3{font-size:24px;margin-bottom:.4em}
.hb-estimate ul{list-style:none;margin:18px 0 0;padding:0}
.hb-estimate li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--hb-line);font-size:15px}
.hb-estimate li b{color:var(--hb-dark)}
.hb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.hb-stat{padding:28px 20px;text-align:left;border-left:1px solid rgba(255,255,255,.18)}
.hb-stat:first-child{border-left:0}
.hb-stat strong{display:block;font-family:var(--hb-heading-font);font-size:38px;color:#fff;font-weight:900;line-height:1}
.hb-stat span{display:block;margin-top:8px;color:rgba(255,255,255,.8);font-size:14.5px}
.hb-testimonial{background:#fff;border:1px solid var(--hb-line);padding:30px;height:100%}
.hb-testimonial p{font-size:16.5px;margin:0 0 18px}
.hb-testimonial cite{font-style:normal;font-weight:700;color:var(--hb-dark);display:block}
.hb-testimonial small{color:var(--hb-muted)}
.hb-phonebox{background:var(--hb-dark);color:#fff;padding:22px 26px;margin-top:20px}
.hb-phonebox a{color:#fff;font-family:var(--hb-heading-font);font-size:28px;font-weight:900}
.hb-phonebox span{display:block;color:#c9c9c9;font-size:14px}
.hb-breadcrumb{font-size:14px;color:rgba(255,255,255,.75);margin:0}
.hb-breadcrumb a{color:#fff;text-decoration:underline}
.hb-inner-hero{background-color:var(--hb-dark);background-image:linear-gradient(rgba(17,17,17,.82),rgba(17,17,17,.82)),var(--hb-inner-hero-img);background-size:cover;background-position:center}
.hb-ctabox{background:var(--hb-primary);color:#fff;padding:28px}
.hb-ctabox a.hb-ctaphone{color:#fff;font-family:var(--hb-heading-font);font-size:26px;font-weight:900;display:block}
.hb-hours{width:100%;border-collapse:collapse;font-size:15px}
.hb-hours td{padding:10px 0;border-bottom:1px solid var(--hb-line)}
.hb-hours td:last-child{text-align:right;font-weight:700;color:var(--hb-dark)}
.hb-map iframe{width:100%;height:340px;border:0;display:block}
.hb-map-note{font-size:14px;color:var(--hb-muted)}
.elementor-widget-image img{display:block}
.elementor-widget-accordion .elementor-accordion-item{border-color:var(--hb-line)}
.elementor-widget-accordion .elementor-tab-title{padding:16px 0}

/* Quote form */
.hb-form{background:#fff;border:1px solid var(--hb-line);border-top:6px solid var(--hb-primary);padding:32px}
.hb-form h3{font-size:24px}
.hb-form label{display:block;font-weight:600;font-size:14px;margin:0 0 6px;color:var(--hb-dark)}
.hb-form .hb-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hb-form input[type=text],.hb-form input[type=email],.hb-form input[type=tel],.hb-form select,.hb-form textarea{width:100%;padding:13px 14px;border:1px solid #cfcfcf;border-radius:4px;font:inherit;background:#fff;margin-bottom:16px;color:var(--hb-text)}
.hb-form textarea{min-height:120px;resize:vertical}
.hb-form input:focus,.hb-form select:focus,.hb-form textarea:focus{border-color:var(--hb-primary);outline:2px solid rgba(217,30,38,.25)}
.hb-form .hb-btn{width:100%;font-size:16px;padding:16px}
.hb-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.hb-notice{padding:14px 16px;border-radius:4px;margin-bottom:18px;font-weight:600}
.hb-notice.ok{background:#e8f6ec;color:#17692f;border:1px solid #b5e0c1}
.hb-notice.err{background:#fdecec;color:#9a1218;border:1px solid #f3b9bc}

/* Blog */
.hb-pagehead{background:var(--hb-dark);color:#fff;padding:64px 0}
.hb-pagehead h1{color:#fff;font-size:clamp(30px,5vw,46px);margin:0}
.hb-pagehead p{color:rgba(255,255,255,.75);margin:10px 0 0}
.hb-section{padding:72px 0}
.hb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.hb-post{background:#fff;border:1px solid var(--hb-line);display:flex;flex-direction:column;height:100%}
.hb-post-img{aspect-ratio:16/10;background:var(--hb-soft) center/cover no-repeat;display:block}
.hb-post-body{padding:24px;display:flex;flex-direction:column;flex:1}
.hb-post-meta{font-size:13.5px;color:var(--hb-muted);margin-bottom:8px}
.hb-post h2,.hb-post h3{font-size:21px;margin-bottom:10px}
.hb-post h2 a,.hb-post h3 a{color:var(--hb-dark)}
.hb-post h2 a:hover,.hb-post h3 a:hover{color:var(--hb-primary)}
.hb-post-more{margin-top:auto;font-weight:700}
.hb-pagination{margin-top:44px;text-align:center}
.hb-pagination .page-numbers{display:inline-block;padding:10px 16px;border:1px solid var(--hb-line);margin:0 3px;color:var(--hb-dark);font-weight:600}
.hb-pagination .current{background:var(--hb-primary);border-color:var(--hb-primary);color:#fff}
.hb-article{max-width:780px;margin:0 auto}
.hb-article .hb-featured{width:100%;aspect-ratio:16/9;object-fit:cover;margin:0 0 36px;display:block}
.hb-article h2{font-size:30px;margin-top:1.6em}
.hb-article h3{font-size:23px;margin-top:1.4em}
.hb-article p,.hb-article li{font-size:17.5px}
.hb-article ul{padding-left:1.2em}
.hb-article-cta{margin-top:48px;background:var(--hb-soft);border-left:6px solid var(--hb-primary);padding:28px}
.hb-article-cta h3{margin-top:0}
.hb-tags a{display:inline-block;background:var(--hb-soft);padding:4px 12px;margin:0 6px 6px 0;font-size:13.5px;color:var(--hb-text)}
.hb-postnav{display:flex;justify-content:space-between;gap:20px;margin-top:40px;font-weight:700}
.hb-404{text-align:center;padding:110px 0}
.hb-404 h1{font-size:clamp(70px,14vw,150px);color:var(--hb-primary);margin:0}

/* Footer */
.hb-footer{background:var(--hb-footer-bg);color:#c9c9c9;font-size:15px}
.hb-footer a{color:#e8e8e8}
.hb-footer a:hover{color:#ff7b81}
.hb-footer-main{padding:68px 0 44px}
.hb-footer-grid{display:grid;grid-template-columns:repeat(var(--hb-footer-cols),1fr);gap:40px}
.hb-footer h4{color:#fff;font-size:17px;margin-bottom:16px}
.hb-footer ul{list-style:none;margin:0;padding:0}
.hb-footer li{margin-bottom:9px}
.hb-footer-brand .hb-brand-name{color:#fff}
.hb-footer-social{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}
.hb-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;font-size:14px}
.hb-footer-bottom .hb-wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hb-footer .hb-hours td{border-color:rgba(255,255,255,.12);color:#c9c9c9}
.hb-footer .hb-hours td:last-child{color:#fff}

/* Responsive */
@media(max-width:1024px){
  .hb-menu-toggle{display:inline-block}
  .hb-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--hb-line);padding:10px 24px 20px}
  .hb-nav.open{display:block}
  .hb-header .hb-wrap{position:relative}
  .hb-nav ul{flex-direction:column;align-items:stretch}
  .hb-nav .sub-menu{display:flex;position:static;border:0;box-shadow:none;padding:0 0 0 14px}
  .hb-header-phone{display:none}
  .hb-grid{grid-template-columns:repeat(2,1fr)}
  .hb-footer-grid{grid-template-columns:repeat(2,1fr)}
  .hb-stats{grid-template-columns:repeat(2,1fr)}
  .hb-stat:nth-child(3){border-left:0}
}
@media(max-width:782px){.admin-bar.hb-sticky .hb-header{top:46px}}
@media(max-width:640px){
  .hb-topbar-group.hb-hide-sm{display:none}
  .hb-grid,.hb-footer-grid{grid-template-columns:1fr}
  .hb-form .hb-row{grid-template-columns:1fr}
  .hb-header-cta .hb-btn{display:none}
  .hb-section{padding:48px 0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
