/* ===============================================================
   ÉLEVAGE PUBLIC — CROCS.MINILUS
   =============================================================== */

.cm-page-elevage-public{
  min-height:100vh;
  background-color:#fff2df;
  background-image:
    linear-gradient(180deg, rgba(255,244,233,.24) 0%, rgba(255,241,230,.38) 100%),
    url('/assets/images/bg-nos-chiens-celebration.webp');
  background-position:center top, center top;
  background-size:100% 100%, 100% auto;
  background-repeat:no-repeat, no-repeat;
  color:#342217;
}

.cm-elevage-page{
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
  padding:34px 0 64px;
}

.cm-elevage-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 310px;
  gap:24px;
  align-items:stretch;
  margin-bottom:24px;
}

.cm-elevage-hero--full{
  grid-template-columns:minmax(0, 1fr);
}

.cm-elevage-hero__content,
.cm-elevage-review,
.cm-elevage-panel,
.cm-elevage-card{
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,250,244,.88);
  box-shadow:0 22px 54px rgba(116,65,38,.14);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.cm-elevage-hero__content{
  position:relative;
  overflow:hidden;
  min-height:360px;
  padding:38px;
  border-radius:34px;
  background:linear-gradient(180deg, rgba(255,251,246,.9), rgba(255,246,238,.78));
}

.cm-elevage-hero__content::after{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(211,142,99,.22);
  border-radius:24px;
  pointer-events:none;
}

.cm-elevage-kicker,
.cm-elevage-section-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  padding:8px 13px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,185,202,.92), rgba(255,219,151,.92));
  color:#7b3d34;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.cm-elevage-hero h1{
  max-width:720px;
  margin:16px 0 14px;
  font-size:clamp(34px, 5vw, 64px);
  line-height:.96;
  color:#5d2d1d;
  text-shadow:0 2px 0 rgba(255,255,255,.65);
}

.cm-elevage-hero p{
  max-width:700px;
  margin:0;
  color:#644937;
  font-size:18px;
  line-height:1.7;
}

.cm-elevage-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.cm-elevage-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.cm-elevage-btn:hover{ transform:translateY(-2px); }
.cm-elevage-btn--primary{
  color:#fff;
  background:linear-gradient(135deg, #df748b, #c89145);
  box-shadow:0 14px 26px rgba(154,83,64,.24);
}
.cm-elevage-btn--soft{
  color:#67452e;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(143,91,62,.14);
}

.cm-elevage-review{
  border-radius:30px;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}

.cm-elevage-stars{
  position:relative;
  display:inline-flex;
  gap:6px;
  align-self:center;
  justify-self:center;
}

.cm-elevage-stars__base,
.cm-elevage-stars__fill{
  display:inline-flex;
  gap:6px;
}

.cm-elevage-stars__fill{
  position:absolute;
  left:0;
  top:0;
  overflow:hidden;
  white-space:nowrap;
}

.cm-elevage-stars__star{
  width:28px;
  height:28px;
  background:url('/assets/images/review-star-gold.png') center/contain no-repeat;
  display:block;
  flex:0 0 28px;
}

.cm-elevage-stars__base .cm-elevage-stars__star{
  opacity:.18;
  filter:grayscale(1) brightness(1.2);
}

.cm-elevage-stars__fill .cm-elevage-stars__star{
  filter:drop-shadow(0 3px 6px rgba(173,115,20,.18));
}

.cm-elevage-review strong{
  margin-top:12px;
  font-size:52px;
  line-height:1;
  color:#5d2d1d;
}
.cm-elevage-review span{
  margin-top:4px;
  color:#7b5942;
  font-weight:900;
}
.cm-elevage-review p{
  margin:16px 0 0;
  color:#664a39;
  line-height:1.6;
  font-size:15px;
}
.cm-elevage-review small{
  margin-top:14px;
  color:#927461;
  line-height:1.45;
}
.cm-elevage-review__btn{
  margin-top:16px;
  align-self:center;
}

.cm-elevage-panel{
  border-radius:32px;
  padding:30px;
  margin-top:24px;
}
.cm-elevage-panel--intro{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(260px, .72fr) minmax(0, 1.28fr);
  gap:24px;
  align-items:stretch;
  padding:34px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,190,205,.25), transparent 30%),
    linear-gradient(135deg, rgba(255,252,247,.92), rgba(255,243,233,.84));
}
.cm-elevage-panel--intro::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(169,104,64,.14);
  border-radius:24px;
  pointer-events:none;
}
.cm-elevage-intro__title,
.cm-elevage-intro__text{
  position:relative;
  z-index:1;
}
.cm-elevage-intro__title{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:260px;
  padding:28px;
  border-radius:28px;
  background:linear-gradient(145deg, rgba(255,255,255,.68), rgba(255,233,220,.58));
  border:1px solid rgba(143,91,62,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.cm-elevage-intro__text{
  display:grid;
  align-content:center;
  gap:16px;
  padding:28px 30px;
  border-radius:28px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(143,91,62,.1);
  box-shadow:0 16px 34px rgba(116,65,38,.08);
}
.cm-elevage-panel--intro p{
  margin:0;
  color:#5f4636;
  line-height:1.78;
  font-size:16px;
}
.cm-elevage-intro__stamp{
  display:inline-flex;
  width:max-content;
  margin-top:20px;
  padding:9px 14px;
  border-radius:999px;
  color:#7b3d34;
  font-size:13px;
  font-weight:900;
  background:linear-gradient(135deg, rgba(255,185,202,.78), rgba(255,219,151,.78));
  border:1px solid rgba(143,91,62,.12);
  box-shadow:0 10px 22px rgba(116,65,38,.08);
}
.cm-elevage-intro__highlights{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:4px;
}
.cm-elevage-intro__highlights span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  color:#754131;
  font-size:13px;
  font-weight:900;
  background:rgba(255,247,241,.82);
  border:1px solid rgba(143,91,62,.12);
}
.cm-elevage-panel h2{
  margin:12px 0 0;
  font-size:clamp(30px, 4.1vw, 48px);
  color:#5b2d1f;
  line-height:1.02;
}

.cm-elevage-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.cm-elevage-card{
  border-radius:26px;
  padding:22px;
}
.cm-elevage-card__icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:18px;
  background:rgba(255,210,190,.55);
  font-size:24px;
}
.cm-elevage-card h2{
  margin:16px 0 9px;
  font-size:22px;
  color:#5b2d1f;
}
.cm-elevage-card p{
  margin:0;
  color:#654b3a;
  line-height:1.65;
}

.cm-elevage-section-head{
  text-align:center;
  max-width:820px;
  margin:0 auto 24px;
}
.cm-elevage-section-head .cm-elevage-section-label{ margin:0 auto; }
.cm-elevage-section-head p{
  margin:14px auto 0;
  color:#664a39;
  line-height:1.7;
}
.cm-elevage-breeds{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.cm-elevage-breeds article{
  padding:24px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.7), rgba(255,246,236,.88));
  border:1px solid rgba(143,91,62,.12);
}
.cm-elevage-breeds h3{
  margin:0 0 10px;
  font-size:26px;
  color:#5b2d1f;
}
.cm-elevage-breeds p{
  margin:0;
  color:#604737;
  line-height:1.7;
}
.cm-elevage-breeds a{
  display:inline-flex;
  margin-top:16px;
  color:#9d4e43;
  font-weight:900;
  text-decoration:none;
}

.cm-elevage-panel--visit{
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:24px;
  align-items:center;
}
.cm-elevage-visit__text p{
  margin:12px 0 0;
  color:#604737;
  line-height:1.75;
}
.cm-elevage-visit__box{
  display:grid;
  gap:10px;
  padding:24px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,247,240,.92));
  border:1px solid rgba(143,91,62,.12);
}
.cm-elevage-visit__box strong{
  font-size:26px;
  color:#5d2d1d;
}
.cm-elevage-visit__box span{
  color:#654b3a;
}


/* ---------------------------------------------------------------
   Bloc historique de l’élevage
   --------------------------------------------------------------- */
.cm-elevage-panel--history{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(320px, .98fr);
  gap:30px;
  align-items:center;
  background:
    radial-gradient(circle at 86% 14%, rgba(255,190,205,.32), transparent 28%),
    radial-gradient(circle at 9% 85%, rgba(255,219,151,.34), transparent 34%),
    linear-gradient(135deg, rgba(255,252,247,.94), rgba(255,241,228,.9));
}
.cm-elevage-panel--history::before{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(169,104,64,.16);
  border-radius:24px;
  pointer-events:none;
}
.cm-elevage-history__text,
.cm-elevage-history__people{
  position:relative;
  z-index:1;
}
.cm-elevage-history__text p{
  margin:14px 0 0;
  color:#604737;
  line-height:1.78;
  font-size:16px;
}
.cm-elevage-history__badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.cm-elevage-history__badges span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  color:#754131;
  font-size:13px;
  font-weight:900;
  background:linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,229,214,.88));
  border:1px solid rgba(143,91,62,.14);
  box-shadow:0 10px 22px rgba(116,65,38,.08);
}
.cm-elevage-history__people{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  align-items:start;
}
.cm-elevage-person{
  position:relative;
  margin:0;
  padding:12px 12px 0;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,246,237,.96));
  border:1px solid rgba(143,91,62,.14);
  box-shadow:0 18px 34px rgba(116,65,38,.12);
  transform:rotate(-0.65deg);
}
.cm-elevage-person--valerie{
  transform:rotate(0.65deg);
}
.cm-elevage-person img{
  display:block;
  width:100%;
  height:auto;
  max-height:560px;
  margin:0 auto;
  object-fit:contain;
  background:linear-gradient(180deg, #f9f1e9, #fffaf6);
  border-radius:22px;
  border:1px solid rgba(103,65,42,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
}
.cm-elevage-person figcaption{
  display:grid;
  gap:3px;
  padding:13px 7px 15px;
  text-align:center;
}
.cm-elevage-person figcaption strong{
  color:#5d2d1d;
  font-size:18px;
  line-height:1.1;
}
.cm-elevage-person figcaption span{
  color:#86614a;
  font-size:13px;
  font-weight:800;
}

@media (max-width: 1040px){
  .cm-elevage-hero,
  .cm-elevage-panel--visit,
  .cm-elevage-panel--intro,
  .cm-elevage-panel--history{
    grid-template-columns:1fr;
  }
  .cm-elevage-intro__title{
    min-height:0;
  }
  .cm-elevage-person--valerie{
    transform:rotate(0.65deg);
  }
  .cm-elevage-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 760px){
  .cm-elevage-page{
    width:min(100% - 24px, 100%);
    padding:22px 0 44px;
  }
  .cm-elevage-hero__content,
  .cm-elevage-review,
  .cm-elevage-panel,
  .cm-elevage-card,
  .cm-elevage-breeds article,
  .cm-elevage-visit__box{
    border-radius:24px;
  }
  .cm-elevage-hero__content{
    padding:26px;
    min-height:320px;
    background:linear-gradient(180deg, rgba(255,251,246,.9), rgba(255,246,238,.82));
  }
  .cm-elevage-hero p{font-size:16px;}
  .cm-elevage-grid,
  .cm-elevage-breeds,
  .cm-elevage-history__people{
    grid-template-columns:1fr;
  }
  .cm-elevage-panel--history::before,
  .cm-elevage-panel--intro::before{
    inset:10px;
    border-radius:20px;
  }
  .cm-elevage-panel--intro{
    padding:22px;
  }
  .cm-elevage-intro__title,
  .cm-elevage-intro__text{
    padding:22px;
    border-radius:22px;
  }
  .cm-elevage-person,
  .cm-elevage-person--valerie{
    transform:none;
  }
  .cm-elevage-person img{
    max-height:none;
  }
}
