*{
    transition: 0.2s all;
    font-family: var(--vc-font),sans-serif;
    font-size: var(--vc-fs-base);
}

body {
    line-height: 1.65;
    color: var(--vc-texte);
    background: var(--vc-blanc);
}

/* Titres */
h1, h2, h3, h4, h5, h6,
.et_pb_module_header,
.entry-title {
    font-weight: 700;
    color: var(--vc-vert-fonce);
    line-height: 1.2;
    padding-bottom: .4em;
}

h1 { font-size: var(--vc-fs-h1); }
h2 { font-size: var(--vc-fs-h2); }
h3 { font-size: var(--vc-fs-h3); }
h4 { font-size: var(--vc-fs-h4); }

/* Second niveau de titre, plus léger : « bonnes pour les convives et la planète » */
.vc-light,
h1 .vc-light,
h2 .vc-light {
    font-weight: 400;
    display: block;
}

/* Liens */
a {
    color: var(--vc-vert);
}
a:hover {
    color: var(--vc-vert-hover);
}

/* Paragraphe d'introduction */
.vc-lead,
.vc-lead p {
    font-size: 19px;
    line-height: 1.6;
    color: var(--vc-texte);
}

/* Titre de section centré (« Vous êtes… », « À la une »…) */
.vc-section-title,
.vc-section-title h2 {
    text-align: center;
    font-size: var(--vc-fs-h2);
    color: var(--vc-vert-fonce);
}

/* --------------------------------------------------------------------------
   Fonds de section (classe à poser sur une Section Divi)
   -------------------------------------------------------------------------- */
.vc-bg-vert-clair { background-color: var(--vc-vert-clair) !important; }
.vc-bg-peche      { background-color: var(--vc-peche) !important; }
.vc-bg-vert       { background-color: var(--vc-vert) !important; }
.vc-bg-blanc      { background-color: var(--vc-blanc) !important; }

.vc-bg-vert,
.vc-bg-vert h1, .vc-bg-vert h2, .vc-bg-vert h3, .vc-bg-vert h4,
.vc-bg-vert p, .vc-bg-vert li {
    color: var(--vc-blanc);
}

.vc-section {
    padding-top: var(--vc-section-py) !important;
    padding-bottom: var(--vc-section-py) !important;
}

/* Image arrondie (photo du bandeau d'accueil, visuels de cartes) */
.vc-rounded img,
img.vc-rounded {
    border-radius: var(--vc-radius-l);
}

/* Utilitaires */
.vc-center { text-align: center; }
.vc-hide { display: none !important; }

.screen-reader-text,
.vc-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Focus visible pour l'accessibilité clavier */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.et_pb_button:focus-visible {
    outline: 3px solid var(--vc-orange);
    outline-offset: 3px;
}
