/* Theme extras — supplementary utilities and component classes.
   These are appended because the static tailwind.css was compiled before
   some templates/classes existed. Keep this file loaded AFTER tailwind.css. */

/* --- Missing Tailwind utilities (used by footer / cta / copyright) --- */
.gap-2\.5{gap:.625rem}
.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}
.gap-y-2{row-gap:.5rem}
.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}
.mx-2{margin-left:.5rem;margin-right:.5rem}
.opacity-50{opacity:.5}
.text-base{font-size:1rem;line-height:1.5rem}
.text-white\/85{color:hsla(0,0%,100%,.85)}
.tracking-\[0\.14em\]{letter-spacing:.14em}
.bg-white\/10{background-color:hsla(0,0%,100%,.1)}
.border-white\/10{border-color:hsla(0,0%,100%,.1)}
.hover\:bg-white:hover{background-color:hsla(0,0%,100%,1)}
.hover\:bg-white\!:hover{background-color:hsla(0,0%,100%,1)}
.border-\[\#ffffff\]\!{border-color:#fff}
.hover\:text-brand-600:hover{color: var(--brand-600)}
.hover\:text-brand-600\!:hover{color: var(--brand-600)}
.group-hover\:text-brand-600:hover{color: var(--brand-600)}
.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}
.shadow-\[0_1px_2px_rgba\(15\2c 26\2c 20\2c 0\.04\)\2c 0_8px_24px_-12px_rgba\(15\2c 26\2c 20\2c 0\.1\)\]{--tw-shadow:0 1px 2px rgba(15,26,20,.04),0 8px 24px -12px rgba(15,26,20,.1);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 8px 24px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}
.hover\:shadow-\[0_1px_2px_rgba\(15\2c 26\2c 20\2c 0\.04\)\2c 0_8px_24px_-12px_rgba\(15\2c 26\2c 20\2c 0\.1\)\]:hover{--tw-shadow:0 1px 2px rgba(15,26,20,.04),0 8px 24px -12px rgba(15,26,20,.1);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 8px 24px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}
.lg\:px-8{padding-left:2rem;padding-right:2rem}
.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}
.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}
.swa-cta-bg {
    background-color: var(--swa-cta-bg);
    background-image: var(--swa-cta-bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-top: var(--swa-cta-padding-y);
    padding-bottom: var(--swa-cta-padding-y);
}
.swa-cta-title { color: var(--swa-cta-title-color); }
.swa-btn-primary { background-color: var(--swa-primary); color: #ffffff; }
.swa-btn-primary:hover { opacity: 0.9; }
.swa-btn-secondary { background-color: var(--swa-secondary); color: #ffffff; }
.swa-btn-secondary:hover { opacity: 0.9; }
#footer-widgets {
    background-color: var(--swa-footer-bg);
    background-image: var(--swa-footer-bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--swa-footer-text);
    padding-top: var(--swa-footer-padding-y);
    padding-bottom: var(--swa-footer-padding-y);
}
.footer-widget-title { color: var(--swa-footer-widget-title-color); font-size: var(--swa-footer-widget-title-size); }
.footer-widget-text { color: var(--swa-footer-widget-text-color); font-size: var(--swa-footer-widget-text-size); }
.swa-copyright {
    background-color: var(--swa-copyright-bg);
    padding-top: var(--swa-copyright-padding-y);
    padding-bottom: var(--swa-copyright-padding-y);
}
.copyright-text { color: var(--swa-copyright-text-color); font-size: var(--swa-copyright-text-size); }
.copyright-right-link { color: var(--swa-copyright-text-color); font-size: var(--swa-copyright-text-size); }
.copyright-right-link:hover { text-decoration: underline; }
#footer-cta .swa-btn-secondary{
    border:2px solid #fff !important;
}
#footer-cta .swa-btn-secondary:hover{
    background-color: #fff !important;
    color: var(--swa-primary) !important;
}
h1, h2, h3, h4{
    font-family: "Playfair Display", serif !important;
}
h1 i, h2 i, h3 i, h4 i{
    color: #6F755C;
}
.service.type-service{
    position: relative;
}
.service.type-service .elementor-post__thumbnail__link{
    position: static;
}
.service.type-service .elementor-post__thumbnail__link:after{
    content: '';
    position: absolute;
    left: 0;
    top:0;
    right:0;
    bottom:0;
}
.wpcf7-form p {
    margin: 0;
}
@media screen and (max-width: 767px) {
    .elementor-element-002f32c .elementor-image-box-wrapper{
        display: flex;
        align-items: center;
        gap:10px;
    }
    header#masthead .max-w-7xl, .swa-footer .max-w-7xl{
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* --- Service Cards Shortcode --- */
.swa-service-cards .swa-service-card {
    background-color: #F7F5F2;
    text-decoration: none;
    display: block;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    text-align:center;
    padding-top: 20px;
}
.swa-service-cards .swa-service-card:hover {
    box-shadow: 0 20px 30px rgba(0,0,0,0.2);
    transform: translateY(-4px);
}
.swa-service-cards .swa-service-card h3 {
    transition: color 0.3s ease;
}
.swa-service-cards .swa-service-card .swa-read-more {
    transition: gap 0.3s ease;
}
.swa-service-cards .swa-service-card:hover .swa-read-more {
    gap: 0.625rem;
}
.nsltrfrmInr > p{
    display: flex;
}
.nsltrfrmInr .wpcf7-form-control-wrap{
    width: 100%;
}
.nsltrfrmInr .wpcf7-submit{
    width: auto;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 40px !important;
    border-bottom-right-radius: 40px !important;
}
.nsltrfrmInr .wpcf7-email {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-top-left-radius: 40px !important;
    border-bottom-left-radius: 40px !important;
    height: 52px;
}
