/*
* Theme Name: Achieve PT
* Theme URI: https://practicepromotions.net/
* Author: Practice Promotions Team
* Author URI: https://practicepromotions.net/
* Description:
* Version: 1.0.0
* Text Domain: pp-theme-textdomain
*/

/* / Variables / */
:root {
	/* / Colors / */
	--global--color-primary:         #09134A;
	--global--color-primary-light:   #757a96;
	--global--color-secondary:       #6B5946;
	--global--color-secondary-light: #E4F6Fe;
}

.has-primary-to-secondary-gradient-background {
	background: linear-gradient(160deg, var(--global--color-primary), var(--global--color-secondary));
}

.has-secondary-to-primary-gradient-background {
	background: linear-gradient(160deg, var(--global--color-secondary), var(--global--color-primary));
}

.has-primary-light-to-secondary-light-gradient-background {
	background: linear-gradient(160deg, var(--global--color-primary), var(--global--color-primary-light));
}

.has-secondary-light-to-primary-light-gradient-background {
	background: linear-gradient(160deg, var(--global--color-secondary), var(--global--color-secondary-light));
}

/* Core Web Vitals & Performance Optimizations */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

/* Image & Media layout shift prevention */
img, picture, video, iframe {
    max-width: 100%;
    height: auto;
}

/* Hero & Banner Layout Stability (CLS Fix) */
.mobile-banner {
    position: relative;
    width: 100%;
    min-height: 360px;
    aspect-ratio: 540 / 768;
    background-color: #1b1b1b;
    overflow: hidden;
}

.mobile-banner picture,
.mobile-banner picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.banner {
    position: relative;
    width: 100%;
    background-color: #1b1b1b;
}

@media (min-width: 768px) {
    .banner {
        aspect-ratio: 1920 / 800;
        min-height: 400px;
    }
    .mobile-banner {
        display: none !important;
    }
    .banner {
        display: block !important;
    }
}

@media (max-width: 767px) {
    .banner {
        display: none !important;
    }
    .mobile-banner {
        display: block !important;
    }
}

.main-header {
    min-height: 75px;
}

.header-space {
    min-height: 75px;
}

.insurance-partner {
    min-height: 90px;
}

/* Content visibility optimizations for below-the-fold content (Speed Index & TBT reduction) */
.conditions-section,
.testimonials-section,
.treatment-section,
.appointment-section,
.blog-section,
.main-footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 500px;
}

