/* Rocher palette applied to the existing template components. */
:root {
    --primary: #145a98;
    --secondary: #c4cdd5;
    --light: #f1f3f5;
    --dark: #202b35;
    --bs-primary: #145a98;
    --bs-secondary: #c4cdd5;
    --bs-light: #f1f3f5;
    --bs-dark: #202b35;
    --rocher-gray: #5e6b78;
}
body { color: var(--rocher-gray); }
h1, h2, h3, h4, h5, h6 { color: var(--dark); }
a { color: var(--primary); }
a:hover { color: #0d4171; }
.bg-primary { background-color: var(--primary) !important; }
.bg-secondary { background-color: var(--rocher-gray) !important; }
.bg-success { background-color: #465460 !important; }
.bg-light { background-color: var(--light) !important; }
.bg-dark { background-color: var(--dark) !important; }
.text-primary, .text-secondary { color: var(--primary) !important; }
.text-success { color: var(--primary) !important; }
.border-primary { border-color: var(--primary) !important; }
.border-secondary { border-color: var(--secondary) !important; }
.btn.btn-primary { color: #fff; background-color: var(--primary); border-color: var(--primary); }
.btn.btn-primary:hover, .btn.btn-primary:active, .btn.btn-primary:focus { color: #fff; background-color: #0d4171; border-color: #0d4171; }
.btn.btn-secondary { color: var(--dark); background-color: var(--secondary); border-color: var(--secondary); }
.btn.btn-secondary:hover, .btn.btn-secondary:active, .btn.btn-secondary:focus { color: var(--dark); background-color: #e2e7eb; border-color: #e2e7eb; }
.btn.btn-primary:focus, .btn.btn-secondary:focus { box-shadow: 0 0 0 .25rem rgba(20, 90, 152, .22); }
.form-control:focus, .form-select:focus { border-color: #84acd0; box-shadow: 0 0 0 .25rem rgba(20,90,152,.18); }
.header-carousel .text-primary { color: var(--secondary) !important; }
.header-carousel .owl-nav { display: none !important; }
.header-carousel .owl-carousel-item { height: max(600px, 56.25vw); }
.header-carousel .owl-carousel-item > img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.header-carousel .rocher-truck-studio { background: radial-gradient(ellipse at 78% 48%, #8e9eac, #394b5c 55%, #202b35 90%); }
.header-carousel .rocher-truck-studio > img { object-fit: contain; object-position: right center; padding: 4% 2% 4% 28%; }
.header-carousel .rocher-truck-studio .rocher-slide-shade { background: linear-gradient(90deg, rgba(16,29,42,.88), rgba(16,29,42,.35) 60%, rgba(16,29,42,.06)); }
.service-item a.btn-slide:hover i, .service-item a.btn-slide:hover span,
.price-item a.btn-slide:hover i, .price-item a.btn-slide:hover span { color: #fff; }
.footer .btn.btn-link:hover, .footer .btn.btn-link:focus-visible { color: #7ad6ff; }
.footer .btn.btn-social:hover, .footer .btn.btn-social:focus-visible { color: #152b3c; background: #fff; }
.rocher-person { border-bottom: 3px solid var(--secondary); }
.rocher-portrait { aspect-ratio: 4 / 5; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 22px; color: #738596; background: linear-gradient(145deg, #e9edf1, #d9e1e8); }
.rocher-portrait span, .rocher-client-logo span { font-size: .8rem; color: #536373; }
.rocher-client { text-align: center; border-top: 3px solid var(--secondary); }
.rocher-client-logo { min-height: 150px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 18px; background: var(--light); color: var(--primary); }
.rocher-clients .owl-item.center .testimonial-item { animation: none; }
html { scroll-padding-top: 95px; }
.rocher-brand { display: flex; flex-direction: column; line-height: 1.15; }
.rocher-brand strong { font-size: 1.35rem; }
.rocher-brand small { margin-top: 4px; font-size: .86rem; }
.rocher-nav-contact { white-space: nowrap; font-size: .9rem; }
.page-header {
    background-image: linear-gradient(120deg, #102b3d, #31556c);
}
.service-item { height: 100%; }
.service-item img { width: 100%; aspect-ratio: 5 / 3; object-fit: cover; }
.contact-page iframe { min-height: 420px; border: 0; }
.rocher-request textarea { min-height: 120px; }
.rocher-form-status:empty { display: none; }
.header-carousel .owl-carousel-item h2.display-3 { font-weight: 700; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }
@media (min-width: 992px) and (max-width: 1199.98px) {
    .navbar-brand { padding-left: 24px !important; padding-right: 24px !important; }
    .navbar-light .navbar-nav .nav-link { margin-right: 20px; }
}
@media (max-width: 768px) {
    .header-carousel .owl-carousel-item h2.display-3 { font-size: 30px; font-weight: 600; }
    .header-carousel .owl-carousel-item { min-height: 600px; }
    .header-carousel .rocher-truck-studio > img { padding: 0 0 12px; object-position: center bottom; }
    .contact-page iframe { position: relative !important; }
}
@media (max-width: 375px) {
    .rocher-brand strong { font-size: 1.1rem; }
    .navbar-brand { padding-left: 16px !important; padding-right: 16px !important; }
    .rocher-request { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
