/* =========================================================
   Learning Gate — ajustements WordPress (chargé après lg.css)
   ========================================================= */

/* Neutralisation Divi dans l'habillage commun */
body.lg-wp { font-family: var(--f-body); font-size: 1.0625rem; line-height: 1.65; color: var(--ink); background-color: var(--paper); background-size: 160px 160px !important; background-attachment: scroll !important; background-position: 0 0 !important; }
body.lg-wp #page-container { overflow: visible; padding-top: 0 !important; }
body.lg-wp #et-main-area { background: transparent; }
body.lg-wp #main-content { background: transparent; }
body.lg-wp h1, body.lg-wp h2, body.lg-wp h3, body.lg-wp h4 { font-family: var(--f-display); padding: 0; }
body.lg-wp .prose h1, body.lg-wp .prose h2, body.lg-wp .prose h3, body.lg-wp .prose h4, body.lg-wp .et_pb_text h2, body.lg-wp .et_pb_text h3 { color: var(--ink); }
body.lg-wp a { color: inherit; }
body.lg-wp a.btn { color: var(--fg); }
body.lg-wp a.btn-ghost:hover { color: var(--paper); }
body.lg-wp a.btn-light:hover, body.lg-wp .label-ia a.btn-ghost:hover { color: var(--forest); }
body.lg-wp .final-box a.btn-ghost:hover { color: var(--paper); }
body.lg-wp .et_pb_section { background-color: transparent; padding: 0; }
body.lg-wp .et_pb_row { width: min(100% - 2 * var(--gutter), var(--wrap)); max-width: none; padding: 0; margin-inline: auto; box-sizing: border-box; }
body.lg-wp .et_pb_section { box-sizing: border-box; }
body.lg-wp .et_pb_row::after { content: ''; display: table; clear: both; }
body.lg-wp .et_pb_column { margin-bottom: 0; }
body.lg-wp .et_pb_module { margin-bottom: 24px; }
body.lg-wp .et_pb_text, body.lg-wp .et_pb_text p { font-family: var(--f-body); font-size: 1.05rem; line-height: 1.7; }
body.lg-wp .et_pb_text { color: var(--ink); }
/* Les paragraphes héritent la couleur du module : Divi la fixe (en !important) sur les encadrés à fond coloré. */
body.lg-wp .et_pb_text p { color: inherit; }
body.lg-wp .et_pb_button { font-family: var(--f-display); font-weight: 600; border-radius: var(--r-pill); padding: 14px 26px !important; background: var(--orange); border: 2px solid var(--orange); color: var(--ink); }
body.lg-wp .et_pb_button:after { display: none; }
body.lg-wp .et_pb_button:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); padding: 14px 26px !important; }

/* Pages Divi complètes (contact, formulaires, espace client) */
body.lg-wp .lg-divi-page .et_pb_section.et_pb_with_background { background-color: var(--sand) !important; border-radius: 28px; padding: clamp(28px, 4vw, 48px) !important; width: min(100% - 2 * var(--gutter), var(--wrap)); margin: 0 auto 28px; }
body.lg-wp .lg-divi-page .et_pb_section.et_pb_with_background .et_pb_row { width: 100%; }
body.lg-wp .lg-divi-page .et_pb_text h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin: .2em 0 .4em; }
body.lg-wp .lg-divi-page .et_pb_text h3 { font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--forest); margin: 0 0 .4em; }
body.lg-wp .lg-divi-page .et_pb_text h3:has(.forminator-ui) { font-size: inherit; text-transform: none; letter-spacing: 0; }
body.lg-wp .lg-divi-page .et_pb_text p[style*="text-align: center"] { text-align: left !important; }
body.lg-wp .lg-divi-page .forminator-ui.forminator-custom-form { padding: 0 !important; }
body.lg-wp .lg-divi-page .et_pb_section:not(.et_pb_with_background) .et_pb_row { padding: 0; }
body.lg-wp .et-waypoint:not(.et_pb_counters), body.lg-wp .et_pb_section, body.lg-wp .et_pb_row { opacity: 1 !important; }
.lg-divi-page { padding: 8px 0 clamp(56px, 7vw, 96px); }
.lg-divi-page .et_pb_section:first-child { padding-top: 0; }
.lg-divi-page .et_pb_row { margin-inline: auto; }
.lg-divi-page .et_pb_text h2, .lg-divi-page .et_pb_text h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); margin: 1.4em 0 .5em; text-align: left; }
.lg-divi-page .et_pb_blurb_content, .lg-divi-page .et_pb_blurb { max-width: none; }
.lg-divi-page .et_pb_blurb_container h4 { font-size: 1.15rem; }
.lg-divi-page .et_pb_image img { border-radius: 24px; }
.lg-divi-page .et_pb_section_video_bg, .lg-divi-page .et_pb_section_parallax { display: none; }

/* Contenu Divi rendu comme un texte courant (mentions légales, confidentialité) */
.prose.lg-divi-content .et_pb_section, .prose.lg-divi-content .et_pb_row, .prose.lg-divi-content .et_pb_column, .prose.lg-divi-content .et_pb_module { padding: 0; margin: 0; width: auto; max-width: none; }
.prose.lg-divi-content .et_pb_text_inner > *:first-child { margin-top: 0; }
.prose.lg-divi-content h3 strong, .prose.lg-divi-content p strong:only-child { font-weight: 700; }
.prose.lg-divi-content p { margin-bottom: .9em; }
.prose h3 { font-size: 1.3rem; margin: 1.8em 0 .5em; }
.prose h4 { font-size: 1.1rem; margin: 1.4em 0 .4em; }
.page-single { padding: 8px 0 clamp(56px, 7vw, 96px); }

/* Image mise en avant */
.post-cover-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 28px; }
.prose img { border-radius: 20px; height: auto; }
.prose figure { margin: 2em 0; }
.prose .wp-block-image img, .prose img.aligncenter { margin-inline: auto; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: .97rem; }
.prose th, .prose td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.prose th { font-family: var(--f-display); background: var(--sand); }
.prose iframe { max-width: 100%; border-radius: 20px; }
.prose .et_pb_section, .prose .et_pb_row { padding: 0; width: auto; }
.prose .et_pb_text_inner h2 { margin-top: 1.6em; }
.prose #sommaire-article { display: none; }
.prose .post-tags a { text-decoration: none; }
.share-copy { font: inherit; cursor: pointer; }
.btn-ghost-light { --fg: var(--paper); border-color: var(--paper); color: var(--paper); }
.btn-ghost-light:hover { background: var(--paper); color: var(--forest-deep); }

/* Grilles d'articles : images réelles */
.post-pic img, .featured-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--ease); }
.post a:hover .post-pic img, .featured a:hover .featured-media img { transform: scale(1.04); }
.featured-media { overflow: hidden; }
.event-pic img { width: 100%; height: 100%; object-fit: cover; }

/* Catalogue des labellisés : logos réels */
.org-logo img { width: 100%; height: 100%; object-fit: contain; padding: 18px; }
.org-logo-lg img { padding: 28px; }

/* Catalogue marketplace (plugin LG Marketplace Front) */
.lg-marketplace .lgm-wrapper { font-family: var(--f-body); }
.lg-marketplace .lgm-filters { padding: 20px 22px; border-radius: 22px; background: var(--white); border: 1px solid var(--line); margin-bottom: 18px; }
.lg-marketplace .lgm-filters-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; }
.lg-marketplace .lgm-filter-group { display: grid; gap: 6px; flex: 1; min-width: 160px; }
.lg-marketplace .lgm-filter-search { flex: 2; min-width: 220px; }
.lg-marketplace .lgm-label { font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); }
.lg-marketplace .lgm-input, .lg-marketplace .lgm-select { font: inherit; font-size: .95rem; color: var(--ink); padding: 10px 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--paper); width: 100%; }
.lg-marketplace .lgm-input:focus, .lg-marketplace .lgm-select:focus { outline: none; border-color: var(--forest); }
.lg-marketplace .lgm-filter-actions { flex-direction: row; display: flex; gap: 8px; }
.lg-marketplace .lgm-btn-search, .lg-marketplace .lgm-btn-reset, .lg-marketplace .lgm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 20px; border-radius: var(--r-pill); font-family: var(--f-display); font-weight: 600; font-size: .95rem; text-decoration: none; cursor: pointer; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); transition: transform .3s var(--ease), background-color .25s, color .25s; }
.lg-marketplace .lgm-btn-reset, .lg-marketplace .lgm-btn--outline, .lg-marketplace .lgm-btn--fiche { background: transparent; color: var(--ink); }
.lg-marketplace .lgm-btn--primary { background: var(--orange); border-color: var(--orange); color: var(--ink); }
.lg-marketplace .lgm-btn-search:hover, .lg-marketplace .lgm-btn:hover { transform: translateY(-2px); }
.lg-marketplace a.lgm-btn-search { margin: 0 0 18px; background: transparent; color: var(--ink); }
.lg-marketplace .lgm-results-meta { font-size: .9rem; color: var(--ink-soft); margin: 6px 0 18px; }
.lg-marketplace .lgm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.lg-marketplace .lgm-card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: 26px; background: var(--white); border: 1px solid var(--line); transition: transform .45s var(--ease), box-shadow .45s var(--ease); overflow: hidden; }
.lg-marketplace .lgm-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.lg-marketplace .lgm-card--premium { border-color: var(--gold); }
.lg-marketplace .lgm-ribbon { position: absolute; top: 16px; right: -34px; transform: rotate(45deg); padding: 4px 44px; background: var(--gold); color: var(--ink); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.lg-marketplace .lgm-ribbon--avance { background: var(--blue); color: var(--paper); }
.lg-marketplace .lgm-card-header { display: flex; gap: 14px; align-items: center; }
.lg-marketplace .lgm-card-logo { width: 56px; height: 56px; border-radius: 14px; object-fit: contain; background: var(--paper); border: 1px solid var(--line); flex: none; }
.lg-marketplace .lgm-card-title { font-size: 1.2rem; margin: 0; text-align: left; }
.lg-marketplace .lgm-card-tagline { font-size: .9rem; color: var(--ink-soft); margin: 2px 0 0; }
.lg-marketplace .lgm-card-types, .lg-marketplace .lgm-card-certifs { display: flex; flex-wrap: wrap; gap: 6px; }
.lg-marketplace .lgm-badge { font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: var(--r-pill); background: var(--sand); color: var(--ink-soft); }
.lg-marketplace .lgm-certif { display: inline-flex; flex-direction: column; padding: 6px 12px; border-radius: 12px; font-size: .78rem; font-weight: 700; background: var(--leaf-soft); color: var(--forest); line-height: 1.2; }
.lg-marketplace .lgm-certif small { font-weight: 400; font-size: .74rem; }
.lg-marketplace .lgm-certif--excellence { background: var(--forest); color: var(--paper); }
.lg-marketplace .lgm-card-desc { font-size: .95rem; color: var(--ink-soft); margin: 0; }
.lg-marketplace .lgm-card-features { margin: 0; padding: 0; list-style: none; }
.lg-marketplace .lgm-card-features li { position: relative; padding: 4px 0 4px 26px; font-size: .92rem; }
.lg-marketplace .lgm-card-features li::before { content: ""; position: absolute; left: 0; top: 9px; width: 16px; height: 16px; border-radius: 50%; background: var(--leaf-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23085030' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
.lg-marketplace .lgm-card-score { font-size: .9rem; color: var(--gold); }
.lg-marketplace .lgm-card-promo { font-size: .88rem; padding: 8px 12px; border-radius: 12px; background: var(--orange-soft); }
.lg-marketplace .lgm-card-footer { margin-top: auto; display: flex; flex-direction: column; gap: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.lg-marketplace .lgm-card-pricing { display: flex; gap: 10px; font-weight: 700; font-size: .92rem; }
.lg-marketplace .lgm-price-free { color: var(--forest); }
.lg-marketplace .lgm-card-ctas { display: flex; flex-wrap: wrap; gap: 8px; }
.lg-marketplace .lgm-card-ctas .lgm-btn { padding: 9px 16px; font-size: .88rem; }
.lg-marketplace .lgm-empty, .lg-marketplace .lgm-loader { text-align: center; padding: 50px 20px; color: var(--ink-soft); grid-column: 1 / -1; }
.lg-marketplace .lgm-spinner { display: inline-block; width: 18px; height: 18px; border: 2px solid var(--line); border-top-color: var(--forest); border-radius: 50%; animation: spin 1s linear infinite; vertical-align: middle; margin-right: 8px; }

/* Fiche outil (single-marketplace_tool.php) */
.lg-main { padding: 8px 0 clamp(56px, 7vw, 96px); }
.lgm-single-header { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 32px; align-items: start; padding: 32px; border-radius: 32px; background: var(--white); border: 1px solid var(--line); margin-bottom: 24px; }
.lgm-single-logo { width: 160px; height: 160px; object-fit: contain; border-radius: 24px; background: var(--paper); border: 1px solid var(--line); padding: 16px; }
.lgm-single-meta-top { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.lgm-offre-badge { font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 12px; border-radius: var(--r-pill); background: var(--sand); }
.lgm-offre-badge--avance { background: var(--blue); color: var(--paper); }
.lgm-offre-badge--premium { background: var(--gold); }
.lgm-single-title { font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 10px; text-align: left; }
.lgm-single-tagline { font-size: 1.15rem; color: var(--ink-soft); }
.lgm-single-certifs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.lgm-single-actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; justify-content: space-between; margin-top: 18px; }
.lgm-single-pricing { font-weight: 700; display: flex; gap: 12px; }
.lgm-single-ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.lgm-single-promo { padding: 14px 20px; border-radius: 16px; background: var(--orange-soft); margin-bottom: 24px; }
.lgm-single-body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(28px, 4vw, 64px); align-items: start; }
.lgm-section { margin-bottom: 36px; }
.lgm-section h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); text-align: left; margin-bottom: 12px; }
.lgm-section p { color: var(--ink); line-height: 1.7; }
.lgm-single-checklist { list-style: none; padding: 0; }
.lgm-single-checklist li { position: relative; padding: 6px 0 6px 30px; }
.lgm-single-checklist li::before { content: ""; position: absolute; left: 0; top: 11px; width: 18px; height: 18px; border-radius: 50%; background: var(--leaf-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23085030' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
.lgm-video-embed { aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; }
.lgm-video-embed iframe { width: 100%; height: 100%; }
.lgm-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lgm-gallery-item { margin: 0; border-radius: 16px; overflow: hidden; border: 1px solid var(--line); }
.lgm-gallery-item img { width: 100%; display: block; }
.lgm-testimonials blockquote { margin: 0 0 14px; padding: 18px 22px; border-left: 4px solid var(--orange); background: var(--orange-soft); border-radius: 0 16px 16px 0; }
.lgm-single-sidebar, .lgm-sidebar-block { padding: 22px 24px; border-radius: 22px; background: var(--white); border: 1px solid var(--line); margin-bottom: 16px; }
.lgm-sidebar-block h3 { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--forest); font-family: var(--f-body); margin-bottom: 12px; }
.lgm-sidebar-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lgm-sidebar-cta { background: var(--leaf-soft); border-color: rgba(112, 168, 64, .4); text-align: center; }
.lgm-back-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-weight: 700; text-decoration: none; }

/* Forminator */
body.lg-wp .forminator-ui.forminator-custom-form { font-family: var(--f-body); }
body.lg-wp .forminator-ui .forminator-label { font-weight: 700 !important; color: var(--ink) !important; font-size: .9rem !important; }
body.lg-wp .forminator-ui .forminator-input, body.lg-wp .forminator-ui .forminator-textarea, body.lg-wp .forminator-ui .forminator-select2 .select2-selection { border: 2px solid var(--line) !important; border-radius: 14px !important; background: var(--white) !important; font-family: var(--f-body) !important; padding: 12px 16px !important; box-shadow: none !important; }
body.lg-wp .forminator-ui .forminator-input:focus, body.lg-wp .forminator-ui .forminator-textarea:focus { border-color: var(--forest) !important; }
body.lg-wp .forminator-ui .forminator-button-submit { font-family: var(--f-display) !important; font-weight: 600 !important; border-radius: var(--r-pill) !important; background: var(--orange) !important; color: var(--ink) !important; padding: 14px 28px !important; border: 0 !important; box-shadow: none !important; }
body.lg-wp .forminator-ui .forminator-button-submit:hover { background: var(--ink) !important; color: var(--paper) !important; }
body.lg-wp .forminator-ui .forminator-response-message { border-radius: 14px; }

/* WooCommerce (espace client, commande) */
body.lg-wp .woocommerce { font-family: var(--f-body); }
body.lg-wp .woocommerce .button, body.lg-wp .woocommerce button.button, body.lg-wp .woocommerce input.button { font-family: var(--f-display); font-weight: 600; border-radius: var(--r-pill); background: var(--orange); color: var(--ink); padding: 12px 24px; }
body.lg-wp .woocommerce .button:hover { background: var(--ink); color: var(--paper); }
body.lg-wp .woocommerce form .form-row input.input-text, body.lg-wp .woocommerce form .form-row textarea { border: 2px solid var(--line); border-radius: 14px; padding: 12px 16px; font: inherit; }
body.lg-wp .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
body.lg-wp .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 14px; border-radius: 12px; text-decoration: none; }
body.lg-wp .woocommerce-MyAccount-navigation li.is-active a, body.lg-wp .woocommerce-MyAccount-navigation li a:hover { background: var(--leaf-soft); }
body.lg-wp .woocommerce-message, body.lg-wp .woocommerce-info { border-top-color: var(--forest); border-radius: 14px; }

/* Bandeau cookies et bouton WhatsApp */
body.lg-wp #cookie-notice { font-family: var(--f-body); }
body.lg-wp #cookie-notice .cn-button { font-family: var(--f-display); border-radius: var(--r-pill) !important; background: var(--orange) !important; color: var(--ink) !important; }
body.lg-wp .ht-ctc { z-index: 40; }

@media (max-width: 1000px) {
  .lg-marketplace .lgm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lgm-single-body { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .lg-marketplace .lgm-grid { grid-template-columns: minmax(0, 1fr); }
  .lgm-single-header { grid-template-columns: minmax(0, 1fr); }
  .lgm-single-logo { width: 110px; height: 110px; }
  .lgm-gallery { grid-template-columns: minmax(0, 1fr); }
}

/* Offre gratuite et formulaire de démo */
.lg-marketplace .lgm-ribbon--gratuit { background: var(--leaf); color: var(--paper); }
.lgm-offre-badge--gratuit { background: var(--leaf-soft); color: var(--forest); }
.lg-demo { padding: 28px; border-radius: 24px; background: var(--leaf-soft); border: 1px solid rgba(112, 168, 64, .4); scroll-margin-top: 100px; }
.lg-demo p { margin-bottom: 16px; }
.lg-demo-form { display: grid; gap: 14px; position: relative; }
.lg-demo-form label { display: grid; gap: 6px; font-size: .85rem; font-weight: 700; letter-spacing: .04em; color: var(--ink-soft); }
.lg-demo-form input[type=text], .lg-demo-form input[type=email], .lg-demo-form textarea { font: inherit; font-weight: 400; color: var(--ink); padding: 12px 16px; border-radius: 14px; border: 2px solid var(--line); background: var(--white); }
.lg-demo-form input:focus, .lg-demo-form textarea:focus { outline: none; border-color: var(--forest); }
.lg-demo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lg-demo-form .lg-consent { display: flex; gap: 10px; align-items: start; font-weight: 400; letter-spacing: 0; font-size: .9rem; }
.lg-demo-form .lg-consent input { margin-top: 4px; flex: none; }
.lg-demo-form .lg-consent a { text-decoration: underline; }
.lg-demo-form .btn { justify-self: start; }
.lg-demo-form .lg-hp { position: absolute; left: -9999px; }
.lg-demo-msg { font-weight: 700; color: var(--forest); min-height: 1.4em; margin: 0; }
@media (max-width: 620px) { .lg-demo-grid { grid-template-columns: minmax(0, 1fr); } }
