/*
Theme Name: Hello Sophia
Theme URI: https://elementor.com/hello-theme/
Description: Hello Sophia child theme based on Hello Elementor.
Author: Sophia’s Mini Doxies
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-sophia
*/

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Source+Sans+Pro:ital,wght@0,400;0,600;0,700;1,400&display=swap');

/* Color Variables and Tokens */
:root {
    --preColor_brand: 60, 28, 1;         /* Dark Chocolate (#3c1c01) */
    --preColor_altBrand: 21, 9, 2;       /* Almost Black Chocolate (#150902) */
    --preColor_text: 192, 151, 119;      /* Metallic Gold/Tan (#c09777) */
    --preColor_textAlt: 255, 255, 255;   /* White */
    --preColor_complementary: 248, 248, 248; /* Off-White */
    
    --color_brand: rgb(var(--preColor_brand));
    --color_altBrand: rgb(var(--preColor_altBrand));
    --color_text: rgb(var(--preColor_text));
    --color_textAlt: rgb(var(--preColor_textAlt));
    --color_complementary: rgb(var(--preColor_complementary));
    
    --font_primary: 'Roboto', sans-serif;
    --font_secondary: 'Source Sans Pro', sans-serif;
}

/* Global Styling & Background */
body, html {
    background-color: var(--color_brand) !important;
    background-image: linear-gradient(180deg, var(--color_brand) 0%, var(--color_altBrand) 100%) !important;
    font-family: var(--font_primary) !important;
    color: var(--color_complementary) !important;
    line-height: 1.8;
}

/* Ensure background color propagates to Elementor main wrappers */
#content, .site-content, .elementor, .elementor-section {
    background-color: transparent !important;
}

/* Typography Overrides */
h1, h2, h3, h4, h5, h6, 
.elementor-heading-title {
    font-family: var(--font_secondary) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px;
    margin-bottom: 20px !important;
}

/* H1 Site Title */
h1, .elementor-widget-heading h1.elementor-heading-title {
    font-size: 3.2rem !important;
    color: #ffffff !important;
    text-align: center;
    text-shadow: 0 4px 8px rgba(0,0,0,0.5);
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}

/* H2 Page Titles */
h2, .elementor-widget-heading h2.elementor-heading-title {
    font-size: 2.6rem !important;
    color: var(--color_text) !important;
    text-align: center;
    margin-top: 25px !important;
    margin-bottom: 15px !important;
    border-bottom: 2px solid rgba(192, 151, 119, 0.2);
    padding-bottom: 15px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* H3 Section Headings */
h3, .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.8rem !important;
    color: #ffffff !important;
    margin-top: 20px !important;
    margin-bottom: 15px !important;
    text-align: center;
}

/* H4 Puppy Names & Subheadings */
h4, .elementor-widget-heading h4.elementor-heading-title {
    font-size: 1.4rem !important;
    text-align: center;
    color: var(--color_text) !important;
    margin-top: 10px !important;
    margin-bottom: 15px !important;
    font-weight: 600 !important;
}

/* Text Editor & Paragraph Styling */
.elementor-text-editor p, 
.elementor-text-editor, 
.elementor-widget-text-editor p {
    font-size: 1.1rem !important;
    color: var(--color_complementary) !important;
    margin-bottom: 1.6rem !important;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* Container Spacing & Layout */
.elementor-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px;
}

.elementor-widget-wrap {
    padding: 20px 0 !important;
}

/* Puppy Grid & Image Styling (Double-Border Frame) */
.elementor-widget-image img {
    border: 3px solid var(--color_text) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 15px auto;
}

/* Image Hover Animation */
.elementor-widget-image img:hover {
    transform: scale(1.03) translateY(-6px);
    box-shadow: 0 15px 35px rgba(192, 151, 119, 0.3) !important;
    border-color: #ffffff !important;
}

/* Link Styling */
a {
    color: var(--color_text);
    text-decoration: none;
    transition: color 0.3s ease, border-color 0.3s ease;
}

a:hover {
    color: #ffffff;
}

/* Custom Button Styling */
.elementor-button, 
a.btn, 
a.button, 
input[type="submit"] {
    background-color: var(--color_text) !important;
    color: var(--color_altBrand) !important;
    font-family: var(--font_secondary) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 4px !important;
    padding: 12px 28px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
}

.elementor-button:hover, 
a.btn:hover, 
a.button:hover, 
input[type="submit"]:hover {
    background-color: #ffffff !important;
    color: var(--color_brand) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(192, 151, 119, 0.3) !important;
}

/* Header Top Bar Styling */
.header-top-bar {
    width: 100% !important;
    background-color: var(--color_text) !important;
    color: var(--color_altBrand) !important;
    padding: 8px 0 !important;
    font-size: 0.85rem !important;
    font-family: var(--font_secondary) !important;
    font-weight: 600 !important;
    border-bottom: 1px solid rgba(21, 9, 2, 0.1) !important;
}

.header-top-bar-inner {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.top-bar-contact {
    display: flex !important;
    gap: 30px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

.top-bar-item {
    color: var(--color_altBrand) !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.top-bar-item:hover {
    color: #ffffff !important;
}

.top-bar-icon {
    margin-right: 6px !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Navigation Menu Header */
header, 
.site-header {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    background-color: var(--color_altBrand) !important;
    border-bottom: 2px solid var(--color_text) !important;
    padding: 0 !important;
    position: relative !important;
    overflow: visible !important; /* Prevent header container from clipping dropdown */
}

.header-inner {
    padding: 15px 20px !important;
    position: relative !important; /* Context for absolute dropdown */
    overflow: visible !important; /* Prevent inner container from clipping dropdown */
}

/* Header Flex Alignment (logo and menu on same line) */
@media (min-width: 768px) {
    header .header-inner {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 10px 20px !important;
    }
    
    header .site-branding {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        margin-bottom: 0 !important;
    }
    
    header .site-navigation {
        display: flex !important;
        flex: 1 1 auto !important;
        justify-content: flex-end !important;
        align-items: center !important;
    }
}

/* Custom Logo Styling */
.custom-logo-link,
.site-branding a {
    display: inline-block !important;
    vertical-align: middle !important;
}

.custom-logo-link img, 
.custom-logo {
    max-height: 70px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: transform 0.3s ease !important;
}

.custom-logo-link img:hover, 
.custom-logo:hover {
    transform: scale(1.05) !important;
}


header .menu-item a, 
.site-navigation ul.menu li a {
    font-family: var(--font_secondary) !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    text-transform: uppercase;
    letter-spacing: 1px !important;
    font-size: 0.85rem !important;
    transition: color 0.3s ease, background-color 0.3s ease;
    padding: 8px 12px !important;
    border-radius: 4px;
    white-space: nowrap !important;
}

header .menu-item a:hover, 
header .menu-item.current-menu-item a, 
.site-navigation ul.menu li a:hover, 
.site-navigation ul.menu li.current-menu-item a {
    color: var(--color_text) !important;
    background-color: rgba(192, 151, 119, 0.1) !important;
}

/* Flex navigation wrapping fix and spacing reduction */
header .site-navigation ul.menu {
    display: flex;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Footer Styling */
footer, 
.site-footer {
    background-color: var(--color_altBrand) !important;
    border-top: 1.5px solid rgba(192, 151, 119, 0.25) !important;
    padding: 50px 0 0 0 !important;
    color: #eae0da !important;
}

.site-footer .footer-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

/* 3-Column Layout */
.site-footer .footer-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 35px !important;
    padding: 0 20px 40px 20px !important;
    text-align: center !important;
}

@media (min-width: 768px) {
    .site-footer .footer-columns {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 40px !important;
        text-align: left !important;
    }
    
    .site-footer .brand-column {
        width: 30% !important;
        flex: 0 0 30% !important;
    }
    
    .site-footer .links-column {
        width: 48% !important;
        flex: 0 0 48% !important;
        padding-left: 20px !important;
    }
    
    .site-footer .contacts-column {
        width: 22% !important;
        flex: 0 0 22% !important;
    }
}

/* Brand Column styling */
.site-footer .brand-column .site-branding {
    margin-bottom: 12px !important;
}

.site-footer .brand-column .site-title a {
    font-size: 1.55rem !important;
    color: var(--color_accent) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 0.5px !important;
}

.site-footer .brand-text {
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
    color: #dcd0c9 !important;
    margin: 0 !important;
}

/* Column Headings styling */
.site-footer .footer-column h4 {
    color: var(--color_accent) !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    font-family: var(--font_secondary) !important;
}

/* Quick Links Column (2 Columns Display) */
.site-footer .links-column nav.site-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 0 !important;
    justify-content: center !important;
}

@media (min-width: 768px) {
    .site-footer .links-column nav.site-navigation ul {
        justify-content: flex-start !important;
    }
}

.site-footer .links-column nav.site-navigation ul li {
    width: 50% !important;
    flex: 0 0 50% !important;
    box-sizing: border-box !important;
    display: inline-block !important;
}

@media (max-width: 767px) {
    .site-footer .links-column nav.site-navigation ul li {
        text-align: center !important;
        padding: 0 10px !important;
    }
}

.site-footer .links-column nav.site-navigation ul li a {
    color: #dcd0c9 !important;
    font-size: 0.92rem !important;
    font-weight: 400 !important;
    text-transform: none !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.site-footer .links-column nav.site-navigation ul li a:hover {
    color: var(--color_accent) !important;
}

/* Contacts Column styling */
.site-footer .contacts-column .contacts-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.site-footer .contacts-column .contacts-list li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 0.95rem !important;
    color: #eae0da !important;
    justify-content: center !important;
}

@media (min-width: 768px) {
    .site-footer .contacts-column .contacts-list li {
        justify-content: flex-start !important;
    }
}

.site-footer .contacts-column .contacts-list li a {
    color: #eae0da !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.site-footer .contacts-column .contacts-list li a:hover {
    color: var(--color_accent) !important;
}

.site-footer .contact-icon {
    font-size: 1.1rem !important;
    display: flex !important;
    align-items: center !important;
}

/* Copyright Bottom Bar */
.site-footer .copyright {
    background-color: #0c0501 !important; /* darker bottom bar */
    padding: 20px 0 !important;
    border-top: 1px solid rgba(192, 151, 119, 0.15) !important;
    width: 100% !important;
    margin: 0 !important;
}

.site-footer .copyright p {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
}

@media (min-width: 768px) {
    .site-footer .copyright p {
        flex-direction: row !important;
        justify-content: space-between !important;
    }
}

.site-footer .copyright-text {
    font-size: 0.88rem !important;
    color: #dcd0c9 !important;
}

.site-footer .footer-legal-links {
    display: inline-flex !important;
    gap: 15px !important;
}

.site-footer .footer-legal-links a {
    color: #dcd0c9 !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.site-footer .footer-legal-links a:hover {
    color: var(--color_accent) !important;
}

.site-footer .footer-legal-links a:not(:first-child)::before {
    content: "|" !important;
    margin-right: 15px !important;
    color: rgba(192, 151, 119, 0.25) !important;
    font-weight: normal !important;
}

/* ==========================================
   MOBILE HAMBURGER TOGGLE BUTTON & DROPDOWN STYLING
   ========================================== */

/* Mobile Toggle Button */
.site-navigation-toggle {
    color: var(--color_text) !important;
    border: 2px solid var(--color_text) !important; /* Prominent stand-out border */
    border-radius: 8px !important;
    background-color: rgba(192, 151, 119, 0.08) !important;
    padding: 10px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.site-navigation-toggle:hover,
.site-navigation-toggle[aria-expanded="true"] {
    color: #ffffff !important;
    border-color: #ffffff !important;
    background-color: rgba(192, 151, 119, 0.18) !important;
}

/* Fix icon span background-color filling as a block bug */
.site-navigation-toggle-icon {
    background-color: transparent !important;
}

/* Hamburguer lines coloring (inherited from toggle button color) */
.site-navigation-toggle-icon::before,
.site-navigation-toggle-icon::after {
    background-color: currentColor !important;
    transition: all 0.3s ease !important;
}

/* Mobile Dropdown Container */
.site-navigation-dropdown {
    position: absolute !important;
    top: 100% !important;
    bottom: auto !important; /* Cancel parent theme bottom: 0 styling! */
    left: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    background-color: var(--color_altBrand) !important; /* Earthy Dark Chocolate matching header */
    border-top: 1px solid rgba(192, 151, 119, 0.25) !important;
    border-bottom: 3px solid var(--color_text) !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5) !important;
    padding: 10px 0 !important;
    overflow: hidden !important; /* Clips items to rounded corners */
}

/* Force static positioning so parent container expands to wrap items */
.site-navigation-dropdown ul.menu {
    position: static !important;
    display: block !important;
    width: 100% !important;
    background-color: var(--color_altBrand) !important;
    background: var(--color_altBrand) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-navigation-dropdown ul.menu li {
    background-color: var(--color_altBrand) !important;
    background: var(--color_altBrand) !important;
    border: none !important;
    display: block !important;
}

/* Mobile Dropdown Items */
.site-navigation-dropdown .menu-item a {
    color: #eae0da !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    text-transform: none !important; /* Natural Case */
    text-decoration: none !important;
    padding: 14px 24px !important;
    display: block !important;
    border-bottom: 1px solid rgba(192, 151, 119, 0.08) !important;
    transition: all 0.3s ease !important;
    background-color: transparent !important;
}

.site-navigation-dropdown .menu-item:last-child a {
    border-bottom: none !important;
}

/* Mobile Dropdown Hover / Active States */
.site-navigation-dropdown .menu-item a:hover,
.site-navigation-dropdown .menu-item.current-menu-item > a {
    color: var(--color_accent) !important; /* Gold text */
    background-color: rgba(192, 151, 119, 0.06) !important; /* Subtle background glow */
    padding-left: 28px !important; /* Subtle indent effect */
}


/* Spacing tweak for Puppy Grid columns */
.elementor-widget-image + .elementor-widget-heading {
    margin-top: -5px !important;
    margin-bottom: 40px !important;
}

/* Homepage Hero Overlay Banner Styling */
.homepage-hero {
    min-height: 600px !important;
    padding: 120px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    position: relative !important;
    background-image: linear-gradient(rgba(21, 9, 2, 0.65), rgba(21, 9, 2, 0.65)), url('/wp-content/uploads/2026/07/slide-1.webp') !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    margin-bottom: 50px !important;
}

.homepage-hero h1 {
    color: #ffffff !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.9) !important;
    margin-bottom: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-family: var(--font_primary) !important;
}

.homepage-hero p {
    color: #f5eae2 !important;
    font-size: 1.25rem !important;
    max-width: 800px !important;
    margin: 0 auto 35px auto !important;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.9) !important;
    line-height: 1.6 !important;
    font-family: var(--font_secondary) !important;
}

.homepage-hero .elementor-button {
    font-size: 1.05rem !important;
    padding: 16px 36px !important;
    border-radius: 30px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

@media (max-width: 767px) {
    .homepage-hero {
        min-height: 450px !important;
        padding: 80px 15px !important;
    }
    
    .homepage-hero h1 {
        font-size: 2.25rem !important;
    }
    
    .homepage-hero p {
        font-size: 1.05rem !important;
    }
}



/* Page root container reset to remove gaps and space above slider */
body.home #content,
body.home .site-content,
body.home .elementor-1163,
body.home .elementor-1163 > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important; /* Force all top-level sections to stack vertically */
    --display: flex !important;
    --flex-direction: column !important;
}

/* 1. Homepage Hero Overlay Banner Styling (centered and full width) */
body.home .elementor-1163 > .e-con > .e-con:nth-child(1) {
    min-height: 600px !important;
    padding: 120px 20px !important;
    display: flex !important;
    flex-direction: column !important; /* Stack widgets vertically! */
    justify-content: center !important; /* Center vertically */
    align-items: center !important; /* Center horizontally */
    text-align: center !important;
    position: relative !important;
    background-image: linear-gradient(rgba(21, 9, 2, 0.65), rgba(21, 9, 2, 0.65)), url('../../uploads/2026/07/slide-1.webp') !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    margin-top: 0 !important; /* Remove space above slider */
    margin-bottom: 30px !important;
    width: 100% !important;
    max-width: 100% !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: center !important;
    --align-items: center !important;
}

body.home .elementor-1163 > .e-con > .e-con:nth-child(1) h1 {
    color: #ffffff !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.9) !important;
    margin-bottom: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-family: var(--font_primary) !important;
}

body.home .elementor-1163 > .e-con > .e-con:nth-child(1) p {
    color: #f5eae2 !important;
    font-size: 1.25rem !important;
    max-width: 800px !important;
    margin: 0 auto 35px auto !important;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.9) !important;
    line-height: 1.6 !important;
    font-family: var(--font_secondary) !important;
}

body.home .elementor-1163 > .e-con > .e-con:nth-child(1) .elementor-button {
    font-size: 1.05rem !important;
    padding: 16px 36px !important;
    border-radius: 30px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

@media (max-width: 767px) {
    body.home .elementor-1163 > .e-con > .e-con:nth-child(1) {
        min-height: 450px !important;
        padding: 80px 15px !important;
    }
    
    body.home .elementor-1163 > .e-con > .e-con:nth-child(1) h1 {
        font-size: 2.25rem !important;
    }
    
    body.home .elementor-1163 > .e-con > .e-con:nth-child(1) p {
        font-size: 1.05rem !important;
    }
}

/* 2. Top-level content containers (Intro, Inquiry, etc.) centering and max width */
body.home .elementor-1163 > .e-con > .e-con:not(:nth-child(1)) {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-top: 30px !important; /* Reduced vertical spacing between sections */
    margin-bottom: 30px !important; /* Reduced vertical spacing between sections */
}

/* Specific centering for direct widget containers (Intro, Inquiry) */
body.home .elementor-1163 > .e-con > .e-con:nth-child(2),
body.home .elementor-1163 > .e-con > .e-con:nth-child(7) {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: center !important;
    --align-items: center !important;
}

/* Spacing and alignments inside intro/inquiry section */
body.home .elementor-1163 > .e-con > .e-con:nth-child(2) .elementor-widget-heading,
body.home .elementor-1163 > .e-con > .e-con:nth-child(7) .elementor-widget-heading {
    margin-bottom: 15px !important;
}

body.home .elementor-1163 > .e-con > .e-con:nth-child(2) .elementor-widget-text-editor,
body.home .elementor-1163 > .e-con > .e-con:nth-child(7) .elementor-widget-text-editor {
    margin-bottom: 25px !important;
    max-width: 900px !important;
}

/* 3. Two Column Row Layout overrides using structural selectors (Row 4, 5, 6) */
body.home .elementor-1163 > .e-con > .e-con:nth-child(4),
body.home .elementor-1163 > .e-con > .e-con:nth-child(5),
body.home .elementor-1163 > .e-con > .e-con:nth-child(6) {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    width: 100% !important;
    --display: flex !important;
    --flex-direction: column !important;
}

body.home .elementor-1163 > .e-con > .e-con:nth-child(4) > .e-con,
body.home .elementor-1163 > .e-con > .e-con:nth-child(5) > .e-con,
body.home .elementor-1163 > .e-con > .e-con:nth-child(6) > .e-con {
    width: 100% !important;
    flex: 1 1 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: center !important;
}

@media (min-width: 768px) {
    body.home .elementor-1163 > .e-con > .e-con:nth-child(4),
    body.home .elementor-1163 > .e-con > .e-con:nth-child(5),
    body.home .elementor-1163 > .e-con > .e-con:nth-child(6) {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 50px !important;
        --flex-direction: row !important;
        --justify-content: space-between !important;
        --align-items: center !important;
        --flex-wrap: nowrap !important;
    }
    
    body.home .elementor-1163 > .e-con > .e-con:nth-child(4) > .e-con,
    body.home .elementor-1163 > .e-con > .e-con:nth-child(5) > .e-con,
    body.home .elementor-1163 > .e-con > .e-con:nth-child(6) > .e-con {
        width: 48% !important;
        flex: 0 0 48% !important;
    }
}

/* 4. 3-Column Info Boxes Section (Value Cards - Row 3) Overrides */
body.home .elementor-1163 > .e-con > .e-con:nth-child(3) {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
    --display: flex !important;
    --flex-direction: column !important;
}

body.home .elementor-1163 > .e-con > .e-con:nth-child(3) > .e-con {
    width: 100% !important;
    flex: 1 1 100% !important;
    background-color: rgba(192, 151, 119, 0.04) !important;
    border: 1px solid rgba(192, 151, 119, 0.2) !important;
    border-radius: 12px !important;
    padding: 30px 25px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease, border-color 0.4s ease, background-color 0.4s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: flex-start !important;
    --align-items: center !important;
}

body.home .elementor-1163 > .e-con > .e-con:nth-child(3) > .e-con:hover {
    transform: translateY(-10px) scale(1.02) !important;
    background-color: rgba(192, 151, 119, 0.08) !important;
    border-color: rgba(192, 151, 119, 0.7) !important;
    box-shadow: 0 15px 35px rgba(192, 151, 119, 0.2) !important;
}

body.home .elementor-1163 > .e-con > .e-con:nth-child(3) > .e-con h4 {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    color: var(--color_text) !important;
    font-size: 1.25rem !important;
}

body.home .elementor-1163 > .e-con > .e-con:nth-child(3) > .e-con p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}

@media (min-width: 768px) {
    body.home .elementor-1163 > .e-con > .e-con:nth-child(3) {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        gap: 25px !important;
        --flex-direction: row !important;
        --justify-content: space-between !important;
        --align-items: stretch !important;
        --flex-wrap: nowrap !important;
    }
    
    body.home .elementor-1163 > .e-con > .e-con:nth-child(3) > .e-con {
        width: 31% !important;
        flex: 0 0 31% !important;
    }
}


/* ==========================================
   AVAILABLE PUPPIES PAGE STYLING (ID 1175)
   ========================================== */

/* Page root container reset to center and size the layout */
body.page-id-1175 #content,
body.page-id-1175 .site-content,
body.page-id-1175 .elementor-1175,
body.page-id-1175 .elementor-1175 > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    --display: flex !important;
    --flex-direction: column !important;
}

/* Header/Intro Centering & Alignment - Squeezed spacing around title */
body.page-id-1175 .elementor-1175 > .e-con {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 10px auto 10px auto !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: center !important;
    --align-items: center !important;
}

/* Tighten Page Headings spacing using DOM structure path */
body.page-id-1175 .elementor-1175 > .e-con > .elementor-widget-heading:nth-of-type(1),
body.page-id-1175 .elementor-1175 > .e-con > .elementor-widget-heading:nth-of-type(2),
body.page-id-1175 .elementor-1175 > .e-con > .elementor-widget-text-editor {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-1175 .elementor-1175 > .e-con > .elementor-widget-heading:nth-of-type(1) h2 {
    color: var(--color_accent) !important;
    font-size: 2.75rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: var(--font_primary) !important;
}

body.page-id-1175 .elementor-1175 > .e-con > .elementor-widget-heading:nth-of-type(2) h3 {
    color: var(--color_text) !important;
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    font-family: var(--font_primary) !important;
}

body.page-id-1175 .elementor-1175 > .e-con > .elementor-widget-text-editor .elementor-widget-container {
    font-size: 1.1rem !important;
    line-height: 1.35 !important;
    color: #eae0da !important;
    max-width: 900px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Margin gaps between the title widgets */
body.page-id-1175 .elementor-1175 > .e-con > .elementor-widget-heading:nth-of-type(1) {
    margin-bottom: 2px !important;
}

body.page-id-1175 .elementor-1175 > .e-con > .elementor-widget-heading:nth-of-type(2) {
    margin-bottom: 8px !important;
}

body.page-id-1175 .elementor-1175 > .e-con > .elementor-widget-text-editor {
    margin-bottom: 15px !important;
}

/* Responsive Puppy Grid Layout (Child container holding cards) */
body.page-id-1175 .elementor-1175 > .e-con > .e-con {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    --display: flex !important;
    --flex-direction: row !important;
    --flex-wrap: wrap !important;
}

/* Individual Puppy Card Container styling */
body.page-id-1175 .elementor-1175 > .e-con > .e-con > .e-con {
    width: 100% !important;
    flex: 1 1 100% !important;
    background-color: rgba(192, 151, 119, 0.04) !important;
    border: 1px solid rgba(192, 151, 119, 0.15) !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease, border-color 0.4s ease, background-color 0.4s ease !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: flex-start !important;
}

/* Responsive columns breakpoints (2 cards per row on desktop and tablet) */
@media (min-width: 600px) {
    body.page-id-1175 .elementor-1175 > .e-con > .e-con > .e-con {
        width: 48% !important;
        flex: 0 0 48% !important;
    }
}

/* Card Hover Animation */
body.page-id-1175 .elementor-1175 > .e-con > .e-con > .e-con:hover {
    transform: translateY(-8px) scale(1.01) !important;
    border-color: rgba(192, 151, 119, 0.6) !important;
    box-shadow: 0 15px 40px rgba(192, 151, 119, 0.25) !important;
    background-color: rgba(192, 151, 119, 0.08) !important;
}

/* Image zoom transition inside Card */
body.page-id-1175 .elementor-1175 > .e-con > .e-con > .e-con .elementor-widget-image {
    overflow: hidden !important;
    border-radius: 12px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2) !important;
    display: block !important;
    width: 100% !important;
}

body.page-id-1175 .elementor-1175 > .e-con > .e-con > .e-con .elementor-widget-image img {
    transition: transform 0.5s ease !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

body.page-id-1175 .elementor-1175 > .e-con > .e-con > .e-con:hover .elementor-widget-image img {
    transform: scale(1.06) !important;
}

/* Puppy Name style inside Card */
body.page-id-1175 .elementor-1175 > .e-con > .e-con > .e-con h4 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--color_text) !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-family: var(--font_primary) !important;
}

/* Puppy details metadata block formatting */
.puppy-details {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-family: var(--font_secondary);
    margin-top: auto;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.95rem;
    color: #dcd0c9 !important;
    border-bottom: 1px solid rgba(192, 151, 119, 0.1);
    padding-bottom: 8px;
}

.detail-label {
    font-weight: 600;
    color: #c09777 !important; /* Gold label */
}

/* Badge indicating availability */
.status-badge.available {
    background-color: #2e7d32;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(46, 125, 50, 0.3);
}

.price-row {
    border-bottom: none;
    padding-bottom: 0;
    margin-top: 5px;
}

.puppy-price {
    font-size: 1.35rem;
    font-weight: 700;
    color: #dca77e !important; /* Accent color */
}

/* Reserve puppy CTA button styles */
.reserve-btn-row {
    margin-top: 18px !important;
    width: 100% !important;
}

.reserve-puppy-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background-color: #ffb703 !important; /* Bright amber gold */
    color: #0c0401 !important; /* Dark text for readability */
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 12px 20px !important;
    border-radius: 30px !important;
    box-shadow: 0 4px 15px rgba(255, 183, 3, 0.3) !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    font-family: var(--font_primary) !important;
}

.reserve-puppy-btn:hover {
    background-color: #ffffff !important;
    color: #0c0401 !important;
    box-shadow: 0 6px 20px rgba(255, 255, 255, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* ==========================================
   ABOUT US PAGE STYLING (ID 1168)
   ========================================== */

/* Page root container reset to remove gaps */
body.page-id-1168 #content,
body.page-id-1168 .site-content,
body.page-id-1168 .elementor-1168,
body.page-id-1168 .elementor-1168 > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    --display: flex !important;
    --flex-direction: column !important;
}

/* 1. Hero Banner Container */
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(1) {
    min-height: 350px !important;
    padding: 80px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    position: relative !important;
    background-image: linear-gradient(rgba(21, 9, 2, 0.7), rgba(21, 9, 2, 0.7)), url('../../uploads/2026/07/slide-3.webp') !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    margin-top: 0 !important;
    margin-bottom: 40px !important;
    width: 100% !important;
    max-width: 100% !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: center !important;
    --align-items: center !important;
}

body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(1) h1 {
    color: #ffffff !important;
    font-size: 3.5rem !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.9) !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    margin: 0 !important;
    font-family: var(--font_primary) !important;
}

/* 2. Top-level content containers general margins and centering */
body.page-id-1168 .elementor-1168 > .e-con > .e-con:not(:nth-child(1)) {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}

/* 3. First and Fifth Sections: 1 column text (Who We Are and Promise/Relationships) */
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(2),
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(6) {
    max-width: 850px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin-bottom: 50px !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: center !important;
    --align-items: center !important;
}

body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(2) h3,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(6) h3 {
    color: var(--color_accent) !important;
    font-size: 2.25rem !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    font-family: var(--font_primary) !important;
}

body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(2) .elementor-widget-text-editor,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(6) .elementor-widget-text-editor {
    font-size: 1.15rem !important;
    line-height: 1.75 !important;
    color: #eae0da !important;
}

/* 4. Alternating Columns (Sections 2, 3, and 4) */
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(3),
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(4),
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(5) {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    width: 100% !important;
    --display: flex !important;
    --flex-direction: column !important;
}

body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(3) > .e-con,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(4) > .e-con,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(5) > .e-con {
    width: 100% !important;
    flex: 1 1 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: center !important;
}

body.page-id-1168 h3 {
    color: var(--color_accent) !important;
    font-size: 1.85rem !important;
    font-weight: 600 !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    font-family: var(--font_primary) !important;
}

body.page-id-1168 h3:first-of-type {
    margin-top: 0 !important;
}

body.page-id-1168 .elementor-widget-text-editor {
    font-size: 1.05rem !important;
    line-height: 1.65 !important;
    color: #dcd0c9 !important;
}

body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(3) > .e-con:nth-child(1) .elementor-widget-image,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(4) > .e-con:nth-child(2) .elementor-widget-image,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(5) > .e-con:nth-child(1) .elementor-widget-image {
    overflow: hidden !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(192, 151, 119, 0.15) !important;
}

body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(3) > .e-con:nth-child(1) .elementor-widget-image img,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(4) > .e-con:nth-child(2) .elementor-widget-image img,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(5) > .e-con:nth-child(1) .elementor-widget-image img {
    width: 100% !important;
    height: 380px !important;
    object-fit: cover !important;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(3) > .e-con:nth-child(1):hover .elementor-widget-image img,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(4) > .e-con:nth-child(2):hover .elementor-widget-image img,
body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(5) > .e-con:nth-child(1):hover .elementor-widget-image img {
    transform: scale(1.04) !important;
}

@media (min-width: 768px) {
    body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(3),
    body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(4),
    body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(5) {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 50px !important;
        --flex-direction: row !important;
        --justify-content: space-between !important;
        --align-items: center !important;
        --flex-wrap: nowrap !important;
    }
    
    body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(3) > .e-con,
    body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(4) > .e-con,
    body.page-id-1168 .elementor-1168 > .e-con > .e-con:nth-child(5) > .e-con {
        width: 48% !important;
        flex: 0 0 48% !important;
    }
}

/* ==========================================
   5-STAR REVIEWS PAGE STYLING (ID 1195)
   ========================================== */

/* Page root container reset */
body.page-id-1195 #content,
body.page-id-1195 .site-content,
body.page-id-1195 .elementor-1195,
body.page-id-1195 .elementor-1195 > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Squeezed spacing around page title and subtitle */
body.page-id-1195 .elementor-1195 > .e-con > .elementor-widget-heading:nth-of-type(1) {
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    padding-top: 50px !important;
    padding-bottom: 0 !important;
    text-align: center !important;
}

body.page-id-1195 .elementor-1195 > .e-con > .elementor-widget-heading:nth-of-type(1) h3 {
    color: var(--color_accent) !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: var(--font_primary) !important;
}

/* Testimonials Grid Container */
body.page-id-1195 .elementor-1195 > .e-con > .e-con {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    --display: flex !important;
    --flex-direction: row !important;
    --flex-wrap: wrap !important;
}

/* Individual Review Card */
body.page-id-1195 .elementor-1195 > .e-con > .e-con > .e-con {
    background-color: #1e1105 !important;
    border: 1px solid rgba(192, 151, 119, 0.2) !important;
    border-radius: 16px !important;
    padding: 25px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    --display: flex !important;
    --flex-direction: column !important;
    --justify-content: space-between !important;
}

body.page-id-1195 .elementor-1195 > .e-con > .e-con > .e-con:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 35px rgba(192, 151, 119, 0.15) !important;
    border-color: rgba(192, 151, 119, 0.5) !important;
}

/* Star Ratings */
body.page-id-1195 .review-stars {
    color: #ffb703 !important;
    font-size: 1.25rem !important;
    margin-bottom: 5px !important;
    letter-spacing: 3px !important;
    font-weight: bold !important;
    display: inline-block !important;
}

/* Review Text */
body.page-id-1195 .review-text {
    font-size: 1.02rem !important;
    line-height: 1.55 !important;
    color: #eae0da !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    font-style: italic !important;
}

/* Review Author */
body.page-id-1195 .review-author {
    color: var(--color_accent) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* 2 columns layout on larger viewports */
@media (min-width: 600px) {
    body.page-id-1195 .elementor-1195 > .e-con > .e-con > .e-con {
        width: 48% !important;
        flex: 0 0 48% !important;
    }
}

/* ==========================================
   CONTACT US PAGE STYLING (ID 1199)
   ========================================== */

/* Page root container reset */
body.page-id-1199 #content,
body.page-id-1199 .site-content,
body.page-id-1199 .elementor-1199,
body.page-id-1199 .elementor-1199 > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Page Title Centered and Large */
body.page-id-1199 .elementor-1199 > .e-con > .elementor-widget-heading:nth-of-type(1) {
    margin-top: 0 !important;
    margin-bottom: 40px !important;
    padding-top: 50px !important;
    text-align: center !important;
}

body.page-id-1199 .elementor-1199 > .e-con > .elementor-widget-heading:nth-of-type(1) h2 {
    color: var(--color_accent) !important;
    font-size: 2.75rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: var(--font_primary) !important;
}

/* Horizontal 2-Column Layout on Desktop */
body.page-id-1199 .elementor-1199 > .e-con > .e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px 80px 20px !important;
    --display: flex !important;
    --flex-direction: column !important;
}

body.page-id-1199 .elementor-1199 > .e-con > .e-con > .e-con:nth-child(1) {
    order: 2 !important;
}

body.page-id-1199 .elementor-1199 > .e-con > .e-con > .e-con:nth-child(2) {
    order: 1 !important;
}

@media (min-width: 768px) {
    body.page-id-1199 .elementor-1199 > .e-con > .e-con {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 50px !important;
        --flex-direction: row !important;
        --justify-content: space-between !important;
        --align-items: flex-start !important;
    }
    
    body.page-id-1199 .elementor-1199 > .e-con > .e-con > .e-con:nth-child(1) {
        width: 46% !important;
        flex: 0 0 46% !important;
    }
    
    body.page-id-1199 .elementor-1199 > .e-con > .e-con > .e-con:nth-child(2) {
        width: 48% !important;
        flex: 0 0 48% !important;
    }
}

/* Left Column Heading & Paragraph styles */
body.page-id-1199 .elementor-1199 > .e-con > .e-con > .e-con:nth-child(1) h3 {
    color: var(--color_accent) !important;
    font-size: 1.85rem !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    margin-top: 0 !important;
    font-family: var(--font_primary) !important;
}

body.page-id-1199 .elementor-1199 > .e-con > .e-con > .e-con:nth-child(1) .elementor-widget-text-editor {
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    color: #eae0da !important;
}

/* Contact Details box styling */
body.page-id-1199 .contact-details-box {
    margin-top: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

body.page-id-1199 .contact-detail-item {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    background-color: rgba(192, 151, 119, 0.06) !important;
    padding: 18px 22px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(192, 151, 119, 0.15) !important;
    transition: background-color 0.3s ease, border-color 0.3s ease !important;
}

body.page-id-1199 .contact-detail-item:hover {
    background-color: rgba(192, 151, 119, 0.12) !important;
    border-color: rgba(192, 151, 119, 0.3) !important;
}

body.page-id-1199 .contact-icon {
    font-size: 1.6rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.page-id-1199 .contact-detail-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

body.page-id-1199 .contact-detail-text strong {
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    color: var(--color_accent) !important;
    letter-spacing: 0.5px !important;
}

body.page-id-1199 .contact-detail-text a {
    font-size: 1.15rem !important;
    color: #eae0da !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.3s ease !important;
}

body.page-id-1199 .contact-detail-text a:hover {
    color: var(--color_accent) !important;
}

/* Right Column (Contact Form Box) styling to stand out */
body.page-id-1199 .elementor-1199 > .e-con > .e-con > .e-con:nth-child(2) {
    background-color: #1e1105 !important;
    border: 1px solid rgba(192, 151, 119, 0.35) !important;
    border-radius: 20px !important;
    padding: 35px !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(192, 151, 119, 0.05) !important;
    display: flex !important;
    flex-direction: column !important;
    --display: flex !important;
    --flex-direction: column !important;
}

body.page-id-1199 .elementor-1199 > .e-con > .e-con > .e-con:nth-child(2) h3 {
    color: var(--color_accent) !important;
    font-size: 1.85rem !important;
    font-weight: 600 !important;
    margin-bottom: 25px !important;
    margin-top: 0 !important;
    text-align: center !important;
    font-family: var(--font_primary) !important;
}

/* Custom Contact Form Fields integration */
body.page-id-1199 .wpforms-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
}

body.page-id-1199 .wpforms-field-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

body.page-id-1199 .wpforms-field {
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

body.page-id-1199 .wpforms-field-label {
    color: #eae0da !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    margin-bottom: 6px !important;
    display: block !important;
}

body.page-id-1199 .wpforms-form input[type="text"],
body.page-id-1199 .wpforms-form input[type="email"],
body.page-id-1199 .wpforms-form textarea {
    width: 100% !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(192, 151, 119, 0.4) !important;
    color: #1e1105 !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
}

body.page-id-1199 .wpforms-form input:focus,
body.page-id-1199 .wpforms-form textarea:focus {
    outline: none !important;
    border-color: #ffb703 !important;
    box-shadow: 0 0 10px rgba(255, 183, 3, 0.25) !important;
}

/* Submit Button Custom Styling */
body.page-id-1199 .wpforms-submit-container {
    padding: 0 !important;
    margin: 5px 0 0 0 !important;
}

body.page-id-1199 .wpforms-form button[type="submit"],
body.page-id-1199 .wpforms-submit {
    width: 100% !important;
    background-color: #ffb703 !important;
    color: #1e1105 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border: none !important;
    padding: 14px 28px !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease !important;
    box-shadow: 0 4px 20px rgba(255, 183, 3, 0.35) !important;
}

body.page-id-1199 .wpforms-form button[type="submit"]:hover,
body.page-id-1199 .wpforms-submit:hover {
    background-color: #ffc300 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 24px rgba(255, 195, 0, 0.5) !important;
}

body.page-id-1199 .wpforms-form button[type="submit"]:active,
body.page-id-1199 .wpforms-submit:active {
    transform: translateY(0) !important;
}

/* ==========================================
   THANK YOU PAGE STYLING (ID 2936)
   ========================================== */

/* Page root container reset */
body.page-id-2936 #content,
body.page-id-2936 .site-content,
body.page-id-2936 .elementor-2936,
body.page-id-2936 .elementor-2936 > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Splash Card Centered Container */
body.page-id-2936 .elementor-2936 > .e-con > .e-con {
    background-color: #1e1105 !important;
    border: 1px solid rgba(192, 151, 119, 0.25) !important;
    border-radius: 20px !important;
    padding: 45px !important;
    max-width: 700px !important;
    width: 90% !important;
    margin: 80px auto !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 15px !important;
    --display: flex !important;
    --flex-direction: column !important;
    --align-items: center !important;
}

/* Heading H2: Thank You For Getting In Touch */
body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-heading:nth-of-type(1) h2 {
    color: var(--color_accent) !important;
    font-size: 2.35rem !important;
    font-weight: 700 !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: var(--font_primary) !important;
}

/* Heading H3: Subtitle */
body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-heading:nth-of-type(2) h3 {
    color: #eae0da !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    font-family: var(--font_primary) !important;
}

/* Paragraphs text-editor */
body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-text-editor {
    font-size: 1.08rem !important;
    line-height: 1.65 !important;
    color: #eae0da !important;
    margin-bottom: 25px !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-text-editor p {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
}

/* Return Button Widget */
body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-button-wrapper {
    display: flex !important;
    justify-content: center !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-button {
    background-color: var(--color_accent) !important;
    color: #1e1105 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 14px 35px !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: background-color 0.3s ease, transform 0.2s ease !important;
    box-shadow: 0 4px 15px rgba(192, 151, 119, 0.2) !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-button:hover {
    background-color: #dcb394 !important;
    transform: translateY(-2px) !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-button:active {
    transform: translateY(0) !important;
}

/* ==========================================
   GALLERY PAGE STYLING (ID 309)
   ========================================== */

/* Page root container reset */
body.page-id-309 #content,
body.page-id-309 .site-content,
body.page-id-309 .elementor-309,
body.page-id-309 .elementor-309 > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Page titles layout and alignment */
body.page-id-309 .elementor-309 > .e-con > .elementor-widget-heading:nth-of-type(1) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 50px !important;
    padding-bottom: 0 !important;
    text-align: center !important;
}

body.page-id-309 .elementor-309 > .e-con > .elementor-widget-heading:nth-of-type(1) h2 {
    color: var(--color_accent) !important;
    font-size: 2.75rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: var(--font_primary) !important;
}

body.page-id-309 .elementor-309 > .e-con > .elementor-widget-heading:nth-of-type(2) {
    margin-bottom: 35px !important;
    text-align: center !important;
}

body.page-id-309 .elementor-309 > .e-con > .elementor-widget-heading:nth-of-type(2) h3 {
    color: var(--color_text) !important;
    font-size: 1.65rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    font-family: var(--font_primary) !important;
}

/* Gallery Grid Container */
body.page-id-309 .elementor-309 > .e-con > .e-con {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px 80px 20px !important;
    --display: flex !important;
    --flex-direction: row !important;
    --flex-wrap: wrap !important;
}

/* Individual Image Widget Wrapper Card */
body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image {
    width: 100% !important;
    flex: 0 0 100% !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(192, 151, 119, 0.2) !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;
    box-sizing: border-box !important;
}

body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(192, 151, 119, 0.15) !important;
    border-color: rgba(192, 151, 119, 0.5) !important;
}

/* Image Element scale/fit */
body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image img {
    width: 100% !important;
    height: 280px !important;
    object-fit: cover !important;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    display: block !important;
}

body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image:hover img {
    transform: scale(1.05) !important;
}

/* Media breakpoints: 2 columns on mobile-landscape/tablet-portrait */
@media (min-width: 480px) {
    body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image {
        width: calc(50% - 10px) !important;
        flex: 0 0 calc(50% - 10px) !important;
    }
}

/* Media breakpoints: 3 columns on tablet-landscape/desktop */
@media (min-width: 768px) {
    body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image {
        width: calc(33.333% - 14px) !important;
        flex: 0 0 calc(33.333% - 14px) !important;
    }
}

/* ==========================================
   THANK YOU PAGE STYLING (ID 2936)
   ========================================== */

/* Page root container reset */
body.page-id-2936 #content,
body.page-id-2936 .site-content,
body.page-id-2936 .elementor-2936,
body.page-id-2936 .elementor-2936 > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Splash Card Centered Container */
body.page-id-2936 .elementor-2936 > .e-con > .e-con {
    background-color: #1e1105 !important;
    border: 1px solid rgba(192, 151, 119, 0.25) !important;
    border-radius: 20px !important;
    padding: 45px !important;
    max-width: 700px !important;
    width: 90% !important;
    margin: 80px auto !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 15px !important;
    --display: flex !important;
    --flex-direction: column !important;
    --align-items: center !important;
}

/* Heading H2: Thank You For Getting In Touch */
body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-heading:nth-of-type(1) h2 {
    color: var(--color_accent) !important;
    font-size: 2.35rem !important;
    font-weight: 700 !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: var(--font_primary) !important;
}

/* Heading H3: Subtitle */
body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-heading:nth-of-type(2) h3 {
    color: #eae0da !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    font-family: var(--font_primary) !important;
}

/* Paragraphs text-editor */
body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-text-editor {
    font-size: 1.08rem !important;
    line-height: 1.65 !important;
    color: #eae0da !important;
    margin-bottom: 25px !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-text-editor p {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
}

/* Return Button Widget */
body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-button-wrapper {
    display: flex !important;
    justify-content: center !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-button {
    background-color: var(--color_accent) !important;
    color: #1e1105 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 14px 35px !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: background-color 0.3s ease, transform 0.2s ease !important;
    box-shadow: 0 4px 15px rgba(192, 151, 119, 0.2) !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-button:hover {
    background-color: #dcb394 !important;
    transform: translateY(-2px) !important;
}

body.page-id-2936 .elementor-2936 > .e-con > .e-con .elementor-button:active {
    transform: translateY(0) !important;
}

/* ==========================================
   GALLERY PAGE STYLING (ID 309)
   ========================================== */

/* Page root container reset */
body.page-id-309 #content,
body.page-id-309 .site-content,
body.page-id-309 .elementor-309,
body.page-id-309 .elementor-309 > .e-con {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Page titles layout and alignment */
body.page-id-309 .elementor-309 > .e-con > .elementor-widget-heading:nth-of-type(1) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 50px !important;
    padding-bottom: 0 !important;
    text-align: center !important;
}

body.page-id-309 .elementor-309 > .e-con > .elementor-widget-heading:nth-of-type(1) h2 {
    color: var(--color_accent) !important;
    font-size: 2.75rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: var(--font_primary) !important;
}

body.page-id-309 .elementor-309 > .e-con > .elementor-widget-heading:nth-of-type(2) {
    margin-bottom: 35px !important;
    text-align: center !important;
}

body.page-id-309 .elementor-309 > .e-con > .elementor-widget-heading:nth-of-type(2) h3 {
    color: var(--color_text) !important;
    font-size: 1.65rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    font-family: var(--font_primary) !important;
}

/* Gallery Grid Container */
body.page-id-309 .elementor-309 > .e-con > .e-con {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px 80px 20px !important;
    --display: flex !important;
    --flex-direction: row !important;
    --flex-wrap: wrap !important;
}

/* Individual Image Widget Wrapper Card */
body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image {
    width: 100% !important;
    flex: 0 0 100% !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(192, 151, 119, 0.2) !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;
    box-sizing: border-box !important;
}

body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(192, 151, 119, 0.15) !important;
    border-color: rgba(192, 151, 119, 0.5) !important;
}

/* Image Element scale/fit */
body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image img {
    width: 100% !important;
    height: 280px !important;
    object-fit: cover !important;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    display: block !important;
}

body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image:hover img {
    transform: scale(1.05) !important;
}

/* Media breakpoints: 2 columns on mobile-landscape/tablet-portrait */
@media (min-width: 480px) {
    body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image {
        width: calc(50% - 10px) !important;
        flex: 0 0 calc(50% - 10px) !important;
    }
}

/* Media breakpoints: 3 columns on tablet-landscape/desktop */
@media (min-width: 768px) {
    body.page-id-309 .elementor-309 > .e-con > .e-con > .elementor-widget-image {
        width: calc(33.333% - 14px) !important;
        flex: 0 0 calc(33.333% - 14px) !important;
    }
}

/* ==========================================
   GLOBAL SECTION SPACING OVERRIDES (DESKTOP & MOBILE)
   ========================================== */

/* 1. Reset top margin of section headings when they are the first widget inside a section container */
body .elementor .e-con > .elementor-widget-heading:first-child h1,
body .elementor .e-con > .elementor-widget-heading:first-child h2,
body .elementor .e-con > .elementor-widget-heading:first-child h3,
body .elementor .e-con > .elementor-widget-heading:first-child h4,
body .elementor .e-con > .elementor-widget-heading:first-child .elementor-heading-title {
    margin-top: 0 !important;
}

/* 2. Target only direct section containers (nested level 2 on home, level 1 on subpages) */
body.home .elementor > .e-con > .e-con,
body:not(.home) .elementor > .e-con,
body .elementor-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    --padding-top: 30px !important;
    --padding-bottom: 30px !important;
    --margin-top: 0 !important;
    --margin-bottom: 0 !important;
}

/* Target main page-wrapper container on home to remove outer gaps */
body.home .elementor > .e-con {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
    --gap: 0 !important;
}

/* Eliminate gap between sections in the main wrapper flow */
body .elementor .e-con-full {
    gap: 0 !important;
    --gap: 0 !important;
}

/* Tighten gap between widgets inside containers globally */
body .elementor-widget:not(:last-child) {
    margin-bottom: 15px !important;
}

/* Keep testimonials, contact form, and gallery page bottom spacing comfortable on Desktop */
body.page-id-1195 .elementor-1195 > .e-con > .e-con,
body.page-id-1199 .elementor-1199 > .e-con > .e-con,
body.page-id-309 .elementor-309 > .e-con > .e-con {
    padding-bottom: 60px !important;
    padding-top: 0 !important;
}

/* Mobile Adjustments (screens under 767px) */
@media (max-width: 767px) {
    body.home .elementor > .e-con > .e-con,
    body:not(.home) .elementor > .e-con,
    body .elementor-section {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
        --padding-top: 15px !important;
        --padding-bottom: 15px !important;
    }
    
    /* Ensure the homepage hero maintains proper breathing room */
    body.home .homepage-hero {
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }
    
    /* Give specific spacing above subpage titles so they look great */
    body .elementor > .e-con > .elementor-widget-heading:first-of-type,
    body.page .elementor > .e-con > .elementor-widget-heading:first-of-type {
        padding-top: 45px !important;
        padding-bottom: 10px !important;
    }
    
    /* Keep testimonials, contact form, and gallery page bottom spacing tight on mobile */
    body.page-id-1195 .elementor-1195 > .e-con > .e-con {
        gap: 20px !important;
        padding-bottom: 40px !important;
        padding-top: 0 !important;
    }
    
    body.page-id-1199 .elementor-1199 > .e-con > .e-con {
        gap: 25px !important;
        padding-bottom: 40px !important;
        padding-top: 0 !important;
    }
    
    body.page-id-309 .elementor-309 > .e-con > .e-con {
        gap: 15px !important;
        padding-bottom: 40px !important;
        padding-top: 0 !important;
    }
}
