/* Cycles Blain — pages « Tous nos magasins » et « Vos magasins à Lyon » (cbvitrine 1.7.2). S'appuie sur magasin-1.7.1.css (.cbm). */
.cbmh-hero{position:relative;height:540px;overflow:hidden;background:#2a2621}
.cbmh-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cbmh-hero-voile{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,26,23,.82) 0%,rgba(28,26,23,.5) 50%,rgba(28,26,23,.08) 80%)}
.cbmh-hero-centre{position:absolute;inset:0;display:flex;align-items:center}
.cbmh-hero-txt{width:100%;display:flex;flex-direction:column;gap:16px;color:#fff}
.cbm h1.cbmh-h1{max-width:780px;font-size:clamp(34px,4.8vw,58px)!important}
.cbmh-pastilles{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.cbmh-pastilles span{padding:10px 16px;border-radius:999px;background:#fff;color:var(--cbm-encre);font-size:15px;font-weight:800}

.cbmh-plan{margin-top:40px;border-radius:28px;overflow:hidden;border:1px solid var(--cbm-trait)}
.cbmh-plan svg{display:block;width:100%;height:auto;aspect-ratio:1100/560;font-family:Montserrat,Arial,sans-serif}
.cbmh-pin{cursor:pointer}
.cbmh-pin:hover circle:first-of-type,.cbmh-pin:focus circle:first-of-type{fill:var(--cbm-bleu)}
.cbmh-pin:hover rect{stroke:var(--cbm-bleu)}

.cbmh-zone{margin-top:64px;display:flex;flex-direction:column;gap:20px}
.cbmh-zone-tete{display:flex;align-items:baseline;gap:14px}
.cbmh-zone-tete span{font-size:15px;font-weight:700;color:var(--cbm-cuivre)}
.cbmh-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cbmh-grille-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:48px}

.cbmh-carte{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--cbm-trait);box-shadow:0 10px 30px rgba(28,26,23,.06)}
.cbm .cbmh-carte-photo{position:relative;display:block;height:170px;background:var(--cbm-sable)}
.cbmh-carte-grande .cbmh-carte-photo{height:220px}
.cbmh-carte-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cbmh-carte:hover .cbmh-carte-photo img{transform:scale(1.03)}
.cbmh-carte-photo .cbm-statut{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:#fff;font-size:12px;font-weight:800}
.cbmh-carte-corps{flex:1;display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px}
.cbm .cbmh-carte-nom{font-size:18px!important;line-height:1.2!important;font-weight:800!important}
.cbmh-carte-grande .cbmh-carte-nom{font-size:21px!important}
.cbm .cbmh-carte-nom a{color:var(--cbm-encre)}
.cbmh-carte-accroche{font-size:14px;line-height:1.5;color:var(--cbm-texte)}
.cbmh-carte-adr{font-size:14px;line-height:1.4;color:var(--cbm-texte)}
.cbm .cbmh-carte-tel{font-size:18px;font-weight:800;color:var(--cbm-encre)}
.cbmh-carte-btns{margin-top:auto;display:grid;grid-template-columns:1.4fr 1fr;gap:8px;padding-top:6px}
.cbm .cbmh-voir,.cbm .cbmh-aller{display:flex;align-items:center;justify-content:center;gap:6px;height:46px;border-radius:14px;font-size:14px;font-weight:800;text-decoration:none}
.cbm .cbmh-voir{background:var(--cbm-bleu);color:#fff}
.cbm .cbmh-voir:hover{background:#08427c;color:#fff}
.cbm .cbmh-aller{background:var(--cbm-fond);color:var(--cbm-encre)}
.cbm .cbmh-aller:hover{background:var(--cbm-sable)}
.cbm .cbmh-tuile-lyon{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:26px;border-radius:24px;background:var(--cbm-bleu);color:#fff;text-decoration:none}
.cbmh-tuile-sur{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#cfe0f4}
.cbmh-tuile-lyon strong{font-size:26px;line-height:1.2;font-weight:800}
.cbmh-tuile-btn{align-self:flex-start;padding:10px 16px;border-radius:999px;background:#fff;color:var(--cbm-bleu);font-size:14px;font-weight:800}

.cbmh-bandeau{margin-top:72px;display:flex;flex-wrap:wrap;gap:16px}
.cbm .cbmh-giant{flex:3 1 520px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:32px 36px;border-radius:28px;background:var(--cbm-creme);color:var(--cbm-encre);text-decoration:none}
.cbmh-giant > span:first-child{display:flex;flex-direction:column;gap:8px}
.cbmh-giant strong{font-size:26px;line-height:1.2;font-weight:800}
.cbmh-giant > span:first-child > span:last-child{font-size:15px;color:var(--cbm-texte)}
.cbm .cbmh-noir{align-self:flex-start;padding:12px 20px;border-radius:999px;background:var(--cbm-encre);color:#fff;font-size:15px;font-weight:800;text-decoration:none}
.cbmh-note{flex:2 1 340px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:28px;border-radius:28px;border:1px solid var(--cbm-trait);text-align:center}
.cbmh-note strong{font-size:64px;line-height:1;font-weight:800}
.cbmh-note strong span{font-size:30px;color:#8e8e93}
.cbmh-note > span:last-child{font-size:14px;color:var(--cbm-gris)}
.cbmh-etoiles{color:#f5a623;letter-spacing:2px}
.cbmh-liens{margin-top:56px;display:flex;flex-wrap:wrap;gap:10px}
.cbm .cbmh-liens a{padding:12px 20px;border-radius:999px;background:var(--cbm-fond);font-size:15px;font-weight:700;color:var(--cbm-encre);text-decoration:none}
.cbm .cbmh-liens a:hover{background:var(--cbm-sable)}

/* Vos magasins à Lyon */
.cbmh-rdv{margin-top:28px}
.cbmh-autres{margin-top:4px}
.cbm .cbmh-autres a{color:var(--cbm-encre);font-weight:600;text-decoration:none}
.cbmh-services{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.cbm .cbmh-services a{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:22px;background:var(--cbm-fond);color:var(--cbm-encre);text-decoration:none}
.cbm .cbmh-services a:hover{background:var(--cbm-sable)}
.cbmh-services strong{font-size:17px;line-height:1.25;font-weight:800}
.cbmh-services span{font-size:13px;line-height:1.4;color:var(--cbm-gris)}
.cbm .cbmh-services .cbmh-services-btn{margin-top:auto;padding-top:6px;font-size:14px;font-weight:800;color:var(--cbm-bleu)}
.cbmh-famille{flex-direction:row;flex-wrap:wrap;align-items:center;gap:40px}
.cbmh-famille img{flex:1 1 440px;min-width:0;height:360px;object-fit:cover;border-radius:28px}
.cbmh-famille > div{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:14px}
.cbmh-famille p{font-size:16px;line-height:1.65;color:var(--cbm-texte)}
.cbmh-chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cbmh-chiffres div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 20px;border-radius:26px;background:var(--cbm-creme);text-align:center}
.cbmh-chiffres strong{font-size:64px;line-height:1;font-weight:800}
.cbmh-chiffres small{font-size:28px;color:#8e8e93}
.cbmh-chiffres div > span{font-size:14px;font-weight:600;color:var(--cbm-cuivre)}
.cbmh-capital{margin-top:20px!important;text-align:center;font-size:14px;color:var(--cbm-gris)}
.cbm .cbmh-capital a{text-decoration:underline}

@media (max-width:1100px){
  .cbmh-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cbmh-grille-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cbmh-services{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  .cbmh-hero{height:400px}
  .cbmh-hero-voile{background:linear-gradient(180deg,rgba(28,26,23,.1) 0%,rgba(28,26,23,.05) 30%,rgba(28,26,23,.85) 100%)}
  .cbmh-hero-centre{align-items:flex-end;padding-bottom:24px}
  .cbmh-hero-txt{gap:10px}
  .cbmh-hero-txt .cbm-ariane,.cbmh-hero-txt .cbm-accroche{display:none}
  .cbm h1.cbmh-h1{font-size:32px!important}
  .cbmh-pastilles span{padding:6px 11px;font-size:12px}
  .cbmh-plan{margin-top:24px;border-radius:22px}
  .cbmh-plan svg{height:210px;aspect-ratio:auto}
  .cbmh-zone{margin-top:36px;gap:12px}
  .cbmh-zone-tete span{font-size:13px}
  .cbmh-grille,.cbmh-grille-3{display:flex;gap:12px;overflow-x:auto;margin:0 -16px;padding:0 16px 6px;scroll-snap-type:x mandatory}
  .cbmh-grille-3{margin-top:24px}
  .cbmh-carte,.cbm .cbmh-tuile-lyon{flex:none;width:280px;scroll-snap-align:start}
  .cbmh-carte-grande{width:290px}
  .cbm .cbmh-carte-photo,.cbmh-carte-grande .cbmh-carte-photo{height:150px}
  .cbmh-tuile-lyon strong{font-size:22px}
  .cbmh-bandeau{margin-top:36px;gap:10px}
  .cbm .cbmh-giant{padding:20px;border-radius:22px}
  .cbmh-giant strong{font-size:18px}
  .cbmh-note{flex-direction:row;padding:18px;border-radius:22px;gap:12px}
  .cbmh-note strong{font-size:40px}
  .cbmh-note strong span{font-size:20px}
  .cbmh-liens{margin-top:32px}
  .cbmh-services{display:flex;flex-direction:column;gap:10px}
  .cbm .cbmh-services a{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:18px}
  .cbm .cbmh-services .cbmh-services-btn{margin-top:0;padding-top:0}
  .cbmh-famille{gap:14px}
  .cbmh-famille img{flex-basis:100%;height:220px;border-radius:22px}
  .cbmh-chiffres{gap:8px}
  .cbmh-chiffres div{padding:16px 6px;border-radius:18px}
  .cbmh-chiffres strong{font-size:30px}
  .cbmh-chiffres small{font-size:16px}
  .cbmh-chiffres div > span{font-size:11px}
}
