/* Offres mini-piscines avec les trois visuels fournis par le propriétaire. */
.home-mini-offers { --home-copy-size:1rem; --home-copy-line:1.75; --home-heading-size:clamp(1.75rem,2.8vw,2.4rem); padding:clamp(38px,5.5vw,72px) 0; color:#153b4a; background:#f2f9f8; }
.home-mini-heading { display:block; max-width:810px; margin-bottom:40px; }
.home-mini-heading h2 { margin:16px 0 0; color:#143c4a; font-size:clamp(2rem,8.4vw,3.8rem); font-weight:500; line-height:1.08; letter-spacing:-.04em; }
.home-mini-heading h2 > span { display:block; white-space:nowrap; }
.home-mini-heading h2 .home-mini-title-accent { margin-top:3px; color:#087d87; font-size:1.04em; }
.home-mini-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:28px; }
.mini-offer { min-width:0; overflow:hidden; border:1px solid #cbdfe0; border-radius:12px; background:#fff; }
.mini-offer-picture { position:relative; overflow:hidden; aspect-ratio:2 / 1; background:#d9eef1; }
.mini-offer-picture img { position:absolute; top:0; left:0; display:block; width:100%; height:auto; max-width:none; }
.mini-offer-body { padding:30px 28px 28px; }
.mini-offer h3 { margin:0 0 9px; color:#0a2542; font-size:1.55rem; font-weight:650; line-height:1.25; letter-spacing:-.02em; text-align:left; }
.mini-offer-dimensions { margin:0 0 25px; color:#315866; font-size:1rem; line-height:1.6; text-align:left; }
.mini-offer-dimensions span { display:block; color:#5b7780; font-size:.76rem; }
.mini-offer-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mini-offer-price { container-type:inline-size; min-width:0; padding:18px 10px 16px; border:0; border-radius:7px; background:#edf7fb; text-align:center; }
.mini-offer-label { display:block; margin-bottom:9px; color:#16415a; font-size:.72rem; font-weight:650; letter-spacing:.05em; line-height:1.4; text-transform:uppercase; }
.mini-offer-price strong { display:block; color:#071e40; font-size:clamp(1.2rem,22cqi,1.6rem); font-weight:700; line-height:1.25; letter-spacing:-.025em; white-space:nowrap; }
.mini-offer-tax { display:block; margin-top:4px; color:#1477a4; font-size:.71rem; font-weight:700; line-height:1.4; text-transform:uppercase; }
.mini-offer-included { margin:20px 0 5px; color:#135767; font-size:.88rem; font-weight:500; line-height:1.55; text-align:left; }
.mini-offer-extra { margin:0; color:#5a737e; font-size:.78rem; line-height:1.6; text-align:left; }
.mini-offer-link { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; margin-top:24px; padding:13px 14px; border:1px solid #b5d8d4; border-radius:5px; color:#155764; background:#f5fbf9; font-size:.88rem; font-weight:600; line-height:1.45; }
.mini-offer-link:hover { border-color:#167f87; background:#e6f5f1; }
.home-mini-formules { margin-top:48px; padding-top:37px; border-top:1px solid #cfe3e0; }
.home-pack-heading { margin-bottom:25px; }
.home-pack-heading h2 { margin:12px 0 0; font-size:var(--home-heading-size); line-height:1.25; letter-spacing:-.025em; }
.home-pack-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:28px; }
.home-pack { min-width:0; padding:30px; border:1px solid #d0e1df; border-radius:10px; background:#fff; }
.home-pack-confort { border-color:#b8d9d6; background:#eaf6f3; }
.home-pack-kicker { color:#486c76; font-size:.73rem; font-weight:600; line-height:1.6; letter-spacing:.06em; text-transform:uppercase; }
.home-pack h3 { margin:9px 0 13px; color:#143c4a; font-size:1.55rem; font-weight:650; line-height:1.3; letter-spacing:-.02em; }
.home-pack p { margin:0; color:#3c626e; font-size:var(--home-copy-size); line-height:var(--home-copy-line); }
.home-pack ul { display:grid; gap:12px; margin:23px 0 0; padding:0; list-style:none; }
.home-pack li { position:relative; padding-left:22px; color:#385d68; font-size:.94rem; line-height:1.7; }
.home-pack li::before { position:absolute; top:0; left:0; content:'✓'; color:#0b7c86; font-weight:700; }
.home-pack .home-pack-extras { gap:23px; }
.home-pack-extras strong { display:block; color:#174b57; font-size:1rem; font-weight:650; }
.home-pack-extras span { display:block; margin-top:4px; }
.home-pack .home-pack-reminder { margin-top:26px; padding-top:20px; border-top:1px solid #c7dfda; font-size:.88rem; }
.home-mini-bottom { display:flex; align-items:start; justify-content:space-between; gap:28px; margin-top:20px; }
.home-mini-bottom p { max-width:720px; margin:0; color:#5c777e; font-size:.8rem; line-height:1.65; }
@media (min-width:721px) and (max-width:1050px) {
  .home-mini-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .mini-offer:last-child { grid-column:1 / -1; width:calc((100% - 24px) / 2); justify-self:center; }
}
@media (max-width:1050px) {
  .home-mini-bottom { flex-direction:column; gap:12px; }
}
@media (max-width:720px) {
  .home-mini-heading { margin-bottom:34px; }
  .home-mini-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .mini-offer-body { padding:28px 24px; }
  .mini-offer-price-grid { gap:10px; }
  .home-mini-formules { margin-top:35px; padding-top:30px; }
  .home-pack-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .home-pack { padding:27px 24px; }
}

/* Les caractéristiques restent disponibles sans doubler les cartes modèles. */
.mini-page .catalog-hero { min-height:0; padding:clamp(40px,5vw,65px) 0; }
.mini-page .catalog-hero h1 { font-size:clamp(2.1rem,7.4vw,4.6rem); line-height:1.1; letter-spacing:-.04em; }
.mini-page .catalog-hero h1 + p { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; font-size:1rem; font-weight:400; line-height:1.75; }
.mini-page .catalog-hero .textlink { margin-top:22px; text-transform:none; font-size:.94rem; letter-spacing:0; line-height:1.6; }
.mini-page .home-mini-heading { max-width:760px; }
.mini-page .home-mini-heading h2 { font-size:clamp(1.85rem,4.6vw,2.65rem); line-height:1.2; letter-spacing:-.025em; }
.mini-page .home-mini-heading p { margin:17px 0 0; color:#355e68; font-size:1rem; line-height:1.75; }
.mini-offer-details { margin-top:22px; border-block:1px solid #dbe7e5; }
.mini-offer-details summary { display:list-item; min-height:48px; padding:13px 3px; color:#225660; font-size:.88rem; font-weight:600; line-height:1.5; }
.mini-offer-details .spec-list { margin:2px 0 0; padding:0; }
.mini-offer-details .spec-list > div { display:grid; grid-template-columns:68px minmax(0,1fr); align-items:baseline; gap:10px; padding:10px 0; border-bottom:1px solid #e1ece9; font-size:.82rem; line-height:1.6; }
.mini-offer-details .spec-list dt { color:#536c7a; font-size:inherit; }
.mini-offer-details .spec-list dd { margin:0; color:#244b59; font-weight:500; text-align:right; overflow-wrap:normal; }
.mini-offer-details .model-colors { margin:16px 0 0; padding:0 0 18px; border:0; }
.mini-offer-details .model-colors-title { display:block; margin:0 0 13px; font-size:.83rem; font-weight:500; color:#3e6270; }
.mini-offer-details .model-colors-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.mini-offer-details .model-colors-list > div { display:flex; flex-direction:column; align-items:center; gap:7px; color:#3e6270; font-size:.72rem; line-height:1.5; text-align:center; }
.mini-offer-details .swatch { display:block; width:28px; height:28px; }
.mini-page #nos-formules { scroll-margin-top:140px; }
