/* Espacements de migration. Sélecteurs limités aux éléments contrôlés :
 * ne pas ajouter de marge globale aux boutons des cartes ou formulaires. */

:where(main) :where(h1,h2,h3,h4,h5,h6) { margin: 0; padding-bottom: 10px; }
:where(main h1) { font-size: 30px; }
:where(main h2) { font-size: 26px; }
:where(main h3) { font-size: 22px; }
/* Event titles were strong elements: retain their spacing after promotion to h2. */
.sc-home-content h2.sc-evcard-title { margin: 0; padding: 0; }
:where(main h4) { font-size: 18px; }
:where(main h5) { font-size: 16px; }
:where(main h6) { font-size: 14px; }
/* These plugin headings inherited the production theme's compact page title. */
main .scb-heading h1,
main .scm-form-heading h1,
main .scm .scm-member-heading {
  font-size: 30px;
  margin: 0 0 20px;
}
.sc-page-content .sc-layout-column > .sc-layout-code:not(:last-child) { margin-bottom: 2.75%; }

/* Homepage: a shared content width and a consistent section rhythm. */
.home .sc-page-content #scena-artistes .sc-row {
  width: 100%;
  max-width: none;
}
.home .sc-page-content .sc-layout-column > .sc-layout-code { margin-bottom: 0; }
.sc-page-content .sc-layout-code:has(> .sc-layout-code-inner > .sc-evcards) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
.home .sc-page-content :is(.sc-events-heading-section,.sc-h2-clean-section,.sc-articles-title-section) {
  padding: clamp(32px,4vw,56px) 0 32px;
}
.home .sc-page-content :is(.sc-events-heading-inner,.sc-h2-clean-inner,.sc-articles-title-inner) {
  width: 100%;
  max-width: none;
}
.home .sc-page-content :is(#sc-events-title,#sc-artistes-title,#sc-articles-title) {
  margin-bottom: 0;
  padding-bottom: 0;
}
.home .sc-page-content .sc-culture-section-clean {
  padding: clamp(40px,5vw,72px) 0;
}
.home .sc-page-content .sc-culture-btn-wrap { margin-top: 32px; }
.home .sc-page-content .scfa-footer { margin-bottom: 0; }
.home .sc-page-content .sc-layout-code-inner > a.sc-btn { margin-bottom: 0; }

:root {
  --sc-action-space-before: 32px;
  --sc-action-space-after: 40px;
}

/* Boutons autonomes des anciens modules Code (accueil). */
.sc-page-content .sc-layout-code-inner > a.sc-btn {
  margin-block: var(--sc-action-space-before) var(--sc-action-space-after);
  min-height: 48px;
  max-width: 100%;
  gap: 12px;
  text-align: center;
  white-space: normal;
}
.sc-page-content .sc-layout-code-inner > a.sc-btn svg {
  flex-shrink: 0;
}

/* Le CSS générique .sc-btn des pages ne doit pas redimensionner le footer. */
.sc-site-footer .sc-footer-support > p {
  margin: 0 0 24px;
}
.sc-site-footer .sc-footer-support > .sc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  height: auto;
  min-height: 48px;
  margin: 0;
  padding: 14px 24px;
  gap: 12px;
  font: 700 13px/1.5 Poppins, Arial, sans-serif;
  letter-spacing: normal;
  text-transform: none;
  white-space: normal;
  text-align: center;
}
.sc-site-footer .sc-footer-support > .sc-btn > span {
  flex-shrink: 0;
}

/* Aide à la connexion : séparer texte, action et indication de sécurité. */
.sc-page-content .scena-login-page .sc-login-artist-help {
  margin-top: 20px;
  padding: 16px;
}
.sc-page-content .scena-login-page .sc-login-help-text {
  margin-bottom: 16px;
}
.sc-page-content .scena-login-page .sc-login-outline-button {
  min-height: 44px;
  padding-block: 10px;
}
.sc-page-content .scena-login-page .sc-login-security {
  margin-top: 12px;
}

@media (max-width: 680px) {
  :root {
    --sc-action-space-before: 24px;
    --sc-action-space-after: 32px;
  }
  /* Toutes les catégories restent visibles, sans débordement latéral. */
  .sc-page-content .scena-blog-page .scena-blog-filters {
    width: 100%;
    margin: 0;
    padding: 2px 0;
    flex-wrap: wrap;
    gap: 10px;
    overflow: visible;
  }
  .sc-page-content .scena-blog-page .scena-blog-filter {
    max-width: 100%;
    white-space: normal;
  }
}
/* Tablet footer: keep the brand and support together beside both link columns. */
@media(min-width:641px) and (max-width:1100px){
 .sc-site-footer{padding:52px 5% 28px}
 .sc-site-footer .sc-footer-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand navigation social" "support navigation social";gap:18px 32px;align-items:start;text-align:left}
 .sc-footer-grid>.sc-footer-brand{grid-area:brand}
 .sc-footer-grid>nav[aria-label="Navigation du pied de page"]{grid-area:navigation}
 .sc-footer-grid>.sc-footer-support{grid-area:support}
 .sc-footer-grid>nav[aria-label="Réseaux sociaux"]{grid-area:social}
 .sc-site-footer .sc-brand img{width:140px;max-width:100%;margin:0}
 .sc-site-footer .sc-footer-support p{font-size:14px;line-height:1.8;margin-bottom:20px}
 .sc-site-footer .sc-footer-grid nav a{font-size:14px;line-height:1.5;display:inline-flex;align-items:center;min-height:36px}
 .sc-site-footer .sc-footer-grid nav li{margin-bottom:4px}
 .sc-site-footer h2{font-size:12px;letter-spacing:.14em;margin-bottom:16px}
 .sc-site-footer .sc-footer-support>.sc-btn{font-size:12px;padding:12px 16px}
 .sc-site-footer .sc-footer-bottom{margin-top:36px;gap:18px;font-size:12px}
 .sc-footer-bottom ul{gap:12px 24px}
 .sc-footer-bottom a{display:inline-block;padding-block:5px}
}
@media(min-width:641px) and (max-width:760px){
 .sc-site-footer .sc-footer-grid{grid-template-columns:1fr 1fr;grid-template-areas:"brand support" "navigation social";gap:32px}
 .sc-site-footer .sc-footer-brand{align-self:center}
}
