/*
 * VSGYM Élan 1.4.38 — Boutique VSGYM (slug: /boutique/)
 * Ciblage exclusif de la page Boutique. Ne modifie jamais l'iframe HelloAsso
 * ni les styles de navigation / footer / autres pages du club.
 */
.vsgym-boutique-page {
  box-sizing:border-box;
  width:100%; max-width:none; min-width:0;
  margin:0; padding:0;
  background:#fff;
  overflow:clip;
}
/* Les règles de largeur de Gutenberg ne doivent pas contraindre ce modèle. */
body .wp-block-post-content > .vsgym-boutique-page,
body .wp-block-post-content .vsgym-boutique-page {
  width:100%; max-width:none!important; margin-inline:0!important;
}
.vsgym-boutique-page .vsgym-boutique-hero {
  background:#08131a; color:#fff;
  padding:clamp(3.4rem,5.9vw,5.4rem) 0 clamp(3.15rem,5vw,4.5rem);
  margin:0; position:relative;
}
.vsgym-boutique-page .vsgym-boutique-hero__inner,
.vsgym-boutique-page .vsgym-boutique-content__inner {
  box-sizing:border-box;
  width:min(1280px,calc(100% - 2*clamp(1.125rem,3.5vw,3rem)));
  max-width:1280px; min-width:0;
  margin-inline:auto;
}
.vsgym-boutique-page .vsgym-boutique-hero__eyebrow {
  margin:0 0 0.7rem; font-family:var(--vsg-font-body,"Barlow",sans-serif);
  font-size:clamp(.7rem,.88vw,.78rem); line-height:1.45;
  font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  color:#ade4ff;
}
.vsgym-boutique-page .vsgym-boutique-hero__title {
  margin:0; max-width:22ch; color:#fff!important;
  font-family:var(--vsg-font-display,"Bebas Neue",Impact,sans-serif);
  font-size:clamp(3.4rem,7.4vw,7.25rem); font-weight:400;
  letter-spacing:0; line-height:1.03; text-transform:uppercase;
}
.vsgym-boutique-page .vsgym-boutique-hero__subtitle {
  max-width:62ch; margin:1rem 0 0; color:#d6e8f0;
  font-size:clamp(1rem,1.65vw,1.23rem); line-height:1.6;
}
.vsgym-boutique-page .vsgym-boutique-content {
  width:100%; box-sizing:border-box;
  padding:clamp(2rem,4.25vw,4rem) 0 clamp(3.5rem,6vw,6rem);
  margin:0; background:#fff;
}
.vsgym-boutique-page .vsgym-boutique-content__inner > :is(p,.wp-block-paragraph) {
  width:100%; max-width:77ch; margin:0 0 1rem;
  font-family:var(--vsg-font-body,"Barlow",sans-serif);
  color:#22323c; font-size:clamp(1rem,1.25vw,1.14rem);
  line-height:1.7;
}
.vsgym-boutique-page .vsgym-boutique-content__inner > :is(p,.wp-block-paragraph):first-child {
  color:#15212b; font-weight:600;
  font-size:clamp(1.06rem,1.4vw,1.19rem);
}
/* Le contenu et les produits restent pilotés par HelloAsso. */
.vsgym-boutique-page .vsgym-boutique-content__inner > .wp-block-html {
  width:100%; max-width:none; min-width:0;
  margin:clamp(1.6rem,3vw,2.8rem) 0 0;
}
.vsgym-boutique-page :is(iframe#haWidget, iframe[src*="helloasso.com/associations/"]) {
  display:block; width:100%!important; max-width:100%!important;
  box-sizing:border-box; min-height:750px; border:0!important;
  margin:0; background:#fff;
}
/* Lorsque la page est protégée, WordPress substitue son propre formulaire. */
.vsgym-boutique-page .post-password-form {
  box-sizing:border-box; width:min(540px,100%); margin:0;
  padding:clamp(1.25rem,3vw,2.25rem);
  background:#f2f6f8; border:1px solid #d7e3ea; border-radius:4px;
  color:#15212b; font-family:var(--vsg-font-body,"Barlow",sans-serif);
}
.vsgym-boutique-page .post-password-form p {
  max-width:100%; margin:0 0 1rem; line-height:1.65;
}
.vsgym-boutique-page .post-password-form label {
  display:block; margin:0 0 .5rem; font-weight:700;
}
.vsgym-boutique-page .post-password-form input[type="password"] {
  box-sizing:border-box; display:block; width:100%; max-width:100%;
  min-height:48px; margin:.55rem 0 1rem; padding:.65rem .8rem;
  border:1px solid #7a909b; border-radius:3px;
  background:#fff; color:#15212b; font:inherit;
}
.vsgym-boutique-page .post-password-form input[type="submit"] {
  min-height:48px; padding:.65rem 1.5rem;
  border:2px solid #009EFF; border-radius:2px;
  background:#009EFF; color:#000;
  font:700 1rem var(--vsg-font-body,"Barlow",sans-serif);
  cursor:pointer;
}
.vsgym-boutique-page .post-password-form input[type="submit"]:hover {
  background:#000; color:#fff; border-color:#000;
}
.vsgym-boutique-page .post-password-form :is(input,button):focus-visible {
  outline:3px solid #000!important; outline-offset:3px!important;
}
@media (max-width:767px) {
  .vsgym-boutique-page .vsgym-boutique-hero {
    padding:clamp(2.65rem,8vw,3.6rem) 0 clamp(2.5rem,7vw,3.3rem);
  }
  .vsgym-boutique-page .vsgym-boutique-hero__title {
    font-size:clamp(3.1rem,12vw,5.15rem);
  }
  .vsgym-boutique-page .vsgym-boutique-content {
    padding:2.1rem 0 3.5rem;
  }
  .vsgym-boutique-page .vsgym-boutique-content__inner > .wp-block-html {
    margin-top:1.65rem;
  }
}
