/*
 * Échelle typographique éditoriale de référence.
 * Les titres H1–H6 seront traités séparément.
 */
:root {
  --andrusin-body-size:1.25rem;
  --andrusin-body-leading:1.35;
  --andrusin-lead-size:1.5rem;
  --andrusin-lead-leading:1.26;
  --andrusin-link-size:1rem;
  --andrusin-nav-size:1rem;
  --andrusin-grid-width:1280px;
  --andrusin-grid-gutter:48px;
}

/* Surtitres : un niveau de lecture unique dans toutes les rubriques. */
.andrusin-kicker,
.andrusin-page-hero > .andrusin-kicker,
.andrusin-method .andrusin-section-head h2 {
  font-size:.9rem !important;
  font-weight:400 !important;
  letter-spacing:.08em !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
}
.andrusin-method .andrusin-section-head h2 {
  margin:0 !important;
}
.andrusin-page-hero > .andrusin-kicker {
  margin:0 0 22px;
}

/* Ouvertures de rubrique plus compactes. */
.andrusin-page-hero,
body.page-id-43 .entry-header {
  padding-bottom:58px;
  padding-top:44px;
}
.andrusin-series-archive__intro {
  padding-bottom:60px;
  padding-top:44px;
}
body.page-template-contact-form article.page {
  padding-bottom:58px;
  padding-top:44px;
}

/* CGV : même grille et même échelle que les pages éditoriales. */
body.page-id-329 #primary {
  background:#f7f6f2;
  display:block;
  width:100%;
}
body.page-id-329 #main {
  display:block;
  margin:0 auto;
  max-width:1120px;
  width:calc(100% - 48px);
}
body.page-id-329 article.page {
  margin:0;
  max-width:none;
}
body.page-id-329 .entry-header {
  padding:44px clamp(24px,4vw,56px) 58px;
}
body.page-id-329 .entry-title {
  color:#111;
  font-size:clamp(2.7rem,4.4vw,4.5rem);
  font-weight:400;
  letter-spacing:-.04em;
  line-height:1;
  margin:0;
}
body.page-id-329 .entry-content {
  margin:0;
}
body.page-id-329 .entry-content > .wp-block-columns {
  gap:clamp(36px,6vw,80px);
}
body.page-id-329 .entry-content p,
body.page-id-329 .entry-content p.has-medium-font-size {
  font-size:var(--andrusin-body-size) !important;
  line-height:var(--andrusin-body-leading) !important;
}
body.page-id-329 .entry-content p.has-large-font-size {
  font-size:clamp(1.8rem,2.7vw,2.4rem) !important;
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.12 !important;
}
body.page-id-329 .entry-content a {
  font-size:var(--andrusin-link-size) !important;
}

/* Commande desktop : le contenu et la grille occupent réellement la largeur éditoriale. */
@media (min-width:801px) {
  body.woocommerce-checkout #content #primary,
  body.woocommerce-checkout #main,
  body.woocommerce-checkout #main > article,
  body.woocommerce-checkout #main > article > .entry-content {
    box-sizing:border-box;
    float:none;
    margin-left:auto;
    margin-right:auto;
    max-width:1180px;
    width:100%;
  }
  body.woocommerce-checkout #content #primary {
    padding-left:24px;
    padding-right:24px;
  }
  body.woocommerce-checkout form.checkout {
    grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
    width:100%;
  }
  body.woocommerce-checkout form.checkout > #customer_details,
  body.woocommerce-checkout form.checkout > #order_review_heading,
  body.woocommerce-checkout form.checkout > #order_review {
    min-width:0;
    width:100% !important;
  }
}

/*
 * Grille basse commune.
 * Le fond du footer reste pleine largeur, son contenu suit la même grille.
 */
body.single-product div.product .related.products,
body.single-product .storefront-product-pagination,
.andrusin-back-to-top-wrap,
#page #colophon.andrusin-footer .andrusin-promises,
#page #colophon.andrusin-footer .andrusin-footer-main {
  box-sizing:border-box;
  margin-left:auto;
  margin-right:auto;
  max-width:none;
  width:min(var(--andrusin-grid-width),calc(100% - (var(--andrusin-grid-gutter) * 2)));
}
body.single-product div.product .related.products {
  float:none;
}
body.single-product div.product .related.products > ul.products,
body.single-product div.product .related.products > ul#products {
  margin-left:0;
  margin-right:0;
  max-width:none;
  width:100%;
}
body.single-product .storefront-product-pagination {
  padding-left:0;
  padding-right:0;
}
#page #colophon.andrusin-footer .andrusin-promises,
#page #colophon.andrusin-footer .andrusin-footer-main {
  padding-left:0;
  padding-right:0;
}

/* Shop : respiration entre la mosaïque et le retour en haut. */
body.woocommerce-shop #page > .andrusin-back-to-top-wrap {
  margin:72px auto 0 !important;
}

/* Liens d’action et de navigation. */
.andrusin-text-link,
.andrusin-section-head a,
.andrusin-button,
.andrusin-page-link-card__cta,
.andrusin-back-to-top,
.andrusin-footer a {
  font-size:var(--andrusin-link-size) !important;
}
.andrusin-navigation ul.menu a {
  font-size:var(--andrusin-nav-size) !important;
}

/* Toutes les autres actions textuelles, y compris Série et Techniques. */
.andrusin-process-image figcaption a,
.andrusin-series-archive__back a,
body.single-product .andrusin-artwork-meta a,
body.single-product form.variations_form a.reset_variations,
body.single-product .storefront-product-pagination__title,
body.woocommerce .woocommerce-message a.button,
body.woocommerce .woocommerce-info a,
body.woocommerce-checkout .woocommerce-form-login-toggle a,
body.woocommerce-checkout .woocommerce-form-coupon-toggle a,
body.woocommerce-cart td.actions a,
body.page-template-contact-form .entry-content p a,
.entry-content p a {
  font-size:var(--andrusin-link-size) !important;
}

/* Bandeaux de commande : question et action restent au même niveau compact. */
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
  font-size:.84rem !important;
  font-weight:400 !important;
  line-height:1.35 !important;
}

/* Texte courant : même corps et même interlignage sur tout le site. */
.andrusin-statement-copy,
.andrusin-statement-copy p,
.andrusin-exhibitions__header > p:last-child,
.andrusin-method-grid p,
.andrusin-editions__header > p:last-child,
.andrusin-editions__intro p,
.andrusin-editions__techniques p:not(.andrusin-kicker),
.andrusin-series-content > p:not(.andrusin-series-number),
.andrusin-techniques > p:last-child,
.andrusin-series-archive__text,
.andrusin-series-archive__text p,
.andrusin-editorial-block > p:not(.andrusin-kicker),
body.page-id-43 .entry-content p,
body.page-id-43 .entry-content p[style],
body.page-template-contact-form .entry-content,
body.page-template-contact-form .entry-content p,
body.page-template-contact-form .entry-content p:first-child,
body.blog article .entry-content p,
body.blog article .entry-content p[style],
body.single-post article .entry-content p,
body.single-post article .entry-content p[style],
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description p {
  font-size:var(--andrusin-body-size) !important;
  line-height:var(--andrusin-body-leading) !important;
}

/* Priorité sur les anciens réglages spécifiques aux fiches produit. */
body.single-product div.product .summary .woocommerce-product-details__short-description,
body.single-product div.product .summary .woocommerce-product-details__short-description p {
  font-size:var(--andrusin-body-size) !important;
  line-height:var(--andrusin-body-leading) !important;
}

/* Chapôs : différence nette et interlignage volontairement plus serré. */
.andrusin-lead,
.andrusin-page-lead,
.andrusin-series-archive__lead,
body.page-id-43 .entry-content > .wp-block-columns:first-child .wp-block-column:first-child p:first-child,
body.blog article .entry-content > .wp-block-spacer + .wp-block-columns .wp-block-column:first-child > p:first-child,
body.single-post article .entry-content > .wp-block-spacer + .wp-block-columns .wp-block-column:first-child > p:first-child,
body.single-post article .entry-content > p:first-child {
  font-size:var(--andrusin-lead-size) !important;
  line-height:var(--andrusin-lead-leading) !important;
}

/* Neutralise l’ancienne taille du chapô du premier article d’Actualités. */
body.blog #main > article:first-of-type > .entry-content > .wp-block-spacer + .wp-block-columns .wp-block-column:first-child > p:first-child {
  font-size:var(--andrusin-lead-size) !important;
  line-height:var(--andrusin-lead-leading) !important;
}

@media (max-width:760px) {
  :root {
    --andrusin-body-size:1.25rem;
    --andrusin-body-leading:1.35;
    --andrusin-lead-size:1.5rem;
    --andrusin-lead-leading:1.26;
    --andrusin-link-size:1rem;
    --andrusin-nav-size:1rem;
    --andrusin-grid-gutter:18px;
  }

  .andrusin-page-hero,
  body.page-id-43 .entry-header {
    padding-bottom:44px;
    padding-top:34px;
  }
  .andrusin-series-archive__intro {
    padding-bottom:48px;
    padding-top:34px;
  }
  body.page-template-contact-form article.page {
    padding-bottom:44px;
    padding-top:34px;
  }
  body.page-id-329 #main {
    width:calc(100% - 36px);
  }
  body.page-id-329 .entry-header {
    padding:34px 6px 44px;
  }
  body.page-id-329 .entry-title {
    font-size:clamp(2.25rem,10vw,3rem);
  }
  body.page-id-329 .entry-content > .wp-block-columns {
    display:block;
  }
  body.page-id-329 .entry-content > .wp-block-columns > .wp-block-column + .wp-block-column {
    margin-top:42px;
  }
  body.woocommerce-shop #page > .andrusin-back-to-top-wrap {
    margin:48px auto 0 !important;
  }

  /* Footer mobile : composition centrée et répartitions régulières. */
  #page #colophon.andrusin-footer .andrusin-promises {
    align-items:center;
    gap:22px 18px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:28px 2px 30px;
    text-align:center;
  }
  #page #colophon.andrusin-footer .andrusin-promises span {
    align-items:center;
    display:flex;
    justify-content:center;
    line-height:1.35;
    min-height:2.7em;
    text-align:center;
  }
  #page #colophon.andrusin-footer .andrusin-footer-main {
    align-items:center;
    gap:32px;
    padding:38px 2px 28px;
    text-align:center;
  }
  #page #colophon.andrusin-footer .andrusin-footer-name {
    margin:0;
    text-align:center;
  }
  #page #colophon.andrusin-footer nav {
    display:grid;
    gap:14px 18px;
    grid-template-columns:repeat(4,minmax(0,1fr));
    justify-content:stretch;
    text-align:center;
    width:100%;
  }
  #page #colophon.andrusin-footer nav a {
    align-items:center;
    display:flex;
    justify-content:center;
    line-height:1.25;
    white-space:nowrap;
  }
  #page #colophon.andrusin-footer .andrusin-copyright {
    margin:2px 0 0;
    text-align:center;
    width:100%;
  }
}

@media (max-width:420px) {
  #page #colophon.andrusin-footer nav {
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:18px;
  }
}
