/* =============================================================
   bikezen — Bugfixes (chargé APRÈS styles.css)
   ============================================================= */

/* Pages de compte : l'image de l'aside remplit tout le bloc */
.auth-wrap.split { align-items: stretch; min-height: 620px; }
.auth-aside { min-height: 620px; height: 100%; }
.auth-aside img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Barre de filtres catalogue : grille propre, selects de largeur égale */
.toolbar { align-items: flex-end; gap: 16px; }
.toolbar__filters { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 16px; flex: 1 1 auto; }
.toolbar__filters .field, .toolbar > .field { min-width: 0; margin: 0; }
.toolbar .field > .select, .toolbar select.select { width: 100%; min-width: 0; }
.toolbar > .field { width: 200px; flex: 0 0 auto; }
@media (max-width: 760px) {
  .toolbar { flex-direction: column; align-items: stretch; }
  .toolbar__filters { grid-template-columns: 1fr 1fr; }
  .toolbar > .field { width: 100%; }
}

/* 1) Icônes SVG inline sans règle de taille -> défaut sûr.
   Les sélecteurs ".classe svg" de styles.css (spécificité plus forte)
   conservent leurs tailles voulues (étoiles 15px, confirm-badge 44px, etc.). */
svg { width: 24px; height: 24px; }

/* Icône inline dans un titre (ex: « Öffnungszeiten ») -> à l'échelle du texte */
h1 svg, h2 svg, h3 svg, h4 svg, p svg, .eyebrow svg, a svg, label svg, span svg {
  width: 1.15em; height: 1.15em; vertical-align: -0.18em; flex: none;
}

/* Icônes des options de paiement (Kreditkarte/PayPal/SEPA/Rechnung) */
.pay-option > svg { width: 26px; height: 26px; flex: none; color: var(--c-muted); }
.pay-option { gap: 14px; }

/* Cartes d'info (ico/horaires) */
.info-card svg { width: 22px; height: 22px; }
.info-card .ico, .info-row .ico { flex: none; }

/* 2) Le contenu ne doit pas passer sous le header sticky lors des ancres (#termin, etc.) */
:root { scroll-padding-top: 96px; }

/* 3) Header : empêcher le retour à la ligne (sinon la hauteur change et la nav mobile se décale) */
.header-inner { flex-wrap: nowrap; min-width: 0; }
.brand__name { white-space: nowrap; }
/* Fond opaque de repli si backdrop-filter indisponible (sinon le contenu transparaît) */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header.is-scrolled, .site-header { background: #fff; }
}
