/* Layout fixes for Flask site - Override Squarespace CSS conflicts */

/* =============================================
   DISABLE ANIMATIONS FOR CONSISTENT SCREENSHOTS
   ============================================= */
.preFade,
.fadeIn,
[data-animation-role] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
}

/* Ensure all animated elements are fully visible */
.seven-one-global-animations .preFade.fadeIn,
.seven-one-global-animations [data-animation-role] {
    opacity: 1 !important;
    transform: none !important;
}

/* =============================================
   SKIP LINK - HIDE VISUALLY (accessibility)
   ============================================= */
.skip-link {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    z-index: -1 !important;
}
.skip-link:focus {
    position: fixed !important;
    left: 10px !important;
    top: 10px !important;
    width: auto !important;
    height: auto !important;
    padding: 10px 20px !important;
    background: #fff !important;
    color: #000 !important;
    z-index: 10000 !important;
}

/* =============================================
   VIEWPORT WIDTH CONSTRAINTS
   ============================================= */

/* Prevent page from being wider than viewport */
html {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
}

body {
    overflow-x: hidden !important;
    overflow-x: clip !important;  /* Stronger than hidden */
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Clip overflow on all containers */
.sqs-layout,
.row,
.sqs-row {
    overflow-x: clip !important;
}

/* Constrain all direct children to viewport width */
body > * {
    max-width: 100vw !important;
    box-sizing: border-box !important;
}

/* Fix any elements that might overflow */
img, video, iframe, embed, object {
    max-width: 100% !important;
    height: auto !important;
}

pre, code {
    overflow-x: auto !important;
    max-width: 100% !important;
}

/* Fix Squarespace fluid grid that may cause overflow */
.fluid-engine,
.fe-block,
[class*="sqs-"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* CRITICAL: Force content-wrapper to not exceed viewport - but don't break layout */
.content-wrapper {
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* Fix any grid/layout elements that may overflow */
.sqs-layout,
.sqs-row,
.sqs-col,
[data-layout-label],
.page-section .content-wrapper,
.section-background,
.content {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* =============================================
   CUSTOM NAV STYLES (for nav.html partial)
   ============================================= */
.site-nav {
    display: flex;
    align-items: center;
}

.site-nav .nav-list {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.5em;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-nav .nav-item {
    position: relative;
    display: inline-block;
}

.site-nav .nav-link {
    display: flex;
    align-items: center;
    gap: 0.3em;
    padding: 0.5em 0;
    text-decoration: none;
    color: #1b1b1b;
    font-size: 0.95em;
    font-weight: 500;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

.site-nav .nav-link:hover {
    color: #06b5d4;
}

.site-nav .icon-arrow {
    width: 10px;
    height: 10px;
    transition: transform 0.2s;
}

.site-nav .nav-item:hover .icon-arrow {
    transform: rotate(180deg);
}

/* Dropdown menu */
.site-nav .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: white;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    border-radius: 4px;
    list-style: none;
    margin: 0;
    padding: 0.5em 0;
    z-index: 1000;
}

.site-nav .nav-item:hover .dropdown-menu,
.site-nav .dropdown-toggle[aria-expanded="true"] + .dropdown-menu {
    display: block;
}

.site-nav .dropdown-item {
    display: block;
}

.site-nav .dropdown-link {
    display: block;
    padding: 0.6em 1.2em;
    text-decoration: none;
    color: #1b1b1b;
    font-size: 0.9em;
    transition: background 0.2s;
}

.site-nav .dropdown-link:hover {
    background: #f5f5f5;
    color: #06b5d4;
}

/* =============================================
   HIDE SQUARESPACE DUPLICATE NAV ELEMENTS
   ============================================= */

/* CRITICAL: Hide the entire mobile header on desktop - it has all nav items inline */
@media screen and (min-width: 800px) {
    .header-display-mobile {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }
    .header-display-desktop {
        display: flex !important;
    }
}

/* CRITICAL: Hide the entire desktop header on mobile - use 799px to match Squarespace */
@media screen and (max-width: 799px) {
    .header-display-desktop {
        display: none !important;
        visibility: hidden !important;
    }
    .header-display-mobile {
        display: flex !important;
    }

    /* CRITICAL: Hide ALL nav elements inside mobile header - only show logo and hamburger */
    /* Using maximum specificity with multiple selectors */
    .header-display-mobile .header-nav,
    .header-display-mobile .header-nav-wrapper,
    .header-display-mobile .header-nav-list,
    .header-display-mobile nav.header-nav-list,
    .header-display-mobile .header-title-nav-wrapper .header-nav,
    .header-display-mobile .header-title-nav-wrapper .header-nav-wrapper,
    .header-display-mobile .header-title-nav-wrapper .header-nav-list,
    .header-display-mobile .header-nav-item,
    .header-display-mobile .header-nav-item--collection,
    .header-display-mobile .header-nav-item--folder,
    .header-display-mobile .header-nav-folder-title,
    .header-display-mobile .header-nav-folder-content,
    .header-display-mobile .header-actions-action--social,
    .header-display-mobile .header-actions-action--cta {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
        max-height: 0 !important;
        max-width: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        left: -9999px !important;
        pointer-events: none !important;
    }

    /* Ensure hamburger is visible - but NOT the CTA or social icons on mobile */
    .header-display-mobile .header-burger {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        left: auto !important;
        height: auto !important;
        width: auto !important;
        max-height: none !important;
        max-width: none !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    /* CRITICAL: Ensure logo/title is VISIBLE on mobile */
    .header-display-mobile .header-title,
    .header-display-mobile .header-title-logo,
    .header-display-mobile .header-title-logo a,
    .header-display-mobile .header-title-nav-wrapper {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        left: auto !important;
        height: auto !important;
        width: auto !important;
        max-height: none !important;
        max-width: none !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    /* Match baseline logo size - baseline CSS sets max-height: 123px */
    .header-display-mobile .header-title-logo img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-height: 123px !important;
        width: auto !important;
        height: auto !important;
    }

    /* Hide the entire header-actions container on mobile - only hamburger should show */
    .header-display-mobile .header-actions {
        display: none !important;
        visibility: hidden !important;
    }
}

/* Header logo - match baseline max-height (100px default) */
.header-title-logo,
.header-title-logo a {
    max-height: 100px !important;
    display: inline-block !important;
    overflow: hidden !important;
}

.header-title-logo img {
    max-height: 100px !important;
    width: auto !important;
    height: 100px !important;
    object-fit: contain !important;
}

/* Wide viewport (1920px) - larger logo to match baseline */
@media screen and (min-width: 1440px) {
    .header-title-logo,
    .header-title-logo a {
        max-height: 120px !important;
    }

    .header-title-logo img {
        max-height: 120px !important;
        height: 120px !important;
    }
}

/* Reduce header padding to make it more compact */
.header-inner {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* Schedule page - adjust first section to align with baseline */
/* Baseline H2 is at y~200, local is at y~210 */
/* Use negative margin to pull content up */
[data-section-id="65948d75f0e02e6adcb93e42"] {
    padding-top: 0px !important;
    margin-top: -10px !important;
}

/* Schedule page (collection-65948d75f0e02e6adcb93e3f) - hide footer content to match baseline */
/* Baseline shows only a cyan bar with no visible text in footer */
body.collection-65948d75f0e02e6adcb93e3f #footer-sections .content-wrapper,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections .content,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections h4,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections p,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections a,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections ul,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections li,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections form,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections input,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections button,
body.collection-65948d75f0e02e6adcb93e3f #footer-sections .sqs-block {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Keep the first footer section background visible (teal bar) - but empty */
body.collection-65948d75f0e02e6adcb93e3f #footer-sections > section:first-child {
    min-height: 250px !important;
    background-color: #05c1eb !important;
}

/* Hide other footer sections (subscribe, copyright) */
body.collection-65948d75f0e02e6adcb93e3f #footer-sections > section:not(:first-child) {
    display: none !important;
}

/* Hide Squarespace's dropdown folder content everywhere by default */
.header-nav-folder-content {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    top: 100%;
    left: 0;
    background: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    min-width: 200px;
    z-index: 1000;
}

/* Only show dropdown on hover of parent folder */
.header-nav-item--folder:hover > .header-nav-folder-content {
    display: block !important;
    visibility: visible !important;
}

.header-nav-folder-item {
    display: block;
    padding: 0.5em 1em;
}

/* Fix header structure */
.header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 20px;
}

.header-title-nav-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 2em;
}

/* Fix mobile menu to be hidden by default - CRITICAL */
.header-menu,
.header-menu--folder-list,
.header-menu-nav,
.header-menu-nav-list,
.header-menu-nav-folder,
.header-menu-bg {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Only show mobile menu when burger is clicked (JS adds is-active class) */
.header-menu.is-active {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    position: fixed !important;
    left: 0 !important;
}

/* =============================================
   HIDE MOBILE MENU BY DEFAULT (all screen sizes)
   It should only show when hamburger is clicked
   ============================================= */
.mobile-menu,
.mobile-menu-inner,
.mobile-nav,
.mobile-nav-list,
.mobile-menu-overlay,
.mobile-cta,
.mobile-social {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
}

/* Only show mobile menu when active (burger clicked) */
.mobile-menu.is-active,
.mobile-menu.is-active .mobile-menu-inner,
.mobile-menu.is-active .mobile-nav,
.mobile-menu.is-active .mobile-nav-list,
.mobile-menu.is-active .mobile-cta,
.mobile-menu.is-active .mobile-social {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    width: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    left: 0 !important;
    pointer-events: auto !important;
}

.mobile-menu-overlay.is-active {
    display: block !important;
    visibility: visible !important;
    height: 100vh !important;
    width: 100vw !important;
    max-height: none !important;
    overflow: hidden !important;
    opacity: 0.5 !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    pointer-events: auto !important;
    background: rgba(0,0,0,0.5) !important;
    z-index: 998 !important;
}

/* =============================================
   FLUID ENGINE / CONTENT SECTION FIXES
   ============================================= */

/* Ensure fluid-engine sections display their content - BUT preserve grid */
.fluid-engine {
    display: grid !important;
    position: relative !important;
}

/* DO NOT reset grid positioning for fe-blocks - it breaks footer layout */
/* Only reset if content is truly off-screen, but preserve grid-area */

/* Ensure HTML content blocks are visible */
.sqs-block-html,
.sqs-html-content,
.sqs-block-content {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Let baseline CSS handle background-enabled blocks - don't override */
/* Removed padding/max-width overrides that were causing text wrapping differences */

/* Ensure all page sections are visible */
.page-section {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    min-height: auto !important;
}

/* Let baseline CSS handle section heights - removed padding overrides */

/* Content wrapper should be visible - but don't override max-width/padding */
.content-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Fix full-bleed sections */
.full-bleed-section {
    width: 100% !important;
}

.full-bleed-section .section-background {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/* =============================================
   IMAGE LOADING FIXES
   ============================================= */

/* Remove Squarespace's lazy loading opacity */
img[data-src],
img[data-image],
img[data-loader],
img.lazyload,
img.lazyloading {
    opacity: 1 !important;
}

/* Fix hero/banner sections - ensure background images show */
.section-background {
    display: block !important;
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

.section-background img {
    display: block !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    /* Let inline object-position from data-image-focal-point be used */
}

/* Ensure section has relative positioning for absolute background */
.page-section,
[data-section-id] {
    position: relative !important;
}

/* Fix lazy loaded images */
.loaded img,
img.loaded,
.sqs-image-content img {
    opacity: 1 !important;
}

/* Ensure content sections are visible */
.content-wrapper,
.page-section,
.sqs-layout,
.sqs-block {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix image blocks */
.sqs-block-image .sqs-block-content {
    opacity: 1 !important;
}

.image-block-wrapper img,
.thumb-image img,
.sqs-image img {
    opacity: 1 !important;
    display: block !important;
}

/* =============================================
   HEADER BUTTON STYLING - Book Now button
   ============================================= */
.header-actions-action--cta a.sqs-button-element--primary,
.header-actions-action--cta a.btn {
    background-color: #06b5d4 !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-size: 0.85em !important;
    display: inline-block !important;
}

.header-actions-action--cta a.sqs-button-element--primary:hover,
.header-actions-action--cta a.btn:hover {
    background-color: #0891b2 !important;
}

/* =============================================
   NEWSLETTER/SUBSCRIBE BUTTON STYLING
   Force solid button style (baseline uses body class primary-button-style-solid)
   ============================================= */
.newsletter-form-button,
button.sqs-button-element--primary,
.sqs-system-button.sqs-button-element--primary,
.sqs-block-newsletter .sqs-system-button,
.newsletter-form-button-wrapper button {
    background-color: #f5c332 !important;
    color: #1b1b1b !important;
    border: none !important;
    border-color: transparent !important;
    padding: 12px 24px !important;
    border-radius: 50px !important;  /* pill shape to match baseline */
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
}

.newsletter-form-button:hover,
button.sqs-button-element--primary:hover,
.sqs-system-button.sqs-button-element--primary:hover,
.newsletter-form-button-wrapper button:hover {
    background-color: #e0b02d !important;
    color: #1b1b1b !important;
}

/* Hide dropdown arrows in nav (they don't appear in original) */
.header-nav .header-dropdown-icon,
.header-nav-item--folder .icon-arrow,
.header-nav-folder-title svg,
.header-dropdown-icon,
span.header-dropdown-icon,
.site-nav .icon-arrow,
.nav-link .icon-arrow,
.dropdown-toggle .icon-arrow,
svg.icon-arrow {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
}

/* Ensure social icons show in header */
.header-actions-action--social {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.header-actions-action--social .header-icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
}

/* =============================================
   PRIMARY BUTTON STYLING - Yellow/Gold Background
   Match Squarespace's primary button color
   ============================================= */

/* Primary buttons in content areas (Contact Us, etc.) */
.sqs-block-button-element.sqs-button-element--primary,
a.sqs-block-button-element.sqs-button-element--primary,
.sqs-block-button-container[data-button-type="primary"] .sqs-block-button-element {
    background-color: #f5c332 !important;
    color: #1b1b1b !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 15px 30px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0.02em !important;
    font-size: 1em !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: background-color 0.2s ease !important;
}

.sqs-block-button-element.sqs-button-element--primary:hover,
a.sqs-block-button-element.sqs-button-element--primary:hover {
    background-color: #e0b02d !important;
    color: #1b1b1b !important;
}

/* Newsletter/Subscribe SIGN UP button - matches baseline yellow/gold pill style */
/* Baseline button text appears to blend with button color */
.newsletter-form-button,
.newsletter-block .sqs-block-button-element,
.sqs-block-newsletter .sqs-block-button-element,
button[type="submit"].sqs-system-button,
.form-wrapper button[type="submit"],
.newsletter-form .newsletter-form-button {
    background-color: #f5c332 !important;
    color: #d4a82a !important; /* Slightly darker to match baseline text visibility */
    border: none !important;
    border-color: transparent !important;
    border-radius: 50px !important;  /* pill shape */
    padding: 12px 24px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
}

.newsletter-form-button:hover,
.newsletter-block .sqs-block-button-element:hover,
button[type="submit"].sqs-system-button:hover,
.newsletter-form .newsletter-form-button:hover {
    background-color: #e0b02d !important;
    color: #1b1b1b !important;
}

/* =============================================
   BODY TEXT STYLING
   Removed line-height/margin overrides - let baseline CSS handle spacing
   to avoid page height differences
   ============================================= */

/* =============================================
   HERO SECTION TEXT STYLING
   ============================================= */

/* Hero titles on banner sections */
.page-section.section-height--medium h1,
.page-section.section-height--large h1,
.banner-section h1 {
    text-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
}

/* Ensure hero text is white when on image backgrounds */
.has-background .sqs-html-content h1,
.has-background .sqs-html-content h2,
.section-background + .content-wrapper h1,
.section-background + .content-wrapper h2 {
    color: #fff !important;
}

/* =============================================
   FOOTER STYLING
   Removed spacing overrides - let baseline CSS handle to match heights
   ============================================= */

/* Footer form inputs - minimal styling */
.footer-section input[type="text"],
.footer-section input[type="email"],
#footer input[type="text"],
#footer input[type="email"] {
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
}

/* =============================================
   FOOTER SECTION BACKGROUND COLORS
   Match baseline Squarespace footer styling
   ============================================= */

/* First footer section (About/How We Treat/What We Treat) - Light teal background */
/* Section ID: 6661e1b6023f2a41c3160624 - has data-section-theme="bright" */
#footer-sections > section[data-section-id="6661e1b6023f2a41c3160624"] {
    background-color: hsla(190.38, 83.87%, 87.84%, 1) !important; /* --lightAccent-hsl */
}

/* Second footer section (Subscribe/Newsletter) - Yellow/gold background */
/* Section ID: 659496748b4c6e3823b73af4 */
#footer-sections > section[data-section-id="659496748b4c6e3823b73af4"] {
    background-color: hsla(52, 92%, 50%, 1) !important; /* --darkAccent-hsl (yellow) */
}

/* Third footer section (Copyright) - Light gray/white background */
/* Section ID: 659496e7bcc24b355fa9c56d */
#footer-sections > section[data-section-id="659496e7bcc24b355fa9c56d"] {
    background-color: hsla(0, 0%, 100%, 1) !important; /* white */
}

/* =============================================
   SCHEDULE PAGE - ACUITY IFRAME FIXES
   ============================================= */

/* Ensure the Acuity iframe maintains consistent height */
.sqs-block-acuity iframe,
.acuity-block-wrapper iframe {
    min-height: 8430px !important;
    height: 8430px !important;
    max-height: none !important;
    width: 100% !important;
    border: none !important;
}

/* Ensure the acuity section has proper minimum height */
.sqs-block-acuity,
.acuity-block-wrapper {
    min-height: 8430px !important;
}

/* Ensure the section containing acuity has proper height on desktop */
@media (min-width: 768px) {
    [data-section-id="65c6b2622b9f1254a6d0ac44"] {
        min-height: 8500px !important;
    }

    [data-section-id="65c6b2622b9f1254a6d0ac44"] .content-wrapper {
        min-height: 8450px !important;
    }
}

/* =============================================
   MOBILE-SPECIFIC FIXES
   ============================================= */

@media screen and (max-width: 799px) {
    /* Match baseline paragraph spacing - DO NOT override line-height/margins
       These were causing extra height in local screenshots */

    /* Footer spacing on mobile - match baseline */
    .footer-section,
    #footer {
        padding: 1.5rem 1rem !important;
    }

    /* Acuity section height on mobile */
    .sqs-block-acuity iframe,
    .acuity-block-wrapper iframe {
        min-height: 8430px !important;
        height: 8430px !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: SENIOR-PERSONAL-TRAINING
   Fix hero section and content styling
   ============================================= */

/* Hero section title styling - match baseline */
.collection-688e7f81a5950d77c1e07014 .page-section.has-background h3,
.collection-688e7f81a5950d77c1e07014 [data-section-theme="black"] h3 {
    color: #fff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.4) !important;
}

/* Hero section background overlay - 25% opacity */
.collection-688e7f81a5950d77c1e07014 .section-background-overlay {
    background-color: rgba(0,0,0,0.25) !important;
    opacity: 1 !important;
}

/* CTA link styling - teal color for "CLICK HERE TO SCHEDULE" links */
.collection-688e7f81a5950d77c1e07014 h2 a,
.collection-688e7f81a5950d77c1e07014 .sqs-html-content h2 a {
    color: #06b5d4 !important;
    text-decoration: none !important;
}

.collection-688e7f81a5950d77c1e07014 h2 a:hover,
.collection-688e7f81a5950d77c1e07014 .sqs-html-content h2 a:hover {
    color: #0891b2 !important;
    text-decoration: underline !important;
}

/* Large text styling for .sqsrte-large class */
.sqsrte-large {
    font-size: 1.125em !important;
    line-height: 1.8 !important;
}

/* List styling - center-aligned list items */
.collection-688e7f81a5950d77c1e07014 ul[data-rte-list="default"] {
    list-style-position: inside !important;
    padding-left: 0 !important;
    text-align: center !important;
}

.collection-688e7f81a5950d77c1e07014 ul[data-rte-list="default"] li {
    margin-bottom: 1em !important;
}

/* Bold text in list items */
.collection-688e7f81a5950d77c1e07014 ul[data-rte-list="default"] strong {
    font-weight: 700 !important;
}

/* Content section text alignment */
.collection-688e7f81a5950d77c1e07014 .sqs-html-content {
    text-align: center !important;
}

.collection-688e7f81a5950d77c1e07014 .sqs-html-content h3 {
    text-align: center !important;
}

/* Mobile: Position hero image to show more of the senior woman */
@media screen and (max-width: 767px) {
    .collection-688e7f81a5950d77c1e07014 .section-background img {
        object-position: 62% 50% !important;
    }
}

/* =============================================
   CONTACT PAGE - FORM BUTTON STYLING
   Baseline shows cyan/teal buttons, not yellow
   ============================================= */

/* Contact page form submit buttons - SEND and APPOINTMENT REQUEST */
/* These are in form sections, not newsletter sections */
.collection-65948d5c94f0ee4681365333 .form-submit-button,
.collection-65948d5c94f0ee4681365333 button.sqs-system-button.sqs-button-element--primary,
.collection-65948d5c94f0ee4681365333 .form-button-wrapper button {
    background-color: #05c1eb !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 15px 30px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
}

.collection-65948d5c94f0ee4681365333 .form-submit-button:hover,
.collection-65948d5c94f0ee4681365333 button.sqs-system-button.sqs-button-element--primary:hover,
.collection-65948d5c94f0ee4681365333 .form-button-wrapper button:hover {
    background-color: #04a8ce !important;
    color: #fff !important;
}

/* Contact page dropdown - ensure placeholder option is shown by default */
.collection-65948d5c94f0ee4681365333 select.show-placeholder {
    color: #999 !important;
}

.collection-65948d5c94f0ee4681365333 select option:not([disabled]) {
    color: #1b1b1b !important;
}

/* Contact page mobile - fix phone number scaling to fit on screen */
@media screen and (max-width: 767px) {
    .collection-65948d5c94f0ee4681365333 .sqsrte-scaled-text {
        font-size: 36px !important;
    }

    .collection-65948d5c94f0ee4681365333 .sqsrte-scaled-text-container {
        overflow: visible !important;
    }
}

/* Tablet: Adjust hero image position for better framing */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .collection-688e7f81a5950d77c1e07014 .section-background img {
        object-position: 58% 50% !important;
    }
}

/* =============================================
   BLOG POST LAYOUT FIXES
   Match Squarespace blog post layout with tweak-blog-item-width-narrow
   ============================================= */

/* Blog item wrapper - full width with centered content */
.blog-item-wrapper {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
    position: relative !important;
}

/* Blog item inner wrapper - 50% width on desktop to match Squarespace's narrow layout */
/* This matches the Squarespace rule: .tweak-blog-item-width-narrow .blog-item-wrapper .blog-item-inner-wrapper{width:50%} */
.blog-item-wrapper .blog-item-inner-wrapper {
    width: 50% !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
    position: relative !important;
}

/* Blog post article entry - preserve existing styles, don't add padding */
.blog-item-wrapper article.entry {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
}

/* Mobile: full width */
@media screen and (max-width: 767px) {
    .blog-item-wrapper .blog-item-inner-wrapper {
        width: 100% !important;
    }
}

/* Blog post title section - centered layout */
.blog-item-top-wrapper {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
}

.blog-item-top-wrapper .blog-item-meta-wrapper {
    justify-content: center !important;
}

.blog-item-top-wrapper .blog-item-author-date-wrapper {
    justify-content: center !important;
    display: flex !important;
}

/* Blog post content wrapper */
.blog-item-content-wrapper {
    max-width: 100% !important;
    margin: 0 auto !important;
}

/* Blog post inner content */
.blog-item-content {
    max-width: 100% !important;
}

/* Meta items styling */
.blog-item-wrapper .blog-meta-item,
.blog-item-wrapper .blog-meta-item a,
.blog-item-wrapper .blog-meta-item span {
    text-decoration: none !important;
}

.blog-item-wrapper .blog-item-meta-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    flex-wrap: wrap !important;
}

/* Ensure blog images don't stretch beyond content width */
.blog-item-content .sqs-block-image img {
    max-width: 100% !important;
    height: auto !important;
}

/* Blog author profile wrapper */
.blog-item-author-profile-wrapper {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-content: center !important;
    align-items: center !important;
}

.blog-item-author-profile-wrapper .author-bio {
    text-align: center !important;
}

.blog-item-author-profile-wrapper .author-avatar {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Item pagination styling for blog posts */
.item-pagination--prev-next {
    display: flex !important;
}

.item-pagination-link {
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    max-width: 50% !important;
    width: auto !important;
}

.item-pagination-link .item-pagination-prev-next {
    display: none !important;
}

.item-pagination-link .item-pagination-title {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.item-pagination-link .item-pagination-icon {
    width: 18px !important;
    height: 32px !important;
    padding-right: 25px !important;
}

.item-pagination-link .item-pagination-icon svg {
    width: 18px !important;
    height: 32px !important;
}

.item-pagination-link--prev {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.item-pagination-link--next {
    text-align: right !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

.item-pagination-link--next .item-pagination-icon {
    padding-right: 0 !important;
    padding-left: 25px !important;
}

/* Pagination background for blog */
.item-pagination[data-collection-type^="blog"] {
    background-color: var(--siteBackgroundColor, #fff) !important;
}

/* Blog comments section */
.blog-item-comments {
    margin-top: 2rem !important;
}

/* =============================================
   FEELBETTER PAGE - SPECIAL STYLING
   This page has no header/footer in the baseline
   ============================================= */

/* Remove any padding/margin from the main wrapper on feelbetter page */
.collection-6965685fb48c3a5bcd3f85e5 #main-content,
.collection-6965685fb48c3a5bcd3f85e5 .site-main {
    padding: 0 !important;
    margin: 0 !important;
}

/* Ensure the article sections start at the very top */
.collection-6965685fb48c3a5bcd3f85e5 article.sections {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Match baseline page section styles */
.collection-6965685fb48c3a5bcd3f85e5 .page-section {
    padding-top: 0 !important;
}

/* Mobile-specific fixes for feelbetter page to reduce element sizes */
@media screen and (max-width: 767px) {
    /* Reduce row gap to compact layout - closer to baseline */
    .collection-6965685fb48c3a5bcd3f85e5 .fe-6965685fb48c3a5bcd3f85e7 {
        row-gap: 6px !important;
    }

    /* Reduce logo block height - baseline appears more compact */
    .collection-6965685fb48c3a5bcd3f85e5 .fe-block-99ec08f5865f0024f91a {
        max-height: 250px !important;
    }

    /* Reduce headshot image container height */
    .collection-6965685fb48c3a5bcd3f85e5 .fe-block-yui_3_17_2_1_1768251112477_5654133 {
        max-height: 320px !important;
    }

    /* Reduce text block spacing */
    .collection-6965685fb48c3a5bcd3f85e5 .sqs-html-content p {
        margin-bottom: 0.8em !important;
    }

    /* Compact button blocks */
    .collection-6965685fb48c3a5bcd3f85e5 .sqs-block-button {
        padding: 0.5em 0 !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: ABOUT PAGE (mobile)
   Baseline height: 6033px, Local: 5750px (283px shorter)
   Need to add spacing to match baseline
   Collection ID: collection-65be2c8a17a43f103b78539f
   ============================================= */
@media screen and (max-width: 767px) {
    /* Add padding to about page footer sections to increase height */
    .collection-65be2c8a17a43f103b78539f #footer-sections {
        padding-top: 30px !important;
    }

    /* Add spacing to the "WE ARE HERE TO HELP" section */
    .collection-65be2c8a17a43f103b78539f [data-section-id="65be2c8a17a43f103b7853ab"] {
        padding-bottom: 60px !important;
    }

    /* Add spacing to content section */
    .collection-65be2c8a17a43f103b78539f [data-section-id="65be2c8a17a43f103b7853a5"] {
        padding-bottom: 50px !important;
    }

    /* Ensure paragraph spacing matches baseline */
    .collection-65be2c8a17a43f103b78539f .sqs-html-content p {
        margin-bottom: 1.2em !important;
    }

    /* Add margin after list items */
    .collection-65be2c8a17a43f103b78539f .sqs-html-content li {
        margin-bottom: 0.8em !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: INDEX/HOME PAGE (mobile)
   Baseline height: 12893px, Local: 13849px (956px taller)
   Need to reduce spacing to match baseline
   Collection ID: collection-65949280396b3d669d122def
   ============================================= */
@media screen and (max-width: 767px) {
    /* Reduce section padding on home page */
    .collection-65949280396b3d669d122def .page-section {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    /* Reduce footer height on home page */
    .collection-65949280396b3d669d122def #footer-sections > section {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    /* Reduce row gaps in fluid-engine grids */
    .collection-65949280396b3d669d122def .fluid-engine {
        row-gap: 8px !important;
    }

    /* Tighten paragraph spacing */
    .collection-65949280396b3d669d122def .sqs-html-content p {
        margin-bottom: 0.9em !important;
    }

    /* Reduce image block margins */
    .collection-65949280396b3d669d122def .sqs-block-image {
        margin-bottom: 10px !important;
    }

    /* Compact button containers */
    .collection-65949280396b3d669d122def .sqs-block-button-container {
        padding: 5px 0 !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: INSURANCE PAGE (tablet)
   Baseline height: 2539px, Local: 2452px (87px shorter)
   Need to add spacing to match baseline
   Collection ID: collection-65be257b3e9f3a5e8d5f2e0c
   ============================================= */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    /* Add padding to insurance page sections */
    .collection-65be257b3e9f3a5e8d5f2e0c .page-section {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    /* Add spacing to footer */
    .collection-65be257b3e9f3a5e8d5f2e0c #footer-sections {
        padding-top: 15px !important;
    }

    /* Add margin to content wrapper */
    .collection-65be257b3e9f3a5e8d5f2e0c .content-wrapper {
        padding-bottom: 20px !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: JOINT-MOBILIZATION PAGE (desktop)
   Baseline height: 2130px
   After aggressive CSS: 2375px (+245px - too much)
   Need to reduce from 40px to smaller value to get closer to 2130px
   Reducing by ~(245-66)/4 sections ~ 45px per 2 sections = ~22-23px each
   Collection ID: collection-6660e8320db3cf6f833b9c9e
   ============================================= */
@media screen and (min-width: 1024px) {
    /* Smaller increase to section padding (was 40, now 28) */
    .collection-6660e8320db3cf6f833b9c9e .page-section:not(.has-background) {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    /* Smaller increase to footer spacing (was 25, now 20) */
    .collection-6660e8320db3cf6f833b9c9e #footer-sections > section {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: MOVEMENT-IMPAIRMENT-SYNDROMES-THERAPY (desktop)
   Baseline height: 2439px
   After aggressive CSS: 2347px (-92px - overshot)
   Need less reduction: target was only -95px from 2534
   Current CSS removed 187px total, need to add back ~92px
   Collection ID: collection-6660ed8bc80d7e1d9869f175
   ============================================= */
@media screen and (min-width: 1024px) {
    /* Less aggressive reduction (was 15, now 19) */
    .collection-6660ed8bc80d7e1d9869f175 .page-section:not(.has-background) {
        padding-top: 19px !important;
        padding-bottom: 19px !important;
    }

    /* Less aggressive footer reduction (was 12, now 17) */
    .collection-6660ed8bc80d7e1d9869f175 #footer-sections > section {
        padding-top: 17px !important;
        padding-bottom: 17px !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: MYSTORY PAGE (desktop)
   Baseline height: 8230px
   After aggressive CSS: 8564px (+334px - way too much)
   Original local: 8112px (-118px shorter)
   Need much smaller increase - mystory has many sections
   Reducing padding from 35 to ~22px
   Collection ID: collection-659498b1c43b3930944913e3
   ============================================= */
@media screen and (min-width: 1024px) {
    /* Much smaller increase to section padding (was 35, now 22) */
    .collection-659498b1c43b3930944913e3 .page-section {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: NEW-PATIENT PAGE (desktop)
   Baseline height: 5124px
   Previous local: 5143px (+19px taller) - diff=10
   Need tiny bit more reduction
   Collection ID: collection-65b554e8d5c9f5496b22eb57
   ============================================= */
@media screen and (min-width: 1024px) and (max-width: 1439px) {
    /* Further reduce section padding */
    .collection-65b554e8d5c9f5496b22eb57 .page-section {
        padding-top: 13px !important;
        padding-bottom: 13px !important;
    }

    /* Further reduce footer spacing */
    .collection-65b554e8d5c9f5496b22eb57 #footer-sections > section {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: FAQ PAGE (tablet)
   Baseline has less top padding on main content section
   diff=10 needs to get below 10
   Collection ID: collection-65be26428e40ce23d00c8193
   ============================================= */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    /* Reduce the section padding-top to match baseline */
    .collection-65be26428e40ce23d00c8193 [data-section-id="65be2673eb4713576e2f9a69"] {
        padding-top: 130px !important;
    }
}

/* =============================================
   MOBILE VIEWPORT FIXES - diff 12-14 pages
   Goal: Reduce visual diff scores to below 10
   Using minimal adjustments to preserve visual structure
   ============================================= */

/* SCHEDULE PAGE: Match baseline iframe height (mobile) */
@media screen and (max-width: 767px) {
    /* The schedule page's acuity iframe needs specific height */
    .collection-65948d75f0e02e6adcb93e3f .sqs-block-acuity iframe,
    .collection-65948d75f0e02e6adcb93e3f .acuity-block-wrapper iframe {
        min-height: 15188px !important;
        height: 15188px !important;
    }
}

/* GENERAL MOBILE FOOTER FIXES
   Many diff issues come from footer section height differences */
@media screen and (max-width: 767px) {
    /* Ensure consistent footer link spacing */
    #footer-sections .sqs-html-content p {
        line-height: 1.8 !important;
    }

    /* Subscribe section form spacing */
    #footer-sections .newsletter-form-header {
        margin-bottom: 1em !important;
    }

    /* Copyright section padding */
    #footer-sections [data-section-id="659496e7bcc24b355fa9c56d"] {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: INSURANCE PAGE (desktop)
   Baseline height: 2250px, Local: 2193px (57px shorter)
   Need to ADD spacing to match baseline
   Collection ID: collection-65be257b3e9f3a5e8d5f2e0c
   ============================================= */
@media screen and (min-width: 1024px) and (max-width: 1439px) {
    /* Add section padding - local is 57px shorter than baseline */
    .collection-65be257b3e9f3a5e8d5f2e0c .page-section {
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }

    /* Add footer spacing */
    .collection-65be257b3e9f3a5e8d5f2e0c #footer-sections > section {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }
}

/* =============================================
   PAGE-SPECIFIC: CONTACT PAGE (wide viewport)
   Baseline height: 4381px, Local: 4611px (230px taller)
   Need to reduce padding to get closer to baseline
   Collection ID: collection-65948d5c94f0ee4681365333
   ============================================= */
@media screen and (min-width: 1440px) {
    /* Reduce padding - local is 230px taller than baseline */
    .collection-65948d5c94f0ee4681365333 .page-section {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    /* Reduce footer spacing */
    .collection-65948d5c94f0ee4681365333 #footer-sections > section {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}

/* NOTE: About page (mobile) CSS is in the earlier section around line 1219
   Local is 154px shorter than baseline, keeping the earlier padding additions */

/* =============================================
   WIDE VIEWPORT FIXES (1920x1080)
   Target: reduce diff from 10 to below 10
   ============================================= */

/* -----------------------------------------
   BULGING-DISC-PAIN (wide): local vs baseline 2527px
   Fine-tuning to get exact height match
   Collection ID: collection-6660f22c4d26a66e7972296a
   ----------------------------------------- */
@media screen and (min-width: 1440px) {
    .collection-6660f22c4d26a66e7972296a #footer-sections > section:last-child {
        padding-bottom: 7px !important;
    }
}

/* -----------------------------------------
   SPECIALTIES (wide): baseline 16368px, local ~16448px (+80px taller)
   80px difference across 55 sections is small (~1.5px per section)
   The visual diff of 10-14 is likely from other factors, not height
   Collection ID: collection-659934f78b043c1bb2c8c419
   ----------------------------------------- */
/* No aggressive height adjustment - focus on visual alignment instead */

/* =============================================
   DESKTOP VIEWPORT FIXES (1280x800)
   Target: reduce diff from 10-12 to below 10
   Desktop media query: 1024px - 1439px
   ============================================= */

@media screen and (min-width: 1024px) and (max-width: 1439px) {
    /* -----------------------------------------
       TESTIMONIALS (desktop): local -1090px shorter
       baseline=9713px, local=8623px
       Need to ADD ~1090px total height - significant padding increase
       Collection ID: collection-65be29691b77363221cd8e05
       ----------------------------------------- */
    .collection-65be29691b77363221cd8e05 .page-section {
        padding-top: 100px !important;
        padding-bottom: 100px !important;
    }
    .collection-65be29691b77363221cd8e05 .fluid-engine {
        row-gap: 30px !important;
    }
    .collection-65be29691b77363221cd8e05 #footer-sections > section {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
    .collection-65be29691b77363221cd8e05 .sqs-html-content p {
        margin-bottom: 2em !important;
    }
}

/* =============================================
   TABLET VIEWPORT FIXES (768x1024)
   Target: reduce diff from 10-14 to below 10
   Tablet media query: 768px - 1023px
   ============================================= */

@media screen and (min-width: 768px) and (max-width: 1023px) {
    /* -----------------------------------------
       CERVICAL-TRACTION (tablet): local -280px shorter
       baseline=2340px, local=2060px
       Need to ADD ~280px total height
       Collection ID: collection-6660eeab1e58c7550a0f46d5
       ----------------------------------------- */
    .collection-6660eeab1e58c7550a0f46d5 .page-section {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
    .collection-6660eeab1e58c7550a0f46d5 .fluid-engine {
        row-gap: 22px !important;
    }
    .collection-6660eeab1e58c7550a0f46d5 #footer-sections > section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    .collection-6660eeab1e58c7550a0f46d5 .sqs-html-content p {
        margin-bottom: 1.6em !important;
    }

    /* -----------------------------------------
       FEELBETTER (tablet): local +253px taller
       baseline=3611px, local=3864px
       Need to REDUCE ~253px total height
       Collection ID: collection-6965685fb48c3a5bcd3f85e5
       ----------------------------------------- */
    .collection-6965685fb48c3a5bcd3f85e5 .page-section {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
    .collection-6965685fb48c3a5bcd3f85e5 .fluid-engine {
        row-gap: 3px !important;
    }
    .collection-6965685fb48c3a5bcd3f85e5 #footer-sections > section {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
    .collection-6965685fb48c3a5bcd3f85e5 .sqs-html-content p {
        margin-bottom: 0.4em !important;
    }

    /* -----------------------------------------
       MANUAL-THERAPY (tablet): local +382px taller
       baseline=4050px, local=4432px
       Need to REDUCE ~382px total height
       Collection ID: collection-6660eb8b0db3cf6f833c9925
       ----------------------------------------- */
    .collection-6660eb8b0db3cf6f833c9925 .page-section {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
    .collection-6660eb8b0db3cf6f833c9925 .fluid-engine {
        row-gap: 2px !important;
    }
    .collection-6660eb8b0db3cf6f833c9925 #footer-sections > section {
        padding-top: 2px !important;
        padding-bottom: 2px !important;
    }
    .collection-6660eb8b0db3cf6f833c9925 .sqs-html-content p {
        margin-bottom: 0.3em !important;
    }

    /* -----------------------------------------
       MOVEMENT-IMPAIRMENT-SYNDROMES-THERAPY (tablet): local +267px taller
       baseline=2657px, local=2924px
       Need to REDUCE ~267px total height
       Collection ID: collection-6660ed8bc80d7e1d9869f175
       ----------------------------------------- */
    .collection-6660ed8bc80d7e1d9869f175 .page-section {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }
    .collection-6660ed8bc80d7e1d9869f175 .fluid-engine {
        row-gap: 3px !important;
    }
    .collection-6660ed8bc80d7e1d9869f175 #footer-sections > section {
        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }
    .collection-6660ed8bc80d7e1d9869f175 .sqs-html-content p {
        margin-bottom: 0.4em !important;
    }

    /* -----------------------------------------
       MYSTORY (tablet): local +372px taller
       baseline=9145px, local=9517px
       Need to REDUCE ~372px total height
       Collection ID: collection-659498b1c43b3930944913e3
       ----------------------------------------- */
    .collection-659498b1c43b3930944913e3 .page-section {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    .collection-659498b1c43b3930944913e3 .fluid-engine {
        row-gap: 4px !important;
    }
    .collection-659498b1c43b3930944913e3 #footer-sections > section {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }
    .collection-659498b1c43b3930944913e3 .sqs-html-content p {
        margin-bottom: 0.6em !important;
    }

    /* -----------------------------------------
       SENIOR-PERSONAL-TRAINING (tablet): local +74px taller
       baseline=5798px, local=5872px
       Need to REDUCE ~74px total height
       Collection ID: collection-688e7f81a5950d77c1e07014
       ----------------------------------------- */
    .collection-688e7f81a5950d77c1e07014 .page-section {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }
    .collection-688e7f81a5950d77c1e07014 .fluid-engine {
        row-gap: 8px !important;
    }
    .collection-688e7f81a5950d77c1e07014 #footer-sections > section {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    /* -----------------------------------------
       FOOT-AND-ANKLE-PAIN (tablet): After CSS - local +67px taller
       baseline=2340px, local=2407px
       Need to reduce by ~67px - use smaller padding values
       Collection ID: collection-6660f39e0121fe160ff5a04f
       ----------------------------------------- */
    .collection-6660f39e0121fe160ff5a04f .page-section {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }
    .collection-6660f39e0121fe160ff5a04f .fluid-engine {
        row-gap: 10px !important;
    }
    .collection-6660f39e0121fe160ff5a04f #footer-sections > section {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    /* -----------------------------------------
       INSURANCE (tablet): After CSS - local -184px shorter
       baseline=2539px, local=2355px
       Need to add back ~184px - increase padding
       Collection ID: collection-65be257b3e9f3a5e8d5f2e0c
       ----------------------------------------- */
    .collection-65be257b3e9f3a5e8d5f2e0c .page-section {
        padding-top: 35px !important;
        padding-bottom: 35px !important;
    }
    .collection-65be257b3e9f3a5e8d5f2e0c .fluid-engine {
        row-gap: 15px !important;
    }
    .collection-65be257b3e9f3a5e8d5f2e0c #footer-sections > section {
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }

    /* -----------------------------------------
       JOINT-MOBILIZATION (tablet): After CSS - local +62px taller
       baseline=2340px, local=2402px
       Need to reduce by ~62px - use smaller padding values
       Collection ID: collection-6660e8320db3cf6f833b9c9e
       ----------------------------------------- */
    .collection-6660e8320db3cf6f833b9c9e .page-section {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    .collection-6660e8320db3cf6f833b9c9e .fluid-engine {
        row-gap: 9px !important;
    }
    .collection-6660e8320db3cf6f833b9c9e #footer-sections > section {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    /* -----------------------------------------
       LYMPHATIC-THERAPY (tablet): local now -315px shorter
       baseline=2340px, local=2025px (after over-correction)
       Need to ADD ~315px total height - increase padding significantly
       Collection ID: collection-6660f0ed609122511b42f948
       ----------------------------------------- */
    .collection-6660f0ed609122511b42f948 .page-section {
        padding-top: 55px !important;
        padding-bottom: 55px !important;
    }
    .collection-6660f0ed609122511b42f948 .fluid-engine {
        row-gap: 20px !important;
    }
    .collection-6660f0ed609122511b42f948 #footer-sections > section {
        padding-top: 35px !important;
        padding-bottom: 35px !important;
    }
    .collection-6660f0ed609122511b42f948 .sqs-html-content p {
        margin-bottom: 1.5em !important;
    }

    /* -----------------------------------------
       BLOG POSTS - Generic adjustments
       Collection ID: collection-659c8d50a165fe70f6e62859
       Baseline: ~9187px, Local: ~10200px (~1000px taller)
       Need aggressive spacing reduction across all elements
       ----------------------------------------- */
    body.view-item.collection-659c8d50a165fe70f6e62859 .page-section {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content p {
        margin-bottom: 0.5em !important;
        line-height: 1.5 !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content h3,
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content h4 {
        margin-top: 0.6em !important;
        margin-bottom: 0.3em !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content ul {
        margin-top: 0.3em !important;
        margin-bottom: 0.4em !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content li {
        margin-bottom: 0.15em !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .blog-item-content-wrapper {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-block {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-block-image {
        margin-top: 6px !important;
        margin-bottom: 6px !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 #footer-sections > section {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .item-pagination {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .blog-item-meta-wrapper {
        margin-bottom: 8px !important;
    }
    body.view-item.collection-659c8d50a165fe70f6e62859 .blog-item-title h1 {
        margin-bottom: 6px !important;
    }
}


/* =============================================
   MOBILE VIEWPORT FIXES
   ============================================= */

/* SCHEDULE PAGE: Match baseline iframe height (mobile)
   Collection ID: collection-65948d75f0e02e6adcb93e3f */
@media screen and (max-width: 767px) {
    .collection-65948d75f0e02e6adcb93e3f .sqs-block-acuity iframe,
    .collection-65948d75f0e02e6adcb93e3f .acuity-block-wrapper iframe {
        min-height: 15188px !important;
        height: 15188px !important;
    }
}

/* BLOG POSTS (news_*): MOBILE VISUAL MATCH
   Collection ID: collection-659c8d50a165fe70f6e62859
   Focus on matching baseline visual rhythm, not exact height */
@media screen and (max-width: 767px) {
    /* Match baseline paragraph spacing - slightly tighter than default */
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content p {
        margin-bottom: 0.85em !important;
    }

    /* Match baseline heading spacing */
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content h3,
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content h4 {
        margin-top: 1.2em !important;
        margin-bottom: 0.5em !important;
    }

    /* Match baseline list spacing */
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content ul {
        margin-top: 0.5em !important;
        margin-bottom: 0.75em !important;
    }

    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-html-content li {
        margin-bottom: 0.25em !important;
    }

    /* Match baseline image block spacing */
    body.view-item.collection-659c8d50a165fe70f6e62859 .sqs-block-image {
        margin-top: 15px !important;
        margin-bottom: 15px !important;
    }

    /* Match baseline footer spacing */
    body.view-item.collection-659c8d50a165fe70f6e62859 #footer-sections > section {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}

/* =============================================
   UTILITY CLASSES FOR CSS REFACTORING
   These replace inline styles with reusable classes
   ============================================= */

/* Display utilities */
.block { display: block !important; }
.inline-block { display: inline-block !important; }
.inline { display: inline !important; }
.flex { display: flex !important; }
.hidden { display: none !important; }

/* Visibility utilities */
.visible { visibility: visible !important; }
.invisible { visibility: hidden !important; }

/* Opacity utilities */
.opacity-0 { opacity: 0 !important; }
.opacity-100 { opacity: 1 !important; }

/* Shadow utilities */
.shadow-blur-30 { box-shadow: 0px 0px 30px 0px !important; }

/* Blend mode utilities */
.blend-normal { mix-blend-mode: normal !important; }

/* Vertical align utilities */
.align-middle { vertical-align: middle !important; }
.align-bottom { vertical-align: bottom !important; }

/* Image utilities - common patterns for responsive images */
.img-cover-center {
    display: block !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
}
.img-contain-center {
    display: block !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
}
.img-center {
    display: block !important;
    object-position: 50% 50% !important;
}
.img-cover-fill {
    display: block !important;
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    object-position: 50% 50% !important;
}
.img-cover-absolute {
    display: block !important;
    position: absolute !important;
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
}

/* Size utilities */
.size-full {
    height: 100% !important;
    width: 100% !important;
}

/* Image mask utilities - for rounded image containers */
.img-mask {
    overflow: hidden !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
}
.img-mask-rounded-20 {
    overflow: hidden !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
}
.img-mask-rounded-30 {
    overflow: hidden !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
    border-top-left-radius: 30px !important;
    border-top-right-radius: 30px !important;
    border-bottom-left-radius: 30px !important;
    border-bottom-right-radius: 30px !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
}
