/* E067 — sélecteur de prestations en lignes compactes.
   Chaque prestation occupe une ligne : plus de cartes orphelines, une hauteur divisée par deux
   et une colonne de gauche proportionnée à la carte « Votre sélection ». */

/* Un fieldset garde par défaut une largeur minimale égale à son contenu : la barre d’onglets
   (qui défile horizontalement sur mobile) élargissait toute la colonne. */
.b53-page .b53-service-catalogue fieldset{min-width:0;max-width:100%}

/* Navigation par familles. */
.b53-page .b67-family-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.b53-page .b67-family-nav a{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:8px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#dbe5df;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s}
.b53-page .b67-family-nav a b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(245,162,93,.16);color:#ffc18c;font-size:10px}
.b53-page .b67-family-nav a:hover,.b53-page .b67-family-nav a:focus-visible{border-color:rgba(245,162,93,.7);background:rgba(245,162,93,.07)}
.b53-page .b53-service-family{scroll-margin-top:calc(var(--header,88px) + 20px)}

/* Familles plus compactes. */
.b53-page .b67-rows{gap:14px}
.b53-page .b67-rows .b53-service-family{padding:20px 20px 16px;border-radius:18px}
.b53-page .b67-rows .b53-family-copy{grid-template-columns:36px minmax(0,1fr);padding:0 0 14px;gap:1px 14px}
.b53-page .b67-rows .b53-family-number{width:34px;height:34px;font-size:14px}
.b53-page .b67-rows .b53-family-copy h3{font-size:clamp(21px,1.6vw,25px)}
.b53-page .b67-rows .b53-family-copy p{margin-top:2px;font-size:12px}

/* Une prestation = une ligne. */
.b53-page .b67-rows .b53-service-options,
.b53-page .b67-rows .b63-family-training .b53-service-options{grid-template-columns:1fr;gap:8px;margin-top:14px}
.b53-page .b67-rows .b53-service-option,
.b53-page .b67-rows .b63-family-training .b53-service-option{
  display:grid;
  grid-template-columns:20px minmax(0,1fr) 104px 128px;
  grid-template-areas:"dot title pill meta" "dot summary pill meta" "dot tag pill meta";
  grid-template-rows:auto auto auto;
  align-items:center;
  column-gap:18px;
  min-height:0;
  padding:15px 20px;
  border-radius:12px;
}
.b53-page .b67-rows .b53-service-option:hover{transform:none}
.b53-page .b67-rows .b53-option-head{display:contents}
.b53-page .b67-rows .b53-service-dot{grid-area:dot;align-self:center}
.b53-page .b67-rows .b53-mode-pill{grid-area:pill;justify-self:center;white-space:nowrap}
.b53-page .b67-rows .b53-service-option>strong,
.b53-page .b67-rows .b63-family-training .b53-service-option>strong{grid-area:title;margin:0;font-size:clamp(18px,1.35vw,21px);line-height:1.2}
.b53-page .b67-rows .b63-option-summary{grid-area:summary;margin-top:4px;max-width:none;font-size:12px}
.b53-page .b67-rows .b53-existing-client{grid-area:tag;justify-self:start;margin-top:8px}
.b53-page .b67-rows .b53-option-meta,
.b53-page .b67-rows .b63-family-training .b53-option-meta{
  grid-area:meta;
  display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;
  min-width:0;margin:0;padding:0 0 0 18px;
  border-left:1px solid rgba(255,255,255,.12);
  align-self:stretch;
}
.b53-page .b67-rows .b53-option-meta b{font-size:11px;color:#b9c8bf;font-weight:600}
.b53-page .b67-rows .b53-option-meta b+b{font-size:17px;color:#fff;font-weight:700;letter-spacing:-.01em}
.b53-page .b67-rows .b53-option-meta b+b:before{content:none}
.b53-page .b67-rows .b53-service-option.is-active .b53-option-meta{border-left-color:rgba(245,162,93,.4)}
.b53-page .b67-rows .b53-service-option.is-active .b53-option-meta b+b{color:#ffc18c}

/* Sélecteur Suisse / France posé sur le fond sombre de la page. */
.b53-page .e65-switch{margin:0 0 22px;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.b53-page .e65-switch-label{color:#c5d2ca}
.b53-page .e65-switch-options a{border-color:rgba(255,255,255,.2);color:#e8efea}
.b53-page .e65-switch-options a b{background:rgba(255,255,255,.1);color:#fff}
.b53-page .e65-switch-options a[aria-current="true"]{background:#f5a25d;border-color:#f5a25d;color:#0f2a22}
.b53-page .e65-switch-options a[aria-current="true"] b{background:#0f2a22;color:#ffc18c}

/* La carte de sélection reste visible et ne dépasse jamais l’écran. */
@media(min-width:1151px){
  .b53-page .b53-selection-card{max-height:calc(100vh - var(--header,88px) - 40px);overflow:auto;overscroll-behavior:contain}
}

@media(max-width:760px){
  .b53-page .b67-rows .b53-service-option,
  .b53-page .b67-rows .b63-family-training .b53-service-option{
    grid-template-columns:20px minmax(0,1fr);
    grid-template-areas:"dot title" "dot summary" "dot tag" "dot foot";
    row-gap:0;padding:14px 16px;
  }
  .b53-page .b67-rows .b53-mode-pill{grid-area:foot;justify-self:start;margin-top:12px}
  .b53-page .b67-rows .b53-option-meta,
  .b53-page .b67-rows .b63-family-training .b53-option-meta{
    grid-area:foot;justify-self:end;flex-direction:row;align-items:baseline;justify-content:flex-end;gap:10px;
    margin-top:12px;padding:0;border-left:0;align-self:end;
  }
  .b53-page .b67-family-nav{flex-wrap:nowrap;overflow-x:auto;margin-inline:-4px;padding:0 4px 4px;scrollbar-width:thin}
  .b53-page .b67-family-nav a{flex:0 0 auto}
  .b53-page .b67-rows .b53-service-family{padding:16px 14px 12px}
}
@media(prefers-reduced-motion:reduce){.b53-page .b67-family-nav a{transition:none}}

/* Onglets (activés par booking-tabs-e067.js). */
.b53-page .b67-rows.b67-tabs-on .b53-family-copy{display:block;padding:0 0 12px}
.b53-page .b67-rows.b67-tabs-on .b53-family-number,.b53-page .b67-rows.b67-tabs-on .b53-family-copy h3{display:none}
.b53-page .b67-rows.b67-tabs-on .b53-family-copy p{margin:0;color:#c5d2ca;font-size:13px}
.b53-page .b67-rows.b67-tabs-on .b53-service-options{margin-top:12px}
.b53-page .b67-family-nav.b67-tabs-on{padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.14);gap:4px}
.b53-page .b67-family-nav.b67-tabs-on a{border-color:transparent}
.b53-page .b67-family-nav.b67-tabs-on a[aria-current="true"]{background:#f5f0e6;border-color:#f5f0e6;color:#10291f}
.b53-page .b67-family-nav.b67-tabs-on a[aria-current="true"] b{background:#f5a25d;color:#10291f}
.b53-page .b67-rows.b67-tabs-on .b53-service-family[hidden]{display:none}
@media(max-width:760px){.b53-page .b67-family-nav.b67-tabs-on{border-radius:14px}}
