/* ==========================================================
   MOBILE RESPONSIVENESS FIX FOR STATIC WIX THUNDERBOLT SITE
   Forces mobile optimization without JavaScript
   
   ROOT CAUSE: Wix relies on body.device-mobile-optimized class
   which is normally added by JavaScript. Without it, the site
   uses --site-width: 980px and min-width: 980px everywhere.
   
   SOLUTION: Override --site-width variable and all min-width
   constraints on mobile viewports.
   ========================================================== */

/* Force mobile-optimized styles on small screens */
@media (max-width: 768px) {
    /* CRITICAL: Override the --site-width CSS variable */
    :root {
        --site-width: 100vw !important;
        --minViewportSize: 320 !important;
    }
    
    /* Force html/body to respect viewport */
    html {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
    
    body {
        --site-width: 100vw !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Override body:not(.device-mobile-optimized) rules */
    body:not(.device-mobile-optimized) #site-root {
        min-width: 100% !important;
        width: 100% !important;
    }
    
    body:not(.device-mobile-optimized) .G5K6X8 {
        margin-left: 0 !important;
        width: 100% !important;
    }
    
    body:not(.device-mobile-optimized) .c7cMWz {
        margin-left: 0 !important;
        width: 100% !important;
    }
    
    body:not(.device-mobile-optimized) .PFkO7r {
        margin-left: 0 !important;
        width: 100% !important;
    }
    
    body:not(.device-mobile-optimized) .vlM3HR {
        margin-left: 0 !important;
        width: 100% !important;
    }
    
    /* Site background - has min-width: var(--site-width) */
    .BmZ5pC {
        min-width: 100% !important;
        width: 100% !important;
    }
    
    /* CRITICAL: Override ALL inline min-width: 980px styles */
    /* Home page sections */
    #comp-ltvvmpwr,
    #comp-mawmkaf2,
    #comp-ltvxnbbe,
    #comp-m9csg1hc,
    #comp-m9cn6xby,
    #comp-ltya29qf,
    #comp-lt8qfxth2,
    #comp-partners-section,
    /* Services page sections */
    #comp-ltwy71xn,
    #comp-ltwymizv,
    #comp-ltygmnb2,
    #comp-ltyh1ara,
    #comp-maqslegd,
    #comp-ltywyz6d,
    #comp-maqydgjn,
    #comp-m9cpap2d,
    #comp-m9u3aawd,
    #comp-maqtvca5,
    /* Generic selector for any missed components */
    [id^="comp-"][style*="min-width"] {
        min-width: 100% !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    /* Override ALL sections with Oqnisf class */
    .Oqnisf {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
    
    /* Site container */
    #SITE_CONTAINER {
        margin: 0 !important;
        overflow-x: hidden !important;
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100vw !important;
    }
    
    #site-root {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    
    /* Master page */
    #masterPage {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    /* Page containers */
    #PAGES_CONTAINER,
    #SITE_PAGES,
    .PAGES_CONTAINER,
    .JsJXaX,
    .AnQkDU,
    [id$="_CONTAINER"] {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    /* Page wrapper classes */
    .fEm0Bo,
    .zK7MhX,
    .FVGvCX {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    /* Header container */
    #SITE_HEADER,
    .xU8fqS {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    .xU8fqS ._C0cVf,
    .xU8fqS .U4Bvut,
    .xU8fqS .G5K6X8,
    .xU8fqS .CJF7A2 {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
    }
    
    /* Header background */
    .xU8fqS ._4XcTfy,
    .xU8fqS .gUbusX {
        width: 100% !important;
    }
    
    /* Footer */
    #SITE_FOOTER,
    .AT7o0U {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        padding: 10px 10px 5px 10px !important;
    }
    
    /* Footer grid containers - compact spacing */
    #SITE_FOOTER [data-mesh-id$="-gridContainer"],
    #SITE_FOOTER [data-mesh-id$="inlineContent-gridContainer"],
    [data-mesh-id*="SITE_FOOTER"] [data-mesh-id$="-gridContainer"],
    [data-mesh-id*="SITE_FOOTER"] [data-mesh-id$="inlineContent-gridContainer"] {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 0 !important;
        gap: 4px !important;
        margin-bottom: 6px !important;
        box-sizing: border-box !important;
    }
    
    /* Footer section containers - reduce spacing */
    #comp-footer-address,
    #comp-footer-contact,
    #comp-footer-hours {
        margin-bottom: 4px !important;
        padding: 0 !important;
    }
    
    /* Footer titles - compact spacing */
    #comp-footer-address-title,
    #comp-footer-contact-title,
    #comp-footer-hours-title {
        margin-bottom: 2px !important;
        line-height: 1.1 !important;
    }
    
    /* Footer text content - compact line spacing */
    #comp-footer-address-text,
    #comp-footer-contact-text,
    #comp-footer-hours-text {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    
    #comp-footer-address-text p,
    #comp-footer-contact-text p,
    #comp-footer-hours-text p {
        margin: 0 !important;
        line-height: 1.4 !important;
    }
    
    /* Grid containers - force single column */
    [data-mesh-id$="-gridContainer"]:not(#SITE_FOOTER [data-mesh-id$="-gridContainer"]),
    [data-mesh-id$="inlineContent-gridContainer"]:not(#SITE_FOOTER [data-mesh-id$="inlineContent-gridContainer"]) {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 10px !important;
        box-sizing: border-box !important;
    }
    
    /* Grid children - remove absolute positioning */
    [data-mesh-id$="-gridContainer"] > *,
    [data-mesh-id$="inlineContent-gridContainer"] > * {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
    }
    
    /* Services page OUR SERVICES - special centering */
    [data-mesh-id$="-gridContainer"] > #comp-ltwytoor {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    
    /* Section inline content */
    [data-testid="inline-content"] {
        width: 100% !important;
        min-width: 0 !important;
    }
    
    /* Text elements - CRITICAL: prevent overflow */
    h1, h2, h3, h4, h5, h6, p, span {
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }
    
    /* Wix font classes - properly centered headings */
    .font_0, .font_1, .font_2, .font_3, .font_4, .font_5, .font_6 {
        font-size: 20px !important;
        white-space: normal !important;
        word-break: keep-all !important;
        max-width: 100% !important;
        width: 100% !important;
        text-align: center !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        left: 0 !important;
        transform: none !important;
    }
    
    /* Services page - OUR SERVICES title */
    #comp-ltwytoor,
    #comp-ltwytoor h1.font_0,
    #comp-ltwytoor .font_0 {
        font-size: 28px !important;
        white-space: nowrap !important;
        text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 10px auto !important;
        left: 0 !important;
        right: 0 !important;
        padding: 0 !important;
        position: relative !important;
    }
    
    /* Individual word styling for OUR SERVICES */
    .services-title-our,
    .services-title-services {
        display: inline-block !important;
    }
    
    /* Contact page - CONTACT US heading fix - keep on single line */
    #comp-ltx3z371,
    #comp-ltx3z371 h2,
    #comp-ltx3z371 h2.font_0,
    #comp-ltx3z371 .font_0,
    #comp-ltx3z371 span,
    #comp-ltx3z371 h2.font_0 span,
    #comp-ltx3z371 .wixui-rich-text__text {
        font-size: 28px !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        margin: 10px auto !important;
        left: 0 !important;
        right: 0 !important;
        padding: 0 5px !important;
        box-sizing: border-box !important;
        line-height: 1.2 !important;
    }
    
    /* Contact page - Map increased height on mobile */
    #comp-ltx3wke4,
    #comp-ltx3r44y1,
    #comp-ltx3wke4 img,
    #comp-ltx3r44y1 iframe {
        width: 100% !important;
        height: 450px !important;
        min-height: 450px !important;
    }
    
    /* Services page - reduce all vertical spacing */
    #comp-ltygmnb2,
    #comp-maqndljt,
    #comp-maqmh7k0,
    .comp-maqndljt,
    .comp-maqmh7k0 {
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* ================================
       HOMEPAGE - Reduce vertical spacing between sections
       ================================ */
    
    /* Sebastian Pro section (with Find out more button) - reduce bottom margin */
    #comp-m9cn6xby {
        padding-bottom: 10px !important;
        margin-bottom: 0 !important;
        min-height: auto !important;
        height: auto !important;
    }
    
    /* The image in Sebastian section - reduce height on mobile */
    #comp-mffd2v76 {
        height: auto !important;
        max-height: 400px !important;
        margin-bottom: 5px !important;
    }
    
    /* The gold horizontal line - reduce margins */
    #comp-m9cs7dc3 {
        margin-top: 5px !important;
        margin-bottom: 5px !important;
    }
    
    /* Grid container within Sebastian section - tighten */
    [data-mesh-id="comp-m9cn6xbyinlineContent-gridContainer"] {
        grid-template-rows: auto !important;
        row-gap: 5px !important;
    }
    
    [data-mesh-id="comp-m9cn6xbyinlineContent-gridContainer"] > * {
        margin-bottom: 5px !important;
    }
    
    /* MEET THE TEAM section - reduce top padding/margin */
    #comp-ltya29qf {
        padding-top: 10px !important;
        margin-top: 0 !important;
    }
    
    /* MEET THE TEAM title - reduce top margin */
    #comp-ltyacz4p {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    /* Grid container within MEET THE TEAM section - tighten */
    [data-mesh-id="comp-ltya29qfinlineContent-gridContainer"] {
        grid-template-rows: auto !important;
        row-gap: 8px !important;
    }
    
    /* Services page section headings - center them */
    #comp-maqndlk3,
    #comp-m9tyn7qs1,
    [id^="comp-maq"] h1.font_0 {
        text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        left: 0 !important;
        right: 0 !important;
        margin: 10px auto !important;
        padding: 0 15px !important;
        white-space: nowrap !important;
        display: flex !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    
    #comp-maqndlk3 h1,
    #comp-maqndlk3 .font_0,
    #comp-maqndlk3 span {
        font-size: 20px !important;
        font-weight: bold !important;
        white-space: nowrap !important;
        width: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    /* COLOR SERVICES heading - center with equal margins */
    #comp-m9tyn7qs1 h1,
    #comp-m9tyn7qs1 .font_0,
    #comp-m9tyn7qs1 span {
        font-size: 24px !important;
        
        white-space: nowrap !important;
        width: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    /* Fix grid positioning for COLOR SERVICES heading */
    [data-mesh-id$="-gridContainer"] > #comp-m9tyn7qs1 {
        justify-self: center !important;
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
        margin: 5px auto !important;
        padding: 0 15px !important;
    }
    
    /* Hide empty spacer elements on services page */
    #comp-m9tymnqe1,
    #comp-ltygt5uy {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Rich text containers - ensure centering */
    .wixui-rich-text,
    [data-testid="richTextElement"] {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        left: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }

    /* Services page - ADDITIONAL SERVICES spacing now in custom-services-styles.css */
    
    /* ========================================
       PRICING & POLICIES - MOBILE STYLES
       ======================================== */
    
    /* Main section container */
    #comp-maqprfdn {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    
    /* Section heading */
    #comp-maqprffn {
        margin-top: 0 !important;
        padding-top: 0 !important;
        margin-bottom: 10px !important;
    }
    
    /* Description paragraphs - clean left alignment */
    #comp-maqprfdn p,
    #comp-maqprfdn .wixui-rich-text__text,
    #comp-maqprfdn p[style*="text-align"],
    #comp-maqprfdn .wixui-rich-text p {
        text-align: left !important;
        text-align-last: left !important;
        text-indent: 0 !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        line-height: 1.7em !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        word-spacing: normal !important;
        letter-spacing: normal !important;
    }
    
    /* Ensure spans inside don't override */
    #comp-maqprfdn p span {
        text-align: left !important;
    }
    
    /* Schedule button */
    #comp-mao3odh9 {
        margin-bottom: 20px !important;
    }
    
    /* Headings - centered with word-break to avoid single letter orphans */
    .wixui-rich-text h1,
    .wixui-rich-text h2,
    .wixui-rich-text h3 {
        white-space: normal !important;
        word-break: keep-all !important;
        text-align: center !important;
        font-size: 24px !important;
    }
    
    /* Images - scale to container */
    img,
    .wixui-image,
    .MazNVa,
    .MazNVa img,
    .BI8PVQ {
        max-width: 100% !important;
        height: auto !important;
        min-width: 0 !important;
    }
    
    /* Gallery/slideshow */
    .IcC9C7,
    .custom-gallery {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        max-height: 400px !important;
        border-radius: 15px !important;
        overflow: hidden !important;
    }
    
    .IcC9C7 .APAK8c,
    .IcC9C7 .Y0jxJY,
    .IcC9C7 .wixui-gallery__item {
        border-radius: 15px !important;
        overflow: hidden !important;
    }
    
    /* REDUCE WHITESPACE BETWEEN SECTIONS */
    /* Override fixed desktop heights on galleries */
    .IcC9C7[style*="height: 813px"],
    .IcC9C7[style*="height:813px"],
    [id^="comp-"][style*="height: 813px"],
    [id^="comp-"][style*="height:813px"] {
        height: auto !important;
        max-height: 400px !important;
    }
    
    .IcC9C7[style*="height: 642px"],
    .IcC9C7[style*="height:642px"],
    [id^="comp-"][style*="height: 642px"],
    [id^="comp-"][style*="height:642px"] {
        height: auto !important;
        max-height: 350px !important;
    }
    
    /* Section spacing reduction - NOTE: Compact spacing now in custom-home-styles.css */
    
    /* Grid container children - reduce margins - NOTE: Compact spacing now in custom-home-styles.css */
}

/* ================================
   HAMBURGER MENU - PURE CSS
   ================================ */

/* Hamburger toggle checkbox (hidden) */
#hamburger-toggle {
    display: none;
}

/* Hamburger button styling - Hidden on desktop */
.hamburger-btn {
    display: none;
    position: fixed;
    top: 15px;
    right: 15px;
    z-index: 10001;
    width: 45px;
    height: 45px;
    background: #AA9157;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    padding: 10px;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

.hamburger-btn span {
    display: block;
    width: 25px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* Hamburger animation when open */
#hamburger-toggle:checked + .hamburger-btn span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

#hamburger-toggle:checked + .hamburger-btn span:nth-child(2) {
    opacity: 0;
}

#hamburger-toggle:checked + .hamburger-btn span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

/* Mobile menu overlay - Hidden by default */
.mobile-menu-overlay {
    display: none;
}

@media (max-width: 768px) {
    /* Show hamburger button on mobile */
    .hamburger-btn {
        display: flex !important;
        width: 30px !important;
        height: 30px !important;
        padding: 6px !important;
    }
    
    .hamburger-btn span {
        width: 18px !important;
    }
    
    /* Mobile menu overlay */
    .mobile-menu-overlay {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.95);
        z-index: 10000;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }
    
    #hamburger-toggle:checked ~ .mobile-menu-overlay {
        opacity: 1;
        visibility: visible;
    }
    
    /* Mobile menu links container */
    .mobile-menu-links {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
        width: 90%;
    }
    
    .mobile-menu-links a {
        display: block;
        color: #fff;
        font-family: 'bodoni-moda', 'bodoni moda', serif;
        font-size: 22px;
        text-decoration: none;
        padding: 18px 20px;
        margin: 8px 0;
        letter-spacing: 2px;
        transition: all 0.3s ease;
        border-bottom: 1px solid rgba(170, 145, 87, 0.3);
    }
    
    .mobile-menu-links a:hover,
    .mobile-menu-links a:active {
        color: #AA9157;
        background: rgba(170, 145, 87, 0.1);
    }
    
    /* Hide original desktop navigation */
    #comp-j78y5mpw {
        display: none !important;
    }
    
    /* Close button styling */
    .mobile-menu-close {
        position: absolute;
        top: 15px;
        right: 15px;
        width: 30px;
        height: 30px;
        background: transparent;
        border: 2px solid #AA9157;
        border-radius: 5px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .mobile-menu-close::before,
    .mobile-menu-close::after {
        content: '';
        position: absolute;
        width: 15px;
        height: 2px;
        background: #AA9157;
    }
    
    .mobile-menu-close::before {
        transform: rotate(45deg);
    }
    
    .mobile-menu-close::after {
        transform: rotate(-45deg);
    }
}

/* ================================
   COMMON MOBILE LAYOUT STYLES
   ================================ */

@media (max-width: 768px) {
    /* Header logo adjustments */
    #comp-ltvv0gxs {
        width: 250px !important;
        max-width: 70% !important;
        min-width: 0 !important;
    }

    #comp-ltvv0gxs img,
    #img_comp-ltvv0gxs {
        width: 100% !important;
        height: auto !important;
    }

    [data-mesh-id=SITE_HEADERinlineContent-gridContainer] > [id="comp-ltvv0gxs"] {
        margin: 10px auto !important;
        left: 0 !important;
        transform: none !important;
        position: relative !important;
    }

    /* Make buttons touch-friendly (48px minimum tap target) */
    .StylableButton2545352419__root,
    button, .button, [data-testid="buttonElement"], 
    a[role="button"], input[type="submit"], input[type="button"] {
        min-height: 48px !important;
        padding: 14px 24px !important;
        font-size: 16px !important;
        touch-action: manipulation !important;
        box-sizing: border-box !important;
    }

    /* Rich text containers padding */
    .wixui-rich-text {
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }

    /* Ensure images scale properly */
    .wixui-image img,
    .MazNVa img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Stack grid containers vertically - REMOVED, already in main section */
    
    /* Section content padding - NOTE: Compact spacing now in custom-home-styles.css */
    .Oqnisf [data-testid="inline-content"] {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Gallery and slideshow adjustments */
    .IcC9C7,
    .custom-gallery,
    .slideshow-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Video container */
    video {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Horizontal lines */
    .wixui-horizontal-line {
        width: 90% !important;
        margin: 20px auto !important;
    }

    /* Footer adjustments - compact bottom spacing */
    .footer-bottom {
        flex-direction: column !important;
        text-align: center !important;
        gap: 3px !important;
        font-size: 12px !important;
        margin-top: 4px !important;
        padding-top: 4px !important;
    }

    /* Text margin adjustments for centered items */
    #comp-ltxb8k7p,
    #comp-maual93n {
        margin-left: 0 !important;
    }
    
    /* Section backgrounds - force full width */
    [id^="comp-"][style*="min-width"] {
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* ================================
   REVIEW SLIDER MOBILE STYLES
   ================================ */
/* NOTE: Review slider spacing now handled in custom-home-styles.css for compact layout */

/* ================================
   FOOTER SECTION TITLE COLORS - GOLD
   ================================ */

/* ADDRESS, CONTACT, OPENING HOURS titles - gold color */
#comp-footer-address-title,
#comp-footer-address-title h3,
#comp-footer-address-title h3.font_4,
#comp-footer-address-title span,
#comp-footer-address-title .wixui-rich-text__text,
#comp-footer-contact-title,
#comp-footer-contact-title h3,
#comp-footer-contact-title h3.font_4,
#comp-footer-contact-title span,
#comp-footer-contact-title .wixui-rich-text__text,
#comp-footer-hours-title,
#comp-footer-hours-title h3,
#comp-footer-hours-title h3.font_4,
#comp-footer-hours-title span,
#comp-footer-hours-title .wixui-rich-text__text {
    color: #c69503 !important;
    text-align: left !important;
}

/* Footer titles - override the general centering for headings */
#comp-footer-address-title h3.font_4,
#comp-footer-contact-title h3.font_4,
#comp-footer-hours-title h3.font_4 {
    text-align: left !important;
}

/* Footer description text - left aligned */
#comp-footer-address-text,
#comp-footer-address-text p,
#comp-footer-address-text .wixui-rich-text__text,
#comp-footer-contact-text,
#comp-footer-contact-text p,
#comp-footer-contact-text .wixui-rich-text__text,
#comp-footer-hours-text,
#comp-footer-hours-text p,
#comp-footer-hours-text .wixui-rich-text__text {
    text-align: left !important;
}

/* Also target the section on Contact page with different IDs */
#comp-ltx3r446 h3,
#comp-ltx3r446 span,
#comp-contact-title h3,
#comp-contact-title span,
#comp-ltx3r44i h3,
#comp-ltx3r44i span,
#comp-mawbnwer h3,
#comp-mawbnwer span {
    color: #c69503 !important;
}

/* ================================================
   TEAM PAGE - Mobile-only fixes: remove extra hr
   and tighten spacing around "Join our team"
   ================================================ */
@media (max-width: 768px) {
    /* Hide brown HR added in markup (only on mobile) */
    hr[style*="border-color: brown"] {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        padding: 0 !important;
    }

    /* Reduce spacing and remove negative left margin for the "Join our team" paragraph */
    p[style*="Join our team"],
    p[style*="margin-top: 50px"],
    p[style*="margin-left: -90px"] {
        margin-top: 12px !important;
        margin-bottom: 12px !important;
        margin-left: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 18px !important;
        text-align: center !important;
    }

    /* Make any component horizontal lines tighter on mobile */
    .aVng1S, .wixui-horizontal-line, #comp-maqzzmr2, #comp-m5ws6i3p {
        margin: 8px auto !important;
    }

    /* Reduce spacing after designation blocks that preceded the HR */
    [id$="-designation"] { margin-bottom: 6px !important; }
}


/* ================================
   SERVICES PAGE - MOBILE TEXT ALIGNMENT FIX
   Override inline text-align:center on wrapped paragraphs
   ================================ */
@media (max-width: 768px) {
    /* ADDITIONAL SERVICES styling now in custom-services-styles.css */
    
    /* "At Christopher Noland Salon..." and "Note:" paragraphs */
    #comp-maqprfdn > div > div > div:nth-child(2) p,
    #comp-maqprfdn > div > div > div:nth-child(2) p *,
    #comp-maqprfdn [data-testid="richTextElement"]:not(:first-child) p,
    #comp-maqprfdn [data-testid="richTextElement"]:not(:first-child) p * {
        text-align: left !important;
    }
    
    /* Hide "Join our team" text on mobile */
    #comp-m5ws6i1w p[style*="margin-left: -90px"] {
        display: none !important;
    }
}

/* Style email links to look clickable */
a[href^="mailto:"] {
    color: navy !important;
    text-decoration: underline !important;
    font-weight: normal !important;
}