/* Li Health — Custom Styles — Updated Brand 2026 */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap');

* {
    font-family: 'Outfit', system-ui, -apple-system, sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    font-size: 17px;
    line-height: 1.7;
}

p {
    font-size: 0.925rem;
    line-height: 1.25rem;
}

/* Accordion */

.accordion-body {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.35s ease, padding 0.2s ease;
    -o-transition: max-height 0.35s ease, padding 0.2s ease;
    transition: max-height 0.35s ease, padding 0.2s ease;
}

.accordion-body.open {
    max-height: 800px;
}

.accordion-icon {
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    -o-transition: transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.accordion-icon.open {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

/* Card hover */

.card-hover {
    -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
    transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
    -o-transition: transform 0.2s ease, box-shadow 0.2s ease;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}

.card-hover:hover {
    -webkit-transform: translateY(-4px);
    -ms-transform: translateY(-4px);
    transform: translateY(-4px);
    -webkit-box-shadow: 0 20px 40px rgba(90, 120, 152, 0.12);
    box-shadow: 0 20px 40px rgba(90, 120, 152, 0.12);
}

/* Header scroll shadow */

#main-header.scrolled {
    -webkit-box-shadow: 0 4px 24px rgba(42, 64, 96, 0.10);
    box-shadow: 0 4px 24px rgba(42, 64, 96, 0.10);
}

/* Floating Book Now */

#floating-btn {
    -webkit-animation: float-in 0.5s ease 1s both;
    animation: float-in 0.5s ease 1s both;
    -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
    transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
    -o-transition: transform 0.2s ease, box-shadow 0.2s ease;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}

#floating-btn:hover {
    -webkit-transform: translateY(-2px) scale(1.03);
    -ms-transform: translateY(-2px) scale(1.03);
    transform: translateY(-2px) scale(1.03);
    -webkit-box-shadow: 0 12px 30px rgba(90, 120, 152, 0.4);
    box-shadow: 0 12px 30px rgba(90, 120, 152, 0.4);
}

@-webkit-keyframes float-in {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes float-in {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/* Hero blob */

.hero-blob {
    background: -o-radial-gradient(70% 50%, ellipse, rgba(90, 120, 152, 0.10) 0%, transparent 70%);
    background: radial-gradient(ellipse at 70% 50%, rgba(90, 120, 152, 0.10) 0%, transparent 70%);
}

.trust-badge {
    background: rgba(255, 255, 255, 0.85);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

/* Gradient text */

.gradient-text {
    background: -o-linear-gradient(315deg, #5a7898 0%, #7aa0c0 100%);
    background: linear-gradient(135deg, #5a7898 0%, #7aa0c0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Service card borders */

.service-card {
    position: relative;
}

.service-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 2px;
    background: -o-linear-gradient(315deg, #5a7898, #7aa0c0);
    background: linear-gradient(135deg, #5a7898, #7aa0c0);
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) content-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.service-card:hover::before {
    opacity: 1;
}

/* Notice bar */

.notice-bar {
    background: -o-linear-gradient(315deg, #fffbeb, #fef3c7);
    background: linear-gradient(135deg, #fffbeb, #fef3c7);
    border-left: 4px solid #f59e0b;
}

/* Condition chips */

.condition-chip {
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.condition-chip:hover {
    background: #5a7898;
    color: white;
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
    transform: scale(1.04);
}

/* Mobile menu */

#mobile-menu {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.35s ease;
    -o-transition: max-height 0.35s ease;
    transition: max-height 0.35s ease;
}

/* Step connector */

.step-connector {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    height: 2px;
    background: -webkit-gradient(linear, left top, right top, from(#5a7898), to(#7aa0c0));
    background: -o-linear-gradient(left, #5a7898, #7aa0c0);
    background: linear-gradient(90deg, #5a7898, #7aa0c0);
    margin: 0 -8px;
    margin-top: -1px;
}

.star {
    color: #f59e0b;
}

/* Form focus */

input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: #5a7898;
    -webkit-box-shadow: 0 0 0 3px rgba(90, 120, 152, 0.15);
    box-shadow: 0 0 0 3px rgba(90, 120, 152, 0.15);
}

/* Pricing featured */

.pricing-featured {
    background: -o-linear-gradient(315deg, #2a4060 0%, #5a7898 100%);
    background: linear-gradient(135deg, #2a4060 0%, #5a7898 100%);
    position: relative;
    overflow: hidden;
}

.pricing-featured::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: -o-radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 60%);
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 60%);
}

/* ── TEAL → DUSTY BLUE OVERRIDES ── */

.bg-teal-600 {
    background-color: #5a7898 !important;
}

.bg-teal-700 {
    background-color: #2a4060 !important;
}

.bg-teal-500 {
    background-color: #7aa0c0 !important;
}

.bg-teal-50 {
    background-color: #f5f8fc !important;
}

.bg-teal-100 {
    background-color: #e0eaf4 !important;
}

.text-teal-600 {
    color: #5a7898 !important;
}

.text-teal-700 {
    color: #2a4060 !important;
}

.text-teal-400 {
    color: #98b8d0 !important;
}

.text-teal-900 {
    color: #1a2838 !important;
}

.text-teal-800 {
    color: #2a4060 !important;
}

.border-teal-600 {
    border-color: #5a7898 !important;
}

.border-teal-200 {
    border-color: #b8cce0 !important;
}

.border-teal-400 {
    border-color: #7aa0c0 !important;
}

.hover\:bg-teal-700:hover {
    background-color: #2a4060 !important;
}

.hover\:bg-teal-500:hover {
    background-color: #7aa0c0 !important;
}

.hover\:text-teal-700:hover {
    color: #2a4060 !important;
}

.hover\:text-teal-400:hover {
    color: #7aa0c0 !important;
}

.from-teal-500 {
    --tw-gradient-from: #5a7898 !important;
}

.to-teal-600 {
    --tw-gradient-to: #2a4060 !important;
}

.from-teal-600 {
    --tw-gradient-from: #5a7898 !important;
}

.to-cyan-600 {
    --tw-gradient-to: #7aa0c0 !important;
}

/* Footer midnight */

footer.bg-slate-900, .bg-slate-900 {
    background-color: #1a2838 !important;
}

footer .border-slate-800 {
    border-color: #2a4058 !important;
}

@media (max-width: 768px) {
    .desktop-only {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .mobile-only {
        display: none !important;
    }
}

.blog-card img {
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    -o-transition: transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.blog-card:hover img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}

.text-sm {
    font-size: 0.925rem !important;
}

.text-xs {
    font-size: 0.8rem !important;
}

.text-base {
    font-size: 1.05rem !important;
}

ul.space-y-1\.5 li, ul.space-y-2 li {
    font-size: 0.95rem;
    line-height: 1.6;
}