/* ==================================================================
   EDE ACADEMY : blog, articles, pages éditoriales, page 404
   Même charte que le reste du site : Bricolage Grotesque pour les titres,
   Nunito Sans pour le texte, gris ardoise et bleu d'accent.
   ================================================================== */
.edeb{display:block; color:var(--text); font-family:var(--texte);}
.edeb-in{max-width:var(--large); margin:0 auto; padding:0 clamp(16px, 4vw, 28px);}
.edeb-etroit{max-width:780px;}

/* Tête de page */
.edeb-tete{
  background:linear-gradient(180deg, var(--bleu-pale) 0%, #fff 100%);
  padding:clamp(26px, 4vw, 48px) 0 clamp(22px, 3.4vw, 40px);
}
.edeb-tete h1{
  margin:0 0 .35em; font-family:var(--titre); font-weight:600; letter-spacing:-.02em;
  font-size:clamp(28px, 4.6vw, 46px); line-height:1.14; color:var(--marine); text-wrap:balance;
}
.edeb h1 em, .edeb h2 em{font-style:normal; font-weight:inherit; color:var(--bleu-access);}
.edeb-surtitre{
  margin:0 0 10px; font-size:12.5px; font-weight:600; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--bleu-access);
}
.edeb-surtitre a{color:inherit; text-decoration:none;}
.edeb-intro{max-width:62ch; font-size:clamp(16px, .5vw + 15px, 18.5px); color:var(--text-muted);}
.edeb-intro p{margin:0 0 .6em;}
.edeb-chapo{margin:0 0 .8em; font-size:clamp(17px, .6vw + 15px, 20px); line-height:1.55; color:var(--text);}
.edeb-meta{margin:0; font-size:14px; color:var(--text-muted);}
.edeb-actions{display:flex; flex-wrap:wrap; gap:12px; margin:1.4em 0 0;}

/* Fil d'Ariane */
.edeb-fil{margin:0 0 16px; font-size:13.5px; color:var(--text-muted);}
.edeb-fil ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 8px;}
.edeb-fil li + li::before{content:"›"; margin-right:8px; color:var(--marine-brume);}
.edeb-fil a{color:var(--bleu-access); text-decoration:none;}
.edeb-fil a:hover{text-decoration:underline; text-underline-offset:3px;}

/* Liste d'articles */
.edeb-grille{
  display:grid; gap:clamp(18px, 2.6vw, 28px);
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  padding:clamp(18px, 3vw, 32px) 0 clamp(36px, 5vw, 64px);
}
.edeb-carte{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--ombre); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.edeb-carte:hover{transform:translateY(-3px); box-shadow:0 16px 38px rgba(17,24,39,.12); border-color:var(--bleu-ombre);}
.edeb-carte-lien{display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none;}
.edeb-carte-lien:focus-visible{outline:3px solid var(--bleu-access); outline-offset:-3px; border-radius:var(--radius);}
.edeb-carte-image{aspect-ratio:16 / 9; background:linear-gradient(135deg, var(--bleu-pale), var(--bleu-ombre));}
.edeb-carte-image img{display:block; width:100%; height:100%; object-fit:cover;}
.edeb-carte-corps{display:flex; flex-direction:column; flex:1; padding:18px 20px 20px;}
.edeb-carte-cat{margin:0 0 8px; font-size:12px; font-weight:600; letter-spacing:1.3px; text-transform:uppercase; color:var(--bleu-access);}
.edeb-carte h2{margin:0 0 8px; font-family:var(--titre); font-size:21px; font-weight:600; line-height:1.25; color:var(--marine);}
.edeb-carte-extrait{margin:0 0 14px; font-size:15px; line-height:1.6; color:var(--text-muted);}
.edeb-carte-meta{margin:auto 0 0; font-size:13px; color:var(--text-muted);}

.edeb-vide{
  margin:clamp(18px, 3vw, 32px) 0 clamp(36px, 5vw, 64px); padding:clamp(22px, 4vw, 40px);
  background:var(--bleu-pale); border-radius:var(--radius-l);
}
.edeb-vide p{margin:0; max-width:60ch;}

.edeb-pagination{padding:0 0 clamp(36px, 5vw, 64px);}
.edeb-pagination .nav-links{display:flex; flex-wrap:wrap; gap:8px; justify-content:center;}
.edeb-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 14px;
  border:1px solid var(--border); border-radius:12px; color:var(--marine); font-weight:600; text-decoration:none;
}
.edeb-pagination .page-numbers.current{background:var(--marine); border-color:var(--marine); color:#fff;}
.edeb-pagination a.page-numbers:hover{background:var(--bleu-pale); border-color:var(--bleu);}

/* Article */
.edeb-une{margin-top:clamp(6px, 1.4vw, 14px); max-width:980px;}
.edeb-une img{display:block; width:100%; height:auto; border-radius:var(--radius-l); box-shadow:var(--ombre);}
.edeb-texte{padding:clamp(22px, 3.4vw, 40px) 0 clamp(28px, 4vw, 48px); font-size:clamp(16.5px, .35vw + 15.5px, 18px); line-height:1.75;}
.edeb-texte > *{margin-top:0; margin-bottom:1.15em;}
.edeb-texte h2{
  margin:1.9em 0 .6em; font-family:var(--titre); font-size:clamp(23px, 2.8vw, 30px); font-weight:600;
  line-height:1.2; letter-spacing:-.015em; color:var(--marine);
}
.edeb-texte h3{margin:1.6em 0 .5em; font-family:var(--titre); font-size:clamp(19px, 2vw, 23px); font-weight:600; line-height:1.25; color:var(--marine);}
.edeb-texte h4{margin:1.4em 0 .4em; font-size:17px; font-weight:600; color:var(--marine);}
.edeb-texte a{color:var(--bleu-access); text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px;}
.edeb-texte a:hover{color:var(--marine);}
.edeb-texte ul, .edeb-texte ol{padding-left:1.3em;}
.edeb-texte li{margin-bottom:.45em;}
.edeb-texte li::marker{color:var(--bleu); font-weight:600;}
.edeb-texte blockquote{
  margin:1.6em 0; padding:18px 22px; border-left:4px solid var(--bleu); border-radius:0 var(--radius) var(--radius) 0;
  background:var(--bleu-pale); font-family:var(--titre); font-style:italic; font-size:1.08em; color:var(--marine);
}
.edeb-texte blockquote p:last-child{margin-bottom:0;}
.edeb-texte img{border-radius:var(--radius);}
.edeb-texte figure{margin:1.6em 0;}
.edeb-texte figcaption{margin-top:8px; font-size:14px; color:var(--text-muted); text-align:center;}
.edeb-texte table{width:100%; font-size:.94em; display:block; overflow-x:auto;}
.edeb-texte th, .edeb-texte td{padding:10px 12px; border:1px solid var(--border); text-align:left; vertical-align:top;}
.edeb-texte th{background:var(--bleu-pale); color:var(--marine); font-weight:600;}
.edeb-texte hr{border:0; border-top:1px solid var(--border); margin:2em 0;}
.edeb-texte .wp-block-button__link{
  background:var(--ambre); color:var(--marine); font-weight:600; border-radius:14px; text-decoration:none;
  padding:12px 24px; box-shadow:var(--ombre-cta);
}
.edeb-texte .wp-block-button__link:hover{background:var(--ambre-hover); color:var(--marine);}
.edeb-texte .alignwide{margin-left:clamp(-100px, -6vw, 0px); margin-right:clamp(-100px, -6vw, 0px); max-width:none;}

.edeb-etiquettes{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px;}
.edeb-etiquettes a{
  padding:5px 12px; border-radius:999px; background:var(--bleu-pale); color:var(--bleu-access);
  font-size:13.5px; font-weight:600; text-decoration:none;
}
.edeb-voisins{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap:14px;
  padding:22px 0 clamp(36px, 5vw, 64px); border-top:1px solid var(--border);
}
.edeb-voisin a{
  display:block; height:100%; padding:16px 18px; border:1px solid var(--border); border-radius:var(--radius);
  color:var(--marine); font-family:var(--titre); font-weight:600; font-size:17px; line-height:1.3; text-decoration:none;
}
.edeb-voisin a:hover{background:var(--bleu-pale); border-color:var(--bleu-ombre);}
.edeb-voisin span{display:block; margin-bottom:4px; font-family:var(--texte); font-size:12px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; color:var(--bleu-access);}
.edeb-voisin.suivant{text-align:right;}

/* Commentaires (désactivés par défaut) */
.comments-area{padding:0 0 48px;}
.comments-area .comment-list{list-style:none; padding:0;}
.comments-area textarea, .comments-area input[type="text"], .comments-area input[type="email"], .comments-area input[type="url"]{
  width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:12px;
}
.comments-area input[type="submit"]{
  min-height:48px; padding:10px 22px; border:0; border-radius:14px; background:var(--ambre); color:var(--marine); font-weight:600; cursor:pointer;
}

/* Bandeau de fin */
.edeb-appel{background:var(--bleu-fort); color:#fff; padding:clamp(38px, 5.6vw, 64px) 0; text-align:center;}
.edeb-appel .edeb-surtitre{color:#DBEAFE;}
.edeb-appel h2{
  margin:0 0 .4em; font-family:var(--titre); font-size:clamp(24px, 3.6vw, 36px); font-weight:600;
  line-height:1.16; letter-spacing:-.015em; color:#fff; text-wrap:balance;
}
.edeb-appel h2 em{color:#93C5FD;}
.edeb-appel p{margin:0 auto 1em; max-width:60ch; color:#DBEAFE;}
.edeb-appel .edeb-actions{justify-content:center;}

/* Recherche */
.search-form{display:flex; gap:8px; max-width:520px;}
.search-form label{flex:1;}
.search-form .search-field{width:100%; min-height:48px; padding:10px 14px; border:1px solid var(--border); border-radius:12px;}
.search-form .search-submit{min-height:48px; padding:10px 20px; border:0; border-radius:12px; background:var(--marine); color:#fff; font-weight:600; cursor:pointer;}

/* WooCommerce : accord minimal avec la charte */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button:not(.is-link){
  background:var(--ambre) !important; color:var(--marine) !important; font-weight:600 !important;
  border-radius:14px !important; padding:14px 24px !important; border:0 !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .wc-block-components-button:not(.is-link):hover{background:var(--ambre-hover) !important;}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select{
  min-height:46px; padding:10px 12px; border:1px solid var(--border); border-radius:10px;
}
.woocommerce-info, .woocommerce-message{border-top-color:var(--bleu) !important;}
.woocommerce-info::before, .woocommerce-message::before{color:var(--bleu) !important;}

/* Pages éditoriales : colonne de lecture ; boutique WooCommerce : pleine largeur. */
.edeb-corps{max-width:780px;}
.ede-boutique .edeb-corps, .ede-boutique .edeb-tete .edeb-etroit{max-width:var(--large);}
.ede-boutique .edeb-texte{font-size:16px; line-height:1.6;}

/* Derniers articles, sur la page d'accueil */
.edeb-derniers{padding:clamp(38px, 5.6vw, 64px) 0 0; background:#fff; text-align:center;}
.edeb-derniers .edeb-grille{text-align:left;}
.edeb-derniers .edeb-actions{justify-content:center;}
.edeb-derniers .edeb-surtitre{color:#5B6472; letter-spacing:2px;}
.edeb-derniers > .edeb-in > h2{
  margin:0 0 .2em; font-family:var(--titre); font-size:clamp(23px, 3.6vw, 36px); font-weight:600;
  line-height:1.16; letter-spacing:-.015em; color:var(--marine);
}
.edeb-derniers .edeb-grille{padding-bottom:8px;}
.edeb-derniers .edeb-actions{margin-top:1em;}

/* Carte sans image : un filet de couleur en tête. */
.edeb-carte:not(:has(.edeb-carte-image)){border-top:4px solid var(--bleu);}

/* Charte Neve : bandeau de fin en bleu plein, boutons blancs ; angles doux. */
.edeb-appel{background:#2563EB;}
.edeb-appel .edeb-surtitre{color:#DBEAFE;}
.edeb-appel h2 em{color:#fff;}
.edeb-appel p{color:#EFF6FF;}
.edeb-tete{background:#F1F5F9;}
.edeb-texte blockquote{font-family:var(--texte); font-style:normal; border-radius:0 8px 8px 0;}
.edeb-pagination .page-numbers{border-radius:4px;}
.edeb-etiquettes a{border-radius:4px;}
.search-form .search-field, .search-form .search-submit{border-radius:4px;}
.edeb-texte .wp-block-button__link{border-radius:4px; color:#fff; font-weight:600; box-shadow:none;}
.edeb-texte .wp-block-button__link:hover{color:#fff;}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button:not(.is-link){color:#fff !important; border-radius:4px !important; font-weight:600 !important;}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select{border-radius:4px;}
.comments-area input[type="submit"]{color:#fff; border-radius:4px;}
.comments-area textarea, .comments-area input[type="text"], .comments-area input[type="email"], .comments-area input[type="url"]{border-radius:4px;}
