/* ===============================================================
   Dossier Le Bouledogue Français — Crocs-Minilus
   Fond commun + pages Origines / Standard / Évolution LOF
   =============================================================== */

.cm-page-bouledogue-dossier,
.cm-page-origin-bouledogue,
.cm-page-standard-bouledogue,
.cm-page-bouledogue-cheptel{
  min-height:100vh;
  color:#372417;
  background-color:#fff3e4;
  background-image:
    linear-gradient(180deg, rgba(255,250,242,.40), rgba(255,238,222,.54)),
    radial-gradient(circle at 50% 40%, rgba(255,253,246,.22), rgba(255,243,230,.18) 38%, rgba(255,230,212,.08) 68%),
    url('/assets/images/origine-bouledogue/origine-bouledogue-bg.webp');
  background-size:cover, cover, cover;
  background-position:center top, center top, center top;
  background-repeat:no-repeat;
  background-attachment:fixed, fixed, fixed;
}

@media (max-width:768px){
  .cm-page-bouledogue-dossier,
  .cm-page-origin-bouledogue,
  .cm-page-standard-bouledogue,
  .cm-page-bouledogue-cheptel{
    background-attachment:scroll, scroll, scroll;
  }
}


/* ===============================================================
   STRUCTURE COMMUNE DU DOSSIER
   Ces classes étaient héritées du dossier Boston.
   On les redéfinit ici pour que les pages Bouledogue soient autonomes.
   =============================================================== */

.cm-bt-wrap{
  width:min(1180px, calc(100% - 34px));
  margin:0 auto;
  padding:34px 0 72px;
}

.cm-bt-dossier{
  position:relative;
  z-index:5;
  display:grid;
  gap:12px;
  margin:0 0 22px;
  padding:16px;
  border-radius:30px;
  background:rgba(255,250,244,.90);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 18px 38px rgba(105,61,34,.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.cm-bt-dossier__title{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:10px;
  text-align:center;
}

.cm-bt-dossier__title span{
  padding:6px 11px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,191,205,.95), rgba(255,221,154,.95));
  color:#793c30;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.cm-bt-dossier__title strong{
  color:#5a2d1d;
  font-size:clamp(24px, 3vw, 36px);
  line-height:1;
}

.cm-bt-dossier__tabs{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
}

.cm-bt-dossier__tab{
  position:relative;
  min-height:58px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:18px 18px 12px 12px;
  color:#67442e;
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,233,216,.68));
  border:1px solid rgba(143,91,62,.15);
  box-shadow:0 10px 18px rgba(116,65,38,.08);
  text-align:center;
  text-decoration:none;
  font-weight:950;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}

.cm-bt-dossier__tab:hover{
  transform:translateY(-2px);
}

.cm-bt-dossier__tab.is-active{
  color:#fff;
  background:linear-gradient(135deg, #d86f86, #c89145);
  box-shadow:0 14px 26px rgba(154,83,64,.22);
}

.cm-bt-dossier__tab.is-active small{
  color:rgba(255,255,255,.86);
}

.cm-bf-page{ padding-top:34px; }

/* Navigation de dossier, reprend la logique Boston */
.cm-bf-dossier .cm-bt-dossier__title span,
.cm-bf-kicker{
  background:linear-gradient(135deg, rgba(255,190,205,.95), rgba(255,221,151,.95));
}
.cm-bf-dossier__tab small{
  display:block;
  margin-top:3px;
  font-size:10px;
  font-weight:850;
  opacity:.72;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.cm-bf-dossier__tab.is-disabled{ cursor:not-allowed; opacity:.62; }
.cm-bf-dossier__tab.is-disabled:hover{ transform:none; }

.cm-bf-hero,
.cm-bf-panel,
.cm-bf-card,
.cm-bf-footer-nav,
.cm-bf-stats article{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:34px;
  background:rgba(255,250,244,.88);
  box-shadow:0 22px 58px rgba(116,65,38,.15);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.cm-bf-hero::after,
.cm-bf-panel::after{
  content:"";
  position:absolute;
  inset:13px;
  border:1px solid rgba(152,92,56,.15);
  border-radius:26px;
  pointer-events:none;
}
.cm-bf-hero > *,
.cm-bf-panel > *,
.cm-bf-footer-nav > *,
.cm-bf-card > *{ position:relative; z-index:1; }

.cm-bf-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 340px);
  gap:28px;
  align-items:center;
  min-height:360px;
  padding:38px;
  background:
    radial-gradient(circle at 76% 16%, rgba(255,207,196,.48), transparent 30%),
    linear-gradient(135deg, rgba(255,252,248,.88), rgba(255,239,226,.80));
}
.cm-bf-hero--standard,
.cm-bf-hero--cheptel{ min-height:330px; }
.cm-bf-kicker{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:8px 13px;
  border-radius:999px;
  color:#7d3b32;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cm-bf-hero h1,
.cm-bf-section-head h2,
.cm-bf-panel h2,
.cm-bf-card h3,
.cm-bf-standard-item h3,
.cm-bf-standard-item h4{
  color:#5d2d1d;
  text-shadow:0 2px 0 rgba(255,255,255,.65);
}
.cm-bf-hero h1{
  margin:18px 0 16px;
  font-size:clamp(40px, 6.3vw, 76px);
  line-height:.94;
}
.cm-bf-hero p,
.cm-bf-panel p,
.cm-bf-panel li,
.cm-bf-card p{
  color:#654735;
  line-height:1.74;
  font-size:17px;
}
.cm-bf-hero p{ max-width:760px; margin:0; font-size:18px; }
.cm-bf-card{ padding:24px; background:rgba(255,255,255,.74); }
.cm-bf-card h3{ margin:0 0 10px; font-size:28px; }
.cm-bf-card p{ margin:0; }

.cm-bf-actions,
.cm-bf-footer-nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.cm-bf-actions{ margin-top:26px; }
.cm-bf-footer-nav{ justify-content:center; margin-top:24px; padding:24px; }
.cm-bf-btn,
.cm-bf-reset{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid rgba(143,91,62,.15);
  border-radius:999px;
  color:#67452e;
  background:rgba(255,255,255,.72);
  font-weight:950;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
  cursor:pointer;
}
.cm-bf-btn:hover,
.cm-bf-reset:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(116,65,38,.13); }
.cm-bf-btn--primary{
  color:#fff;
  background:linear-gradient(135deg, #df748b, #c89145);
  box-shadow:0 14px 26px rgba(154,83,64,.24);
}

.cm-bf-panel{ margin-top:24px; padding:32px; background:linear-gradient(135deg, rgba(255,252,247,.90), rgba(255,241,231,.84)); }
.cm-bf-section-head{ max-width:920px; margin:0 auto 28px; text-align:center; }
.cm-bf-section-head .cm-bf-kicker{ margin:0 auto; }
.cm-bf-section-head h2,
.cm-bf-panel h2{ margin:14px 0 0; font-size:clamp(30px, 4vw, 48px); line-height:1.04; }
.cm-bf-section-head p{ max-width:820px; margin:14px auto 0; }
.cm-bf-copy{ max-width:980px; margin:0 auto; }

/* Images héritées de la page Origines */
.cm-bf-hero__photo,
.cm-bf-photo-card{
  margin:0;
  padding:14px;
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,235,222,.64));
  border:1px solid rgba(143,91,62,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76), 0 18px 38px rgba(116,65,38,.1);
}
.cm-bf-img{ display:block; width:100%; aspect-ratio:4/3; object-fit:contain; border-radius:22px; background:#fbf2e8; }
.cm-bf-img--missing{
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  min-height:230px;
  padding:20px;
  border:1px dashed rgba(143,91,62,.28);
  color:#6a432e;
  background:rgba(255,244,235,.78);
  text-align:center;
}

/* Standard */
.cm-bf-standard-list{
  display:grid;
  gap:14px;
}
.cm-bf-standard-list--readable{ max-width:1040px; margin:0 auto; }
.cm-bf-standard-item{
  border:1px solid rgba(143,91,62,.13);
  background:rgba(255,255,255,.70);
  box-shadow:0 14px 30px rgba(116,65,38,.09);
  border-radius:24px;
  padding:18px 20px;
}
.cm-bf-standard-item--repere{
  display:grid;
  grid-template-columns:minmax(190px, 270px) 1fr;
  gap:18px;
  align-items:start;
  background:rgba(255,249,240,.82);
}
.cm-bf-standard-item h3{ margin:0 0 10px; font-size:clamp(20px, 2.5vw, 28px); line-height:1.08; }
.cm-bf-standard-item--repere h3{ margin:0; font-size:18px; letter-spacing:.04em; text-transform:uppercase; }
.cm-bf-standard-item p{ margin:0 0 10px; }
.cm-bf-standard-item p:last-child{ margin-bottom:0; }
.cm-bf-standard-item ul{ margin:8px 0 0; padding-left:22px; color:#654735; line-height:1.7; }
.cm-bf-standard-item li + li{ margin-top:4px; }

/* Évolution / graphique */
.cm-bf-stats{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
  margin-top:24px;
}
.cm-bf-stats article{
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px;
  text-align:center;
}
.cm-bf-stats strong{ color:#9a4a3d; font-size:clamp(26px, 3vw, 38px); line-height:1; }
.cm-bf-stats span{ margin-top:8px; color:#654735; font-size:13px; font-weight:850; line-height:1.25; }
.cm-bf-chart-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  max-width:1040px;
  margin:0 auto 16px;
}
.cm-bf-chart-toolbar output{ color:#6b4a35; font-weight:850; }
.cm-bf-chart-wrap{
  position:relative;
  max-width:1040px;
  margin:0 auto;
  padding:16px;
  border-radius:28px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(143,91,62,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 14px 28px rgba(116,65,38,.08);
}
.cm-bf-chart{ display:block; width:100%; height:auto; touch-action:none; }
.cm-bf-chart [data-cm-bc-grid] line{ stroke:rgba(119,78,52,.18); stroke-width:1; }
.cm-bf-chart [data-cm-bc-axis] text{ fill:#704c35; font-size:18px; font-weight:800; }
.cm-bf-chart [data-cm-bc-line]{ stroke:#c96f59; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.cm-bf-chart [data-cm-bc-points] circle{ fill:#fff7ed; stroke:#b55f4d; stroke-width:3; }
.cm-bf-selection{ fill:rgba(216,111,134,.22); stroke:#d86f86; stroke-width:2; }
.cm-bf-tooltip{
  position:absolute;
  transform:translate(-50%, -115%);
  min-width:110px;
  padding:9px 11px;
  border-radius:14px;
  background:rgba(74,43,27,.92);
  color:#fff;
  text-align:center;
  font-weight:950;
  pointer-events:none;
  box-shadow:0 14px 30px rgba(60,34,20,.2);
}
.cm-bf-tooltip small{ display:block; margin-top:3px; font-size:11px; font-weight:800; opacity:.86; }
.cm-bf-noscript{ max-width:920px; margin:14px auto 0; font-weight:850; }
.cm-bf-data-table{ max-width:920px; margin:22px auto 0; }
.cm-bf-data-table summary{
  cursor:pointer;
  font-weight:950;
  color:#67452e;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(143,91,62,.15);
  border-radius:18px;
  padding:14px 16px;
}
.cm-bf-table-scroll{ overflow:auto; margin-top:12px; border-radius:20px; border:1px solid rgba(143,91,62,.13); }
.cm-bf-data-table table{ width:100%; border-collapse:collapse; background:rgba(255,255,255,.75); }
.cm-bf-data-table th,
.cm-bf-data-table td{ padding:10px 12px; border-bottom:1px solid rgba(143,91,62,.12); text-align:left; color:#5f3f2e; }
.cm-bf-data-table th{ background:rgba(255,232,215,.72); color:#5a2d1d; font-weight:950; }

@media (max-width:1100px){
  .cm-bf-stats{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:960px){
  .cm-bt-dossier__tabs{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .cm-bf-hero{ grid-template-columns:1fr; }
  .cm-bf-standard-item--repere{ grid-template-columns:1fr; }
  .cm-bf-stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:620px){
  .cm-bt-wrap{ width:min(100% - 22px, 1180px); padding-top:20px; }
  .cm-bt-dossier{ border-radius:24px; padding:12px; }
  .cm-bt-dossier__title{ flex-direction:column; align-items:center; gap:6px; }
  .cm-bt-dossier__tabs{ grid-template-columns:1fr; }
  .cm-bt-dossier__tab{ min-height:50px; }
  .cm-bf-page{ padding-top:20px; }
  .cm-bf-hero,
  .cm-bf-panel{ border-radius:26px; padding:22px; }
  .cm-bf-hero::after,
  .cm-bf-panel::after{ inset:9px; border-radius:20px; }
  .cm-bf-footer-nav{ border-radius:26px; padding:18px; }
  .cm-bf-stats{ grid-template-columns:1fr; }
  .cm-bf-chart-wrap{ padding:8px; border-radius:20px; }
}

/* ===============================================================
   PHOTOS ANCIENNES — DOSSIER BOULEDOGUE
   =============================================================== */

.cm-bf-vintage-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.cm-bf-vintage-grid--two{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.cm-bf-vintage-card{
  margin:0;
  padding:14px;
  border-radius:28px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(143,91,62,.13);
  box-shadow:0 14px 30px rgba(116,65,38,.09);
}

.cm-bf-vintage-card img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border-radius:20px;
  background:#fbf2e8;
  filter:sepia(.10) contrast(1.02);
}

.cm-bf-vintage-card--portrait img{
  aspect-ratio:3/4;
}

.cm-bf-vintage-card figcaption{
  padding:11px 7px 0;
  color:#6b4b38;
  text-align:center;
}

.cm-bf-vintage-card figcaption strong,
.cm-bf-vintage-card figcaption small{
  display:block;
}

.cm-bf-vintage-card figcaption strong{
  color:#5d2d1d;
  font-weight:950;
  line-height:1.2;
}

.cm-bf-vintage-card figcaption small{
  margin-top:5px;
  font-size:12px;
  font-weight:780;
  line-height:1.35;
  opacity:.88;
}

.cm-bf-vintage-note{
  max-width:920px;
  margin:18px auto 0;
  padding:14px 18px;
  border-radius:20px;
  color:#6b4b38;
  background:rgba(255,247,238,.74);
  border:1px solid rgba(143,91,62,.12);
  font-size:14px;
  font-weight:760;
  line-height:1.55;
}

.cm-bf-vintage-hero{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:16px;
  align-items:start;
}

.cm-bf-vintage-hero .cm-bf-vintage-card{
  height:100%;
}

.cm-bf-card--photo{
  padding:14px;
}

.cm-bf-card--photo img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:20px;
  background:#fbf2e8;
  filter:sepia(.12) contrast(1.03);
}

.cm-bf-card--photo h3{
  margin:14px 0 7px;
}

@media (max-width:960px){
  .cm-bf-vintage-grid,
  .cm-bf-vintage-grid--two,
  .cm-bf-vintage-hero{
    grid-template-columns:1fr;
  }
}

/* ===============================================================
   CORRECTIF DOSSIER BRANCHÉ + PHOTOS REDIMENSIONNÉES
   =============================================================== */

.cm-bf-dossier .cm-bt-dossier__tabs{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.cm-bf-dossier .cm-bt-dossier__tab{
  min-height:54px;
}

.cm-bf-hero--home .cm-bf-card--photo img,
.cm-bf-card--photo img{
  aspect-ratio:16/11;
  height:auto;
  max-height:360px;
  object-fit:cover;
  object-position:center 38%;
}

.cm-bf-vintage-grid{
  align-items:stretch;
}

.cm-bf-vintage-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.cm-bf-vintage-card img{
  height:auto;
  min-height:0;
  max-height:310px;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center 38%;
}

.cm-bf-vintage-card--portrait img{
  aspect-ratio:4/5;
  max-height:390px;
  object-position:center 34%;
}

.cm-bf-vintage-card figcaption{
  min-height:58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.cm-bf-vintage-grid--home .cm-bf-vintage-card img{
  aspect-ratio:5/6;
  max-height:420px;
}

.cm-bf-dossier-card{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:18px;
  align-items:center;
  min-height:210px;
  padding:18px;
  border-radius:28px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(143,91,62,.13);
  box-shadow:0 14px 30px rgba(116,65,38,.09);
}

.cm-bf-dossier-card img{
  width:150px;
  height:170px;
  object-fit:cover;
  object-position:center 35%;
  border-radius:22px;
  background:#fbf2e8;
  filter:sepia(.12) contrast(1.03);
}

.cm-bf-dossier-card h3{
  margin:0 0 8px;
  color:#5d2d1d;
  font-size:25px;
  line-height:1.08;
}

.cm-bf-dossier-card p{
  margin:0 0 14px;
  color:#654735;
  font-size:16px;
  line-height:1.55;
}

.cm-bf-panel--images .cm-bf-section-head p{
  max-width:860px;
}

@media (max-width:960px){
  .cm-bf-dossier .cm-bt-dossier__tabs{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:620px){
  .cm-bf-dossier .cm-bt-dossier__tabs{
    grid-template-columns:1fr;
  }
  .cm-bf-dossier-card{
    grid-template-columns:1fr;
  }
  .cm-bf-dossier-card img{
    width:100%;
    height:auto;
    aspect-ratio:4/3;
  }
  .cm-bf-vintage-card img,
  .cm-bf-vintage-card--portrait img,
  .cm-bf-vintage-grid--home .cm-bf-vintage-card img{
    max-height:none;
  }
}


/* ===============================================================
   CORRECTIF ORIGINES : RICO + PHOTOS ANCIENNES PLUS ÉLÉGANTES
   =============================================================== */

.cm-page-origin-bouledogue .cm-bf-hero{
  grid-template-columns:minmax(0, 1fr) minmax(240px, 300px);
}

.cm-page-origin-bouledogue .cm-bf-hero__photo{
  max-width:300px;
  justify-self:center;
  padding:12px;
  border-radius:26px;
  transform:rotate(.6deg);
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,238,220,.72));
}

.cm-page-origin-bouledogue .cm-bf-hero__photo .cm-bf-img{
  min-height:0;
  aspect-ratio:1/1;
  height:auto;
  max-height:260px;
  object-fit:contain;
  object-position:center center;
  border-radius:18px;
  filter:sepia(.16) contrast(1.04);
}

.cm-page-origin-bouledogue .cm-bf-hero__photo figcaption{
  padding:10px 6px 2px;
  font-size:13px;
  line-height:1.35;
}

.cm-page-origin-bouledogue .cm-bf-vintage-grid--origines{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  align-items:stretch;
}

.cm-page-origin-bouledogue .cm-bf-photo-card{
  display:flex;
  flex-direction:column;
  padding:12px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,239,224,.70));
}

.cm-page-origin-bouledogue .cm-bf-photo-card .cm-bf-img{
  width:100%;
  height:auto;
  max-height:250px;
  aspect-ratio:4/3;
  object-fit:contain;
  object-position:center center;
  border-radius:18px;
  background:#fff7ec;
  filter:sepia(.12) contrast(1.04);
}

.cm-page-origin-bouledogue .cm-bf-photo-card figcaption{
  min-height:78px;
  padding:10px 6px 2px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  text-align:center;
}

.cm-page-origin-bouledogue .cm-bf-photo-card figcaption strong{
  color:#5d2d1d;
  font-size:15px;
}

.cm-page-origin-bouledogue .cm-bf-photo-card figcaption small{
  color:#7a5a44;
  font-size:12px;
  line-height:1.35;
}

.cm-page-origin-bouledogue .cm-bf-story-card .cm-bf-img{
  height:auto;
  max-height:220px;
  object-fit:contain;
  background:#fff7ec;
}

@media (max-width:960px){
  .cm-page-origin-bouledogue .cm-bf-hero{
    grid-template-columns:1fr;
  }
  .cm-page-origin-bouledogue .cm-bf-hero__photo{
    max-width:280px;
  }
  .cm-page-origin-bouledogue .cm-bf-vintage-grid--origines{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:620px){
  .cm-page-origin-bouledogue .cm-bf-vintage-grid--origines{
    grid-template-columns:1fr;
  }
  .cm-page-origin-bouledogue .cm-bf-photo-card .cm-bf-img{
    max-height:none;
  }
}

/* ===============================================================
   Correctif présentation page Origines Bouledogue Français
   =============================================================== */

.cm-page-origin-bouledogue .cm-bf-origin-hero{
  grid-template-columns:minmax(0, 1fr) minmax(250px, 310px);
  min-height:390px;
  padding:clamp(26px, 4vw, 44px);
}

.cm-page-origin-bouledogue .cm-bf-origin-hero .cm-bf-hero__content{
  max-width:760px;
}

.cm-bf-rico-showcase{
  margin:0;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:12px;
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,240,226,.70));
  border:1px solid rgba(126,77,48,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86), 0 18px 38px rgba(116,65,38,.12);
}

.cm-bf-rico-frame{
  display:grid;
  place-items:center;
  min-height:280px;
  border-radius:22px;
  background:linear-gradient(180deg, #fff7e6, #eadcbf);
  border:1px solid rgba(100,67,42,.16);
  overflow:hidden;
}

.cm-bf-img--rico{
  width:100%;
  height:100%;
  max-height:320px;
  aspect-ratio:1/1;
  object-fit:contain;
  padding:10px;
  background:transparent;
  border-radius:18px;
}

.cm-bf-rico-showcase figcaption{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:0 8px 4px;
  color:#66442e;
  text-align:center;
}
.cm-bf-rico-showcase figcaption strong{
  color:#5d2d1d;
  font-size:20px;
  line-height:1.1;
}
.cm-bf-rico-showcase figcaption span{
  font-size:13px;
  font-weight:780;
  opacity:.78;
}

.cm-bf-origin-intro{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 180px;
  gap:22px;
  align-items:center;
}
.cm-bf-origin-intro__text h2{
  max-width:820px;
}
.cm-bf-origin-intro__text p{
  max-width:920px;
}
.cm-bf-origin-intro__photo{
  align-self:stretch;
  display:grid;
  place-items:center;
  min-height:190px;
  padding:10px;
  border-radius:26px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(143,91,62,.12);
  box-shadow:0 12px 26px rgba(116,65,38,.08);
}
.cm-bf-origin-intro__photo .cm-bf-img{
  width:100%;
  height:100%;
  max-height:210px;
  object-fit:cover;
  object-position:center;
  border-radius:20px;
}

.cm-bf-origin-steps{
  display:grid;
  gap:18px;
  margin-top:24px;
}
.cm-bf-origin-step{
  position:relative;
  display:grid;
  grid-template-columns:130px minmax(0, 1fr) 220px;
  gap:20px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:34px;
  background:linear-gradient(135deg, rgba(255,252,247,.92), rgba(255,241,231,.82));
  box-shadow:0 20px 48px rgba(116,65,38,.12);
  overflow:hidden;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.cm-bf-origin-step::after{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(152,92,56,.13);
  border-radius:26px;
  pointer-events:none;
}
.cm-bf-origin-step > *{
  position:relative;
  z-index:1;
}
.cm-bf-origin-step__date{
  display:grid;
  place-items:center;
  align-content:center;
  min-height:116px;
  padding:14px;
  border-radius:28px;
  color:#fff;
  text-align:center;
  background:linear-gradient(135deg, #d86f86, #c89145);
  box-shadow:0 14px 26px rgba(154,83,64,.20);
}
.cm-bf-origin-step__date strong{
  display:block;
  font-size:clamp(28px, 3vw, 42px);
  line-height:.95;
}
.cm-bf-origin-step__date span{
  display:block;
  margin-top:6px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cm-bf-origin-step__body h2{
  margin:0 0 12px;
  color:#5d2d1d;
  font-size:clamp(25px, 3vw, 36px);
  line-height:1.05;
  text-shadow:0 2px 0 rgba(255,255,255,.65);
}
.cm-bf-origin-step__body p{
  margin:0;
  color:#654735;
  font-size:17px;
  line-height:1.72;
}
.cm-bf-origin-step__body p + p{
  margin-top:10px;
}
.cm-bf-origin-step__photo{
  margin:0;
  padding:10px;
  border-radius:26px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(143,91,62,.13);
  box-shadow:0 12px 26px rgba(116,65,38,.08);
}
.cm-bf-origin-step__photo .cm-bf-img{
  width:100%;
  height:180px;
  object-fit:cover;
  object-position:center;
  border-radius:20px;
}
.cm-bf-origin-step--reverse{
  grid-template-columns:130px minmax(0, 1fr) 220px;
}

.cm-page-origin-bouledogue .cm-bf-origin-facts{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  padding:26px;
}
.cm-page-origin-bouledogue .cm-bf-origin-facts article{
  min-height:112px;
}
.cm-page-origin-bouledogue .cm-bf-origin-facts strong{
  white-space:nowrap;
}

.cm-bf-origin-timeline .cm-bf-timeline{
  max-width:980px;
}
.cm-bf-origin-timeline .cm-bf-timeline article{
  grid-template-columns:96px 1fr;
}

.cm-bf-origin-salons{
  grid-template-columns:minmax(0, 1.08fr) minmax(280px, .72fr);
}
.cm-bf-origin-photo-pair{
  gap:14px;
}
.cm-bf-origin-photo-pair .cm-bf-vintage-card{
  padding:10px;
  border-radius:26px;
}
.cm-bf-origin-photo-pair .cm-bf-img{
  height:220px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center 42%;
  border-radius:20px;
}
.cm-bf-origin-photo-pair figcaption{
  padding-top:8px;
}
.cm-bf-origin-photo-pair figcaption strong{
  font-size:14px;
}

.cm-bf-origin-ears .cm-bf-note-grid article{
  background:rgba(255,255,255,.68);
}

.cm-bf-origin-breeder{
  background:
    radial-gradient(circle at 12% 18%, rgba(255,213,195,.42), transparent 28%),
    linear-gradient(135deg, rgba(255,252,247,.92), rgba(255,239,227,.86));
}
.cm-bf-origin-breeder p{
  font-size:18px;
}

@media (max-width:1100px){
  .cm-page-origin-bouledogue .cm-bf-origin-facts{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .cm-bf-origin-step{
    grid-template-columns:110px minmax(0, 1fr) 190px;
  }
}

@media (max-width:920px){
  .cm-page-origin-bouledogue .cm-bf-origin-hero,
  .cm-bf-origin-intro,
  .cm-bf-origin-salons{
    grid-template-columns:1fr;
  }
  .cm-bf-rico-showcase{
    max-width:360px;
    margin-inline:auto;
  }
  .cm-bf-origin-intro__photo{
    display:none;
  }
  .cm-bf-origin-step,
  .cm-bf-origin-step--reverse{
    grid-template-columns:1fr;
  }
  .cm-bf-origin-step__date{
    width:min(220px, 100%);
    min-height:78px;
  }
  .cm-bf-origin-step__photo .cm-bf-img{
    height:260px;
  }
  .cm-page-origin-bouledogue .cm-bf-origin-facts{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:620px){
  .cm-page-origin-bouledogue .cm-bf-origin-hero{
    padding:22px;
  }
  .cm-bf-rico-frame{
    min-height:230px;
  }
  .cm-bf-origin-step{
    padding:18px;
    border-radius:26px;
  }
  .cm-bf-origin-step::after{
    inset:9px;
    border-radius:20px;
  }
  .cm-bf-origin-step__body p,
  .cm-bf-origin-breeder p{
    font-size:16px;
  }
  .cm-bf-origin-step__photo .cm-bf-img{
    height:220px;
  }
  .cm-page-origin-bouledogue .cm-bf-origin-facts{
    grid-template-columns:1fr;
  }
  .cm-bf-origin-photo-pair .cm-bf-img{
    height:240px;
  }
}

/* ===============================================================
   Refonte page Origines : version récit complet + présentation apaisée
   =============================================================== */

.cm-bf-origin-redesign{
  --cm-bf-paper: rgba(255,250,243,.88);
  --cm-bf-paper-strong: rgba(255,252,248,.94);
  --cm-bf-ink: #5f3f2d;
  --cm-bf-title: #5b2c1d;
}

.cm-bf-origin-redesign .cm-bf-origin-cover,
.cm-bf-origin-redesign .cm-bf-origin-layout,
.cm-bf-origin-redesign .cm-bf-origin-closing{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.74);
  border-radius:36px;
  background:linear-gradient(135deg, rgba(255,252,247,.90), rgba(255,241,230,.82));
  box-shadow:0 22px 58px rgba(116,65,38,.14);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.cm-bf-origin-redesign .cm-bf-origin-cover::after,
.cm-bf-origin-redesign .cm-bf-origin-layout::after,
.cm-bf-origin-redesign .cm-bf-origin-closing::after{
  content:"";
  position:absolute;
  inset:13px;
  border:1px solid rgba(152,92,56,.13);
  border-radius:28px;
  pointer-events:none;
}

.cm-bf-origin-cover > *,
.cm-bf-origin-layout > *,
.cm-bf-origin-closing > *{
  position:relative;
  z-index:1;
}

.cm-bf-origin-cover{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(230px, 330px);
  gap:clamp(22px, 4vw, 42px);
  align-items:center;
  min-height:420px;
  padding:clamp(28px, 5vw, 52px);
  background:
    radial-gradient(circle at 82% 12%, rgba(255,218,197,.44), transparent 30%),
    linear-gradient(135deg, rgba(255,253,248,.92), rgba(255,239,226,.78));
}

.cm-bf-origin-cover__text{
  max-width:850px;
}

.cm-bf-origin-cover h1{
  margin:18px 0 18px;
  color:var(--cm-bf-title);
  font-size:clamp(42px, 6.7vw, 82px);
  line-height:.94;
  text-shadow:0 2px 0 rgba(255,255,255,.70);
}

.cm-bf-origin-lead,
.cm-bf-origin-cover p{
  margin:0;
  color:var(--cm-bf-ink);
  font-size:clamp(17px, 1.5vw, 20px);
  line-height:1.76;
}

.cm-bf-origin-cover p + p{
  margin-top:14px;
}

.cm-bf-origin-cover__media{
  min-width:0;
}

.cm-bf-origin-rico-card{
  margin:0;
  padding:14px;
  border-radius:30px;
  transform:rotate(.6deg);
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,239,224,.72));
  border:1px solid rgba(126,77,48,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88), 0 18px 38px rgba(116,65,38,.12);
}

.cm-bf-origin-rico-card__img{
  display:grid;
  place-items:center;
  min-height:275px;
  border-radius:23px;
  overflow:hidden;
  background:linear-gradient(180deg, #fff8e8, #eadfc6);
  border:1px solid rgba(100,67,42,.15);
}

.cm-bf-origin-rico-card .cm-bf-img{
  width:100%;
  height:100%;
  max-height:315px;
  aspect-ratio:1/1;
  padding:10px;
  object-fit:contain;
  background:transparent;
  border-radius:18px;
  filter:sepia(.12) contrast(1.03);
}

.cm-bf-origin-rico-card figcaption{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:11px 8px 2px;
  text-align:center;
  color:#66442e;
}

.cm-bf-origin-rico-card figcaption strong{
  color:var(--cm-bf-title);
  font-size:22px;
  line-height:1.1;
}

.cm-bf-origin-rico-card figcaption span{
  font-size:13px;
  font-weight:780;
  opacity:.78;
}

.cm-bf-origin-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(270px, 330px);
  gap:clamp(24px, 4vw, 42px);
  margin-top:24px;
  padding:clamp(24px, 4vw, 42px);
}

.cm-bf-origin-article{
  display:grid;
  gap:22px;
  min-width:0;
}

.cm-bf-origin-chapter{
  padding:clamp(22px, 3.2vw, 34px);
  border-radius:30px;
  background:var(--cm-bf-paper);
  border:1px solid rgba(143,91,62,.12);
  box-shadow:0 14px 32px rgba(116,65,38,.08);
}

.cm-bf-origin-chapter--soft{
  background:
    radial-gradient(circle at 92% 10%, rgba(255,205,190,.30), transparent 30%),
    rgba(255,250,243,.88);
}

.cm-bf-origin-chapter--breeder{
  background:
    radial-gradient(circle at 10% 12%, rgba(255,218,194,.40), transparent 34%),
    linear-gradient(135deg, rgba(255,252,247,.92), rgba(255,239,227,.86));
}

.cm-bf-origin-tag{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:0 0 12px;
  padding:7px 12px;
  border-radius:999px;
  color:#7d3b32;
  background:linear-gradient(135deg, rgba(255,190,205,.90), rgba(255,221,151,.90));
  font-size:12px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.cm-bf-origin-chapter h2,
.cm-bf-origin-closing h2,
.cm-bf-origin-side-card h2{
  margin:0 0 14px;
  color:var(--cm-bf-title);
  font-size:clamp(28px, 3.7vw, 44px);
  line-height:1.06;
  text-shadow:0 2px 0 rgba(255,255,255,.65);
}

.cm-bf-origin-chapter p{
  margin:0;
  color:var(--cm-bf-ink);
  font-size:18px;
  line-height:1.82;
}

.cm-bf-origin-chapter p + p{
  margin-top:13px;
}

.cm-bf-origin-photo-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  padding:14px;
  border-radius:30px;
  background:rgba(255,250,244,.62);
  border:1px solid rgba(255,255,255,.70);
  box-shadow:0 14px 32px rgba(116,65,38,.08);
}

.cm-bf-origin-figure{
  margin:0;
  padding:10px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,238,222,.68));
  border:1px solid rgba(143,91,62,.12);
  box-shadow:0 10px 20px rgba(116,65,38,.07);
}

.cm-bf-origin-figure .cm-bf-img{
  width:100%;
  height:190px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  background:#fff7ec;
  filter:sepia(.10) contrast(1.03);
}

.cm-bf-origin-figure figcaption{
  padding:9px 4px 0;
  color:#6b4b38;
  font-size:13px;
  font-weight:880;
  line-height:1.35;
  text-align:center;
}

.cm-bf-origin-side{
  display:grid;
  align-content:start;
  gap:18px;
  min-width:0;
}

.cm-bf-origin-side-card{
  padding:20px;
  border-radius:30px;
  background:rgba(255,250,243,.82);
  border:1px solid rgba(143,91,62,.12);
  box-shadow:0 14px 32px rgba(116,65,38,.09);
}

.cm-bf-origin-side-card h2{
  margin-bottom:16px;
  font-size:clamp(24px, 2.7vw, 32px);
}

.cm-bf-origin-side-card--timeline ol{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.cm-bf-origin-side-card--timeline li{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:10px;
  align-items:start;
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(143,91,62,.10);
}

.cm-bf-origin-side-card--timeline li strong{
  color:#9a4a3d;
  font-size:17px;
  line-height:1.1;
}

.cm-bf-origin-side-card--timeline li span{
  color:#654735;
  font-size:13px;
  font-weight:780;
  line-height:1.36;
}

.cm-bf-origin-side-card--photos{
  display:grid;
  gap:13px;
}

.cm-bf-origin-side-card--photos .cm-bf-origin-figure .cm-bf-img{
  height:215px;
}

.cm-bf-origin-closing{
  margin-top:24px;
  padding:clamp(24px, 4vw, 42px);
  background:
    radial-gradient(circle at 12% 20%, rgba(255,213,195,.38), transparent 28%),
    linear-gradient(135deg, rgba(255,252,247,.92), rgba(255,239,227,.84));
}

.cm-bf-origin-closing > div{
  max-width:980px;
  margin:0 auto;
  text-align:center;
}

.cm-bf-origin-closing p{
  margin:14px auto 0;
  max-width:920px;
  color:var(--cm-bf-ink);
  font-size:18px;
  line-height:1.82;
}

@media (max-width:1040px){
  .cm-bf-origin-layout{
    grid-template-columns:1fr;
  }
  .cm-bf-origin-side{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }
}

@media (max-width:860px){
  .cm-bf-origin-cover{
    grid-template-columns:1fr;
  }
  .cm-bf-origin-cover__media{
    max-width:340px;
    margin-inline:auto;
  }
  .cm-bf-origin-photo-strip,
  .cm-bf-origin-side{
    grid-template-columns:1fr;
  }
  .cm-bf-origin-photo-strip .cm-bf-origin-figure .cm-bf-img{
    height:240px;
  }
}

@media (max-width:620px){
  .cm-bf-origin-redesign .cm-bf-origin-cover,
  .cm-bf-origin-redesign .cm-bf-origin-layout,
  .cm-bf-origin-redesign .cm-bf-origin-closing{
    border-radius:26px;
  }
  .cm-bf-origin-redesign .cm-bf-origin-cover::after,
  .cm-bf-origin-redesign .cm-bf-origin-layout::after,
  .cm-bf-origin-redesign .cm-bf-origin-closing::after{
    inset:9px;
    border-radius:20px;
  }
  .cm-bf-origin-cover,
  .cm-bf-origin-layout,
  .cm-bf-origin-closing{
    padding:22px;
  }
  .cm-bf-origin-chapter{
    padding:20px;
    border-radius:24px;
  }
  .cm-bf-origin-chapter p,
  .cm-bf-origin-closing p{
    font-size:16px;
    line-height:1.76;
  }
  .cm-bf-origin-side-card--timeline li{
    grid-template-columns:1fr;
  }
  .cm-bf-origin-figure .cm-bf-img,
  .cm-bf-origin-side-card--photos .cm-bf-origin-figure .cm-bf-img{
    height:230px;
  }
}
