/*
 * Pages de formation (catégories produit) : bandeau, présentation en deux colonnes,
 * carte "En pratique", documents, avertissement et cartes de session.
 * Le balisage vient de orpheo_formation_presentation() dans functions.php.
 * Couleurs de la charte : vert d'eau #02a19b, magenta #ab378a, anis #c8d400, rouge #e43432.
 */

.tax-product_cat .woocommerce-products-header { margin: 0 0 56px; }

/* --- Bandeau --- */
.of-bandeau {
  position: relative;
  overflow: hidden;
  background: #eef8f7;
  border-radius: 10px;
  padding: 40px 48px 44px;
  margin: 0 0 44px;
}
/* pastilles du logo, en filigrane */
.of-bandeau::before, .of-bandeau::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.of-bandeau::before { right: -70px; top: -80px; width: 260px; height: 260px; background: rgba(2, 161, 155, .10); box-shadow: -150px 190px 0 -92px rgba(171, 55, 138, .22); }
.of-bandeau::after { right: 150px; top: 34px; width: 54px; height: 54px; background: rgba(200, 212, 0, .55); }
.of-bandeau > * { position: relative; z-index: 1; }

a.of-retour {
  display: inline-block;
  margin: 0 0 18px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  color: #02a19b;
}
a.of-retour::before { content: "\2190"; margin-right: 8px; }
a.of-retour:hover { color: #ab378a; }

.of-bandeau h1.of-titre {
  max-width: 860px;
  margin: 0 0 10px;
  font-family: "Oswald", Helvetica, Arial, sans-serif;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 600;
  color: #02a19b;
  text-transform: none;
}
.of-bandeau h1.of-titre-long { font-size: 31px; line-height: 1.28; }
.of-sous-titre {
  max-width: 860px;
  margin: 0 0 6px;
  font-family: "Oswald", Helvetica, Arial, sans-serif;
  font-size: 23px;
  line-height: 1.35;
  font-weight: 400;
  color: #212121;
}
.of-intervenants { margin: 14px 0 0; font-size: 18px; line-height: 1.4; color: #4c4c4c; }
.of-intervenants strong { color: #ab378a; font-weight: 700; }

ul.of-reperes { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; padding: 0; }
ul.of-reperes li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 7px 16px;
  background: #fff;
  border: 1px solid rgba(2, 161, 155, .28);
  border-radius: 999px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
  color: #212121;
}
ul.of-reperes li::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: #02a19b; -webkit-mask: var(--of-icone) center / contain no-repeat; mask: var(--of-icone) center / contain no-repeat; }
.of-repere-ok { --of-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.2 12.6 2 8.4l1.5-1.5 2.7 2.7 6.3-6.3L14 4.8z'/%3E%3C/svg%3E"); }
.of-repere-duree { --of-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1zm0 12.2A5.2 5.2 0 1 1 8 2.8a5.2 5.2 0 0 1 0 10.4zM8.8 4.5H7.2v4l3.2 1.9.8-1.3-2.4-1.4z'/%3E%3C/svg%3E"); }
.of-repere-date { --of-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 1h2v2h4V1h2v2h2v12H2V3h2zm8 6H4v6h8z'/%3E%3C/svg%3E"); }
.of-repere-ecran { --of-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 2h14v9H9.5v1.5H12V14H4v-1.5h2.5V11H1zm2 2v5h10V4z'/%3E%3C/svg%3E"); }
.of-repere-lieu { --of-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a5 5 0 0 0-5 5c0 3.6 5 9 5 9s5-5.4 5-9a5 5 0 0 0-5-5zm0 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4z'/%3E%3C/svg%3E"); }
ul.of-reperes li.of-repere-complet { background: #e43432; border-color: #e43432; color: #fff; }
ul.of-reperes li.of-repere-complet::before { content: none; }

.of-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; }
a.of-bouton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 11px 24px;
  background: #fff;
  border: 2px solid #02a19b;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
  text-decoration: none;
  color: #02a19b;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
/* !important : la couleur des liens du thème est plus prioritaire */
a.of-bouton { color: #02a19b !important; }
a.of-bouton:hover { background: #02a19b; color: #fff !important; }
a.of-bouton-plein { background: #02a19b; color: #fff !important; }
a.of-bouton-plein:hover { background: #028a85; border-color: #028a85; }
a.of-bouton-pdf::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1h2v7.2l2.3-2.3 1.4 1.4L8 12 3.3 7.3l1.4-1.4L7 8.2zM2 13h12v2H2z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1h2v7.2l2.3-2.3 1.4 1.4L8 12 3.3 7.3l1.4-1.4L7 8.2zM2 13h12v2H2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* --- Présentation et carte pratique --- */
.of-colonnes { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; }
.of-colonnes-simple { grid-template-columns: minmax(0, 820px); }

.of-contenu { font-size: 16px; line-height: 1.7; color: #4c4c4c; }
.of-contenu > :first-child { margin-top: 0 !important; }
.of-contenu p { margin: 0 0 16px; text-align: left !important; }
.of-contenu h2.of-rubrique, .of-session-infos h2.of-rubrique {
  display: inline-block;
  margin: 30px 0 16px;
  padding: 0 0 7px;
  border-bottom: 3px solid #c8d400;
  font-family: "Oswald", Helvetica, Arial, sans-serif;
  font-size: 25px;
  line-height: 1.3;
  font-weight: 600;
  color: #212121;
}
.of-contenu h2:not(.of-rubrique), .of-contenu h3, .of-contenu h4 { margin: 26px 0 12px; font-size: 20px; line-height: 1.4; text-align: left !important; }
.of-contenu ul { list-style: none; margin: 0 0 18px; padding: 0; }
.of-contenu ul ul { margin: 0; }
.of-contenu li { position: relative; margin: 0 0 10px; padding: 0 0 0 26px; }
.of-contenu li::before { content: ""; position: absolute; left: 4px; top: .68em; width: 8px; height: 8px; border-radius: 50%; background: #02a19b; }
.of-contenu li[style*="list-style-type"] { margin: 0; padding: 0; }
.of-contenu li[style*="list-style-type"]::before { content: none; }
.of-contenu a { color: #02a19b; }
.of-contenu img { max-width: 100%; height: auto; border-radius: 6px; }
.of-contenu iframe { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 0 0 24px; border-radius: 8px; }
.of-contenu blockquote, .of-contenu blockquote * { font-family: "Lato", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7; color: #4c4c4c; }
.of-contenu blockquote { margin: 0 0 20px; padding: 20px 24px; background: #f7f7f7; border-left: 4px solid #c8d400; border-radius: 6px; }
.of-contenu hr { margin: 28px 0; }

.of-document {
  position: relative;
  box-sizing: border-box;
  min-height: 74px;
  margin: 0 0 14px;
  padding: 16px 20px 16px 70px;
  background: #fff;
  border: 1px solid rgba(171, 55, 138, .28);
  border-left: 4px solid #ab378a;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.5;
  color: #666;
  transition: box-shadow .2s ease;
}
.of-document:hover { box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }
.of-document::before {
  content: "PDF";
  position: absolute;
  left: 20px;
  top: 16px;
  box-sizing: border-box;
  width: 32px;
  height: 40px;
  padding-top: 20px;
  border: 2px solid #ab378a;
  border-radius: 3px 10px 3px 3px;
  font-size: 9px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .5px;
  text-align: center;
  color: #ab378a;
}
.of-document p { margin: 0; }
.of-contenu .of-document a { display: block; margin: 0 0 2px; font-family: "Lato", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.4; font-weight: 700; text-decoration: none; color: #212121 !important; }
.of-contenu .of-document a:hover { color: #ab378a !important; }
.of-document span, .of-document strong { color: inherit !important; font-weight: inherit; }

.of-pratique {
  position: sticky;
  top: 24px;
  padding: 28px 30px 30px;
  background: #fff;
  border: 1px solid rgba(51, 51, 51, .12);
  border-top: 5px solid #02a19b;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .06);
  font-size: 14.5px;
  line-height: 1.6;
  color: #4c4c4c;
}
.of-pratique-titre { margin: 0 0 16px; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 24px; line-height: 1.3; font-weight: 600; color: #212121; }
.of-pratique p { margin: 0 0 10px; }
.of-pratique h3.of-rubrique { margin: 22px 0 8px; font-family: "Lato", Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #ab378a; }
.of-pratique span[style*="19a19a"] { color: #02a19b !important; font-weight: 700; }
.of-fait { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 9px 0; border-bottom: 1px solid rgba(51, 51, 51, .1); }
.of-fait-nom { color: #666; }
.of-fait-valeur { font-weight: 700; text-align: right; color: #212121; }
.of-pratique .of-actions { flex-direction: column; margin-top: 24px; }

.of-alerte {
  position: relative;
  margin: 40px 0 0;
  padding: 18px 24px 18px 64px;
  background: #fdf1f0;
  border-left: 4px solid #e43432;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.55;
  color: #a8201d;
}
.of-alerte::before { content: "!"; position: absolute; left: 22px; top: 50%; width: 26px; height: 26px; margin-top: -13px; border-radius: 50%; background: #e43432; font-size: 16px; line-height: 26px; font-weight: 700; text-align: center; color: #fff; }

/* --- Sessions --- */
h2.of-titre-section { margin: 0 0 4px; scroll-margin-top: 30px; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 32px; line-height: 1.3; font-weight: 600; color: #212121; }
.tax-product_cat .switcher-wrap { display: none; }
.tax-product_cat .dt-css-grid > .orpheo_intertitre_sessions { margin: 18px 0 0; font-family: "Oswald", Helvetica, Arial, sans-serif; font-weight: 600; }

.tax-product_cat .dt-products .wf-cell > article {
  height: 100%;
  background: #fff;
  border: 1px solid rgba(51, 51, 51, .12);
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.tax-product_cat .dt-products .wf-cell > article:hover { border-color: rgba(2, 161, 155, .6); box-shadow: 0 10px 26px rgba(0, 0, 0, .1); transform: translateY(-3px); }
.tax-product_cat .dt-products figure.woocom-project { position: relative; display: flex; flex-direction: column; height: 100%; margin: 0; }
.tax-product_cat .dt-products .woo-buttons-on-img { position: relative; margin: 0; padding: 0; }
.tax-product_cat .dt-products .woo-buttons-on-img > a { display: block; width: 100%; }
.tax-product_cat .dt-products .woo-buttons-on-img img { display: block; width: 100% !important; height: 150px !important; object-fit: cover; }
.tax-product_cat .dt-products figcaption.woocom-list-content { display: flex; flex: 1; flex-direction: column; padding: 18px 20px 20px; text-align: left; }
.tax-product_cat .dt-products .entry-title { margin: 0 0 12px; font-size: 17px; line-height: 1.4; text-align: left; }
.tax-product_cat .dt-products .shop-we-more-meta { margin: 0 0 14px; padding: 0; font-size: 14px; text-align: left; }
.tax-product_cat .dt-products figcaption .price { display: block; width: 100%; margin: auto 0 0; padding: 12px 0 0; border-top: 1px solid rgba(51, 51, 51, .1); font-size: 17px; line-height: 1.4; font-weight: 700; text-align: left; color: #02a19b; }
.tax-product_cat .dt-products figcaption .price::before, .tax-product_cat .dt-products figcaption .price::after { content: none; }
.tax-product_cat .dt-products figcaption .price .amount, .tax-product_cat .dt-products figcaption .price span { color: #02a19b !important; }
/* toute la carte est cliquable */
.tax-product_cat .dt-products .entry-title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }

/* modalité de la session, d'après ses catégories */
.tax-product_cat .dt-products article.product_cat-nos-formations-en-classe-virtuelle figcaption::before,
.tax-product_cat .dt-products article.product_cat-nos-formations-presentielles figcaption::before {
  align-self: flex-start;
  margin: 0 0 10px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
}
.tax-product_cat .dt-products article.product_cat-nos-formations-en-classe-virtuelle figcaption::before { content: "Classe virtuelle"; background: rgba(171, 55, 138, .1); color: #ab378a; }
.tax-product_cat .dt-products article.product_cat-nos-formations-presentielles figcaption::before { content: "Présentiel"; background: rgba(2, 161, 155, .1); color: #02a19b; }

/* session complète : libellé en français */
.tax-product_cat .dt-products .out-stock-label { font-size: 0; }
.tax-product_cat .dt-products .out-stock-label::after { content: "Complet"; font-size: 13px; }

/* sessions terminées : en retrait */
.tax-product_cat .dt-css-grid > .orpheo_intertitre_terminees { border-color: rgba(51, 51, 51, .2); color: #8a8a8a; }
.tax-product_cat .dt-css-grid > .orpheo_intertitre_terminees ~ .wf-cell { opacity: .6; filter: grayscale(.7); }
.tax-product_cat .dt-css-grid > .orpheo_intertitre_terminees ~ .wf-cell:hover { opacity: 1; filter: none; }

/* --- Fiche de session (produit) : voir orpheo_session_*() et woo-events/content-event-meta.php --- */
.single-product div.product .summary.entry-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  column-gap: 56px;
  row-gap: 44px;
  align-items: start;
  float: none;
  width: 100%;
  margin: 0 0 56px;
  padding: 0;
}
.single-product .summary.entry-summary > * { grid-column: 1 / -1; min-width: 0; }
.single-product .summary.entry-summary > .of-session-infos { grid-column: 1; grid-row: 1; }
.single-product .summary.entry-summary > .of-session-formation { grid-column: 1; grid-row: 2; }
.single-product .summary.entry-summary > .of-inscription { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 24px; }

.single-product .of-session-infos { float: none; width: auto; margin: 0; padding: 0; border: 0; }
.of-session-infos h2.of-rubrique:first-child { margin-top: 0; }
dl.of-faits-session { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; margin: 0 0 22px; }
.of-fait-session { padding: 13px 0; border-bottom: 1px solid rgba(51, 51, 51, .1); }
.of-fait-session dt { margin: 0 0 3px; font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #ab378a; }
.of-fait-session dd { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 700; color: #212121; }
ul.of-session-atouts { margin: 0 0 8px; }

.of-session-intervenants { display: flex; flex-wrap: wrap; gap: 14px; }
a.of-session-intervenant { display: inline-flex; align-items: center; gap: 14px; padding: 8px 24px 8px 8px; background: #fff; border: 1px solid rgba(51, 51, 51, .12); border-radius: 999px; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease; }
a.of-session-intervenant:hover { border-color: #ab378a; box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }
.of-session-intervenant-photo { flex: 0 0 60px; width: 60px; height: 60px; border-radius: 50%; overflow: hidden; background: #f0f0f0; }
.of-session-intervenant-photo img { display: block; width: 60px !important; height: 60px !important; object-fit: cover; border-radius: 50% !important; }
.of-session-intervenant-nom { font-size: 16px; line-height: 1.35; font-weight: 700; color: #ab378a; }
.of-session-intervenant-nom small { display: block; font-size: 13px; font-weight: 400; color: #666; }

.of-session-formation .of-pratique-session { position: static; margin: 34px 0 0; box-shadow: none; }
.of-session-formation .of-alerte { margin-top: 26px; }
.of-session-suite { margin: 30px 0 0; }

.of-inscription {
  padding: 28px 30px 30px;
  background: #fff;
  border: 1px solid rgba(51, 51, 51, .12);
  border-top: 5px solid #02a19b;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .06);
  scroll-margin-top: 24px;
}
.of-inscription .of-pratique-titre { margin-bottom: 10px; }
.single-product .of-inscription p.price { margin: 0 0 20px; padding: 0 0 16px; border-bottom: 1px solid rgba(51, 51, 51, .1); font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 30px; line-height: 1.3; font-weight: 600; color: #02a19b; }
.single-product .of-inscription p.price::before, .single-product .of-inscription p.price::after { content: none; }
.single-product .of-inscription p.price .amount, .single-product .of-inscription p.price span { color: #02a19b !important; }
.single-product .of-inscription form.cart { margin: 0; }
.single-product .of-inscription table.variations { display: block; width: 100%; margin: 0 0 16px; border: 0; }
.single-product .of-inscription table.variations tbody, .single-product .of-inscription table.variations tr, .single-product .of-inscription table.variations th, .single-product .of-inscription table.variations td { display: block; width: 100%; padding: 0; border: 0; text-align: left; }
.single-product .of-inscription table.variations label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 700; color: #212121; }
.single-product .of-inscription table.variations select { width: 100%; max-width: 100%; }
.single-product .of-inscription .woocommerce-variation-add-to-cart, .single-product .of-inscription form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.single-product .of-inscription .woocommerce-variation-add-to-cart { margin: 0; padding: 0; }
.single-product .of-inscription .quantity { float: none; margin: 0 !important; }
.single-product .of-inscription button.single_add_to_cart_button { margin: 0 !important; }
.single-product .of-inscription button.single_add_to_cart_button { flex: 1 1 100%; float: none; margin: 0; padding: 14px 20px; white-space: normal; background: #02a19b !important; border-radius: 4px; font-size: 16px; line-height: 1.3; font-weight: 700; color: #fff !important; }
.single-product .of-inscription button.single_add_to_cart_button:hover { background: #028a85 !important; }
.of-inscription .of-actions { flex-direction: column; margin-top: 18px; }

/* compte à rebours et plan d'accès, sous la fiche */
.single-product .woo-event-schedu { box-sizing: border-box; float: none; width: 100%; margin: 0 0 48px; padding: 28px 32px; background: #f7f7f7; border: 0; border-radius: 10px; }
.single-product .woo-event-schedu h3 { margin: 0 0 12px; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 22px; line-height: 1.3; font-weight: 600; color: #212121; }
.single-product .woo-event-schedu iframe { display: block; width: 100%; min-height: 300px; border-radius: 8px; }
.single-product .of-session-autres { clear: both; margin: 0 0 52px; }
.single-product .of-session-autres h2.of-titre-section { display: inline-block; margin: 0 0 22px; padding: 0 0 7px; border-bottom: 3px solid #c8d400; font-size: 28px; }
.single-product .of-session-autres .of-cartes-sessions { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.single-product section.related.products > h2 { font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 28px; line-height: 1.3; font-weight: 600; color: #212121; }
.single-product .we-navigation { clear: both; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin: 36px 0 0; }
.single-product .we-navigation > div { float: none; width: auto; margin: 0; text-align: left; }
.single-product .we-navigation > div.next-event { margin-left: auto; }
.single-product .we-navigation a.exwt-btn { background: #fff; border: 2px solid #02a19b; border-radius: 4px; box-shadow: none; font-weight: 700; color: #02a19b !important; }
.single-product .we-navigation a.exwt-btn:hover { background: #02a19b; color: #fff !important; }

@media (max-width: 1050px) {
  .of-colonnes { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .of-pratique { position: static; }
  .single-product div.product .summary.entry-summary { grid-template-columns: minmax(0, 1fr); row-gap: 36px; }
  .single-product .summary.entry-summary > .of-inscription { grid-column: 1; grid-row: 2; position: static; }
  .single-product .summary.entry-summary > .of-session-formation { grid-row: 3; }
}
@media (max-width: 600px) {
  .of-bandeau { padding: 28px 22px 30px; margin-bottom: 32px; }
  .of-bandeau::before { box-shadow: none; }
  .of-bandeau::after { display: none; }
  .of-bandeau h1.of-titre { font-size: 29px; }
  .of-bandeau h1.of-titre-long { font-size: 24px; }
  .of-sous-titre { font-size: 19px; }
  .of-intervenants { font-size: 16px; }
  .of-actions { flex-direction: column; }
  .of-pratique { padding: 24px 22px 26px; }
  .of-fait { flex-direction: column; gap: 0; }
  .of-fait-valeur { text-align: left; }
  h2.of-titre-section { font-size: 26px; }
  dl.of-faits-session { grid-template-columns: minmax(0, 1fr); }
  .of-inscription { padding: 24px 22px 26px; }
}

/* =========================================================================
 * Pages de liste : catalogue (page 99), recherche (page 18246), accueil
 * ========================================================================= */

/* le titre du thème est remplacé par le bandeau .of-bandeau-page */
.page-id-99 .page-title, .page-id-18246 .page-title { display: none; }
.of-bandeau-page { margin-top: 10px; }

/* --- Listes de sessions : cartes (search-filter/results.php) --- */
.container_search.of-cartes-sessions { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 24px; margin: 0; }
.container_search.of-cartes-sessions::after { content: none; display: none; }
.of-cartes-sessions .recherche_intertitre_annee { grid-column: 1 / -1; margin: 18px 0 0; padding: 0 0 8px; border-bottom: 2px solid #02a19b; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 22px; line-height: 1.3; font-weight: 600; color: #02a19b; }
.of-cartes-sessions .recherche_intertitre_annee:first-child { margin-top: 0; }
a.of-carte-session {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(51, 51, 51, .12);
  border-radius: 10px;
  text-decoration: none;
  color: #212121 !important;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
a.of-carte-session:hover { border-color: rgba(2, 161, 155, .6); box-shadow: 0 10px 26px rgba(0, 0, 0, .1); transform: translateY(-3px); }
.of-carte-image { position: relative; display: block; height: 150px; background: #eef8f7; }
.of-carte-image img { display: block; width: 100% !important; height: 150px !important; object-fit: cover; border-radius: 0 !important; min-width: 0 !important; min-height: 0 !important; }
.of-carte-date { position: absolute; left: 14px; top: 14px; display: flex; flex-direction: column; align-items: center; min-width: 50px; padding: 6px 8px 5px; background: #c8d400; border-radius: 6px; font-size: 12px; line-height: 1.25; font-weight: 700; color: #212121; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); }
.of-carte-date .of-carte-jour { font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 22px; line-height: 1.1; }
.of-carte-corps { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
.of-carte-modalite { align-self: flex-start; padding: 3px 10px; border-radius: 999px; background: rgba(2, 161, 155, .1); font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: #02a19b; }
.of-carte-modalite.of-modalite-virtuelle { background: rgba(171, 55, 138, .1); color: #ab378a; }
.of-carte-modalite.of-modalite-vod { background: rgba(41, 170, 224, .12); color: #1f8fbf; }
.of-carte-titre { font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 17px; line-height: 1.4; font-weight: 400; color: #212121; }
.of-carte-intervenants { font-size: 14px; line-height: 1.45; font-weight: 700; color: #ab378a; }
.of-carte-lien { margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(51, 51, 51, .1); font-size: 14px; font-weight: 700; color: #02a19b; }
.of-carte-lien::after { content: " \2192"; }
.message_recherche_vide { padding: 28px; background: #f7f7f7; border-radius: 10px; font-size: 16px; text-align: center; }

/* --- Filtres Search & Filter (accueil et recherche) --- */
.searchandfilter > ul { margin: 0; padding: 0; }
.searchandfilter > ul > li { margin: 0 0 22px; padding: 0; list-style: none; }
.searchandfilter h4 { margin: 0 0 10px; font-family: "Lato", Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #ab378a; }
/* boutons radio en pastilles */
.searchandfilter .sf-field-post-meta-type_contenu ul { display: flex !important; flex-wrap: wrap; gap: 10px !important; margin: 0; padding: 0; }
.searchandfilter .sf-field-post-meta-type_contenu li { position: relative; margin: 0; padding: 0; list-style: none; }
.searchandfilter .sf-field-post-meta-type_contenu input.sf-input-radio { position: absolute; opacity: 0; width: 1px; height: 1px; }
.searchandfilter .sf-field-post-meta-type_contenu label.sf-label-radio { display: inline-block; margin: 0; padding: 9px 18px; background: #fff; border: 1px solid rgba(2, 161, 155, .35); border-radius: 999px; font-size: 14px; line-height: 1.3; font-weight: 700; color: #212121; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.searchandfilter .sf-field-post-meta-type_contenu label.sf-label-radio:hover { border-color: #02a19b; color: #02a19b; }
.searchandfilter .sf-field-post-meta-type_contenu li.sf-option-active label.sf-label-radio { background: #02a19b; border-color: #02a19b; color: #fff; }
.searchandfilter .sf-field-post-meta-type_contenu input.sf-input-radio:focus-visible + label { outline: 2px solid #ab378a; outline-offset: 2px; }
/* champs */
.searchandfilter input.sf-input-text, .searchandfilter select.sf-input-select { box-sizing: border-box; width: 100% !important; max-width: 100%; height: 46px; padding: 0 14px; background-color: #fff; border: 1px solid rgba(51, 51, 51, .2); border-radius: 6px; font-size: 15px; color: #212121; }
.searchandfilter input.sf-input-text:focus, .searchandfilter select.sf-input-select:focus { border-color: #02a19b; outline: none; box-shadow: 0 0 0 3px rgba(2, 161, 155, .15); }
.searchandfilter > ul > li > label { display: block; width: 100%; }
.searchandfilter .sf-field-reset a.search-filter-reset { display: inline-block; padding: 8px 16px; border: 1px solid rgba(51, 51, 51, .2); border-radius: 4px; font-size: 14px; font-weight: 700; color: #4c4c4c !important; }
.searchandfilter .sf-field-reset a.search-filter-reset:hover { border-color: #02a19b; color: #02a19b !important; }

/* --- Page Recherche --- */
.page-id-18246 #content .vc_row { display: flex; flex-wrap: wrap; align-items: flex-start; margin-left: 0; margin-right: 0; }
.page-id-18246 #content .vc_col-sm-8 .vc_column-inner { padding-right: 0 !important; }
.page-id-18246 #content .vc_col-sm-4 { position: sticky; top: 24px; }
.page-id-18246 #content .vc_col-sm-4 .vc_column-inner { padding: 26px 26px 6px !important; background: #fff; border: 1px solid rgba(51, 51, 51, .12); border-top: 5px solid #02a19b; border-radius: 10px; box-shadow: 0 10px 28px rgba(0, 0, 0, .06); }
.page-id-18246 #content .vc_col-sm-4 .vc_column-inner::before { content: "Affiner la recherche"; display: block; margin: 0 0 18px; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 22px; line-height: 1.3; font-weight: 600; color: #212121; }
.page-id-18246 #content .vc_col-sm-8 .vc_column-inner { padding-left: 36px !important; }
.page-id-18246 .of-cartes-sessions { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }

/* --- Catalogue (page Toutes nos formations) --- */
.page-id-99 h2.of-titre-section { display: inline-block; margin: 46px 0 22px; padding: 0 0 7px; border-bottom: 3px solid #c8d400; }
.page-id-99 h2.of-titre-secondaire { font-size: 24px; color: #6b6b6b; border-bottom-color: rgba(51, 51, 51, .15); }
.of-catalogue { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
a.of-carte-formation {
  position: relative;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  column-gap: 18px;
  padding: 22px 22px 0;
  background: #fff;
  border: 1px solid rgba(51, 51, 51, .12);
  border-radius: 10px;
  text-decoration: none;
  color: #212121 !important;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
a.of-carte-formation:hover { border-color: rgba(2, 161, 155, .6); box-shadow: 0 10px 26px rgba(0, 0, 0, .1); transform: translateY(-3px); }
.of-carte-formation-visuel { grid-row: 1; width: 76px; height: 76px; overflow: hidden; border-radius: 50%; background: #eef8f7; box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(2, 161, 155, .25); }
.of-carte-offert .of-carte-formation-visuel { border-radius: 10px; box-shadow: none; }
.of-carte-formation-visuel img { display: block; width: 76px !important; height: 76px !important; object-fit: cover; border-radius: 0 !important; }
.of-carte-initiales { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: #02a19b; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 30px; font-weight: 600; color: #fff; }
.of-carte-formation-corps { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding-bottom: 18px; }
.of-carte-formation .of-carte-titre { font-size: 19px; line-height: 1.35; font-weight: 600; }
.of-carte-formation .of-carte-intervenants { font-size: 14px; }
.of-carte-pastilles { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.of-carte-pastilles span { padding: 3px 10px; background: #f3f6f6; border-radius: 999px; font-size: 12px; line-height: 1.5; font-weight: 700; color: #4c4c4c; }
.of-carte-pastilles span.of-ok { background: rgba(2, 161, 155, .1); color: #02a19b; }
.of-carte-pastilles span.of-ok::before { content: "\2713\00a0"; }
.of-carte-formation-pied { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 16px; margin: 0 -22px; padding: 14px 22px; background: #f7fbfb; border-top: 1px solid rgba(51, 51, 51, .08); border-radius: 0 0 10px 10px; font-size: 13px; line-height: 1.4; color: #666; }
.of-carte-prochaine strong { display: block; font-size: 15px; color: #02a19b; }
.of-carte-nb { font-weight: 700; color: #4c4c4c; }
.of-catalogue-compact a.of-carte-formation { opacity: .85; }
.of-catalogue-compact .of-carte-prochaine strong { color: #4c4c4c; }
.of-formats { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
a.of-format { display: flex; flex-direction: column; gap: 4px; padding: 22px 24px 22px 74px; background: #eef8f7 no-repeat 24px center / 32px; border-radius: 10px; text-decoration: none; transition: background-color .2s ease; }
a.of-format:hover { background-color: #dff1ef; }
.of-format-nom { font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1.3; font-weight: 600; color: #212121; }
.of-format-nb { font-size: 14px; font-weight: 700; color: #02a19b; }
a.of-format.of-format-presentiel { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2302a19b' d='M8 1a5 5 0 0 0-5 5c0 3.6 5 9 5 9s5-5.4 5-9a5 5 0 0 0-5-5zm0 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4z'/%3E%3C/svg%3E"); }
a.of-format.of-format-virtuel { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ab378a' d='M1 2h14v9H9.5v1.5H12V14H4v-1.5h2.5V11H1zm2 2v5h10V4z'/%3E%3C/svg%3E"); }
a.of-format.of-format-vod { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%231f8fbf' d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1zM6.5 5l5 3-5 3z'/%3E%3C/svg%3E"); }

/* --- Accueil --- */
.home #content > .wpb-content-wrapper > .vc_row { margin-bottom: 56px !important; }
/* vidéo du moment, dans un écrin */
.home .searchandfilter .sf-field-post-meta-type_contenu ul { gap: 10px !important; }
/* vidéo du moment : cadre blanc, orbites et pastilles du logo Orpheo */
.home #content > .wpb-content-wrapper > .vc_row:first-child { position: relative; overflow: hidden; margin: 10px 0 56px !important; padding: 64px 0 70px !important; background: radial-gradient(ellipse at 50% 40%, #ffffff 0%, #f3fafa 45%, #e6f4f3 100%); border-radius: 24px; }
.home #content > .wpb-content-wrapper > .vc_row:first-child::before { content: '' !important; display: block !important; position: absolute; inset: 0; width: auto; height: auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 560'%3E%3Cg fill='none' stroke='%23212121' stroke-opacity='.22' stroke-width='1.6'%3E%3Cellipse cx='500' cy='280' rx='452' ry='214' transform='rotate(-7 500 280)'/%3E%3Cpath d='M70 410 C 250 560 720 590 940 330'/%3E%3Cpath d='M150 120 C 330 20 700 10 880 150'/%3E%3C/g%3E%3C/svg%3E") center / 92% 100% no-repeat; pointer-events: none; }
.home #content > .wpb-content-wrapper > .vc_row:first-child::after { content: ''; position: absolute; left: 7%; bottom: 46px; width: 18px; height: 18px; border-radius: 50%; background: #e43432; box-shadow: 1050px -360px 0 -2px #02a19b; pointer-events: none; }
.home .wpb_video_widget.vc_video-el-width-60 { position: relative; z-index: 1; margin: 0 auto !important; }
.home .wpb_video_widget.vc_video-el-width-60 > .wpb_wrapper { position: relative; width: 70%; margin: 0 auto; }
/* pastilles qui débordent du cadre : anis et bleu en haut à droite, violet et vert d'eau en bas à gauche */
.home .wpb_video_widget.vc_video-el-width-60 > .wpb_wrapper::before, .home .wpb_video_widget.vc_video-el-width-60 > .wpb_wrapper::after { content: ''; position: absolute; z-index: 2; border-radius: 50%; pointer-events: none; }
.home .wpb_video_widget.vc_video-el-width-60 > .wpb_wrapper::before { top: -38px; right: -58px; width: 66px; height: 66px; background: #c8d400; box-shadow: 44px -16px 0 -18px #29aae0; opacity: .95; }
.home .wpb_video_widget.vc_video-el-width-60 > .wpb_wrapper::after { bottom: -26px; left: -30px; width: 54px; height: 54px; background: #b779b2; box-shadow: -40px -34px 0 -14px #02a19b; opacity: .95; }
.home .wpb_video_widget .wpb_video_wrapper { position: relative; z-index: 1; overflow: hidden; border: 8px solid #fff; border-radius: 26px; background: #fff; box-shadow: 0 30px 60px rgba(2, 161, 155, .22), 0 10px 24px rgba(0, 0, 0, .08); }
.home .wpb_video_widget .wpb_video_wrapper iframe { border: 0 !important; border-radius: 18px; outline: 0; }
/* bienvenue */
.home #content > .wpb-content-wrapper > .vc_row:nth-child(2) { display: flex; flex-wrap: wrap; align-items: center; }
.home h2.vc_custom_heading { display: inline-block; margin: 0 0 20px !important; padding: 0 0 8px; border-bottom: 3px solid #c8d400; font-family: "Oswald", Helvetica, Arial, sans-serif !important; font-size: 34px !important; line-height: 1.25 !important; font-weight: 600 !important; color: #02a19b !important; text-align: left !important; }
.home #content > .wpb-content-wrapper > .vc_row:nth-child(2) .wpb_text_column { font-size: 16px; line-height: 1.75; color: #4c4c4c; }
.home #content > .wpb-content-wrapper > .vc_row:nth-child(2) .wpb_text_column strong { display: inline-block; margin-top: 4px; font-size: 17px; color: #ab378a; }
.home #content > .wpb-content-wrapper > .vc_row:nth-child(2) .vc_col-sm-6:nth-child(2) .vc_column-inner { padding-left: 40px !important; }
.home #content > .wpb-content-wrapper > .vc_row:nth-child(2) .wpb_single_image img { border-radius: 14px; box-shadow: 0 18px 40px rgba(0, 0, 0, .12); }
/* formations à venir */
.home #formations h2 { display: inline-block; margin: 0 0 22px; padding: 0 0 8px; border-bottom: 3px solid #c8d400; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 34px; line-height: 1.25; font-weight: 600; color: #212121; }
.home #formations .searchandfilter { margin: 0 0 26px; }
.home #formations .searchandfilter > ul > li { margin-bottom: 0; }
.home #formations .vc_btn3-container { margin: 34px 0 0 !important; text-align: center; }
.home #formations a.vc_btn3 { display: inline-flex !important; align-items: center; gap: 10px; width: auto !important; padding: 14px 30px !important; background: #02a19b !important; border: 2px solid #02a19b !important; border-radius: 4px !important; box-shadow: none !important; font-size: 16px !important; font-weight: 700 !important; color: #fff !important; }
.home #formations a.vc_btn3:hover { background: #028a85 !important; border-color: #028a85 !important; }
.home #formations a.vc_btn3 .vc_btn3-icon { position: static !important; order: 2; font-size: 14px; }
/* notes de satisfaction */
.home #content > .vc_row:has(.vc_box_border) { margin: 0 0 56px !important; margin-left: 0 !important; margin-right: 0 !important; padding: 44px 24px !important; background: #eef8f7; border-radius: 14px; }
.home .vc_single_image-wrapper.vc_box_border { overflow: hidden; padding: 0 !important; border: 0 !important; border-radius: 12px !important; box-shadow: 0 12px 32px rgba(0, 0, 0, .08); }
.home .vc_single_image-wrapper.vc_box_border img { display: block; }

/* --- Newsletter (pied de page, formulaire Brevo) --- */
#footer .sib-form { padding: 44px 16px !important; background: #eef8f7 !important; border-radius: 14px; }
#footer .sib-form #sib-container { max-width: 600px !important; padding: 34px 34px 28px !important; background: #fff !important; border: 0 !important; border-top: 5px solid #02a19b !important; border-radius: 10px !important; box-shadow: 0 10px 28px rgba(0, 0, 0, .06); }
#footer .sib-form .sib-form-block p { font-family: "Lato", Helvetica, Arial, sans-serif !important; }
#footer .sib-form .sib-form-block:first-child p { font-family: "Oswald", Helvetica, Arial, sans-serif !important; color: #212121 !important; }
#footer .sib-form .sib-form-block__button { background-color: #02a19b !important; border-radius: 4px !important; font-family: "Lato", Helvetica, Arial, sans-serif !important; }
#footer .sib-form .sib-form-block__button:hover { background-color: #028a85 !important; }
#footer .sib-form .input { border-radius: 6px !important; }

@media (max-width: 1050px) {
  .page-id-18246 #content .vc_col-sm-4 { position: static; }
  .page-id-18246 #content .vc_col-sm-8 .vc_column-inner { padding-left: 15px !important; }
  .home .wpb_video_widget.vc_video-el-width-60 > .wpb_wrapper { width: 82%; }
}
@media (max-width: 767px) {
  .home #content > .wpb-content-wrapper > .vc_row:nth-child(2) .vc_col-sm-6:nth-child(2) .vc_column-inner { padding-left: 15px !important; }
  .home #content > .wpb-content-wrapper > .vc_row:first-child { padding: 34px 0 38px !important; border-radius: 18px; }
  .home #content > .wpb-content-wrapper > .vc_row:first-child::after { display: none; }
  .home .wpb_video_widget.vc_video-el-width-60 > .wpb_wrapper { width: 86%; }
  .home .wpb_video_widget.vc_video-el-width-60 > .wpb_wrapper::before { top: -16px; right: -14px; width: 38px; height: 38px; box-shadow: 26px -8px 0 -10px #29aae0; }
  .home .wpb_video_widget.vc_video-el-width-60 > .wpb_wrapper::after { bottom: -14px; left: -14px; width: 30px; height: 30px; box-shadow: -22px -18px 0 -8px #02a19b; }
  .home .wpb_video_widget .wpb_video_wrapper { border-width: 5px; border-radius: 16px; }
  .home .wpb_video_widget .wpb_video_wrapper iframe { border-radius: 11px; }
  .home h2.vc_custom_heading, .home #formations h2 { font-size: 27px !important; }
  .of-catalogue { grid-template-columns: minmax(0, 1fr); }
  a.of-carte-formation { grid-template-columns: 60px minmax(0, 1fr); padding: 18px 18px 0; }
  .of-carte-formation-visuel, .of-carte-formation-visuel img { width: 60px !important; height: 60px !important; }
  .of-carte-formation-pied { margin: 0 -18px; padding: 12px 18px; }
  #footer .sib-form #sib-container { padding: 26px 20px 22px !important; }
}
@media (max-width: 600px) {
  /* cartes de session en ligne sur téléphone : deux fois moins hautes */
  .container_search.of-cartes-sessions { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  a.of-carte-session { flex-direction: row; }
  .of-carte-image { flex: 0 0 112px; height: auto; min-height: 132px; }
  .of-carte-image img { position: absolute; inset: 0; height: 100% !important; }
  .of-carte-date { left: 8px; top: 8px; min-width: 42px; padding: 4px 6px; font-size: 11px; }
  .of-carte-date .of-carte-jour { font-size: 18px; }
  .of-carte-corps { gap: 6px; padding: 12px 14px; }
  .of-carte-titre { font-size: 16px; }
  .of-carte-intervenants { font-size: 13px; }
  .of-carte-lien { padding-top: 8px; font-size: 13px; }
}

/* =========================================================================
 * Pages simples : intervenants, contact, mon compte, mentions légales, CGV
 * (bandeau posé par orpheo_pages_habillees_contenu)
 * ========================================================================= */

/* --- Intervenants --- */
.of-intervenants-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; margin: 0 0 56px; }
a.of-intervenant {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 30px 24px 22px;
  background: #fff;
  border: 1px solid rgba(51, 51, 51, .12);
  border-radius: 10px;
  text-align: center;
  text-decoration: none;
  color: #212121 !important;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
a.of-intervenant:hover { border-color: rgba(2, 161, 155, .6); box-shadow: 0 10px 26px rgba(0, 0, 0, .1); transform: translateY(-3px); }
.of-intervenant-photo { display: block; width: 136px; height: 136px; margin: 0 0 8px; overflow: hidden; border-radius: 50%; background: #eef8f7; box-shadow: 0 0 0 4px #fff, 0 0 0 7px rgba(2, 161, 155, .25); }
.of-intervenant-photo img { display: block; width: 136px !important; height: 136px !important; object-fit: cover; border-radius: 0 !important; }
.of-intervenant-nom { font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 22px; line-height: 1.3; font-weight: 600; color: #ab378a; }
.of-intervenant-formations { display: flex; flex-direction: column; gap: 8px; width: 100%; margin: 6px 0 0; text-align: left; }
.of-intervenant-formation { padding: 10px 12px; background: #f7fbfb; border-left: 3px solid #02a19b; border-radius: 0 6px 6px 0; font-size: 14px; line-height: 1.4; font-weight: 700; color: #212121; }
.of-intervenant-formation small { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; color: #666; }
a.of-intervenant .of-carte-lien { width: 100%; margin-top: auto; padding-top: 14px; text-align: center; }
.of-intervenants-anciens { padding: 34px 36px 30px; background: #eef8f7; border-radius: 14px; }
.of-intervenants-anciens h2.of-titre-section { display: inline-block; margin: 0 0 20px; padding: 0 0 7px; border-bottom: 3px solid #c8d400; font-size: 26px; }
.of-intervenants-anciens ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.of-intervenants-anciens li { margin: 0; padding: 8px 16px; background: #fff; border-radius: 999px; font-size: 14px; font-weight: 700; color: #4c4c4c; }

/* --- Pages de texte : mentions légales, CGV --- */
.of-page-texte { max-width: 860px; font-size: 16px; line-height: 1.75; color: #4c4c4c; }
.of-page-texte * { font-family: "Lato", Helvetica, Arial, sans-serif !important; }
.of-page-texte h2, .of-page-texte h2 * { font-family: "Oswald", Helvetica, Arial, sans-serif !important; }
.of-page-texte h2 { display: inline-block; margin: 34px 0 14px; padding: 0 0 7px; border-bottom: 3px solid #c8d400; font-size: 24px; line-height: 1.3; font-weight: 600; text-align: left !important; color: #212121; }
.of-page-texte > :first-child, .of-page-texte .wpb_wrapper > :first-child { margin-top: 0; }
.of-page-texte p { text-align: left !important; }
.of-page-texte h3, .of-page-texte h3 * { font-family: "Oswald", Helvetica, Arial, sans-serif !important; }
.of-page-texte h3 { margin: 34px 0 12px; padding: 0 0 6px; border-bottom: 1px solid rgba(2, 161, 155, .25); font-size: 21px; line-height: 1.35; font-weight: 600; text-align: left !important; color: #02a19b; }
.of-page-texte p { margin: 0 0 14px; }
.of-page-texte strong.of-cgv-num { display: inline-block; min-width: 2.4em; color: #02a19b; }
.of-page-texte ul { margin: 0 0 16px; padding-left: 22px; }
.of-page-texte li { margin: 0 0 8px; }

/* --- Contact --- */
.of-contact { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 40px; align-items: start; }
.of-contact-infos, .of-contact-formulaire { padding: 28px 30px 30px; background: #fff; border: 1px solid rgba(51, 51, 51, .12); border-top: 5px solid #02a19b; border-radius: 10px; box-shadow: 0 10px 28px rgba(0, 0, 0, .06); }
.of-contact-infos { background: #eef8f7; border: 0; border-top: 5px solid #ab378a; box-shadow: none; font-size: 15px; line-height: 1.6; }
.of-contact-infos p { margin: 0 0 14px; }
.of-contact-libelle { display: block; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #ab378a; }
.of-contact-infos a { font-weight: 700; word-break: break-word; }
.of-contact-note { margin-top: 18px !important; font-size: 13px; color: #666; }
.of-contact-formulaire .vc_row, .of-contact-formulaire .vc_column-inner { margin: 0 !important; padding: 0 !important; }
.wpcf7-form p { margin: 0 0 16px; }
.wpcf7-form label { display: block; font-size: 14px; font-weight: 700; color: #212121; }
.wpcf7-form label br { display: none; }
.wpcf7-form .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.wpcf7-form input.wpcf7-text, .wpcf7-form input.wpcf7-email, .wpcf7-form textarea { box-sizing: border-box; width: 100% !important; max-width: 100%; padding: 12px 14px; background: #fff; border: 1px solid rgba(51, 51, 51, .2); border-radius: 6px; font-size: 15px; color: #212121; }
.wpcf7-form input.wpcf7-text, .wpcf7-form input.wpcf7-email { height: 46px; }
.wpcf7-form textarea { min-height: 170px; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus { border-color: #02a19b; outline: none; box-shadow: 0 0 0 3px rgba(2, 161, 155, .15); }
.wpcf7-form input.wpcf7-submit { padding: 13px 30px; background: #02a19b !important; border: 0; border-radius: 4px; font-size: 16px; font-weight: 700; color: #fff !important; cursor: pointer; }
.wpcf7-form input.wpcf7-submit:hover { background: #028a85 !important; }

/* --- Mon compte --- */
.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.woocommerce-account #customer_login::before, .woocommerce-account #customer_login::after { content: none; }
.woocommerce-account #customer_login > div { float: none; width: auto; max-width: none !important; margin: 0 !important; padding: 30px 32px 28px; background: #fff; border: 1px solid rgba(51, 51, 51, .12); border-top: 5px solid #02a19b; border-radius: 10px; box-shadow: 0 10px 28px rgba(0, 0, 0, .06); }
.woocommerce-account #customer_login > div.u-column2 { border-top-color: #ab378a; }
.woocommerce-account #customer_login h2 { margin: 0 0 18px; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 26px; font-weight: 600; color: #212121; }
.woocommerce-account form.login, .woocommerce-account form.register { margin: 0; padding: 0; border: 0; }
.woocommerce-account .woocommerce-form-row label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 700; color: #212121; }
.woocommerce-account .woocommerce form input.input-text, .woocommerce-account .woocommerce form select { box-sizing: border-box; width: 100%; height: 46px; padding: 0 14px; background: #fff; border: 1px solid rgba(51, 51, 51, .2); border-radius: 6px; font-size: 15px; }
.woocommerce-account .woocommerce form input.input-text:focus { border-color: #02a19b; outline: none; box-shadow: 0 0 0 3px rgba(2, 161, 155, .15); }
.woocommerce-account .woocommerce button.button { padding: 13px 28px; background: #02a19b !important; border-radius: 4px; font-size: 16px; font-weight: 700; color: #fff !important; }
.woocommerce-account .woocommerce button.button:hover { background: #028a85 !important; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 0 14px; font-size: 14px; }
.woocommerce-account .lost_password a { font-weight: 700; }
/* connecté : menu en carte à gauche, contenu à droite */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 40px; align-items: start; }
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before, .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after { content: none; display: none; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { width: 100%; }
/* placement explicite : le clearfix du thème (::before) occuperait sinon la première case */
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: auto; position: sticky; top: 24px; padding: 14px; background: #eef8f7; border-radius: 10px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 0 4px; padding: 0; border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 11px 16px; border-radius: 6px; font-size: 15px; font-weight: 700; color: #212121 !important; transition: background .2s ease; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #02a19b; color: #fff !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: #a8201d !important; }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; min-width: 0; font-size: 15px; line-height: 1.7; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type { padding: 18px 22px; background: #fff; border: 1px solid rgba(51, 51, 51, .12); border-left: 4px solid #02a19b; border-radius: 6px; }
.woocommerce-account .woocommerce-MyAccount-content table { border-radius: 8px; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-content a.button { padding: 8px 16px; background: #02a19b !important; border-radius: 4px; font-weight: 700; color: #fff !important; }
.woocommerce-account .woocommerce-MyAccount-content a.button:hover { background: #028a85 !important; }

@media (max-width: 900px) {
  .of-contact, .woocommerce-account #customer_login, .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
  .woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-column: 1; grid-row: 2; }
}
@media (max-width: 600px) {
  .of-intervenants-anciens { padding: 26px 20px 22px; }
  .of-contact-infos, .of-contact-formulaire, .woocommerce-account #customer_login > div { padding: 24px 20px; }
}

/* --- Fiche intervenant (single-speaker.php) --- */
.single-ex-speaker .of-fiche-intervenant h2.of-titre-section { display: table; clear: both; margin: 46px 0 22px; padding: 0 0 7px; border-bottom: 3px solid #c8d400; font-size: 28px; }
.of-bandeau-intervenant-corps { display: flex; align-items: center; gap: 34px; }
.of-bandeau-intervenant .of-intervenant-photo { flex: 0 0 150px; width: 150px; height: 150px; margin: 0; }
.of-bandeau-intervenant .of-intervenant-photo img { width: 150px !important; height: 150px !important; }
.of-bandeau-intervenant .of-titre { margin-bottom: 4px; }
.of-intervenant-bio { margin-top: 10px; overflow: hidden; }
.of-intervenant-bio a { word-break: break-word; }

/* --- Pied de page (template-parts/footer/bottom-bar.php) --- */
#bottom-bar.of-pied { padding: 0; background: #fff !important; border-top: 0; }
#bottom-bar.of-pied .wf-wrap { display: block; }
.of-pied-colonnes { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding: 48px 0 40px; border-top: 1px solid rgba(51, 51, 51, .1); }
.of-pied-logo img { display: block; width: auto !important; max-width: 150px; height: auto; margin: 0 0 16px; }
.of-pied-marque p { margin: 0 0 12px; font-size: 15px; line-height: 1.6; color: #4c4c4c; }
.of-pied-coordonnees a { font-weight: 700; }
.of-pied-titre { margin: 0 0 14px !important; font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #ab378a; }
.of-pied-liens ul, .of-pied-reseaux ul { margin: 0; padding: 0; list-style: none; }
.of-pied-liens li { margin: 0; padding: 0; }
.of-pied-liens a { display: inline-block; padding: 6px 0; font-size: 15px; font-weight: 700; color: #212121 !important; }
.of-pied-liens a:hover { color: #02a19b !important; }
a.of-bouton.of-pied-contact { padding: 9px 20px; font-size: 14px; }
.of-pied-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: 18px 0 26px; border-top: 1px solid rgba(51, 51, 51, .1); font-size: 13px; line-height: 1.6; color: #6b6b6b; }
.of-pied-legal { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.of-pied-legal a { color: #6b6b6b !important; text-decoration: underline; text-underline-offset: 3px; }
.of-pied-legal a:hover { color: #02a19b !important; }
/* newsletter : jamais plus large que l'écran */
#footer .sib-form, #footer .sib-form * { box-sizing: border-box; }
#footer .sib-form #sib-container { width: 100% !important; }

/* --- Mobile : corrections issues de l'audit --- */
@media (max-width: 767px) {
  /* 16 px minimum dans les champs : sinon l'iPhone zoome à la saisie */
  input[type=text], input[type=email], input[type=tel], input[type=password], input[type=search], input[type=number], select, textarea,
  .searchandfilter input.sf-input-text, .searchandfilter select.sf-input-select, .wpcf7-form input.wpcf7-text, .wpcf7-form input.wpcf7-email, .wpcf7-form textarea,
  .woocommerce-account .woocommerce form input.input-text, .single-product .of-inscription table.variations select { font-size: 16px !important; }
  .of-carte-modalite, .of-carte-date, .of-carte-pastilles span { font-size: 12px; }
  .of-pied-colonnes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; padding: 36px 0 30px; }
  .of-pied-marque { grid-column: 1 / -1; }
  .of-pied-reseaux { grid-column: 1 / -1; }
  .of-pied-bas { flex-direction: column; }
  .of-pied-legal a { display: inline-block; padding: 8px 0; }
  /* commande : listes déroulantes (pays, mode d'exercice) en pleine largeur */
  .woocommerce-checkout .select2-container { width: 100% !important; margin-right: 0 !important; }
  /* espace client : chaque commande en carte, avec ses intitulés */
  .woocommerce-account table.woocommerce-orders-table, .woocommerce-account table.woocommerce-orders-table tbody, .woocommerce-account table.woocommerce-orders-table tr, .woocommerce-account table.woocommerce-orders-table td { display: block; width: 100%; }
  .woocommerce-account table.woocommerce-orders-table thead { display: none; }
  .woocommerce-account table.woocommerce-orders-table { border: 0; }
  .woocommerce-account table.woocommerce-orders-table tr { box-sizing: border-box; margin: 0 0 16px; padding: 14px 18px; background: #fff; border: 1px solid rgba(51, 51, 51, .12); border-left: 4px solid #02a19b; border-radius: 8px; }
  .woocommerce-account table.woocommerce-orders-table td { padding: 4px 0 !important; border: 0 !important; text-align: left !important; }
  .woocommerce-account table.woocommerce-orders-table td::before { content: none; }
  .woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-date::before, .woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-status::before { content: attr(data-title) " : "; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #ab378a; }
  .woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.button { display: block; margin-top: 8px; padding: 11px 16px; text-align: center; }
  .of-bandeau-intervenant-corps { flex-direction: column; align-items: flex-start; gap: 18px; }
  .of-bandeau-intervenant .of-intervenant-photo, .of-bandeau-intervenant .of-intervenant-photo img { flex-basis: 110px; width: 110px !important; height: 110px !important; }
  /* grille des widgets du pied de page : ses marges (-25 px) dépassaient la marge de page (20 px) */
  #footer .wf-container-footer > .wf-container { margin-left: 0 !important; margin-right: 0 !important; }
  #footer .wf-container-footer > .wf-container > .widget { padding-left: 0 !important; padding-right: 0 !important; }
}

/* =========================================================================
 * En-tête : retouches légères (le thème The7 reste en place)
 * ========================================================================= */
/* menu principal : soulignement anis et texte vert d'eau au lieu du pavé bleu clair */
.masthead .main-nav > li > a { position: relative; background: none !important; border-color: transparent !important; box-shadow: none !important; }
.masthead .main-nav > li > a::before { display: none !important; }
.masthead .main-nav > li > a .menu-text { font-weight: 700; color: #212121; transition: color .2s ease; }
.masthead .main-nav > li > a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 2px; height: 3px; border-radius: 2px; background: #c8d400; transition: left .25s ease, right .25s ease; }
.masthead .main-nav > li:hover > a::after, .masthead .main-nav > li.act > a::after, .masthead .main-nav > li.current-menu-item > a::after, .masthead .main-nav > li.current-menu-ancestor > a::after { left: 8px; right: 8px; }
.masthead .main-nav > li:hover > a .menu-text, .masthead .main-nav > li.act > a .menu-text, .masthead .main-nav > li.current-menu-item > a .menu-text, .masthead .main-nav > li.current-menu-ancestor > a .menu-text { color: #02a19b !important; }
/* sous-menu « Infos pratiques » en carte */
.masthead .main-nav .sub-nav { padding: 8px !important; background: #fff !important; border-top: 3px solid #02a19b; border-radius: 0 0 10px 10px; box-shadow: 0 14px 34px rgba(0, 0, 0, .12) !important; }
.masthead .main-nav .sub-nav > li > a { border-radius: 6px; background: none !important; }
.masthead .main-nav .sub-nav > li > a:hover { background: #eef8f7 !important; }
.masthead .main-nav .sub-nav > li > a .menu-text { font-weight: 700; color: #212121 !important; }
.masthead .main-nav .sub-nav > li > a:hover .menu-text { color: #02a19b !important; }
/* barre du haut : icônes sociales plus discrètes, pastille du panier aux couleurs de la charte */
.masthead .wc-ico-cart .counter, .top-bar .wc-ico-cart .counter { background: #02a19b !important; color: #fff !important; }
/* menu mobile : icône et lien actif dans la charte */
.dt-mobile-menu-icon .lines, .dt-mobile-menu-icon .lines::before, .dt-mobile-menu-icon .lines::after, .dt-mobile-menu-icon .menu-line { background-color: #02a19b !important; }
.dt-mobile-header .mobile-main-nav > li.act > a .menu-text, .dt-mobile-header .mobile-main-nav > li.current-menu-item > a .menu-text { color: #02a19b !important; }

/* =========================================================================
 * Page Infos pratiques : liens du sous-menu en cartes, puis le contenu de la page
 * ========================================================================= */
.of-liens-pratiques { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; margin: 0 0 48px; }
a.of-lien-pratique {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-height: 92px;
  padding: 20px 52px 20px 22px;
  background: #fff;
  border: 1px solid rgba(51, 51, 51, .12);
  border-left: 4px solid #02a19b;
  border-radius: 10px;
  text-decoration: none;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
a.of-lien-pratique:hover { border-color: rgba(2, 161, 155, .6); box-shadow: 0 10px 26px rgba(0, 0, 0, .1); transform: translateY(-3px); }
a.of-lien-pratique::after { content: "\2192"; position: absolute; right: 20px; top: 50%; margin-top: -12px; font-size: 20px; line-height: 24px; font-weight: 700; color: #02a19b; }
a.of-lien-pratique.of-lien-pdf { border-left-color: #ab378a; }
a.of-lien-pratique.of-lien-pdf::after { content: "PDF"; margin-top: -10px; font-size: 11px; line-height: 20px; letter-spacing: .5px; padding: 0 6px; border: 2px solid #ab378a; border-radius: 3px 8px 3px 3px; color: #ab378a; }
.of-lien-pratique-titre { font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 19px; line-height: 1.3; font-weight: 600; color: #212121; }
.of-lien-pratique-type { font-size: 13px; font-weight: 700; color: #ab378a; }
.of-infos-pratiques .vc_row, .of-infos-pratiques .vc_column-inner { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.of-infos-pratiques .vc_row_inner, .of-infos-pratiques .vc_inner { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin: 10px 0 24px !important; }
.of-infos-pratiques .vc_inner .vc_column_container { width: auto !important; float: none; }
.of-infos-pratiques .wpb_single_image { margin: 0 0 18px; }
.of-infos-pratiques .wpb_single_image img { width: auto !important; max-height: 130px; border-radius: 6px; }
.of-infos-pratiques a[href$=".pdf"] { font-weight: 700; }
@media (max-width: 600px) {
  .of-liens-pratiques { gap: 12px; margin-bottom: 36px; }
  a.of-lien-pratique { min-height: 0; padding: 16px 52px 16px 18px; }
  .of-lien-pratique-titre { font-size: 17px; }
}

/* =========================================================================
 * Page Qui sommes-nous : rangées repérées of-qui-1 à of-qui-5 (orpheo_pages_habillees_contenu)
 * ========================================================================= */
.of-qui { font-size: 16px; line-height: 1.75; color: #4c4c4c; }
.of-qui > .vc_row { margin: 0 0 48px !important; }
.of-qui .vc_separator, .of-qui .vc_empty_space { display: none; }
/* 1. introduction et « Qui est Orphéo ? » */
.of-qui-1 .wpb_text_column:first-child { display: flow-root; font-size: 18px; line-height: 1.75; color: #333; }
.of-qui-1 .wpb_text_column:first-child p:last-child { font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 22px; color: #02a19b; }
.of-qui-1 img.alignright { float: right; width: 46%; max-width: 560px; height: auto; margin: 0 0 24px 44px; border-radius: 14px; box-shadow: 0 18px 40px rgba(0, 0, 0, .12); }
.of-qui-1 .wpb_text_column:last-child { clear: both; margin-top: 40px; padding: 26px 30px; background: #eef8f7; border-left: 4px solid #c8d400; border-radius: 10px; font-size: 17px; }
.of-qui-1 .wpb_text_column:last-child strong { display: block; margin: 0 0 4px; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 26px; line-height: 1.3; font-weight: 600; color: #212121; }
/* 2. les deux fondateurs en cartes */
.of-qui-2 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.of-qui-2::before, .of-qui-2::after { content: none !important; display: none !important; }
.of-qui-2 > .wpb_column { float: none; width: auto !important; }
.of-qui-2 > .wpb_column > .vc_column-inner { box-sizing: border-box; height: 100%; padding: 28px 30px 20px !important; background: #fff; border: 1px solid rgba(51, 51, 51, .12); border-top: 5px solid #02a19b; border-radius: 10px; }
.of-qui-2 > .wpb_column:nth-child(2) > .vc_column-inner { border-top-color: #ab378a; }
.of-qui-2 strong { display: block; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 26px; line-height: 1.3; font-weight: 600; color: #212121; }
.of-qui-2 em { display: inline-block; margin: 2px 0 6px; font-style: normal; font-weight: 700; color: #ab378a; }
/* 3. Qualiopi en encart */
.of-qui-3 { display: flex !important; flex-wrap: wrap; align-items: center; gap: 24px; padding: 30px 34px !important; background: #eef8f7; border-radius: 14px; }
.of-qui-3::before, .of-qui-3::after { content: none !important; display: none !important; }
.of-qui-3 > .wpb_column { float: none; width: auto !important; flex: 1 1 260px; }
.of-qui-3 .vc_column-inner { padding: 0 !important; }
.of-qui-3 .wpb_text_column { font-size: 18px; font-weight: 700; color: #212121; }
.of-qui-3 .wpb_text_column a { display: inline-block; margin-top: 10px; padding: 10px 20px; background: #02a19b; border-radius: 4px; font-size: 15px; color: #fff !important; }
.of-qui-3 .wpb_text_column a:hover { background: #028a85; }
.of-qui-3 .wpb_single_image { margin: 0; text-align: right; }
.of-qui-3 .wpb_single_image img { max-height: 140px; width: auto; }
/* 4-5. « Orpheo c'est aussi… » : graphisme, site internet, partenaire */
.of-qui-4 { margin-bottom: 22px !important; }
.of-qui-4 h2 { display: inline-block; margin: 0; padding: 0 0 7px; border-bottom: 3px solid #c8d400; font-family: "Oswald", Helvetica, Arial, sans-serif; font-size: 30px; font-weight: 600; color: #212121; }
.of-qui-5 > .wpb_column { float: none; width: 100% !important; }
.of-qui-5 > .wpb_column > .vc_column-inner > .wpb_wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; row-gap: 14px; align-items: end; }
.of-qui-5 .wpb_wrapper > :nth-child(1) { grid-column: 1; grid-row: 1; }
.of-qui-5 .wpb_wrapper > :nth-child(2) { grid-column: 1; grid-row: 2; align-self: start; }
.of-qui-5 .wpb_wrapper > :nth-child(4) { grid-column: 2; grid-row: 1; }
.of-qui-5 .wpb_wrapper > :nth-child(5) { grid-column: 2; grid-row: 2; align-self: start; }
.of-qui-5 .wpb_wrapper > :nth-child(7) { grid-column: 1 / -1; grid-row: 3; margin-top: 30px; }
.of-qui-5 .wpb_wrapper > :nth-child(1) img { max-height: 180px !important; width: auto !important; border-radius: 10px; box-shadow: 0 10px 26px rgba(0, 0, 0, .1); }
.of-qui-5 .vc_inner { display: flex !important; flex-wrap: nowrap; align-items: center; gap: 20px; margin: 0 !important; }
.of-qui-5 .vc_inner .wpb_single_image, .of-qui-5 .vc_inner figure, .of-qui-5 .vc_inner .vc_single_image-wrapper { margin: 0 !important; }
.of-qui-5 .vc_inner::before, .of-qui-5 .vc_inner::after { content: none !important; display: none !important; }
.of-qui-5 .vc_inner > .wpb_column { float: none; width: auto !important; }
.of-qui-5 .vc_inner .vc_column-inner { padding: 0 !important; }
.of-qui-5 .vc_inner img { max-height: 90px !important; width: auto !important; max-width: 100% !important; border-radius: 8px; }
.of-qui-5 .wpb_wrapper > :nth-child(2), .of-qui-5 .wpb_wrapper > :nth-child(5) { padding: 14px 18px; background: #f7fbfb; border-left: 3px solid #02a19b; border-radius: 0 6px 6px 0; font-size: 15px; }
.of-qui-5 .wpb_wrapper > :nth-child(7) img { width: 100%; max-width: 100%; height: auto; border-radius: 12px; }
.of-qui .wpb_single_image, .of-qui .wpb_text_column { margin-bottom: 0; }
@media (max-width: 767px) {
  .of-qui-1 img.alignright { float: none; display: block; width: 100%; margin: 0 0 22px; }
  .of-qui-2, .of-qui-5 > .wpb_column > .vc_column-inner > .wpb_wrapper { grid-template-columns: minmax(0, 1fr); }
  .of-qui-5 .wpb_wrapper > :nth-child(n) { grid-column: 1; grid-row: auto; }
  .of-qui-3 { padding: 24px 22px !important; }
  .of-qui-3 .wpb_single_image { text-align: left; }
}

/* =========================================================================
 * Pictos des réseaux sociaux (icones_sociales) : même pastille ronde, couleurs d'origine
 * ========================================================================= */
ul.of-reseaux { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
ul.of-reseaux li { margin: 0 !important; padding: 0 !important; list-style: none !important; background: none !important; }
ul.of-reseaux li::before { content: none !important; }
a.of-reseau { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; text-decoration: none; box-shadow: 0 2px 6px rgba(0, 0, 0, .12); transition: transform .2s ease, box-shadow .2s ease; }
a.of-reseau:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0, 0, 0, .2); }
a.of-reseau:focus-visible { outline: 2px solid #02a19b; outline-offset: 2px; }
a.of-reseau svg { display: block; width: 16px; height: 16px; }
a.of-reseau-facebook { background: #1877f2; }
a.of-reseau-facebook svg { height: 17px; }
a.of-reseau-linkedin { background: #0a66c2; }
a.of-reseau-instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
a.of-reseau-instagram svg { width: 17px; height: 17px; }
a.of-reseau-youtube { background: #ff0000; }
a.of-reseau-youtube svg { width: 18px; height: 18px; }
/* pied de page : un peu plus grandes */
.of-pied-reseaux ul.of-reseaux { gap: 12px !important; margin: 0 0 18px !important; }
.of-pied-reseaux a.of-reseau { width: 42px; height: 42px; }
.of-pied-reseaux a.of-reseau svg { width: 19px; height: 19px; }
