@font-face {
  font-family: 'Cabinet Grotesk';
  src: url('https://laorana.fr/wp-content/uploads/2026/03/CabinetGrotesk-Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}

/* Montserrat Regular */
@font-face {
  font-family: 'Montserrat';
  src: url('https://laorana.fr/wp-content/uploads/2026/03/Montserrat-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Montserrat Medium */
@font-face {
  font-family: 'Montserrat';
  src: url('https://laorana.fr/wp-content/uploads/2026/03/Montserrat-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Montserrat Semi Bold */
@font-face {
  font-family: 'Montserrat';
  src: url('https://laorana.fr/wp-content/uploads/2026/03/Montserrat-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Montserrat Bold */
@font-face {
  font-family: 'Montserrat';
  src: url('https://laorana.fr/wp-content/uploads/2026/03/Montserrat-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Playfair Display Regular */
@font-face {
  font-family: 'Playfair Display';
  src: url('https://laorana.fr/wp-content/uploads/2026/03/playfair-display.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Playfair Display black */
@font-face {
  font-family: 'Playfair Display';
  src: url('https://laorana.fr/wp-content/uploads/2026/03/PlayfairDisplay-Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Graisse sur tout le site */
strong {
    font-weight: 500 !important;
}

h1 em,
h2 em {
    font-weight: 900;
}

.grille-services h5 a {
    font-size: 14px !important;
    font-weight: 600;
}

/* Menu */
.main-header-menu .menu-item a {
    font-family: 'Cabinet Grotesk';
    font-weight: 500 !important;
    font-size: 17px;
}

/* Hero-page titre personnalisé */
.hero-titre em {
    font-weight: 900;
    font-style: italic;
    color: #F2DABE;
}

/* Bandeau défilant */
.bandeau-defilant {
background-color: #F2C7A3;
overflow: hidden;
white-space: nowrap;
padding: 12px 0;
width: 100%;
}

.bandeau-track {
display: flex;
animation: defilement 12s linear infinite;
width: max-content;
font-size: 0;
will-change: transform;
}

.bandeau-track span {
font-family: 'Playfair Display', serif;
font-weight: 700;
color: #615041;
font-size: 20px;
white-space: nowrap;
line-height: 1;
}

.bandeau-logo {
height: 12px;
width: auto;
margin: 0 10px;
position: relative;
top: -3px;
}

@keyframes defilement {
0% { transform: translate3d(0, 0, 0); }
100% { transform: translateX(-25%); }
}

/* Carrousel de logos */
.carrousel-logos .swiper-slide-image {
    height: 170px;
    object-fit: contain;
    width: 100%;
    background-color: #FCF8F2;
    border-radius: 16px;
    padding: 20px;
}

/* Section image - texte */
.section-image-texte .elementor-widget-image {
    height: 100%;
}

.section-image-texte .elementor-widget-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Carrousel images */
.carrousel-images .swiper-slide-image {
    height: 520px;
    object-fit: cover;
    width: 100%;
}

/* Cards */
.cards-difference {
    height: 420px;
}

.cards-difference .elementor-widget-image img {
    height: 80px;
    width: 80px;
    object-fit: contain;
}

.cards-services .elementor-image-box-img img {
    height: 380px;
    object-fit: cover;
    width: 100%;
}

.card-best-sellers img {
    height: 443px;
    object-fit: cover;
    width: 100%;
}

.etapes-card {
    height: 100% !important;
}

/* Bandeau CTA */
.logo-cta-wrapper {
    text-align: center;
    margin-bottom: -60px;
    position: relative;
    z-index: 1;
}

.section-cta {
    position: relative;
    z-index: 0;
}

.logo-cta-wrapper .elementor-widget-image img {
    width: 140px;
    height: auto;
}

/* Footer */
.site-footer h5 {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #61574C !important;
    margin-bottom: 8px !important;
    text-align: left !important;
}

.site-footer p {
    font-size: 13px !important;
    color: #61574C !important;
    font-weight: 500;
}

.site-footer a {
    font-size: 13px;
    text-decoration: none !important;
    color: #61574C !important;
}

.site-footer a:hover {
    color: #CE7153 !important;
}

.footer-html ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    color: #61574C !important;
}

#block-66 { margin: 0 0 1em 0; }
#block-14 { margin: 0 0 1.5em 0; }
#block-16 { margin: 0 0 1em 0; }

/* Footer - formulaire catalogue CF7 */
.site-footer .wpcf7 input[type="email"] {
    background: #EEE3D3 !important;
    padding: 14px 20px !important;
    min-height: 48px !important;
    border: 1px solid #EEE3D3 !important;
    border-radius: 5px !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 14px !important;
    color: #61574C !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
}

.site-footer .wpcf7 input[type="submit"] {
    background: #CE7153 !important;
    color: #F5E3DD !important;
    padding: 14px 20px !important;
    min-height: 48px !important;
    width: 100% !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 5px !important;
    cursor: pointer;
    box-sizing: border-box !important;
}

.site-footer .wpcf7 form {
    display: block !important;
}

/* Formulaire contact CF7 */
.wpcf7 form {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px;
}

.cf7-full {
    grid-column: 1 / -1;
}

.cf7-half {
    grid-column: span 1;
}

/* Radio inline */
.wpcf7-radio {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 24px;
    font-size: 14px;
}

.wpcf7-radio .wpcf7-list-item {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    flex-shrink: 0;
    margin: 0 !important;
}

.wpcf7 form>div,
.wpcf7 form>p {
    margin-bottom: 10px;
}

/* Style des champs */
.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea {
    width: 100% !important;
    padding: 16px !important;
    border: 1px solid #EBC6BA !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    font-size: 14px !important;
    color: #61574C !important;
    opacity: 1 !important;
}

/* Placeholder */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: #61574C !important;
    opacity: 1 !important;
}

/* Select */
.wpcf7 select option {
    color: #61574C;
}

/* Textarea */
.wpcf7 textarea {
    min-height: 50px !important;
}

/* Label date */
.cf7-label {
    font-size: 13px;
    color: #61574C;
    display: block;
    margin-bottom: 4px;
}

/* Acceptance */
.wpcf7-acceptance .wpcf7-list-item label {
    display: flex !important;
    flex-direction: row;
    align-items: flex-start;
    gap: 6px;
    font-size: 14px;
}

.wpcf7-acceptance a {
    font-size: 14px;
    color: #61574C !important;
    text-decoration: underline !important;
}

.wpcf7-acceptance a:hover {
    color: #CE7153 !important;
}

.wpcf7-acceptance input[type="checkbox"] {
    margin-top: 7px !important;
    flex-shrink: 0;
    width: 16px !important;
    height: 16px !important;
}

.wpcf7-acceptance span.wpcf7-list-item-label {
    color: #61574C !important;
}

.wpcf7-acceptance.wpcf7-not-valid .wpcf7-not-valid-tip {
    color: #C43331 !important;
    font-size: 13px;
    display: block !important;
}

/* Messages d'erreur */
.wpcf7-not-valid-tip {
    display: block !important;
    color: #C43331 !important;
    font-size: 13px;
    margin-top: 2px;
}

.wpcf7 .wpcf7-response-output {
    display: block !important;
    grid-column: 1 / -1 !important;
    margin: 0;
    padding: 10px;
    border: 1px solid #C43331 !important;
    color: #C43331 !important;
    font-size: 13px;
    border-radius: 8px;
}

.wpcf7 .wpcf7-response-output:empty {
    display: none !important;
}

/* Champ invalide */
.wpcf7 input.wpcf7-not-valid,
.wpcf7 select.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid {
    border-color: #C43331 !important;
}

/* Message de réussite */
.wpcf7-form.sent .wpcf7-response-output,
.wpcf7 .wpcf7-mail-sent-ok {
    border-color: #729B79 !important;
    color: #729B79 !important;
}

/* Bouton submit */
.wpcf7 input[type="submit"] {
    background: #CE7153 !important;
    color: #F5E3DD !important;
    border: none !important;
    padding: 18px !important;
    font-weight: 600;
    font-size: 15px;
    border-radius: 5px !important;
    cursor: pointer;
    width: 100% !important;
}

.wpcf7 input[type="submit"]:hover {
    background: #D88D75 !important;
}

/* Astra footer grid */
.ast-builder-grid-row-3-equal .ast-builder-grid-row {
    grid-template-columns: 3fr 1fr 3fr;
}

/* Responsive mobile */
@media (max-width: 767px) {
    .footer-html { display: none !important; }

    .site-footer .footer-contact h5,
    .site-footer .footer-contact p,
    .site-footer .widget_block,
    .site-footer .wp-block-social-links {
        text-align: center !important;
        justify-content: center !important;
    }

    .site-footer .wpcf7 input[type="email"],
    .site-footer .wpcf7 input[type="submit"] {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .site-footer-section-1 .widget_block {
        padding: 0 16px !important;
        box-sizing: border-box !important;
    }

    .wpcf7 form {
        grid-template-columns: 1fr !important;
    }

    .cf7-half {
        grid-column: 1 / -1 !important;
    }

    input[type="date"] {
        width: 100% !important;
        min-width: 0 !important;
        appearance: none !important;
        -webkit-appearance: none !important;
    }
}