/* ==========================================================================
   Final Overrides — Pack 5
   Corrections visuelles globales. Chargé en dernier.
   ========================================================================== */

/* Compense le sticky header pour les ancres */
section { scroll-margin-top: 88px; }

/* Transitions douces sur les éléments interactifs */
a, button { transition: color var(--transition), background var(--transition), border-color var(--transition), opacity var(--transition); }

/* Micro-élévation au hover sur les boutons */
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

/* cursor-pointer sur tous les éléments cliquables */
.service-strip__item,
.reviews-luxury__arrow,
.reviews-luxury__avatar,
.faq-item__toggle,
.blog-card-v2__media,
.service-card { cursor: pointer; }

/* Correction contraste texte global */
.text-soft { color: var(--color-text-soft); }

/* Harmonisation des cards entre les packs */
.contact-info-card,
.contact-panel-card,
.lux-card,
.pillar-card,
.service-benefit-card,
.blog-card-v2,
.review-card--large,
.quotation-info-card {
    border-radius: var(--radius-lg);
}

/* Correction focus visible pour l'accessibilité */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--color-secondary);
    outline-offset: 2px;
}

/* Bouton submit des formulaires (Symfony form_row) */
[type="submit"],
button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 28px;
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--color-primary);
    color: var(--color-text-light);
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    font-family: inherit;
    transition: background var(--transition), transform var(--transition);
}
[type="submit"]:hover,
button[type="submit"]:hover {
    background: var(--color-primary-strong);
    transform: translateY(-1px);
}

/* Masquer les labels Symfony par défaut qui doublonnent */
.contact-form-v2 .form-floating label,
.contact-form-v2 .form-floating > .form-control { font-size: 14px; }

/* Impression (accessibilité) */
@media print {
    .site-header, .site-footer, .mobile-nav { display: none; }
}

/* Prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
    .reveal { opacity: 1; transform: none; }
}

/* === Page-service body class (pages features indexv1) === */
.page-service .service-hero {
    padding: 72px 0 52px;
}
.page-service .service-hero__inner {
    grid-template-columns: 1fr 0.95fr;
}
.page-service .service-content {
    padding: var(--space-xl) 0;
    background: var(--color-bg-soft);
}
.page-service .service-content__box {
    max-width: 940px;
    margin: 0 auto;
}
@media (max-width: 991px) {
    .page-service .service-hero__inner { grid-template-columns: 1fr; }
}
