/**
 * Phyzioline Public Site — Design tokens & layout fixes
 * v1.2 — 2026-06-19 (Wave 2: ecommerce heroes, a11y, footer trust, FAQ partial)
 */

:root {
    --phy-brand: #02767F;
    --phy-brand-dark: #025056;
    --phy-brand-light: #04b8c4;
    --phy-brand-ink: #013539;
    --phy-text: #1e293b;
    --phy-text-muted: #64748b;
    --phy-surface: #f8fafc;
    --phy-border: #e2e8f0;
    --phy-header-height: 60px;
    --phy-promo-height: 0px;
    --phy-site-offset: calc(var(--phy-header-height) + var(--phy-promo-height));
    --phy-container-max: 1140px;
    --phy-section-y: clamp(3rem, 5vw, 5rem);
    --phy-radius: 12px;
    --phy-radius-lg: 16px;
    --phy-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08);
    --phy-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
    --phy-focus-ring: 0 0 0 3px rgba(4, 184, 196, 0.45);
    --phy-font-display: 'Alexandria', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body.home-v1,
body.home-v1 button,
body.home-v1 input,
body.home-v1 select,
body.home-v1 textarea {
    font-family: var(--phy-font-display);
}

body.has-sticky-promo {
    --phy-promo-height: 32px;
}

body.has-sticky-promo #header-section {
    top: var(--phy-promo-height);
}

/* ── Accessibility: skip link ── */
.phy-skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 20000;
    padding: 0.75rem 1rem;
    background: #fff;
    color: var(--phy-brand-dark);
    font-weight: 600;
    border-radius: 8px;
    box-shadow: var(--phy-shadow-md);
}

.phy-skip-link:focus {
    left: 1rem;
    top: calc(var(--phy-site-offset) + 0.5rem);
    width: auto;
    height: auto;
    overflow: visible;
}

/* ── Containers ── */
.phy-container {
    max-width: var(--phy-container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* ── Standard pages (policies, forms, account) ── */
.phy-public-main {
    padding-top: calc(var(--phy-site-offset) + 1.5rem);
    padding-bottom: var(--phy-section-y);
    min-height: 55vh;
    color: var(--phy-text);
}

.phy-public-main--narrow .phy-prose {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
}

/* ── Page hero (content pages — not home full-bleed) ── */
.phy-page-hero {
    background: linear-gradient(135deg, var(--phy-brand) 0%, var(--phy-brand-dark) 100%);
    color: #fff;
    padding: calc(var(--phy-site-offset) + 2rem) 0 2.5rem;
    margin-bottom: 0;
}

.phy-page-hero .phy-page-hero__title {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

.phy-page-hero .phy-page-hero__lead {
    font-size: 1.05rem;
    opacity: 0.92;
    max-width: 40rem;
    margin-bottom: 0;
}

.phy-page-hero--compact {
    padding: calc(var(--phy-site-offset) + 1.25rem) 0 1.25rem;
}

.phy-page-hero--compact .phy-page-hero__title {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    font-weight: 600;
    margin-bottom: 0;
}

.phy-page-hero__eyebrow {
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.88;
    margin-bottom: 0.35rem;
}

.phy-page-hero__eyebrow a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
}

.phy-page-hero__eyebrow a:hover {
    color: #fff;
    text-decoration: underline;
}

.phy-section {
    padding: var(--phy-section-y) 0;
}

.phy-section--surface {
    background: var(--phy-surface);
}

/* ── Typography / prose ── */
.phy-prose {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--phy-text);
}

.phy-prose h2,
.phy-prose .h5 {
    font-size: 1.15rem;
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
    color: var(--phy-text);
}

.phy-prose h3,
.phy-prose .h6 {
    font-size: 1rem;
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.phy-prose p,
.phy-prose li {
    color: var(--phy-text-muted);
}

.phy-prose a {
    color: var(--phy-brand);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.phy-prose a:hover {
    color: var(--phy-brand-dark);
}

.phy-meta {
    font-size: 0.875rem;
    color: var(--phy-text-muted);
}

/* ── Buttons (public CTA consistency) ── */
.phy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.65rem 1.25rem;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.2;
    border: 1px solid transparent;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none !important;
}

.phy-btn--primary {
    background: var(--phy-brand);
    color: #fff !important;
    border-color: var(--phy-brand);
}

.phy-btn--primary:hover {
    background: var(--phy-brand-dark);
    border-color: var(--phy-brand-dark);
    color: #fff !important;
}

.phy-btn--outline {
    background: transparent;
    color: var(--phy-brand) !important;
    border-color: var(--phy-brand);
}

.phy-btn--outline:hover {
    background: rgba(2, 118, 127, 0.08);
}

/* Shop / cart / checkout — align legacy Bootstrap CTAs with phy-btn primary */
body.page-shop .shop-search-btn,
body.page-cart .btn-primary:not(.btn-close):not(.cart-qty-btn),
body.page-cart .cart-checkout-submit {
    background: var(--phy-brand) !important;
    border-color: var(--phy-brand) !important;
    color: #fff !important;
    border-radius: 10px;
    font-weight: 600;
}

body.page-shop .shop-search-btn:hover,
body.page-cart .btn-primary:not(.btn-close):not(.cart-qty-btn):hover,
body.page-cart .cart-checkout-submit:hover {
    background: var(--phy-brand-dark) !important;
    border-color: var(--phy-brand-dark) !important;
    color: #fff !important;
}

body.page-cart .btn-outline-primary {
    color: var(--phy-brand) !important;
    border-color: var(--phy-brand) !important;
    font-weight: 600;
    border-radius: 10px;
}

body.page-cart .btn-outline-primary:hover {
    background: rgba(2, 118, 127, 0.08) !important;
}

/* ── Cards ── */
.phy-card {
    background: #fff;
    border: 1px solid var(--phy-border);
    border-radius: var(--phy-radius-lg);
    box-shadow: var(--phy-shadow-sm);
    padding: 1.5rem;
}

/* ── Legacy slider heroes — prevent header collision ── */
body:not(.page-home):not(.has-hero) .slider-section {
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + 2rem) !important;
    min-height: auto !important;
}

body:not(.page-home):not(.has-hero) .slider-section .item {
    height: auto !important;
    min-height: 220px !important;
    padding: 2.5rem 0 !important;
    background-size: cover !important;
    background-position: center !important;
}

body:not(.page-home):not(.has-hero) .slider-section .hero-text {
    font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
    text-align: center;
    color: #fff;
}

body:not(.page-home):not(.has-hero) .slider-section .hero-praph,
body:not(.page-home):not(.has-hero) .slider-section .hero-size {
    text-align: center;
    color: rgba(255, 255, 255, 0.9);
}

/* Help center — fixed header clearance */
.help-center-wrapper .help-search-area {
    padding-top: calc(var(--phy-site-offset) + 2.5rem) !important;
    padding-bottom: 2.5rem !important;
}

/* Contact page */
.phy-contact-section {
    background: linear-gradient(180deg, var(--phy-surface) 0%, #fff 28%);
}

.phy-contact-info-card,
.phy-contact-form-card {
    background: #fff;
    border: 1px solid var(--phy-border);
    border-radius: var(--phy-radius-lg);
    box-shadow: var(--phy-shadow-md);
    padding: clamp(1.25rem, 3vw, 2rem);
}

.phy-contact-info-card__head,
.phy-contact-form-card__head {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--phy-border);
}

.phy-contact-info-card__head p,
.phy-contact-form-card__head p {
    color: var(--phy-text-muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

.phy-contact-info-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.phy-contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.phy-contact-info-item__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(2, 118, 127, 0.1);
    color: var(--phy-brand);
    font-size: 1.35rem;
}

.phy-contact-info-item__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--phy-text);
    margin-bottom: 0.25rem;
}

.phy-contact-info-item p {
    color: #334155;
    line-height: 1.5;
}

.phy-contact-link {
    color: var(--phy-brand);
    text-decoration: none;
    font-weight: 600;
}

.phy-contact-link:hover {
    color: var(--phy-brand-dark);
    text-decoration: underline;
}

.phy-contact-social {
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--phy-border);
}

.phy-contact-social__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.phy-contact-social__btn {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(2, 118, 127, 0.08);
    color: var(--phy-brand);
    border: 1px solid rgba(2, 118, 127, 0.18);
    font-size: 1.15rem;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.phy-contact-social__btn:hover {
    background: var(--phy-brand);
    color: #fff;
    transform: translateY(-2px);
}

.phy-form-label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--phy-text);
    margin-bottom: 0.4rem;
}

.phy-form-control {
    min-height: 48px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    padding: 0.65rem 0.9rem;
    font-size: 0.95rem;
    color: var(--phy-text);
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.phy-form-control:focus {
    border-color: var(--phy-brand-light);
    box-shadow: var(--phy-focus-ring);
}

.phy-form-control--textarea {
    min-height: 140px;
    resize: vertical;
}

.phy-contact-submit {
    min-height: 50px;
    font-size: 1rem;
    border-radius: 12px;
}

html[dir="rtl"] .phy-contact-info-item {
    flex-direction: row-reverse;
    text-align: right;
}

html[dir="rtl"] .phy-contact-social__links {
    flex-direction: row-reverse;
}

/* Contact page — legacy class; prefer phy-page-hero */
.contact-hero {
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + 2rem) !important;
    padding-bottom: 3rem !important;
    background: var(--phy-surface) !important;
}

.contact-form-wrapper {
    background: transparent;
    padding: 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
}

@media (min-width: 992px) {
    .contact-form-wrapper {
        padding: 0;
    }
}

/* About page hero */
.about-hero-section {
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + 2.5rem) !important;
    padding-bottom: 3rem !important;
}

/* Site search */
.phy-site-search-main {
    padding-top: calc(var(--phy-site-offset) + 1.5rem) !important;
}

/* ── Accessibility ── */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.phy-btn:focus-visible {
    outline: none;
    box-shadow: var(--phy-focus-ring);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Home: full-bleed hero under transparent header */
body.page-home.has-hero #header-section {
    top: var(--phy-promo-height);
}

body.has-hero .hero-banner,
body.has-hero .slider-section.hero-section,
body.has-hero .hero-slider-container,
body.has-hero .shop-hero-banner {
    position: relative;
    z-index: 1;
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + clamp(3rem, 8vw, 5rem)) !important;
    min-height: min(72vh, 640px);
    background-position: center center !important;
    background-size: cover !important;
}

@media (min-width: 992px) {
    body.has-hero .hero-banner,
    body.has-hero .slider-section.hero-section,
    body.has-hero .shop-hero-banner {
        padding-top: calc(var(--phy-site-offset) + clamp(4rem, 10vw, 6rem)) !important;
    }

    #slider-section .item,
    .slider-section .item,
    .hero-banner {
        min-height: 420px !important;
        display: flex;
        align-items: center;
    }

    #slider-section .item h1,
    .hero-banner h1 {
        font-size: clamp(2rem, 4vw, 2.75rem) !important;
        line-height: 1.2 !important;
    }

    #slider-section .item p,
    .hero-banner p {
        font-size: 1.125rem !important;
        margin-top: 0.75rem !important;
    }
}

/* Home — transparent header over hero (same pattern as shop) */
body.page-home.has-hero #header-section {
    background: transparent !important;
    backdrop-filter: none;
    box-shadow: none !important;
    top: var(--phy-promo-height);
}

body.page-home.has-hero #header-section.stuck {
    background: linear-gradient(135deg, rgba(2, 73, 80, 0.97) 0%, rgba(1, 53, 57, 0.98) 100%) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
}

/* Cart page */
body.page-cart #cart-section.cart-section {
    padding-top: calc(var(--phy-site-offset) + 1rem) !important;
}

/* Shop listing — transparent header over gradient hero */
body.page-shop.has-hero #header-section {
    background: transparent !important;
    backdrop-filter: none;
    box-shadow: none !important;
    top: var(--phy-promo-height);
}

body.page-shop.has-hero #header-section.stuck {
    background: linear-gradient(135deg, rgba(2, 73, 80, 0.97) 0%, rgba(1, 53, 57, 0.98) 100%) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
}

body.page-shop .shop-hero-banner {
    padding: calc(var(--phy-site-offset) + 2.5rem) 0 1.75rem !important;
    margin-bottom: 1.5rem;
}

body.page-shop .sell-on-phyzioline-btn {
    top: calc(var(--phy-site-offset) + 0.75rem) !important;
}

/* Product detail — compact phy-page-hero handles header clearance */
body.page-product .phy-product-details {
    padding-top: 1.25rem !important;
}

body.page-product .phy-page-hero--compact + .phy-product-details {
    padding-top: 1.5rem !important;
}

@media (max-width: 991.98px) {
    body.page-product .phy-product-details {
        padding-top: 1rem !important;
    }
}

/* Legacy product detail wrapper (if phy-page-hero absent) */
body.page-product .product-details-with-fixed-header:not(.phy-product-details) {
    padding-top: calc(var(--phy-site-offset) + 1.25rem) !important;
}

@media (max-width: 991.98px) {
    :root {
        --phy-header-height: 56px;
    }
}

/* ── RTL utilities (public site) ── */
html[dir="rtl"] .home-hero-search-group {
    direction: rtl;
}

html[dir="rtl"] .home-hero-search-input {
    text-align: right;
}

html[dir="rtl"] .home-hero-search-append {
    margin-left: 0 !important;
    margin-right: -1px;
}

html[dir="rtl"] .phy-icon-forward {
    transform: scaleX(-1);
    display: inline-block;
}

.phy-icon-gap {
    margin-inline-end: 0.5rem;
}

/* When phy-page-hero leads the page, it owns header clearance (avoid double offset) */
.phy-public-main--with-hero,
.phy-public-main:has(> .phy-page-hero:first-child) {
    padding-top: 0;
}

/* ── Landing surfaces (replaces legacy margin-top: 130px hacks) ── */
.phy-landing-surface,
.universities-landing,
.datahub-landing,
.university-profile,
.university-register,
.university-login,
.university-dashboard {
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + 2rem) !important;
    background-color: var(--phy-surface);
}

/* ── Gradient marketing heroes (jobs, ERP, courses, visits, about) ── */
.phy-hero-gradient,
body:not(.page-home):not(.page-shop) .hero-section,
.jobs-hero,
.guide-hero {
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + 2.5rem) !important;
    padding-bottom: clamp(3rem, 6vw, 5rem) !important;
}

.phy-hero-gradient {
    background: linear-gradient(135deg, var(--phy-brand) 0%, var(--phy-brand-light) 100%);
    color: #fff;
}

.home-visits-hero,
body:not(.page-home) .hero-section.home-visits-hero {
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + 2.5rem) !important;
}

/* Clinic / home visit booking sub-heroes */
body:not(.page-home) section[style*="padding-top: 140px"],
body:not(.page-home) section[style*="padding-top: 180px"] {
    padding-top: calc(var(--phy-site-offset) + 2.5rem) !important;
}

/* DataHub dashboard legacy offset */
.datahub-dashboard-wrap,
.datahub-dashboard {
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + 1.5rem) !important;
}

/* Vendor / package legacy wrappers */
body:not(.page-home) .container[style*="padding-top: 180px"] {
    padding-top: calc(var(--phy-site-offset) + 1.5rem) !important;
}

.package_details.section_space,
.bundle_details.section_space {
    padding-top: calc(var(--phy-site-offset) + 2rem) !important;
}

/* Ecommerce marketing heroes */
.packages-hero,
.bundles-hero {
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + 3rem) !important;
    padding-bottom: clamp(4rem, 8vw, 7.5rem) !important;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.packages-hero {
    background: linear-gradient(135deg, var(--phy-brand) 0%, var(--phy-brand-light) 100%);
}

.bundles-hero {
    background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
}

/* Offers landing breadcrumb band */
.offers-hero.breadcrumb_section,
section.breadcrumb_section.offers-hero {
    margin-top: 0 !important;
    padding-top: calc(var(--phy-site-offset) + 2.5rem) !important;
    padding-bottom: clamp(2.5rem, 5vw, 3.5rem) !important;
    background: linear-gradient(rgba(2, 118, 127, 0.92), rgba(2, 80, 86, 0.92)), url('/web/images/breadcrumb.jpg') center/cover !important;
}

/* Footer trust indicators */
.phy-footer-trust {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding: 1.25rem 0;
    margin-top: 0.5rem;
}

.phy-footer-trust__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem 2.5rem;
}

.phy-footer-trust__item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.875rem;
    font-weight: 500;
}

.phy-footer-trust__item i {
    font-size: 1.25rem;
    color: var(--phy-brand-light);
}

/* FAQ accordion (shared partial) */
.phy-faq-accordion .phy-faq-item {
    border-radius: var(--phy-radius) !important;
}

.phy-faq-accordion .phy-faq-item .btn-link {
    color: var(--phy-brand) !important;
    text-decoration: none;
    font-weight: 600;
    width: 100%;
}

.phy-faq-accordion .phy-faq-item .card-body {
    line-height: 1.75;
    color: var(--phy-text-muted);
}

/* Reduced motion — home slider, visit animations, swiper */
@media (prefers-reduced-motion: reduce) {
    .animate__animated,
    .slider-section,
    .hero-section,
    .product-item,
    .ecosystem-section {
        animation: none !important;
        transition: none !important;
    }

    .hero-swiper .swiper-wrapper {
        transition-duration: 0ms !important;
    }

    .hover-lift:hover {
        transform: none;
    }
}

/* Help Center — header clearance on gradient search band */
.help-search-area {
    background: linear-gradient(135deg, var(--phy-brand) 0%, var(--phy-brand-dark) 100%);
    padding-top: calc(var(--phy-site-offset) + 2.5rem) !important;
}

.help-center-wrapper {
    background-color: var(--phy-surface);
    min-height: 80vh;
}

.phy-market-landing {
    padding-bottom: clamp(2rem, 4vw, 3rem);
}

/* Profile pages (therapist / clinic detail) */
.profile-header-section {
    padding-top: calc(var(--phy-site-offset) + 2rem) !important;
    margin-top: 0 !important;
}

/* Vendor storefront */
.phy-vendor-page {
    padding-top: calc(var(--phy-site-offset) + 1.5rem) !important;
}
.feed-page-wrapper,
.feed-container {
    padding-top: calc(var(--phy-site-offset) + 1rem) !important;
}

/* ERP page — align CTA buttons with design system */
body.page-erp .hero-section .btn-primary {
    background: var(--phy-brand-light) !important;
    border-color: var(--phy-brand-light) !important;
    border-radius: 999px;
    font-weight: 600;
}

body.page-erp .hero-section .btn-outline-light {
    border-radius: 999px;
    font-weight: 600;
}

/* Section rhythm on marketing pages */
.phy-section + .phy-section--surface,
.phy-section--surface + .phy-section {
    border-top: 1px solid var(--phy-border);
}

.phy-margin-inline-auto {
    margin-inline-start: auto;
}

.phy-icon-gap-lg {
    margin-inline-end: 1rem;
}

/* Trust stats & badges (universities, data hub landings) */
.phy-trust-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem auto 0;
    max-width: 720px;
}

@media (min-width: 768px) {
    .phy-trust-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.phy-trust-stats__item {
    text-align: center;
    padding: 1rem 0.75rem;
    background: #fff;
    border: 1px solid var(--phy-border);
    border-radius: var(--phy-radius);
    box-shadow: var(--phy-shadow-sm);
}

.phy-trust-stats__value {
    display: block;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: var(--phy-brand);
    line-height: 1.2;
}

.phy-trust-stats__label {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--phy-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.phy-trust-stats-card {
    background: linear-gradient(135deg, var(--phy-brand) 0%, var(--phy-brand-dark) 100%) !important;
    border: none !important;
}

.phy-trust-stats__value--inverse {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    color: #fff;
}

.phy-trust-stats__label--inverse {
    opacity: 0.92;
    color: #fff;
    margin-bottom: 0;
}

.phy-trust-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.5rem;
}

.phy-trust-badges__item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
    background: rgba(2, 118, 127, 0.08);
    color: var(--phy-brand-dark);
    font-size: 0.8rem;
    font-weight: 600;
    border: 1px solid rgba(2, 118, 127, 0.12);
}

.phy-trust-badges__item i {
    color: var(--phy-brand);
    font-size: 1rem;
}

/* ERP hero product visual */
.phy-erp-hero-visual {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.phy-erp-hero-visual__img {
    max-height: 320px;
    width: auto;
    margin: 0 auto;
    filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.2));
}

.phy-erp-hero-visual__img--3d {
    max-height: min(420px, 55vh);
    width: 100%;
    object-fit: contain;
}
