/* Edit Bee : mises en page propres à chaque page. Les composants communs sont dans site.css. */

/* =================== Accueil =================== */
.accueil .heros { padding-top: 44px; }
.accueil .heros-texte .t-surtitre, .accueil .heros-intro { display: none; }
.accueil-mobile-contact { display: none; }
@media (max-width: 1099px) { .accueil .heros-texte .t-surtitre, .accueil .heros-intro { display: block; } .accueil .heros-texte { gap: 10px; } }

/* Campagne 2027 : photo à gauche, titre rouge à droite, puis citation et liste */
.campagne-grille { display: grid; grid-template-columns: 536px minmax(0, 1fr); gap: 32px 34px; width: min(1045px, 100% - 2 * var(--marge)); }
.campagne-photo { position: relative; grid-row: span 1; border-radius: 40px; overflow: hidden; aspect-ratio: 536 / 529; }
.campagne-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.campagne-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(17,13,13,.84) 12%, rgba(144,113,113,.12)); mix-blend-mode: overlay; }
.campagne-photo figcaption { position: absolute; z-index: 1; left: 36%; right: 4%; bottom: 7%; color: var(--blanc); text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.campagne-titre { align-self: end; padding-bottom: 6px; }
.campagne-titre .annee { width: 345px; margin-top: 8px; }
.campagne-citation { padding-left: 97px; display: flex; flex-direction: column; gap: 52px; }
.campagne-citation .citation { margin-left: -97px; grid-template-columns: 89px minmax(0, 1fr); gap: 8px; }
.campagne-citation .citation blockquote { padding-top: 20px; }
.campagne-citation .boutons { padding-left: 15px; }
.campagne-texte { display: flex; flex-direction: column; gap: 28px; }
.campagne-texte .puces { gap: 38px; }
@media (max-width: 1099px) {
  .campagne-grille { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 24px 28px; }
  .campagne-titre .annee { width: 200px; }
  .campagne-citation { padding-left: 0; gap: 26px; }
  .campagne-citation .citation { margin-left: 0; grid-template-columns: 52px 1fr; }
  .campagne-texte .puces { gap: 14px; font-size: 16px; line-height: 23px; letter-spacing: 1px; }
  .campagne-texte .t4 { font-size: 18px; line-height: 24px; }
  .campagne-photo figcaption { left: 30%; font-size: 30px; line-height: 30px; }
}
@media (max-width: 699px) {
  .campagne { padding-top: 0; }
  .campagne-grille { grid-template-columns: 1fr; width: 100%; gap: 0; }
  .campagne-photo { border-radius: 0; aspect-ratio: 360 / 400; grid-row: 1; grid-column: 1; }
  .campagne-photo figcaption { display: none; }
  .campagne-titre { grid-row: 1; grid-column: 1; position: relative; z-index: 1; align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; padding: 22px 14px 18px; }
  .campagne-titre h2 { color: var(--blanc); font-size: 28px; line-height: 28px; letter-spacing: -.5px; }
  .campagne-titre .annee { align-self: flex-end; width: 180px; filter: brightness(0) saturate(100%) invert(26%) sepia(55%) saturate(2500%) hue-rotate(345deg); }
  .campagne-citation { order: 2; padding: 0 var(--marge); margin-top: -26px; position: relative; z-index: 2; gap: 0; }
  .campagne-citation .citation { display: none; }
  .campagne-citation .boutons { padding: 0; justify-content: space-between; }
  .campagne-citation .boutons .btn { flex: 1; }
  .campagne-texte { order: 3; padding: 36px var(--marge) 0; }
}

/* Baba l'abeille : carte d'actu et dessin, puis bande jaune */
.baba-une { display: grid; grid-template-columns: 446px minmax(0, 1fr); align-items: center; gap: 40px; margin-top: 50px; }
.actu { min-height: 446px; }
.actu h3 { margin-top: 2px; }
.news { width: 478px; justify-self: end; margin-right: -64px; }
.baba-bande { margin-top: -10px; padding-block: 70px 64px; }
.baba-rubriques { margin-top: 40px; gap: 32px; }
.rubrique { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 4px 18px; align-items: start; }
.rubrique > img { grid-row: span 2; width: 64px; height: auto; margin-top: 8px; }
.rubrique .btn { grid-column: 1 / -1; justify-self: end; margin-top: 18px; }
@media (max-width: 1099px) {
  .baba-une { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin-top: 28px; }
  .actu { min-height: 0; }
  .news { width: 100%; margin-right: 0; }
  .baba-bande { padding-block: 40px; }
  .baba-bande .t3 { font-size: 32px; line-height: 36px; }
  .baba-rubriques { gap: 18px; margin-top: 24px; }
  .rubrique { grid-template-columns: 34px minmax(0, 1fr); gap: 4px 8px; }
  .rubrique > img { width: 34px; }
  .rubrique .t4 { font-size: 18px; line-height: 22px; }
  .rubrique .petit { font-size: 12px; }
}
@media (max-width: 699px) {
  .baba { padding-top: var(--section); }
  .baba-une { grid-template-columns: 1fr; }
  .news { width: 60%; justify-self: end; }
  .baba-bande .t3 { font-size: 26px; line-height: 30px; }
  .baba-rubriques { grid-template-columns: 1fr; }
}

/* Nos ruches */
.ruches-accueil .carte-ruches .cr-fond { border-radius: 40px; }
.ruches-pied { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px 40px; margin-top: 18px; }
.ruches-pied .t3 { grid-column: 1 / -1; }
.legende-ruches { list-style: none; display: grid; gap: 10px; }
.legende-ruches li { display: grid; grid-template-columns: 39px auto auto; align-items: center; justify-content: start; gap: 0 20px; }
.legende-ruches .petit { align-self: end; }
.cr-pastille { display: block; width: 39px; height: 30px; border: 3px solid var(--noir-brun); border-radius: 9px; }
.cr-pastille[data-couleur="jaune"] { background: var(--jaune); }
.cr-pastille[data-couleur="violet"] { background: var(--violet); }
.cr-pastille[data-couleur="vert"] { background: var(--vert); }
@media (max-width: 699px) {
  .ruches-pied { grid-template-columns: 1fr; }
  .legende-ruches li { gap: 0 10px; }
  .legende-ruches .petit { font-size: 12px; }
  .cr-pastille { width: 30px; height: 24px; border-width: 2.5px; border-radius: 7px; }
}

/* Notre engagement */
.engagement-grille { display: grid; grid-template-columns: minmax(0, 496px) minmax(0, 1fr); gap: 0 40px; align-items: start; }
.engagement-texte { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.engagement-texte .corps { max-width: 394px; }
.engagement-texte .btn { align-self: flex-end; margin-top: 32px; }
.engagement-image { width: 449px; justify-self: end; margin-top: -22px; }
.engagements { grid-column: 2; justify-self: end; width: 335px; list-style: none; display: flex; flex-direction: column; gap: 20px; margin-top: 66px; }
.engagements li { display: grid; grid-template-columns: 61px minmax(0, 1fr); gap: 18px; }
.engagements h3 { font-size: 36px; line-height: 35px; }
.engagements p { margin-top: 14px; font-weight: 300; font-size: 18px; line-height: 1.5; letter-spacing: .9px; }
@media (max-width: 1099px) {
  .engagement-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .engagement-image { width: 100%; margin-top: 0; }
  .engagements { width: auto; margin-top: 20px; }
  .engagements li { grid-template-columns: 34px 1fr; gap: 10px; }
  .engagements h3 { font-size: 20px; line-height: 22px; }
  .engagements p { font-size: 12px; margin-top: 8px; }
  .engagement-texte .btn { align-self: flex-start; }
}
@media (max-width: 699px) {
  .engagement-grille { grid-template-columns: 1fr; }
  .engagement-image { order: -1; grid-row: 2; width: 80%; }
  .engagements { grid-column: 1; justify-self: stretch; }
  .engagements h3 { font-family: var(--main); font-size: 32px; line-height: 34px; }
  .engagements p { font-size: 18px; letter-spacing: 1.5px; }
}

/* Citation seule */
.citation-seule { padding-block: 30px 110px; }
.citation-seule .citation { width: min(595px, 100%); margin-inline: auto; }
@media (max-width: 1099px) { .citation-seule { padding-block: 40px 90px; } .citation-seule .citation { width: min(460px, 100%); } }

/* Notre équipe */
.portraits { list-style: none; display: grid; grid-template-columns: repeat(2, 351px); justify-content: space-between; gap: 30px 20px; }
.portraits img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 20px; background: #ecd6a8; }
.portraits .t4 { margin-top: 12px; }
.equipe-pied { display: grid; grid-template-columns: minmax(0, 1fr) 432px; gap: 30px; align-items: start; margin-top: 4px; }
.equipe-pied .btn { justify-self: start; margin-top: 50px; }
.equipe-pied .corps { font-size: 20px; line-height: 1.5; letter-spacing: 1.5px; }
@media (max-width: 1099px) {
  .portraits { grid-template-columns: repeat(2, 227px); gap: 14px; }
  .portraits .t4 { font-size: 16px; margin-top: 4px; }
  .equipe-pied { grid-template-columns: minmax(0, 1fr) 280px; }
  .equipe-pied .corps { font-size: 14px; letter-spacing: 1px; }
}
@media (max-width: 699px) {
  .portraits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .portraits .t4 { font-family: var(--corps); font-weight: 300; font-size: 18px; letter-spacing: 1.5px; }
  .equipe-pied { grid-template-columns: 1fr; }
  .equipe-pied .btn { order: 2; justify-self: end; margin-top: 0; }
  .equipe-pied .corps { font-size: 18px; }
}

/* Boutique */
.boutique-grille { display: grid; grid-template-columns: 442px minmax(0, 1fr); gap: 0 36px; }
.boutique-grille h2 { grid-column: 1 / -1; margin-bottom: 60px; }
.pot { width: 412px; border-radius: 23px; }
.boutique-offre { position: relative; display: grid; grid-template-columns: 188px minmax(0, 1fr); align-content: start; gap: 0 10px; padding-top: 190px; }
.boutique-offre .prix { grid-column: 1 / -1; width: 179px; }
.boutique-offre .cuillere { position: absolute; top: 20px; left: 210px; width: 62px; }
.boutique-offre .t3 { margin-top: 70px; }
.boutique-offre .pots { align-self: end; width: 316px; max-width: none; margin-left: -60px; }
.boutique-offre .btn { grid-column: 1 / -1; justify-self: end; margin-top: 16px; }
@media (max-width: 1099px) {
  .boutique-grille { grid-template-columns: 200px minmax(0, 1fr); gap: 0 20px; }
  .boutique-grille h2 { order: 3; margin: 20px 0 0; }
  .pot { width: 200px; }
  .boutique-offre { padding-top: 60px; grid-template-columns: 120px minmax(0, 1fr); }
  .boutique-offre .prix { width: 70px; }
  .boutique-offre .cuillere { display: none; }
  .boutique-offre .t3 { margin-top: 10px; font-size: 32px; line-height: 34px; }
  .boutique-offre .pots { width: 180px; margin-left: 0; }
}
@media (max-width: 699px) {
  .boutique-grille { grid-template-columns: 130px minmax(0, 1fr); gap: 0 14px; }
  .boutique-grille h2 { order: -1; margin: 0 0 20px; }
  .pot { width: 130px; }
  .boutique-offre { padding-top: 20px; grid-template-columns: 1fr; }
  .boutique-offre .t3 { font-size: 26px; line-height: 28px; }
  .boutique-offre .pots { width: 100%; }
}

/* Votre implication */
.implication-accueil { padding-top: 40px; }
.implication-accueil h2 { max-width: 363px; margin-bottom: 40px; }
.banniere { aspect-ratio: 914 / 344; overflow: hidden; background: var(--blanc); }
.banniere img { width: 117.36%; max-width: none; margin: -3.8% 0 0 -9.92%; }
.implication-pied { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-top: 24px; }
.implication-pied .corps { max-width: 363px; font-size: 20px; line-height: 1.5; letter-spacing: 1.5px; }
@media (max-width: 1099px) { .implication-pied .corps { max-width: 555px; font-size: 18px; } }
@media (max-width: 699px) { .implication-pied { flex-direction: column; align-items: flex-end; } .banniere { aspect-ratio: 300 / 240; } .banniere img { width: 160%; margin: -6% 0 0 -30%; } }

/* Nos références */
.references { padding-block: 40px 60px; }
.logos { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 40px 20px; align-items: center; justify-items: center; margin-top: 40px; }
.logos img { max-height: 62px; width: auto; }
.references-texte { max-width: 486px; margin-top: 60px; font-size: 20px; line-height: 1.5; letter-spacing: 1.5px; }
.references-boutons { justify-content: flex-end; margin-top: 30px; }
@media (max-width: 1099px) { .logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } .references-texte { max-width: none; font-size: 17px; } }
@media (max-width: 699px) { .logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; } .logos img { max-height: 48px; } }

/* Accueil mobile : héros jaune avec logo, comme l'écran « Mobile / 01 Accueil » */
@media (max-width: 699px) {
  .accueil .heros { padding: 0 0 36px; background: linear-gradient(var(--blanc) 0 calc(var(--haut-blanc, 150px)), var(--jaune) 0); }
  .accueil .heros-in { gap: 0; }
  .accueil .heros-visuel { order: -1; width: 100%; margin: 0; }
  .accueil .mascotte-ruche > img:first-child { display: none; }
  .accueil .mascotte-ruche { aspect-ratio: 300 / 210; }
  .accueil .mascotte-ruche > img + img { left: 0; top: 10px; width: 52%; height: auto; }
  .accueil .heros-texte { padding-top: 40px; }
  .accueil .heros-texte .t-heros { font-size: 30px; line-height: 30px; letter-spacing: 0; }
  .accueil .heros-intro { display: block; }
  .accueil-mobile-contact { display: flex; flex-direction: column; align-items: center; order: -1; margin-top: 0; padding-top: 10px; border-top: 1px solid var(--noir-brun); font-weight: 300; font-size: 16px; }
  .accueil .heros { display: flex; flex-direction: column; }
  .accueil .heros-in { display: contents; }
  .accueil .heros-visuel { order: 1; width: calc(100% - 2 * var(--marge)); margin-inline: auto; }
  .accueil .accueil-mobile-contact { order: 2; }
  .accueil .heros-texte { order: 3; width: calc(100% - 2 * var(--marge)); margin-inline: auto; }
  .accueil .heros-texte .boutons .btn { padding: 8px 14px; font-size: 14px; }
}

/* =================== Les bienfaits du parrainage =================== */
.bienfaits-photo { aspect-ratio: 746 / 623; max-width: 746px; }
.bienfaits-photo img { object-position: 70% 30%; }
.citation-droite { width: min(566px, 100%); margin: 90px 0 0 auto; grid-template-columns: 1fr; }
.citation-droite > img { width: 112px; height: 106px; justify-self: end; margin-right: 120px; }
.citation-droite blockquote { padding-top: 40px; }
@media (max-width: 1099px) { .citation-droite > img { width: 60px; height: auto; margin-right: 40px; } }

/* =================== Implantations =================== */
.heros-ruches { width: calc(100% + 180px); max-width: 787px; margin-right: -180px; }
.titre-etapes { display: flex; align-items: flex-end; gap: 20px; position: relative; z-index: 1; margin-top: 60px; margin-bottom: -62px; }
.titre-etapes img { width: 159px; flex: none; }
.etapes-section .bande { padding-top: 120px; }
.collectif .citation { margin-top: 60px; grid-template-columns: 1fr; }
.collectif .citation blockquote { padding-top: 24px; }
.collectif-texte { margin-top: 30px; font-size: 20px; line-height: 1.6; letter-spacing: 1.5px; }
.boutons-droite { justify-content: flex-end; margin-top: 40px; }
@media (max-width: 1099px) { .heros-ruches { margin-right: -60px; } .titre-etapes img { width: 110px; } .titre-etapes { margin-bottom: -44px; } .etapes-section .bande { padding-top: 80px; } }
@media (max-width: 699px) {
  .heros-ruches { margin: 0 auto; }
  .titre-etapes { flex-direction: column; align-items: flex-start; margin: 30px auto 0; }
  .etapes-section .bande { padding-top: 40px; }
  .titre-etapes img { width: 120px; align-self: center; }
  .collectif .citation { margin-top: 30px; } .collectif .citation blockquote { padding-top: 10px; }
  .collectif-texte { font-size: 18px; }
}

/* =================== Autres interventions =================== */
.heros-paysage { padding-bottom: 0; }
.heros-paysage .heros-texte { position: relative; z-index: 1; padding-left: 74px; }
.paysage-bas { margin-top: -230px; height: 820px; overflow: hidden; }
.paysage-bas img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.essaim.bloc.droite { grid-template-columns: minmax(0, 439px) minmax(0, 1fr); }
.interventions .bloc-texte .corps { font-size: 20px; line-height: 1.6; letter-spacing: 1.5px; }
.appel-simple { padding-top: 0; }
@media (max-width: 1099px) { .heros-paysage .heros-texte { padding-left: 0; } .paysage-bas { margin-top: -120px; height: 560px; } .interventions .bloc-texte .corps { font-size: 17px; } }
@media (max-width: 699px) { .paysage-bas { margin-top: -20px; height: 300px; } .essaim.bloc.droite { grid-template-columns: 1fr; } .essaim > img { width: 100% !important; } }

/* =================== Nos tarifs =================== */
.tirelire { position: relative; aspect-ratio: 1; }
.tirelire img { position: absolute; }
.tirelire img:first-child { left: 17.86%; top: 41%; width: 65%; }
.tirelire img + img { left: 24.5%; top: 20.18%; width: 59%; }
.heros-tarifs .heros-texte { align-self: start; padding-top: 12px; }
.tarifs { padding-bottom: var(--section); }
.tarif { min-height: 446px; gap: 0; padding: 28px 32px; }
.tarif dl { width: 100%; margin: 22px 0 0; }
.tarif dl > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 14px; border-bottom: 1px solid #e6dcc4; }
.tarif dt { font-weight: 300; font-size: 24px; line-height: 1.4; letter-spacing: 1.5px; }
.tarif dd { margin: 0; font-family: var(--titre); font-size: var(--t-t2); line-height: var(--l-t2); white-space: nowrap; }
.tarif .note-main { margin-top: auto; }
.formules { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.formules li { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 32px 28px 28px; border-radius: 20px; background: var(--blanc); }
.prix-ligne { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 14px; margin-top: 12px; }
.prix { font-family: var(--titre); font-size: var(--t-t2); line-height: var(--l-t2); }
.formules .btn { margin-top: 20px; }
.particuliers .note-main { margin-top: 30px; }
@media (max-width: 1099px) {
  .tarif { min-height: 0; padding: 22px; } .tarif dt { font-size: 17px; letter-spacing: 1px; }
  .formules { gap: 14px; } .formules li { padding: 22px 18px; } .formules .t3 { font-size: 30px; }
}
@media (max-width: 699px) {
  .heros-tarifs .heros-visuel { order: 0; width: 70%; margin: 0 auto; }
  .formules { grid-template-columns: 1fr; }
}

/* =================== Notre engagement =================== */
.engagement-photo { aspect-ratio: 675 / 692; max-width: 675px; border-radius: 40px; }
.engagement-photo img { object-position: 0 0; }
.respect { position: relative; }
.respect h2 { max-width: 439px; }
.respect-textes { margin-top: 26px; max-width: 860px; }
.respect-textes .corps { font-size: 22px; line-height: 1.55; letter-spacing: 1.5px; }
.respect-textes .corps + .corps { margin-top: 0; padding-top: 0; }
.fleur-violette { position: absolute; right: max(0px, calc(50% - 640px)); bottom: -20px; width: 259px; }
.principes { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 290px)); justify-content: space-between; gap: 30px; }
.principes img { width: 80px; height: 80px; object-fit: contain; margin-bottom: 18px; }
.principes p { margin-top: 10px; font-weight: 300; font-size: 20px; line-height: 1.55; letter-spacing: 1.5px; }
.citation-large { width: min(807px, 100%); margin-inline: auto; grid-template-columns: 1fr; }
.citation-large > img { width: 52px; height: 47px; }
.citation-large blockquote { padding-top: 10px; }
@media (max-width: 1099px) { .fleur-violette { width: 160px; } .principes p { font-size: 16px; } .respect-textes .corps { font-size: 18px; } }
@media (max-width: 699px) { .principes { grid-template-columns: 1fr; } .fleur-violette { position: static; margin: 20px 0 0 auto; width: 140px; } .engagement-photo { border-radius: 0; } }

/* =================== Notre équipe =================== */
.heros-equipe .heros-in { grid-template-columns: minmax(0, 462px) minmax(0, 1fr); }
.heros-equipe .heros-intro { max-width: 353px; }
.heros-equipe .heros-visuel { width: calc(100% + 180px); max-width: 697px; margin-right: -180px; }
.miroir { transform: scaleX(-1); }
.membre { display: grid; grid-template-columns: 351px minmax(0, 541px); gap: 0 28px; align-items: start; }
.membre + .membre { margin-top: 90px; }
.membre > img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 20px; background: #ecd6a8; }
.membre .t3 { margin: 6px 0 14px; }
.membre .corps { font-size: 20px; line-height: 1.6; letter-spacing: 1.5px; }
@media (max-width: 1099px) { .heros-equipe .heros-in { grid-template-columns: 1fr 1fr; } .heros-equipe .heros-visuel { margin-right: -40px; } .membre { grid-template-columns: 227px minmax(0, 1fr); } .membre .corps { font-size: 16px; } .membre + .membre { margin-top: 60px; } }
@media (max-width: 699px) { .heros-equipe .heros-in { grid-template-columns: 1fr; } .heros-equipe .heros-visuel { margin: 0 auto; width: 90%; } .membre { grid-template-columns: 1fr; gap: 16px; } .membre > img { width: 60%; } }

/* =================== Carte de nos ruches =================== */
.heros-carte .corps { max-width: 560px; }
.carte-page .carte-ruches .cr-fond { border-radius: 40px; }
.carte-page .ruches-pied { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.carte-page .ruches-pied .t3 { grid-column: 1; max-width: 300px; }
.carte-aide { margin-top: 20px; color: #5b524b; }
.emplacements { padding-bottom: 60px; }
.emplacements-texte { max-width: 640px; margin: 14px 0 0 auto; font-size: 18px; line-height: 1.6; letter-spacing: 1.3px; }
.emplacements .t3 { max-width: 640px; margin-left: auto; }
.emplacements-texte p + p { margin-top: .4em; }
.appel-simple .appel-rangee .t2 { max-width: 480px; }
@media (max-width: 699px) { .carte-page .ruches-pied { grid-template-columns: 1fr; } .carte-page .carte-ruches .cr-fond { border-radius: 20px; } }

/* =================== Baba l’abeille : les saisons =================== */
.heros-saison { padding-bottom: 40px; }
.heros-saison .heros-in { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
@media (max-width: 699px) { .heros-saison .heros-in { grid-template-columns: 1fr; } .heros-saison .heros-visuel { width: 60%; margin: 0 auto; } }
.heros-saison .heros-visuel { margin-right: -120px; width: min(560px, 100%); }
.heros-fleurs { width: 276px !important; margin-right: 40px !important; align-self: start; }
.heros-large .heros-in { grid-template-columns: 1fr; }
.saison-illu { width: min(1026px, 100% + 160px); max-width: none; margin: 10px 0 0 -80px; }
.calendrier ul { display: flex; flex-wrap: wrap; gap: 16px; list-style: none; padding: 0; margin: 0 0 80px; }
.calendrier a { display: inline-flex; align-items: center; gap: 10px; height: 62px; padding: 0 24px 0 10px; border: 2.5px solid var(--noir-brun); border-radius: 99px; background: var(--blanc); font-family: var(--main); font-size: 24px; line-height: 1; text-decoration: none; transition: background .2s; }
.calendrier img { width: 40px; height: 40px; object-fit: contain; }
.calendrier a:hover { background: #fff6d6; }
.calendrier a[aria-current] { background: var(--jaune); }
.mois { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; align-items: start; margin-bottom: var(--section); }
.mois-col { display: flex; flex-direction: column; gap: 72px; }
.mois-col + .mois-col { padding-top: 110px; }
.mois-bloc .t3 { margin-bottom: 16px; }
.mois-bloc .corps + .corps { margin-top: 0; }
.citation-saison { grid-template-columns: 52px minmax(0, 1fr); margin: 0 0 0 0; }
.citation-saison > img { width: 52px; height: 47px; }
.citation-saison blockquote { margin: 0; padding-top: 30px; }
.saison-bas { display: block; width: 100%; height: auto; margin-top: calc(-1 * var(--section) + 20px); }
.appel-saison { position: relative; overflow: hidden; }
.appel-picto { position: absolute; right: max(16px, 50% - 610px); bottom: -20px; width: 190px; height: auto; pointer-events: none; }
.appel-saison .appel-rangee { position: relative; z-index: 1; }
@media (max-width: 1099px) {
  .heros-saison .heros-visuel { margin-right: -40px; }
  .heros-fleurs { width: 200px !important; margin-right: 0 !important; }
  .saison-illu { width: 100%; margin-left: 0; }
  .calendrier ul { gap: 10px; margin-bottom: 56px; }
  .calendrier a { height: 52px; font-size: 21px; padding-right: 18px; }
  .calendrier img { width: 32px; height: 32px; }
  .mois { gap: 0 32px; }
  .mois-col { gap: 48px; }
  .mois-col + .mois-col { padding-top: 70px; }
  .appel-picto { width: 120px; bottom: -14px; }
}
@media (max-width: 699px) {
  .heros-fleurs { display: none; }
  .calendrier ul { display: grid; grid-template-columns: 1fr 1fr; }
  .calendrier a { width: 100%; font-size: 20px; height: 48px; }
  .mois { grid-template-columns: 1fr; }
  .mois-col { gap: 40px; }
  .mois-col + .mois-col { padding-top: 40px; }
  .citation-saison { grid-template-columns: 40px 1fr; } .citation-saison > img { width: 40px; height: 36px; } .citation-saison blockquote { padding-top: 22px; }
  .appel-picto { display: none; }
}

/* =================== Lexique =================== */
.heros-lexique .heros-in { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.heros-loupe { width: 246px !important; margin: 0 40px 0 0 !important; }
.lexique { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 40px; }
.entrees { display: contents; }
.entree { min-height: 446px; padding: 30px 28px; border-radius: 20px; justify-content: flex-start; }
.entree dt { margin: 0; }
.entree dd { margin: 0; font-weight: 300; font-size: 21px; line-height: 1.55; letter-spacing: 1.4px; }
.suggestion { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; }
.suggestion .btn { align-self: flex-end; }
.lexique-branche { display: block; width: min(953px, 75%); height: auto; margin-top: 40px; }
@media (max-width: 1099px) {
  .heros-loupe { width: 180px !important; margin-right: 0 !important; }
  .entree { min-height: 0; aspect-ratio: auto; padding: 24px 22px; }
  .entree dd { font-size: 17px; letter-spacing: 1px; }
  .lexique { gap: 20px; }
}
@media (max-width: 699px) {
  .heros-lexique .heros-in { grid-template-columns: 1fr; }
  .heros-loupe { width: 140px !important; margin: 0 auto !important; }
  .lexique { grid-template-columns: 1fr; }
  .lexique-branche { width: 100%; }
}

/* =================== L’actu =================== */
.heros-actu .heros-in { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.heros-news { align-self: end; width: min(478px, 100%) !important; margin-right: 0 !important; }
.titre-cloche { display: flex; align-items: center; gap: 18px; margin-bottom: 36px; }
.titre-cloche img { width: 61px; height: 57px; }
.actus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.actus .actu { min-height: 400px; }
.actus .actu[hidden] { display: none; }
.filtre-etat { margin: -20px 0 20px; }
.archives { margin-top: 48px; border: 2.5px solid var(--noir-brun); border-radius: 20px; padding: 32px 40px 36px; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; }
.archives h2 { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 24px; flex-wrap: wrap; }
.archives .t3 { font-size: 26px; line-height: 1.4; }
.themes-filtre { display: flex; flex-wrap: wrap; gap: 10px 12px; max-width: 420px; }
.themes-filtre .theme { border: 2px solid var(--noir-brun); font: inherit; font-weight: 600; font-size: 13px; letter-spacing: 1.2px; cursor: pointer; color: inherit; }
.themes-filtre .theme[aria-pressed="true"] { background: var(--noir-brun); color: var(--jaune); }
.appel-blanc { border: 0; padding-block: 100px var(--section); }
@media (max-width: 1099px) {
  .actus { gap: 20px; }
  .actus .actu { min-height: 0; }
  .titre-cloche img { width: 44px; height: 41px; }
  .archives { padding: 26px 24px 28px; }
}
@media (max-width: 699px) {
  .heros-actu .heros-in { grid-template-columns: 1fr; }
  .heros-news { width: 80% !important; margin: 0 auto !important; }
  .actus { grid-template-columns: 1fr; }
  .archives { grid-template-columns: 1fr; }
  .archives .btn { justify-self: start; }
  .appel-blanc { padding-top: 60px; }
}

/* =================== Ils adhèrent =================== */
.heros-adherent .heros-in { grid-template-columns: minmax(0, 444px) minmax(0, 1fr); gap: 0 32px; }
.heros-adherent .heros-visuel { margin: 0; width: 100%; aspect-ratio: 444 / 482; }
.partenaires { list-style: none; padding: 0; margin: 30px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; }
.partenaires li { display: grid; place-items: center; height: 144px; border: 1.5px solid var(--filet, #e6dcc4); border-radius: 20px; padding: 16px; }
.partenaires img { max-height: 85px; width: auto; max-width: 152px; height: auto; }
.partenaires .retourne { transform: scaleY(-1); }
@media (max-width: 699px) {
  .heros-adherent .heros-in { grid-template-columns: 1fr; }
  .heros-adherent .heros-visuel { aspect-ratio: 4 / 3; }
  .partenaires { gap: 10px; }
  .partenaires li { height: 100px; }
  .partenaires img { max-width: 110px; max-height: 60px; }
}

/* =================== Votre implication =================== */
.heros-implication { position: relative; padding-bottom: 0; }
.heros-implication .heros-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.heros-implication .heros-texte { align-items: flex-end; text-align: right; padding-top: 80px; }
.amandiers { display: block; width: min(866px, 68%); height: auto; margin: -10px 0 0 max(-95px, 50% - 735px); }
.implication-texte { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px 60px; align-items: start; margin-top: -200px; position: relative; }
.implication-texte > div { padding-top: 0; }
.implication-texte figure { margin-top: 260px; }
.implication-texte .t4 { margin-bottom: 18px; }
.implication-texte .corps { font-size: 19px; line-height: 1.6; letter-spacing: 1.2px; }
.implication-texte blockquote { font-size: 44px; line-height: 50px; }
@media (max-width: 1099px) {
  .implication-texte { margin-top: -80px; gap: 32px; }
  .implication-texte figure { margin-top: 120px; }
  .implication-texte blockquote { font-size: 34px; line-height: 40px; }
  .implication-texte .corps { font-size: 17px; }
}
@media (max-width: 699px) {
  .heros-implication .heros-in { grid-template-columns: 1fr; }
  .heros-implication .heros-texte { align-items: flex-start; text-align: left; padding-top: 0; }
  .amandiers { width: 100%; margin: 20px 0 0; }
  .implication-texte { grid-template-columns: 1fr; margin-top: 30px; }
  .implication-texte figure { margin-top: 0; order: 2; }
  .implication-texte blockquote { font-size: 30px; line-height: 36px; }
}

/* =================== Mentions légales =================== */
.legal { max-width: 720px; margin-bottom: var(--section); }
.legal h2 { margin: 36px 0 10px; }
.legal p { font-weight: 300; font-size: 18px; line-height: 1.6; letter-spacing: .8px; }
.legal p + p { margin-top: 10px; }
.legal mark { background: #fff1b8; padding: 0 4px; }
@media (max-width: 699px) { .heros-saison .heros-visuel { margin: 0 auto; } }
