/*
Theme Name: SWP Painting
Theme URI: https://scintillawpthemes.com/product/swp-painting/
Author: scintillawpthemes
Author URI: https://scintillawpthemes.com/
Description: SWP Painting is a modern, lightweight, and fully responsive WordPress block theme built for painting companies, house painters, painting contractors, interior and exterior painting services, wall painting and spray painting experts, decorators, renovation contractors, remodeling firms, and home improvement businesses. Its clean and professional design helps you showcase your services, completed projects, before and after galleries, customer testimonials, pricing plans, team members, and contact information with ease. Built for Full Site Editing, the theme ships with ready made block patterns for the header, hero, about, blog, banner, and footer sections, along with custom block styles, editor styles, and a flexible theme.json color and typography system. It features a mobile friendly layout, fast loading performance, clean SEO friendly code, RTL and translation ready markup, and compatibility with the latest version of WordPress. It supports the Block Editor (Gutenberg) and works seamlessly with popular page builders and plugins, allowing you to create beautiful pages without coding knowledge. Whether you're a professional painter, commercial painting contractor, wallpaper installer, drywall and plastering specialist, epoxy flooring expert, cabinet refinishing studio, waterproofing and coating company, pressure washing or power washing service, handyman, carpenter, plumber, electrician, roofing or flooring company, construction and building firm, cleaning service, landscaping business, interior design studio, architecture agency, local small business, corporate company, freelancer, or a home renovation and maintenance business, SWP Painting provides a flexible foundation for creating a professional online presence with business, services, portfolio, gallery, blog, and contact pages.
Version: 1.2
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 7.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: swp-painting
Tags: blog, education, portfolio, one-column, two-columns, custom-colors, custom-menu, custom-logo, sticky-post, threaded-comments, right-sidebar, left-sidebar, grid-layout, custom-background, rtl-language-support, featured-images, wide-blocks, editor-style, full-site-editing, block-patterns, block-styles, template-editing, footer-widgets, custom-header, translation-ready
*/

.swp-parent-container-1 {
    padding: 90px 20px !important;
}

.swp-single-post-template {
    padding: 0px 20px !important;
}

/* Header */
.swp-header-wrap {
    position: sticky;
    top: 0;
    z-index: 60;
}
.swp-topbar-item {
    color: var(--wp--preset--color--dark-background);
    margin: 0;
}
.swp-topbar-item a:hover,
.swp-topbar-promo a:hover {
    color: var(--wp--preset--color--accent);
}
.swp-topbar-item {
    color: var(--wp--preset--color--dark-background);
    align-items: center;
}
.swp-topbar-item p {
    margin: 0;
    line-height: 1;
    color: var(--wp--preset--color--dark-background);
}
.swp-topbar-ico {
    margin: 0 !important;
    display: flex;
    align-items: center;
    flex: none;
}
.swp-topbar-ico img {
    display: block;
}
.swp-topbar-item a:hover {
    color: var(--wp--preset--color--accent);
}
.swp-topbar-socials {
    gap: 10px !important;
}
.swp-topbar-socials .wp-social-link {
    width: 24px !important;
    height: 24px !important;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, .16);
    background: transparent !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff;
    transition: background .2s ease, border-color .2s ease;
}
.swp-topbar-socials .wp-social-link:hover {
    background: var(--wp--preset--color--accent) !important;
    border-color: var(--wp--preset--color--accent);
    transform: none;
}
.swp-topbar-socials .wp-social-link svg {
    width: 12px !important;
    height: 12px !important;
    fill: #fff !important;
}
.swp-header-search {
    position: relative;
}
.swp-header-search .wp-block-search__inside-wrapper {
    border: none;
}
.swp-header-search .wp-block-search__button {
    background: #fff !important;
    border: 1px solid #17130f1f !important;
    color: var(--wp--preset--color--heading) !important;
    border-radius: 50% !important;
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0 !important;
    margin: 0 !important;
    display: grid;
    place-items: center;
    transition: border-color .2s ease, transform .2s ease;
}
.swp-header-search .wp-block-search__button:hover {
    border-color: var(--wp--preset--color--heading) !important;
    transform: translateY(-2px);
}
.swp-header-search .wp-block-search__button svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}
/* open input overlays below button, no layout reflow */
.swp-header-search .wp-block-search__input {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    width: 280px;
    max-width: 72vw;
    padding: 12px 16px;
    border: 1px solid #17130f1f !important;
    border-radius: 30px;
    background: #fff;
    box-shadow: var(--wp--preset--shadow--deep-shadow);
    z-index: 65;
}
.swp-header-search .wp-block-search__input:focus {
    outline: none;
    border-color: var(--wp--preset--color--accent) !important;
}

/* Header navigation */
.swp-header-nav {
    font-weight: 600;
}
@media (min-width: 1081px) {
    .swp-header-nav > .wp-block-navigation__container {
        flex-wrap: nowrap;
    }
}
.swp-header-nav .wp-block-navigation-item__content {
    padding: 10px 14px;
    border-radius: 30px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    transition: color .2s ease, background .2s ease;
}
.swp-header-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.swp-header-nav .wp-block-navigation-item__content:focus {
    color: var(--wp--preset--color--accent-deep);
    background: rgba(255, 90, 31, .08);
}
/* caret spacing */
.swp-header-nav .wp-block-navigation__submenu-icon {
    margin-left: 2px;
}

/* Dropdown submenu box — desktop only */
@media (min-width: 1081px) {
    .swp-header-nav .wp-block-navigation__submenu-container {
        background: #fff;
        border: 1px solid #17130f1f;
        border-radius: 14px;
        box-shadow: var(--wp--preset--shadow--deep-shadow);
        padding: 8px;
        min-width: 214px;
        margin-top: 8px;
    }
    /* invisible bridge covers the 8px gap so hover doesn't drop */
    .swp-header-nav .wp-block-navigation__submenu-container::before {
        content: "";
        position: absolute;
        top: -8px;
        left: 0;
        right: 0;
        height: 8px;
        background: transparent;
    }
    .swp-header-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
        margin-bottom: 4px;
    }
    .swp-header-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:last-child {
        margin-bottom: 0;
    }
    .swp-header-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        display: block;
        padding: 9px 14px;
        border-radius: 9px;
        text-transform: none;
        letter-spacing: 0;
        font-weight: 600;
        color: var(--wp--preset--color--light-heading);
    }
    .swp-header-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
        background: var(--wp--preset--color--dark-background);
        color: var(--wp--preset--color--accent-deep);
    }
}

/* Mobile overlay menu */
.swp-header-nav .wp-block-navigation__responsive-container.is-menu-open {
    background: var(--wp--preset--color--light-background);
    padding-top: 80px;
}
.swp-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    gap: 0;
}
.swp-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
    border-bottom: 1px solid #17130f14;
}
.swp-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    padding: 14px 4px;
    border-radius: 0;
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
}
/* submenu expands inline — kill the desktop floating box */
.swp-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0 0 0 14px;
    margin: 0;
    min-width: 0;
}
.swp-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    font-size: 1rem;
    font-weight: 500;
    text-transform: none;
    color: var(--wp--preset--color--body-text);
}

/* Headings never overflow small screens */
h1, h2, h3, h4 {
    overflow-wrap: break-word;
    word-break: normal;
}

/* Footer */
.swp-footer {
    color: #A89F92;
    padding: 90px 20px 20px 20px !important;
}
.swp-footer-about,
.swp-footer-about a {
    color: #A89F92;
}
.swp-footer-about a:hover {
    color: var(--wp--preset--color--accent);
}
.swp-foot-heading {
    color: #fff;
}
.swp-foot-nav .wp-block-navigation-item__content {
    color: #A89F92;
    padding: 7px 0;
    transition: color .2s ease, padding .2s ease;
}
.swp-foot-nav .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--accent);
    padding-left: 6px;
}
.swp-foot-contact {
    align-items: flex-start;
}
.swp-foot-ico {
    margin-top: 2px;
    flex: none;
}

/* Footer social icons — bordered boxes (match reference) */
.swp-foot-socials {
    gap: 10px !important;
}
.swp-foot-socials .wp-social-link {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, .16);
    background: transparent !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    transition: background .2s ease, border-color .2s ease;
}
.swp-foot-socials .wp-social-link:hover {
    background: var(--wp--preset--color--accent) !important;
    border-color: var(--wp--preset--color--accent);
    transform: none;
}
.swp-foot-socials .wp-social-link svg {
    width: 16px !important;
    height: 16px !important;
    fill: #fff !important;
}

/* Newsletter field */
.swp-foot-news {
    margin-top: 16px;
}
.swp-foot-news .wp-block-search__inside-wrapper {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 40px;
    padding: 5px 5px 5px 18px;
}
.swp-foot-news .wp-block-search__input {
    background: transparent !important;
    border: none !important;
    color: #fff;
    box-shadow: none !important;
}
.swp-foot-news .wp-block-search__input::placeholder {
    color: #8E8578;
}
.swp-foot-news .wp-block-search__button {
    background: var(--wp--preset--color--accent) !important;
    color: #fff !important;
    border: none !important;
    width: 42px;
    min-width: 42px;
    height: 42px;
    border-radius: 50% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    place-items: center;
}
.swp-foot-news .wp-block-search__button svg {
    width: 17px;
    height: 17px;
    fill: #fff;
}

/* Sub-footer */
.swp-subfoot-text,
.swp-subfoot-text a {
    color: #8E8578;
    text-transform: none;
    letter-spacing: 0;
}
.swp-subfoot-text a:hover {
    color: var(--wp--preset--color--accent);
}

/* Blog cards */
.swp-blog-card {
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease;
    text-align: left;
}
.swp-blog-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--wp--preset--shadow--deep-shadow);
}
.swp-blog-thumb {
    position: relative;
    min-height: 210px;
    background: var(--wp--preset--color--dark-background) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%2317130f' stroke-opacity='0.18' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E") center/48px no-repeat;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
}
.swp-blog-thumb .wp-block-post-featured-image,
.swp-blog-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    margin: 0;
}
.swp-blog-thumb img {
    object-fit: cover;
}
.swp-blog-date {
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 2;
    background: var(--wp--preset--color--accent);
    color: #fff;
    border-radius: 12px;
    padding: 8px 12px;
    line-height: 1;
    text-align: center;
    box-shadow: var(--wp--preset--shadow--soft-shadow);
}
.swp-blog-date a,
.swp-blog-date time {
    color: #fff !important;
}
.swp-blog-card .wp-block-post-title,
.swp-blog-card .swp-blog-tags,
.swp-blog-card .swp-blog-more {
    text-align: left;
}
.swp-blog-more {
    margin-top: 20px !important;
}
.swp-blog-more a {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
}
.swp-blog-card:hover .swp-blog-more a {
    color: var(--wp--preset--color--accent) !important;
}

/* Services cards */
.swp-service-card {
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
    height: 100%;
}
.swp-service-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--wp--preset--shadow--deep-shadow);
    background: var(--wp--preset--color--heading) !important;
}
.swp-service-card:hover h3,
.swp-service-card:hover p {
    color: #fff !important;
}
.swp-service-card:hover .swp-read-more a {
    color: var(--wp--preset--color--accent) !important;
}
.swp-read-more a {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

/* Hero visual + overlay chip */
.swp-hero-visual {
    position: relative;
}
.swp-hero-visual img {
    box-shadow: var(--wp--preset--shadow--deep-shadow);
}
.swp-hero-chip {
    position: absolute;
    right: -10px;
    top: 30px;
    z-index: 2;
    box-shadow: var(--wp--preset--shadow--deep-shadow);
}

/* Ghost button */
.swp-btn-ghost .wp-block-button__link {
    background-color: transparent !important;
    color: var(--wp--preset--color--heading) !important;
    border: 1.5px solid #17130f1f !important;
}
.swp-btn-ghost .wp-block-button__link:hover {
    border-color: var(--wp--preset--color--heading) !important;
}

.swp-homeo-btn-gold a:hover{
    background-color: #17130F;
    transition: all 0.3s ease;
}

.swp-homeo-btn-green a:hover{
    background-color: #FF5A1F !important;
    transition: all 0.3s ease;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .swp-parent-container-1 {
        padding: 48px 18px !important;
    }
    .swp-footer {
        padding: 40px 18px 10px 18px !important;
    }
    .swp-parent-container-remove-bg {
        background: none !important;
    }
    .swp-counter-column-2 {
        border: none !important;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column .swp-counter-column {
        flex-basis: 25% !important;
    }
    .swp-about-img-1 img {
        width: 100% !important;
        height: 400px !important;
    }
    .swp-about-img-2 {
        bottom: -20px !important;
    }
    .swp-about-img-2 img {
        width: 220px !important;
        height: 220px !important;
    }
    .swp-headerbutton {
        display: none !important;
    }
    .swp-header-logo-wrapper {
        flex-basis: 75% !important;
    }
    .swp-header-logo-menu-wrapper {
        flex-basis: 25% !important;
    }
    .swp-hero-chip {
        right: 12px !important;
        top: auto !important;
        bottom: 18px;
        display: inline-flex !important;
        width: auto;
    }
    /* cap tall hero image */
    .swp-hero-visual img {
        aspect-ratio: 4 / 3 !important;
        max-height: 440px;
    }
    /* keep hero "800+" on one line (exclude services heading) */
    .swp-parent-container-1:not(.swp-services) .has-h-2-font-size {
        white-space: nowrap;
    }
    /* blog "View all posts" stays right on mobile */
    .swp-blog .wp-block-buttons {
        justify-content: flex-end !important;
        width: 100%;
    }
}

/* Tab responsive */
@media (min-width: 768px) and (max-width: 1024px) {
    .footer-columns-parent {
        display: flex !important;
        flex-wrap: wrap !important;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile)> .footer-columns-child {
        flex-basis: 45% !important;
        margin-bottom: 20px !important;
        flex-grow: unset !important;
    }   
}