/* greenwoodvillageroofing.com structural overrides.
   Palette (from badge logo): deep green #0e4f29, ring green #156a37,
   charcoal #1c242a. Loaded LAST. Written against .xh* demoted-heading
   classes (prep_css.py extends template selectors). */

/* no horizontal scroll ever: loader half-panels and card overlays otherwise
   push body scrollWidth past the viewport on phones */
body {
    overflow-x: hidden;
}

/* template only visibility-hides the loader; its offscreen half-panels then
   keep body scrollWidth at 2x viewport. Remove it from layout entirely. */
.loaded .loader-wrapper {
    display: none;
}

@media (max-width: 767px) {
    .service-text-style-two {
        max-width: 100%;
        width: 100%;
    }
}

/* ---------- header: kill the percent-viewport band + arrow (HR wedge lesson).
   Flat white header, full-color badge, works at every width. */
.roofing-header-section::before,
.roofing-header-section::after {
    display: none;
}

.roofing-header-section {
    border-bottom: 1px solid #e7ece9;
}

.logo a img {
    height: 88px;
    width: auto;
    padding: 8px 0;
}

.roofing-menu ul li.current_page_item > a {
    color: #156a37;
}

/* topbar right note */
.gv-topbar-note {
    color: #cfe0d5;
    font-size: 14px;
    text-align: right;
    padding: 14px 0;
}

@media (max-width: 767px) {
    .gv-topbar-note { display: none; }
}

/* ---------- hero: static bg + white quote card right */
.slider-section.style-two {
    background-size: cover;
    background-repeat: no-repeat;
    height: auto;
    min-height: 720px;
    padding: 90px 0;
}

.slider-section.style-two .slider-content h1 {
    font-size: 54px;
}

.gv-hero-card {
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 18px 45px rgba(28, 36, 42, 0.28);
    padding: 34px 32px 28px;
    max-width: 430px;
    margin-left: auto;
}

.gv-hero-card .gv-card-title {
    font-size: 24px;
    font-weight: 700;
    color: #1c242a;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 6px;
}

.gv-hero-card .gv-card-sub {
    font-size: 14px;
    color: #4d4e4f;
    margin-bottom: 18px;
}

.gv-hero-card input {
    width: 100%;
    height: 52px;
    border: 1px solid #dfe6e2;
    border-radius: 6px;
    padding: 0 16px;
    margin-bottom: 14px;
    font-size: 15px;
    outline: none;
}

.gv-hero-card input:focus {
    border-color: #156a37;
}

.gv-hero-card button {
    width: 100%;
    height: 54px;
    border: 0;
    border-radius: 6px;
    background: #156a37;
    color: #ffffff;
    font-weight: 600;
    font-size: 16px;
    transition: 0.4s;
}

.gv-hero-card button:hover {
    background: #0e4f29;
}

.gv-hero-card .gv-card-note {
    font-size: 12.5px;
    color: #6d7672;
    margin: 10px 0 0;
    text-align: center;
}

@media (max-width: 991px) {
    .gv-hero-card {
        margin: 40px auto 0;
    }
    .slider-section.style-two .slider-content h1 {
        font-size: 40px;
    }
}

@media (max-width: 575px) {
    .slider-section.style-two .slider-content h1 {
        font-size: 32px;
    }
    .gv-hero-card {
        padding: 26px 20px 22px;
    }
}

/* form status line (quote.js) */
.gv-form-status {
    font-size: 13.5px;
    color: #156a37;
    margin-top: 10px;
}

/* ---------- sections */
/* stat badge over about image: factual counters, not fake experience */
.about-text.style-two p {
    line-height: 1.3;
}

/* local knowledge cards reuse .testi-box; kill carousel dots overflow */
.gv-knowledge .testi-box {
    margin-bottom: 24px;
}

.testimonial-thumb img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

/* sidebar labels */
.gv-sidebar-label {
    font-size: 19px;
    font-weight: 700;
    color: #1c242a;
    font-family: 'Poppins', sans-serif;
    padding: 22px 30px 0;
    position: relative;
}

.gv-sidebar-label::after {
    content: "";
    display: block;
    width: 46px;
    height: 3px;
    background: #156a37;
    margin-top: 8px;
}

/* subscribe band heading: template's 24px line-height collapses wrapped lines */
.sbuscribe-content .xh2,
.sbuscribe-content h2 {
    line-height: 1.25;
}

/* footer badge logo */
.gv-footer-logo {
    height: 110px;
    width: auto;
}

/* footer link contrast on charcoal (accent green is too dark there) */
.footer-wiget-contact-menu ul li,
.footer-wiget-contact-menu ul li a,
.footer-wiget-menu ul li a,
.footer-condition ul li a,
.copyright-text p a {
    color: #b9cfc0;
}

.footer-wiget-contact-menu ul li a:hover,
.footer-wiget-menu ul li a:hover,
.footer-condition ul li a:hover,
.copyright-text p a:hover {
    color: #ffffff;
}

/* honest-pricing boxes: smaller rate text for ranges */
.pricing-rate .xh3,
.pricing-rate h3 {
    font-size: 30px;
}

.pricing-list span {
    display: block;
}

/* faq single image (no carousel) */
.faq-thumb img {
    width: 100%;
    border-radius: 8px;
}

/* breadcrumb H1 sizing for long keyword+city titles */
.breatcome-title h1 {
    font-size: 44px;
    line-height: 1.2;
}

@media (max-width: 767px) {
    .breatcome-title h1 {
        font-size: 30px;
    }
}

/* service detail body rhythm: real h2 section heads + demoted .xh3 subheads */
.service-details-title h2 {
    font-size: 28px;
    color: #1c242a;
    font-weight: 700;
    padding: 13px 0;
    font-family: 'Poppins', sans-serif;
}

.service-details-title .xh3 {
    font-size: 22px;
    color: #1c242a;
    font-weight: 700;
    padding: 10px 0;
    font-family: 'Poppins', sans-serif;
}

.service-details-discription ul.gv-checks {
    margin: 0 0 18px;
}

.service-details-discription ul.gv-checks li {
    padding: 4px 0 4px 26px;
    position: relative;
    color: #4d4e4f;
}

.service-details-discription ul.gv-checks li::before {
    content: "\f26a";
    font-family: "bootstrap-icons";
    position: absolute;
    left: 0;
    top: 4px;
    color: #156a37;
    font-size: 15px;
}

/* keep long tables readable on phones */
.gv-table-wrap {
    overflow-x: auto;
}

.gv-table-wrap table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 18px;
}

.gv-table-wrap th,
.gv-table-wrap td {
    border: 1px solid #e3e9e5;
    padding: 10px 14px;
    text-align: left;
    font-size: 15px;
    color: #4d4e4f;
}

.gv-table-wrap th {
    background: #f3f7f4;
    color: #1c242a;
    font-weight: 600;
}
