/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/
/* ===== BOOTCAMP : barre de recherche et filtres des formations ===== */
.bc-filtres { width: 100%; display: flex; flex-direction: column; gap: 14px; margin: 8px 0 28px; }
.bc-filtres .brxe-filter-search { width: 100%; }
.bc-filtres .brxe-filter-search input { width: 100%; height: 54px; padding: 0 20px 0 48px; font-size: 16px; border: 1.5px solid #d9d9d9; border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23087138' stroke-width='2.2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 18px center; transition: border-color .15s, box-shadow .15s; }
.bc-filtres .brxe-filter-search input:focus { outline: none; border-color: #087138; box-shadow: 0 0 0 4px rgba(8,113,56,.12); }
.bc-filtres .brxe-filter-radio { display: flex; flex-wrap: wrap; gap: 8px; }
.bc-filtres .brxe-filter-radio label { margin: 0; }
.bc-filtres .brxe-filter-radio input { position: absolute; opacity: 0; pointer-events: none; }
.bc-filtres .brxe-filter-radio .brx-option-text, .bc-filtres .brxe-filter-radio label > span { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border: 1.5px solid #d9d9d9; border-radius: 999px; background: #fff; color: #212121; font-size: 14px; font-weight: 500; cursor: pointer; transition: all .15s; }
.bc-filtres .brxe-filter-radio label:hover .brx-option-text, .bc-filtres .brxe-filter-radio label:hover > span { border-color: #087138; color: #087138; }
.bc-filtres .brxe-filter-radio input:checked + span, .bc-filtres .brxe-filter-radio input:checked ~ span, .bc-filtres .brxe-filter-radio .brx-option-active .brx-option-text, .bc-filtres .brxe-filter-radio label.brx-option-active > span { background: #087138; border-color: #087138; color: #fff; }
.bc-filtres .bc-filtre-modalite .brx-option-text, .bc-filtres .bc-filtre-modalite label > span { padding: 6px 14px; font-size: 13px; }
.bc-filtres .brx-option-count { opacity: .65; font-size: .85em; }
.bc-compteur { font-size: 14px; color: #616161; }
@media (max-width: 767px) {
  .bc-filtres .brxe-filter-radio { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .bc-filtres .brxe-filter-radio label { flex: 0 0 auto; }
}
.bc-aucun{grid-column:1/-1;width:100%;padding:28px;border:1.5px dashed #c8c8c8;border-radius:14px;text-align:center;color:#424242;line-height:1.7}.bc-aucun a{color:#087138;font-weight:600}

/* ===== BOOTCAMP : pages de contenu (CGV, qui sommes-nous…) ===== */
.bc-page-contenu { font-size: 16px; line-height: 1.75; color: #2b2b2b; }
.bc-page-contenu h2 { font-size: clamp(22px, 2.6vw, 28px); line-height: 1.3; margin: 36px 0 12px; }
.bc-page-contenu h3 { font-size: 20px; margin: 28px 0 10px; }
.bc-page-contenu h4 { font-size: 17px; margin: 22px 0 8px; }
.bc-page-contenu p { margin: 0 0 14px; }
.bc-page-contenu ul, .bc-page-contenu ol { margin: 0 0 16px; padding-left: 1.3em; }
.bc-page-contenu li { margin-bottom: 6px; }
.bc-page-contenu img { max-width: 100%; height: auto; border-radius: 8px; margin: 12px 0; }
.bc-page-contenu table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 15px; display: block; overflow-x: auto; }
.bc-page-contenu td, .bc-page-contenu th { border: 1px solid #e0e0e0; padding: 8px 10px; vertical-align: top; }
.bc-page-contenu a { color: #087138; text-decoration: underline; }
/* bc-nowrap */ .bc-filtres .brxe-filter-radio .brx-option-text, .bc-filtres .brxe-filter-radio label > span { white-space: nowrap; } .bc-filtres .brxe-filter-radio label { flex: 0 0 auto; }

/* ===== BOOTCAMP : liens secteurs (pages secteur) ===== */
.bc-secteurs { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 6px; }
.bc-secteurs a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border: 1.5px solid #d9d9d9; border-radius: 999px; background: #fff; color: #212121; font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; transition: all .15s; }
.bc-secteurs a span { opacity: .6; font-size: .85em; }
.bc-secteurs a:hover { border-color: #087138; color: #087138; }
.bc-secteurs a.is-active { background: #087138; border-color: #087138; color: #fff; }
.bc-atouts { border-left: 4px solid #087138; background: #f1f8f4; padding: 16px 20px; border-radius: 8px; margin: 0 0 24px; }
.bc-atouts p { margin: 0 0 8px; } .bc-atouts ul { margin: 0; padding-left: 1.2em; }
@media (max-width: 767px) { .bc-secteurs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; } }

/* ===== BOOTCAMP : fiches formation (bc-fiche), FAQ (bc-faq), blog (bc-articles, bc-article-contenu) ===== */
.bc-fiche, .bc-article-contenu { font-size: 16px; line-height: 1.75; color: #2b2b2b; text-align: left; width: 100%; }
.bc-fiche h2, .bc-article-contenu h2 { font-size: clamp(22px, 2.6vw, 28px); line-height: 1.3; margin: 44px 0 14px; color: #111; }
.bc-fiche h3, .bc-article-contenu h3 { font-size: 18px; line-height: 1.4; margin: 24px 0 10px; color: #111; }
.bc-fiche p, .bc-article-contenu p { margin: 0 0 14px; }
.bc-fiche ul, .bc-fiche ol, .bc-article-contenu ul, .bc-article-contenu ol { margin: 0 0 18px; padding-left: 1.3em; }
.bc-fiche li, .bc-article-contenu li { margin-bottom: 6px; }
.bc-fiche a, .bc-article-contenu a, .bc-article-cta a { color: #087138; text-decoration: underline; text-underline-offset: 2px; }
.bc-fiche .bc-intro, .bc-article-contenu .bc-intro { font-size: 18px; line-height: 1.7; color: #1f1f1f; margin-bottom: 26px; }
.bc-plus { background: #f1f8f4; border: 1px solid #cfe6d8; border-left: 5px solid #087138; border-radius: 12px; padding: 22px 26px 8px; margin: 8px 0 10px; }
.bc-fiche .bc-plus h2 { margin-top: 0; font-size: 22px; color: #087138; }
.bc-plus ul, .bc-check { list-style: none; padding-left: 0 !important; }
.bc-plus li, .bc-check li { position: relative; padding-left: 30px; margin-bottom: 10px; }
.bc-plus li::before, .bc-check li::before { content: ""; position: absolute; left: 0; top: .42em; width: 18px; height: 18px; border-radius: 50%; background: #087138 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.bc-module { border: 1px solid #e3e3e3; border-radius: 12px; padding: 18px 22px 6px; margin: 0 0 14px; background: #fff; }
.bc-fiche .bc-module h3 { margin-top: 0; color: #087138; }
.bc-liens { list-style: none; padding-left: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
.bc-liens li { margin: 0; }
.bc-liens a { display: block; height: 100%; padding: 14px 16px; border: 1.5px solid #d9d9d9; border-radius: 10px; text-decoration: none !important; color: #212121 !important; font-weight: 600; line-height: 1.45; transition: border-color .15s, color .15s; }
.bc-liens a:hover { border-color: #087138; color: #087138 !important; }
.bc-fiche table, .bc-article-contenu table { width: 100%; border-collapse: collapse; margin: 16px 0 22px; font-size: 15px; display: block; overflow-x: auto; }
.bc-fiche th, .bc-fiche td, .bc-article-contenu th, .bc-article-contenu td { border: 1px solid #e0e0e0; padding: 9px 12px; vertical-align: top; text-align: left; }
.bc-fiche th, .bc-article-contenu th { background: #f1f8f4; }
.bc-encadre { background: #fff8e6; border-left: 5px solid #e0a100; border-radius: 10px; padding: 16px 20px 4px; margin: 18px 0 22px; }
.bc-telechargement { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: 999px; background: #087138; color: #fff !important; text-decoration: none !important; font-weight: 600; margin: 4px 0 18px; }
.bc-figure { margin: 18px 0 24px; } .bc-figure img { width: 100%; height: auto; border-radius: 12px; display: block; } .bc-figure figcaption { font-size: 14px; color: #616161; margin-top: 6px; }
.bc-faq { display: flex; flex-direction: column; gap: 10px; width: 100%; }
.bc-faq-item { border: 1px solid #e0e0e0; border-radius: 10px; background: #fff; }
.bc-faq-item summary { cursor: pointer; padding: 16px 48px 16px 18px; font-weight: 600; list-style: none; position: relative; line-height: 1.5; }
.bc-faq-item summary::-webkit-details-marker { display: none; }
.bc-faq-item summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 24px; font-weight: 400; color: #087138; }
.bc-faq-item[open] summary::after { content: "–"; }
.bc-faq-reponse { padding: 0 18px 6px; line-height: 1.7; color: #333; }
#brxe-ofbqjt { max-width: 1200px; width: 100%; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px; }
#brxe-felfoo { flex: 0 0 32%; } #brxe-ivftet { flex: 1 1 0; min-width: 0; }
@media (max-width: 767px) { #brxe-ofbqjt { flex-direction: column; } #brxe-felfoo { flex-basis: auto; } }
.bc-articles { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 22px; width: 100%; margin: 10px 0 30px; }
.bc-article-carte a { display: flex; flex-direction: column; height: 100%; border: 1px solid #e3e3e3; border-radius: 14px; overflow: hidden; background: #fff; color: #212121; text-decoration: none; transition: box-shadow .15s, border-color .15s; }
.bc-article-carte a:hover { border-color: #087138; box-shadow: 0 6px 22px rgba(0,0,0,.08); }
.bc-article-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.bc-article-date { font-size: 13px; color: #757575; padding: 16px 20px 0; }
.bc-article-carte h2 { font-size: 19px; line-height: 1.35; margin: 6px 20px 8px; }
.bc-article-carte p { font-size: 15px; line-height: 1.6; color: #424242; margin: 0 20px 14px; }
.bc-article-lire { margin: auto 20px 18px; color: #087138; font-weight: 600; }
.bc-article-cta { margin: 40px 0 10px; padding: 24px 26px 12px; border-radius: 14px; background: #f1f8f4; border: 1px solid #cfe6d8; }
.bc-article-cta h2 { margin-top: 0 !important; font-size: 22px; color: #087138; }
