/* ═══════════════════════════════════════════════════════════════
   GLOMYRA — Thème rouge unifié (partie publique uniquement)
   ═══════════════════════════════════════════════════════════════ */
.landing-shell {
    --g-brand: #8B2323;
    --g-brand-dark: #6B1A1A;
    --g-brand-hover: #A52A2A;
    --g-brand-light: #C04040;
    --g-brand-soft: rgba(139, 35, 35, 0.12);
    --g-brand-ring: rgba(139, 35, 35, 0.35);
    --g-brand-bg: #fdf0f0;
    --g-cream: #FAF6F0;
    --g-dark: #1a1412;
    background: var(--g-cream);
}

/* ── En-tête & navigation ── */
.landing-shell .landing-header-link:hover,
.landing-shell .landing-header-link--active,
.landing-shell .landing-header-link--scroll-active {
    color: var(--g-brand) !important;
    background: var(--g-brand-soft);
}
.landing-shell .landing-header-link--scroll-active::after { background: var(--g-brand); }
.landing-shell .landing-header-drawer__link.landing-header-link--scroll-active {
    box-shadow: inset 3px 0 0 var(--g-brand);
}
.landing-shell .landing-header-back:active { color: var(--g-brand); }
.landing-shell .landing-header-icon-btn:hover {
    color: var(--g-brand);
    border-color: var(--g-brand-ring);
    background: var(--g-brand-bg);
}
.landing-shell .landing-header-btn--primary {
    background: var(--g-brand);
    border-color: var(--g-brand);
    box-shadow: 0 6px 18px rgba(139, 35, 35, 0.28);
}
.landing-shell .landing-header-btn--primary:hover {
    background: var(--g-brand-hover);
    border-color: var(--g-brand-hover);
}
.landing-shell .landing-header-drawer__link:hover,
.landing-shell .landing-header-drawer__link.landing-header-link--active {
    color: var(--g-brand);
    background: var(--g-brand-soft);
}
.landing-shell .landing-header-drawer__user > i { color: var(--g-brand); }
.landing-shell .landing-header-link--account i { color: var(--g-brand); }
.landing-shell .landing-footer-compact__links a:hover,
.landing-shell .landing-footer-inner a { color: var(--g-brand); }
.landing-shell .landing-mobile-bar__item--active,
.landing-shell .landing-mobile-menu-sheet__item--accent i { color: var(--g-brand); }

.landing-shell--home.landing-shell--scrolled .landing-header-link:hover,
.landing-shell--home.landing-shell--scrolled .landing-header-link--active {
    color: var(--g-brand);
    background: var(--g-brand-soft);
}
.landing-shell--home.landing-shell--menu-open .landing-header-drawer__link:hover,
.landing-shell--home.landing-shell--menu-open .landing-header-drawer__link.landing-header-link--active {
    color: var(--g-brand);
    background: var(--g-brand-soft);
}
.landing-shell--home.landing-shell--spy-ready:not(.landing-shell--scrolled) .landing-header-link--scroll-active {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.12);
}
.landing-shell--home.landing-shell--spy-ready:not(.landing-shell--scrolled) .landing-header-link--scroll-active::after {
    background: #fff;
}

/* ── Boutons & hero catalogue ── */
.landing-shell .landing-btn--primary { color: var(--g-brand-dark); }
.landing-shell .landing-btn--solid {
    background: var(--g-brand);
    border-color: var(--g-brand);
    color: #fff;
}
.landing-shell .landing-btn--solid:hover {
    background: var(--g-brand-hover);
    border-color: var(--g-brand-hover);
}
.landing-shell .landing-hero-bg {
    background: linear-gradient(120deg, var(--g-brand-dark), var(--g-brand));
}

/* ── Catalogue ── */
.landing-shell .landing-catalog {
    background: linear-gradient(180deg, var(--g-cream) 0%, #fff 12rem);
}
@media (min-width: 768px) {
    .landing-shell .landing-catalog {
        background: linear-gradient(180deg, var(--g-cream) 0%, #fff 14rem);
    }
}
.landing-shell .landing-catalog-breadcrumb { color: var(--g-brand); }
.landing-shell .landing-catalog-count {
    color: var(--g-brand);
    background: var(--g-brand-soft);
}
.landing-shell .landing-catalog-search:focus-within {
    border-color: var(--g-brand-ring);
    box-shadow: 0 0 0 3px var(--g-brand-soft);
}
.landing-shell .landing-catalog-search__reset { color: var(--g-brand); }
.landing-shell .landing-catalog-back:hover {
    background: var(--g-brand-bg);
    box-shadow: 0 2px 8px rgba(139, 35, 35, 0.12);
}
.landing-shell .landing-catalog-empty a { color: var(--g-brand); }

.landing-shell .landing-category-card__arc {
    background: linear-gradient(165deg, #fde8e8 0%, #f5e0dc 55%, #faf6f0 100%);
}
.landing-shell .landing-category-card__placeholder i { color: var(--g-brand); }
.landing-shell .landing-category-card__media,
.landing-shell .landing-category-card--has-image .landing-category-card__media {
    background: linear-gradient(165deg, var(--g-brand-bg) 0%, var(--g-cream) 100%);
}

.landing-shell .landing-product-tile__cat,
.landing-shell .landing-product-tile__price { color: var(--g-brand); }
.landing-shell .landing-product-tile--in-cart {
    border-color: var(--g-brand);
    box-shadow: 0 4px 14px rgba(139, 35, 35, 0.12);
}
@media (hover: hover) and (pointer: fine) {
    .landing-shell .landing-product-tile--in-cart:hover {
        border-color: var(--g-brand);
        box-shadow: 0 4px 14px rgba(139, 35, 35, 0.12);
    }
}
.landing-shell .landing-product-tile__cta {
    background: var(--g-brand-bg);
    color: var(--g-brand);
    border-color: rgba(139, 35, 35, 0.2);
}
.landing-shell .landing-product-tile--in-cart .landing-product-tile__cta,
.landing-shell .landing-product-tile:hover .landing-product-tile__cta,
.landing-shell .landing-product-tile:focus-visible .landing-product-tile__cta {
    background: var(--g-brand);
    color: #fff;
    border-color: transparent;
}

.landing-shell .landing-cart-badge,
.landing-shell .landing-panier-count,
.landing-shell .landing-panier-tab__badge {
    background: var(--g-brand);
    box-shadow: 0 1px 4px rgba(139, 35, 35, 0.35);
}

/* ── Authentification client ── */
.landing-shell .landing-auth {
    background: linear-gradient(180deg, var(--g-cream) 0%, #fff 45%);
}
.landing-shell .landing-auth-back:hover,
.landing-shell .landing-auth-footer a { color: var(--g-brand); }
.landing-shell .landing-auth-icon {
    background: var(--g-brand-soft);
    color: var(--g-brand);
}
.landing-shell .landing-auth-tabs__btn--active {
    color: var(--g-brand-dark);
}
.landing-shell .landing-auth-tabs__btn--active i { color: var(--g-brand); }
.landing-shell .landing-auth-choice--client {
    border-color: rgba(139, 35, 35, 0.25);
    background: var(--g-brand-bg);
}
.landing-shell .landing-auth-choice--client .landing-auth-choice__icon {
    color: var(--g-brand);
    border-color: rgba(139, 35, 35, 0.2);
}
@media (hover: hover) {
    .landing-shell .landing-auth-choice--client:hover {
        border-color: var(--g-brand);
        box-shadow: 0 4px 14px rgba(139, 35, 35, 0.12);
    }
}
.landing-shell .landing-auth .landing-btn--primary {
    background: var(--g-brand);
    color: #fff;
}
.landing-shell .landing-auth .form-control:focus,
.landing-shell .landing-auth .form-select:focus {
    border-color: var(--g-brand-ring);
    box-shadow: 0 0 0 0.2rem var(--g-brand-soft);
}

/* ── Panier & compte client ── */
.landing-shell .landing-panier { background: var(--g-cream); }
.landing-shell .landing-panier-back:hover {
    background: var(--g-brand-bg);
    border-color: rgba(139, 35, 35, 0.25);
    box-shadow: 0 2px 8px rgba(139, 35, 35, 0.12);
}
.landing-shell .landing-panier-line__total { color: var(--g-brand); }
.landing-shell .landing-panier-qty-btn { color: var(--g-brand); }
.landing-shell .landing-panier-client--connected {
    border-color: rgba(139, 35, 35, 0.25);
    background: var(--g-brand-bg);
}
.landing-shell .landing-panier-client__row i { color: var(--g-brand); }
.landing-shell .landing-panier-client__actions {
    border-top-color: rgba(139, 35, 35, 0.15);
}
.landing-shell .landing-panier-client a,
.landing-shell .landing-panier-signup a { color: var(--g-brand); }
.landing-shell .landing-panier-tab--active {
    background: var(--g-brand-bg);
    color: var(--g-brand-dark);
    box-shadow: inset 0 0 0 1px rgba(139, 35, 35, 0.25);
}
.landing-shell .landing-profile-list__row--highlight {
    background: var(--g-brand-bg);
    border-color: rgba(139, 35, 35, 0.2);
}
.landing-shell .landing-profile-list__phone { color: var(--g-brand-dark); }
.landing-shell .landing-cmd-card__summary strong { color: var(--g-brand); }
.landing-shell .landing-cmd-delivery__fill {
    background: linear-gradient(90deg, var(--g-brand-dark), var(--g-brand));
}

/* ── Page d'accueil ── */
.landing-shell .home-page {
    background: var(--g-cream);
}

.landing-shell .home-page .home-label { color: var(--g-brand); }
.landing-shell .home-page .home-btn--primary {
    background: var(--g-brand);
    box-shadow: 0 8px 24px rgba(139, 35, 35, 0.28);
}
.landing-shell .home-page .home-btn--primary:hover { background: var(--g-brand-hover); }
.landing-shell .home-page .home-btn--light { color: var(--g-brand-dark); }
.landing-shell .home-page .home-btn--light:hover { color: var(--g-brand); }

.landing-shell .home-page .home-hero__overlay {
    background:
        linear-gradient(0deg, rgba(26, 20, 18, 0.94) 0%, rgba(26, 20, 18, 0.5) 38%, rgba(26, 20, 18, 0.3) 100%),
        linear-gradient(90deg, rgba(26, 20, 18, 0.82) 0%, rgba(26, 20, 18, 0.4) 42%, transparent 72%);
}
.landing-shell .home-page .home-hero__indicators [data-bs-target].active {
    background: var(--g-brand-light);
}

.landing-shell .home-page .home-strip { background: var(--g-dark); }
.landing-shell .home-page .home-strip__item strong { color: var(--g-brand-light); }

.landing-shell .home-page .home-about { background: #fff; }
.landing-shell .home-page .home-about__ceo { border-left-color: var(--g-brand); }

.landing-shell .home-page .home-product-card:hover { border-color: var(--g-brand-ring); }
.landing-shell .home-page .home-product-card__cta { color: var(--g-brand); }
.landing-shell .home-page .home-product-card__name { color: var(--g-brand-dark); }

.landing-shell .home-page .home-school {
    background: linear-gradient(180deg, var(--g-cream) 0%, #fff 55%, #fff 100%);
}
.landing-shell .home-page .home-school__feature-icon,
.landing-shell .home-page .home-hrm__feature-icon,
.landing-shell .home-page .home-service-card__icon,
.landing-shell .home-page .home-contact-card__icon {
    background: var(--g-brand-bg);
    color: var(--g-brand);
}
.landing-shell .home-page .home-school__features li:hover,
.landing-shell .home-page .home-hrm__features li:hover { border-color: var(--g-brand-ring); }

.landing-shell .home-page .home-values {
    background: var(--g-dark);
    background-image: radial-gradient(ellipse 70% 80% at 100% 0%, rgba(139, 35, 35, 0.25), transparent 55%);
}
.landing-shell .home-page .home-value-card:hover { border-color: rgba(192, 64, 64, 0.45); }
.landing-shell .home-page .home-value-card__num { color: var(--g-brand-light); }

.landing-shell .home-page .home-service-card:hover { border-color: var(--g-brand-ring); }
.landing-shell .home-page .home-testimonials { background: var(--g-cream); }
.landing-shell .home-page .home-testimonial__mark { color: var(--g-brand); }
.landing-shell .home-page .home-testimonial__avatar {
    background: linear-gradient(135deg, var(--g-brand-dark), var(--g-brand));
}
.landing-shell .home-page .home-contact-card__text a { color: var(--g-brand); }
.landing-shell .home-page .home-contact-card__text a:hover { color: var(--g-brand-hover); }

.landing-shell .home-page .home-cta {
    background: linear-gradient(135deg, var(--g-brand-dark) 0%, var(--g-brand) 100%);
}

/* Barre de progression navigation (pages publiques) */
body:has(.landing-shell) #app-nav-progress {
    background: linear-gradient(90deg, #6B1A1A, #8B2323);
}
