/* =====================================================================
   Bien en Dordogne Core — pages éditoriales (gabarit page-edito)
   Chargé uniquement sur les pages dont la méta bdc_gabarit vaut « edito ».
   Tokens et composants (.bdc-sec, .bdc-h2, .bdc-card…) : front.css.
   ===================================================================== */

.bdc-edito { --edito-col: 760px; }

/* ============ RYTHME DES SECTIONS ============ */
.bdc-edito > .bdc-edito__intro { padding-bottom: 0; }
.bdc-edito > .bdc-edito__intro .bdc-lede { margin-bottom: 0; max-width: 34em; }
.bdc-edito > .bdc-sec + .bdc-sec:not(.bdc-sec--nuit):not(.bdc-sec--creme2) { padding-top: 0; }
.bdc-edito > .bdc-sec--nuit + .bdc-sec { padding-top: clamp(64px, 8.5vw, 116px) !important; }
.bdc-edito .bdc-sec__head > .bdc-h2 { max-width: 20ch; }
.bdc-edito .bdc-sec__lead { max-width: 56ch; }

/* ============ BLOCS GUTENBERG ORDINAIRES (colonne de lecture) ============ */
.bdc-edito > :where(p, h2, h3, h4, ul, ol, blockquote, figure, table, .wp-block-table, .wp-block-image, .wp-block-list) {
  width: min(var(--edito-col), calc(100% - 2 * clamp(18px, 4vw, 48px)));
  margin-left: auto; margin-right: auto;
}
.bdc-edito > p { margin-top: 1.1em; font-size: 1.08rem; line-height: 1.7; color: var(--bdc-encre); }
.bdc-edito > p:empty { display: none; }
.bdc-edito > :where(h2, h3) { margin-top: 2em; font-weight: 560; letter-spacing: -.02em; line-height: 1.15; }
.bdc-edito > h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.bdc-edito > h3 { font-size: 1.32rem; }
.bdc-edito > p a, .bdc-edito__body p a { color: var(--bdc-ocre-fonce); text-decoration: underline; text-underline-offset: 3px; }
.bdc-edito__body { max-width: var(--edito-col); }
.bdc-edito__body > .bdc-note:first-child { margin-top: 0; }
.bdc-edito__body p { font-size: 1.06rem; line-height: 1.65; }

/* ============ LA CARTE DANS LA FEUILLE ============ */
.bdc-edito > .bdc-carte {
  width: min(1240px - 2 * 48px, calc(100% - 2 * clamp(12px, 3vw, 48px)));
  margin: clamp(40px, 5vw, 72px) auto clamp(64px, 8.5vw, 116px);
}
.bdc-edito .bdc-carte :is(ul, ol) { list-style: none; margin: 0; padding: 0; }
.bdc-edito .bdc-carte a { text-decoration: none; }

/* ============ SÉLECTION (cartes numérotées) ============ */
.bdc-pick .bdc-card__media { position: relative; }
.bdc-pick__n {
  position: absolute; left: 14px; top: 14px; z-index: 2;
  display: grid; place-items: center; min-width: 44px; height: 32px; padding: 0 12px; border-radius: 999px;
  color: #fff; background: rgba(15,21,18,.46); border: 1px solid rgba(255,255,255,.2);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  font-size: .8rem; font-weight: 600; letter-spacing: .06em; font-variant-numeric: tabular-nums;
}
.bdc-pick__quand { display: inline-flex; align-items: center; gap: 7px; color: var(--bdc-ocre-fonce); letter-spacing: .06em; }
.bdc-pick__quand .bdc-i { color: var(--bdc-ocre); flex: none; }
.bdc-pick__text { font-size: .97rem; line-height: 1.55; color: var(--bdc-encre-2); }
.bdc-grid--feature > .bdc-pick:first-child .bdc-pick__text { font-size: 1.06rem; max-width: 46ch; }
.bdc-grid--feature > .bdc-pick:first-child .bdc-pick__n { min-width: 52px; height: 38px; font-size: .9rem; }

/* ============ SEMAINIER ============ */
.bdc-week { background: #fff; border-radius: var(--bdc-r-big); box-shadow: var(--bdc-shadow); padding: clamp(8px, 1.6vw, 20px) clamp(18px, 3vw, 40px); }
.bdc-week__day { display: grid; grid-template-columns: minmax(150px, 210px) minmax(0, 1fr); gap: 12px 32px; align-items: start; padding: clamp(18px, 2.2vw, 26px) 0; border-top: 1px solid var(--bdc-filet); }
.bdc-week__day:first-child { border-top: 0; }
.bdc-week__name { display: flex; flex-direction: column; gap: 4px; font-size: clamp(1.3rem, 2vw, 1.7rem); font-weight: 560; letter-spacing: -.02em; line-height: 1.1; color: var(--bdc-encre); padding-top: 4px; }
.bdc-week__name small { font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bdc-encre-3); }
.bdc-week__list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.bdc-week__list li { margin: 0; }
.bdc-week__m {
  display: inline-flex; align-items: baseline; gap: 8px; padding: 9px 16px; border-radius: 999px;
  background: var(--bdc-creme); border: 1px solid transparent; color: var(--bdc-encre);
  font-size: .95rem; font-weight: 560; line-height: 1.25;
  transition: background .2s var(--bdc-ease), border-color .2s var(--bdc-ease), transform .2s var(--bdc-ease);
}
.bdc-week__m small { font-size: .76rem; font-weight: 560; color: var(--bdc-ocre-fonce); }
.bdc-week__m:hover { background: #fff; border-color: var(--bdc-encre); transform: translateY(-1px); }
.bdc-week__m:focus-visible { outline: 2px solid var(--bdc-ocre); outline-offset: 3px; }

/* ============ SAISON (section nuit) ============ */
.bdc-season { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: clamp(12px, 1.4vw, 18px); list-style: none; margin: 0; padding: 0; }
.bdc-season li { margin: 0; }
.bdc-season__item {
  position: relative; display: flex; flex-direction: column; gap: 8px; height: 100%;
  padding: 22px 56px 22px 24px; border-radius: var(--bdc-r);
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: var(--bdc-brume);
  transition: background .25s var(--bdc-ease), border-color .25s var(--bdc-ease), transform .25s var(--bdc-ease);
}
.bdc-season__item:hover { background: rgba(255,255,255,.09); border-color: rgba(228,196,139,.45); transform: translateY(-2px); }
.bdc-season__item:focus-visible { outline: 2px solid var(--bdc-ocre-clair); outline-offset: 3px; }
.bdc-season__ville { font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bdc-ocre-clair); }
.bdc-season__t { font-size: 1.18rem; font-weight: 580; letter-spacing: -.015em; line-height: 1.2; color: #fff; margin-bottom: 4px; }
.bdc-season__meta { display: flex; align-items: center; gap: 8px; font-size: .9rem; line-height: 1.35; color: var(--bdc-brume-2); }
.bdc-season__meta .bdc-i { flex: none; color: var(--bdc-ocre-clair); }
.bdc-season__go { position: absolute; right: 18px; top: 18px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; transition: background .25s var(--bdc-ease), color .25s var(--bdc-ease); }
.bdc-season__item:hover .bdc-season__go { background: var(--bdc-ocre-clair); color: var(--bdc-nuit); }
.bdc-season__note { display: flex; gap: 10px; align-items: flex-start; margin-top: 24px !important; font-size: .86rem; line-height: 1.5; color: var(--bdc-brume-2); max-width: 70ch; }
.bdc-season__note .bdc-i { flex: none; margin-top: 2px; color: var(--bdc-ocre-clair); }
.bdc-sec--nuit .bdc-sec__lead { color: var(--bdc-brume-2); }

/* ============ MOBILE ============ */
@media (max-width: 767px) {
  .bdc-edito > .bdc-carte { width: calc(100% - 16px); margin-top: 28px; }
  .bdc-week { padding: 4px 18px; border-radius: var(--bdc-r); }
  .bdc-week__day { grid-template-columns: 1fr; gap: 12px; padding: 20px 0; }
  .bdc-week__name { flex-direction: row; align-items: baseline; gap: 10px; }
  .bdc-week__m { padding: 8px 13px; font-size: .9rem; }
  .bdc-grid--feature.bdc-picks { grid-template-columns: 1fr; }
  .bdc-season { grid-template-columns: 1fr; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .bdc-grid--feature.bdc-picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .bdc-week__m, .bdc-season__item, .bdc-season__go { transition: none !important; }
}

/* ============ Correctifs 1.3.4 : mobile sans débordement ============ */
.bdc-edito { overflow-x: clip; }
.bdc-edito .bdc-h2, .bdc-edito .bdc-card__title, .bdc-edito .bdc-season__t, .bdc-edito .bdc-lede { overflow-wrap: break-word; }
.bdc-edito .bdc-grid > * { min-width: 0; }
.bdc-week__m { max-width: 100%; flex-wrap: wrap; row-gap: 2px; }
@media (max-width: 767px) {
  .bdc-edito > .bdc-carte { width: calc(100% - 24px); padding: 16px 14px 18px; margin-left: auto; margin-right: auto; }
  .bdc-edito .bdc-sec__head > .bdc-h2 { max-width: none; }
  .bdc-edito .bdc-sec--nuit { margin: 0 8px; }
  .bdc-season__item { padding: 20px 52px 20px 20px; }
  .bdc-season__t { font-size: 1.08rem; }
  .bdc-season__meta { align-items: flex-start; }
  .bdc-season__meta .bdc-i { margin-top: 2px; }
  .bdc-edito .bdc-note { padding: 18px; gap: 12px; }
}
