/* ==========================================================================
   Archangelo — thème enfant de Hummingbird
   Feuille compilée depuis _dev/css/*.css (voir _dev/README.md) :
   ne pas modifier assets/css/custom.css directement.

   Trois directions artistiques coexistent pendant la phase de choix ; elles
   sont sélectionnées par l'attribut data-arc-skin de <html> :
     celeste  Céleste éditorial (par défaut)
     deco     Art déco affirmé
     minimal  Minimal lumineux
   Les règles propres à une direction sont préfixées par
   [data-arc-skin=…] : une fois le choix fait, il suffit de supprimer celles
   des directions écartées.

   Le CSS de Hummingbird est rangé dans des @layer : les règles ci-dessous,
   hors layer, l'emportent sans surenchère de spécificité (sauf utilitaires
   Bootstrap en !important).
   ========================================================================== */

/* 1. Polices (SIL Open Font License, hébergées localement) =============== */

@font-face {
  font-display: swap;
  font-family: "Poiret One";
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/poiret-one-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-display: swap;
  font-family: "Poiret One";
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/poiret-one-latin-ext-400-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-display: swap;
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500;
  src: url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-display: swap;
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500;
  src: url(../fonts/cormorant-garamond-latin-ext-500-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-display: swap;
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600;
  src: url(../fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-display: swap;
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600;
  src: url(../fonts/cormorant-garamond-latin-ext-600-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-display: swap;
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 500;
  src: url(../fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-display: swap;
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 500;
  src: url(../fonts/cormorant-garamond-latin-ext-500-italic.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-display: swap;
  font-family: "Jost";
  font-style: normal;
  font-weight: 300 700;
  src: url(../fonts/jost-latin-wght-normal.woff2) format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-display: swap;
  font-family: "Jost";
  font-style: normal;
  font-weight: 300 700;
  src: url(../fonts/jost-latin-ext-wght-normal.woff2) format("woff2-variations");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-display: swap;
  font-family: "Manrope";
  font-style: normal;
  font-weight: 300 800;
  src: url(../fonts/manrope-latin-wght-normal.woff2) format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-display: swap;
  font-family: "Manrope";
  font-style: normal;
  font-weight: 300 800;
  src: url(../fonts/manrope-latin-ext-wght-normal.woff2) format("woff2-variations");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* 2. Jetons de design ===================================================== */

/* Céleste éditorial (par défaut) : ivoire, bleu ciel du logo, marine,
   titres Art déco, touches dorées ponctuelles. */
:root {
  /* Couleurs du logo */
  --arc-sky: #8ebedc;
  --arc-sky-deep: #75acd5;
  --arc-navy: #104873;

  /* Surfaces & textes */
  --arc-bg: #fbfaf7;
  --arc-bg-alt: #eef5fa;
  --arc-surface: #fff;
  --arc-ink: #1d2c3a;
  --arc-ink-2: #4b5d70;
  --arc-ink-3: #758699;
  --arc-heading: #104873;
  --arc-line: #e4e2db;
  --arc-line-2: #cfd6dd;

  /* Actions */
  --arc-primary: #104873;
  --arc-primary-hover: #0b3658;
  --arc-on-primary: #fff;
  --arc-accent: #8ebedc;
  --arc-accent-ink: #2b6b9e;
  --arc-accent-soft: #e3eff8;
  --arc-gold: #b08d57;
  --arc-sale: #8b5e22;
  --arc-success: #2f7d57;
  --arc-danger: #b23a2e;

  /* Zones */
  --arc-announce-bg: #8ebedc;
  --arc-announce-ink: #0a2f4d;
  --arc-header-bg: #fbfaf7;
  --arc-header-ink: #104873;
  --arc-header-line: #e4e2db;
  --arc-footer-bg: #0e3150;
  --arc-footer-ink: #c3d6e6;
  --arc-footer-heading: #fff;
  --arc-footer-line: rgba(195, 214, 230, .16);
  --arc-usp-bg: #eef5fa;

  /* Typographies */
  --arc-font-display: "Poiret One", "Cormorant Garamond", Georgia, serif;
  --arc-font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --arc-font-body: "Jost", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --arc-display-case: uppercase;
  --arc-display-track: .12em;
  --arc-display-weight: 400;
  --arc-heading-weight: 600;
  --arc-heading-track: 0;
  --arc-label-track: .14em;
  --arc-nav-case: uppercase;
  --arc-nav-track: .08em;
  --arc-nav-size: .78rem;
  --arc-nav-weight: 500;
  --arc-product-font: var(--arc-font-heading);
  --arc-product-size: 1.25rem;
  --arc-product-weight: 600;

  /* Formes */
  --arc-radius-xs: 6px;
  --arc-radius-sm: 10px;
  --arc-radius: 16px;
  --arc-radius-lg: 24px;
  --arc-radius-img: 14px;
  --arc-radius-btn: 999px;
  --arc-radius-input: 12px;
  --arc-radius-pill: 999px;
  --arc-border-w: 1px;

  /* Profondeur & mouvement */
  --arc-shadow-sm: 0 1px 2px rgba(16, 52, 84, .06), 0 2px 8px rgba(16, 52, 84, .05);
  --arc-shadow: 0 18px 40px -24px rgba(16, 52, 84, .35);
  --arc-shadow-lg: 0 32px 70px -30px rgba(10, 37, 62, .45);
  --arc-ease: cubic-bezier(.2, .7, .2, 1);
  --arc-dur: .28s;

  /* Rythme */
  --arc-gutter: clamp(1rem, .6rem + 1.6vw, 2rem);
  --arc-section: clamp(3.25rem, 2rem + 4.5vw, 6.5rem);
  --arc-header-h: 64px;

  /* Motifs (anneaux du logo, filet orné) */
  --arc-rings: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='38' viewBox='0 0 40 38'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.3'%3E%3Ccircle cx='10' cy='9.5' r='6' stroke-opacity='.5'/%3E%3Ccircle cx='10' cy='9.5' r='2.6' stroke-opacity='.62'/%3E%3Ccircle cx='30' cy='28.5' r='6' stroke-opacity='.5'/%3E%3Ccircle cx='30' cy='28.5' r='2.6' stroke-opacity='.62'/%3E%3C/g%3E%3C/svg%3E");
  --arc-rings-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='38' viewBox='0 0 40 38'%3E%3Cg fill='none' stroke='%23104873' stroke-width='1.2' stroke-opacity='.08'%3E%3Ccircle cx='10' cy='9.5' r='6'/%3E%3Ccircle cx='10' cy='9.5' r='2.6'/%3E%3Ccircle cx='30' cy='28.5' r='6'/%3E%3Ccircle cx='30' cy='28.5' r='2.6'/%3E%3C/g%3E%3C/svg%3E");
  --arc-ornament: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='16' viewBox='0 0 132 16'%3E%3Cpath d='M0 8h50M82 8h50' stroke='%2375acd5' stroke-width='1.2'/%3E%3Cg fill='none' stroke='%23b08d57' stroke-width='1.3'%3E%3Ccircle cx='66' cy='8' r='6.5'/%3E%3Ccircle cx='66' cy='8' r='2.6'/%3E%3C/g%3E%3C/svg%3E");

  /* Logo : filtre appliqué aux images marine d'origine */
  --arc-logo-filter: none;
  --arc-logo-footer-filter: brightness(0) invert(1);

  /* Bootstrap / Hummingbird */
  --bs-body-bg: var(--arc-bg);
  --bs-body-bg-rgb: 251, 250, 247;
  --bs-body-color: var(--arc-ink);
  --bs-body-color-rgb: 29, 44, 58;
  --bs-body-font-family: var(--arc-font-body);
  --bs-emphasis-color: var(--arc-heading);
  --bs-heading-color: var(--arc-heading);
  --bs-primary: #104873;
  --bs-primary-rgb: 16, 72, 115;
  --bs-primary-text-emphasis: #104873;
  --bs-primary-bg-subtle: #e3eff8;
  --bs-primary-border-subtle: #c2d9e9;
  --bs-secondary-color: var(--arc-ink-2);
  --bs-secondary-color-rgb: 75, 93, 112;
  --bs-tertiary-color: var(--arc-ink-3);
  --bs-secondary-bg: #eef5fa;
  --bs-secondary-bg-rgb: 238, 245, 250;
  --bs-tertiary-bg: #f4f2ec;
  --bs-tertiary-bg-rgb: 244, 242, 236;
  --bs-link-color: var(--arc-primary);
  --bs-link-color-rgb: 16, 72, 115;
  --bs-link-hover-color: var(--arc-accent-ink);
  --bs-link-hover-color-rgb: 43, 107, 158;
  --bs-border-color: var(--arc-line);
  --bs-border-color-translucent: rgba(16, 72, 115, .12);
  --bs-border-radius: var(--arc-radius-sm);
  --bs-border-radius-sm: var(--arc-radius-xs);
  --bs-border-radius-lg: var(--arc-radius);
  --bs-border-radius-xl: var(--arc-radius-lg);
  --bs-border-radius-pill: 999px;
  --bs-box-shadow: var(--arc-shadow);
  --bs-box-shadow-sm: var(--arc-shadow-sm);
  --bs-box-shadow-lg: var(--arc-shadow-lg);
  --bs-focus-ring-color: rgba(117, 172, 213, .45);
  --bs-success: #2f7d57;
  --bs-success-rgb: 47, 125, 87;
  --bs-success-text-emphasis: #1f5a3e;
  --bs-success-bg-subtle: #e4f2ea;
  --bs-success-border-subtle: #b9dcc8;
  --bs-danger: #b23a2e;
  --bs-danger-rgb: 178, 58, 46;
  --bs-danger-text-emphasis: #8b2a21;
  --bs-danger-bg-subtle: #f9e6e3;
  --bs-danger-border-subtle: #efc3bd;
  --bs-warning: #c98a1b;
  --bs-warning-rgb: 201, 138, 27;
  --bs-warning-text-emphasis: #7a4e0e;
  --bs-warning-bg-subtle: #fbf1dc;
  --bs-warning-border-subtle: #f0d9a8;
  --bs-info: #75acd5;
  --bs-info-rgb: 117, 172, 213;
  --bs-info-text-emphasis: #104873;
  --bs-info-bg-subtle: #eaf3fa;
  --bs-info-border-subtle: #c2d9e9;
  --bs-dark: #0b2a45;
  --bs-dark-rgb: 11, 42, 69;
  --bs-form-valid-color: #2f7d57;
  --bs-form-valid-border-color: #2f7d57;
  --bs-form-invalid-color: #b23a2e;
  --bs-form-invalid-border-color: #b23a2e;
  --bs-highlight-bg: #e3eff8;
}

/* Art déco affirmé : crème, marine profond, laiton ; arcades, filets,
   symétrie. */
:root {
  --arc-bg: #f7f3ea;
  --arc-bg-alt: #efe7d7;
  --arc-surface: #fffdf8;
  --arc-ink: #1b2330;
  --arc-ink-2: #505866;
  --arc-ink-3: #7f8692;
  --arc-heading: #0d2a45;
  --arc-line: #e0d4bb;
  --arc-line-2: #c9b791;

  --arc-primary: #0d2a45;
  --arc-primary-hover: #153d62;
  --arc-accent: #b3925a;
  --arc-accent-ink: #7d6232;
  --arc-accent-soft: #efe5d1;
  --arc-gold: #b3925a;
  --arc-sale: #7b2d26;

  --arc-announce-bg: #071b2e;
  --arc-announce-ink: #dcc89f;
  --arc-header-bg: #0d2a45;
  --arc-header-ink: #f4ecdb;
  --arc-header-line: rgba(179, 146, 90, .55);
  --arc-footer-bg: #0a2238;
  --arc-footer-ink: #d4cab4;
  --arc-footer-heading: #f4ecdb;
  --arc-footer-line: rgba(179, 146, 90, .35);
  --arc-usp-bg: #efe7d7;

  --arc-display-track: .2em;
  --arc-label-track: .22em;
  --arc-nav-track: .2em;
  --arc-nav-size: .74rem;
  --arc-product-size: 1.3rem;

  --arc-radius-xs: 0;
  --arc-radius-sm: 0;
  --arc-radius: 0;
  --arc-radius-lg: 0;
  --arc-radius-img: 0;
  --arc-radius-btn: 0;
  --arc-radius-input: 0;

  --arc-shadow-sm: 0 1px 0 rgba(13, 42, 69, .06);
  --arc-shadow: 0 22px 44px -30px rgba(13, 42, 69, .45);
  --arc-shadow-lg: 0 36px 80px -36px rgba(7, 27, 46, .55);

  --arc-rings: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='38' viewBox='0 0 40 38'%3E%3Cg fill='none' stroke='%23b3925a' stroke-width='1.1' stroke-opacity='.35'%3E%3Ccircle cx='10' cy='9.5' r='6'/%3E%3Ccircle cx='10' cy='9.5' r='2.6'/%3E%3Ccircle cx='30' cy='28.5' r='6'/%3E%3Ccircle cx='30' cy='28.5' r='2.6'/%3E%3C/g%3E%3C/svg%3E");
  --arc-ornament: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='16' viewBox='0 0 160 16'%3E%3Cg fill='none' stroke='%23b3925a' stroke-width='1.1'%3E%3Cpath d='M0 6.5h62M0 9.5h62M98 6.5h62M98 9.5h62'/%3E%3Cpath d='m80 1.5 6.5 6.5-6.5 6.5-6.5-6.5z'/%3E%3Cpath d='m68 8 3-3 3 3-3 3zM86 8l3-3 3 3-3 3z'/%3E%3C/g%3E%3C/svg%3E");

  --arc-logo-filter: brightness(0) invert(94%) sepia(12%) saturate(380%) hue-rotate(352deg);
  --arc-logo-footer-filter: brightness(0) invert(94%) sepia(12%) saturate(380%) hue-rotate(352deg);

  --bs-body-bg-rgb: 247, 243, 234;
  --bs-body-color-rgb: 27, 35, 48;
  --bs-primary: #0d2a45;
  --bs-primary-rgb: 13, 42, 69;
  --bs-primary-text-emphasis: #0d2a45;
  --bs-primary-bg-subtle: #efe5d1;
  --bs-primary-border-subtle: #e0d4bb;
  --bs-secondary-bg: #efe7d7;
  --bs-secondary-bg-rgb: 239, 231, 215;
  --bs-tertiary-bg: #f2ecdf;
  --bs-tertiary-bg-rgb: 242, 236, 223;
  --bs-link-color-rgb: 13, 42, 69;
  --bs-link-hover-color-rgb: 125, 98, 50;
  --bs-border-color-translucent: rgba(179, 146, 90, .3);
  --bs-focus-ring-color: rgba(179, 146, 90, .45);
  --bs-info: #b3925a;
  --bs-info-rgb: 179, 146, 90;
  --bs-info-bg-subtle: #f3ecdd;
  --bs-info-border-subtle: #e0d4bb;
  --bs-info-text-emphasis: #0d2a45;
  --bs-highlight-bg: #efe5d1;
}

/* Minimal lumineux : blanc, bleu ciel en appui, typographie sans empattement
   unique, ni motif ni doré. */

/* 3. Base & typographie =================================================== */

html {
  -webkit-text-size-adjust: 100%;
  background-color: var(--arc-bg);
}

body {
  background-color: var(--arc-bg);
  color: var(--arc-ink);
  font-family: var(--arc-font-body);
  font-size: 1rem;
  font-variant-numeric: lining-nums;
  letter-spacing: .005em;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

::selection {
  background: var(--arc-accent-soft);
  color: var(--arc-heading);
}

a:where(:not(.btn)) {
  color: var(--arc-primary);
  text-underline-offset: .22em;
  text-decoration-thickness: 1px;
  transition: color var(--arc-dur) var(--arc-ease), background-color var(--arc-dur) var(--arc-ease), border-color var(--arc-dur) var(--arc-ease);
}

a:where(:not(.btn)):hover {
  color: var(--arc-accent-ink);
}

:focus-visible {
  outline: 2px solid var(--arc-primary);
  outline-offset: 3px;
}

h1,
h2,
h3,
.h1,
.h2,
.h3 {
  color: var(--arc-heading);
  font-family: var(--arc-font-heading);
  font-weight: var(--arc-heading-weight);
  letter-spacing: var(--arc-heading-track);
  line-height: 1.12;
  text-wrap: balance;
}

h4,
h5,
h6,
.h4,
.h5,
.h6 {
  color: var(--arc-heading);
  font-family: var(--arc-font-body);
  font-weight: 600;
  line-height: 1.3;
}

h1,
.h1 { font-size: clamp(2rem, 1.5rem + 1.8vw, 3rem); }
h2,
.h2 { font-size: clamp(1.65rem, 1.3rem + 1.3vw, 2.35rem); }
h3,
.h3 { font-size: clamp(1.35rem, 1.2rem + .6vw, 1.7rem); }

hr {
  border-color: var(--arc-line);
  opacity: 1;
}

p {
  text-wrap: pretty;
}

.container,
.container-md {
  --bs-gutter-x: calc(var(--arc-gutter) * 2);
}

@media (min-width: 1400px) {
  .container,
  .container-md {
      max-width: 1360px;
    }
}

/* Pictogrammes */
.arc-sprite {
  height: 0;
  overflow: hidden;
  position: absolute;
  width: 0;
}

.arc-icon {
  display: inline-block;
  flex-shrink: 0;
  height: 1.5rem;
  vertical-align: middle;
  width: 1.5rem;
}

/* Bouton-pictogramme (en-tête, panneaux) */
.arc-iconbtn {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--arc-radius-pill);
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  gap: .45rem;
  justify-content: center;
  min-height: 2.75rem;
  min-width: 2.75rem;
  padding: .5rem;
  position: relative;
  text-decoration: none;
  transition: background-color var(--arc-dur) var(--arc-ease), color var(--arc-dur) var(--arc-ease);
}

.arc-iconbtn:hover {
  background-color: color-mix(in srgb, currentColor 8%, transparent);
  color: inherit;
}

.arc-iconbtn__label {
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .02em;
}

/* Titres « display » : lettrage Art déco du logo */
.arc-display,
.page-title-section,
.section-title {
  color: var(--arc-heading);
  font-family: var(--arc-font-display);
  font-weight: var(--arc-display-weight);
  letter-spacing: var(--arc-display-track);
  line-height: 1.1;
  text-transform: var(--arc-display-case);
}

.page-title-section {
  font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem);
  margin-bottom: 1.25rem;
}

/* Sur-titre (petites capitales espacées) */
.arc-eyebrow {
  color: var(--arc-accent-ink);
  display: inline-flex;
  align-items: center;
  font-family: var(--arc-font-body);
  font-size: .75rem;
  font-weight: 600;
  gap: .6rem;
  letter-spacing: var(--arc-label-track);
  line-height: 1.3;
  margin-bottom: .9rem;
  text-transform: uppercase;
}

:root .arc-eyebrow {
  color: var(--arc-gold);
}

:root .arc-eyebrow::before,
:root .arc-eyebrow::after {
  border: 1px solid currentColor;
  content: "";
  height: .4rem;
  transform: rotate(45deg);
  width: .4rem;
}

/* En-tête de section : titre + lien « voir tout » */
.arc-section {
  padding-block: var(--arc-section);
}

.arc-section--alt {
  background-color: var(--arc-bg-alt);
}

.arc-section-head {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: .25rem;
  margin-bottom: clamp(1.75rem, 1.2rem + 2vw, 3rem);
  text-align: center;
}

.arc-section-head .section-title,
.arc-section-head .arc-display {
  font-size: clamp(1.6rem, 1.15rem + 1.8vw, 2.6rem);
  margin: 0;
}

.arc-section-head__text {
  color: var(--arc-ink-2);
  margin: .75rem 0 0;
  max-width: 38rem;
}

/* Ornement sous les titres */
:root .arc-section-head .section-title::after,
:root .arc-section-head .arc-display::after {
  background: var(--arc-ornament) center / contain no-repeat;
  content: "";
  display: block;
  height: 16px;
  margin: 1rem auto 0;
  width: 132px;
}

:root .arc-section-head .section-title::after,
:root .arc-section-head .arc-display::after {
  width: 160px;
}

/* Minimal : titres alignés à gauche, lien à droite */

/* Lien fléché */
.arc-link {
  align-items: center;
  color: var(--arc-primary);
  display: inline-flex;
  font-size: .875rem;
  font-weight: 600;
  gap: .4rem;
  letter-spacing: .02em;
  text-decoration: none;
}

.arc-link .arc-icon {
  height: 1.1rem;
  transition: transform var(--arc-dur) var(--arc-ease);
  width: 1.1rem;
}

.arc-link:hover .arc-icon {
  transform: translateX(3px);
}

:root .arc-link {
  font-size: .75rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

/* Texte riche (descriptions, CMS) */
.rich-text {
  line-height: 1.75;
}

.rich-text a:not(.btn) {
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
}

.rich-text a:not(.btn):hover {
  text-decoration-color: currentColor;
}

.rich-text img {
  border-radius: var(--arc-radius-img);
  height: auto;
  max-width: 100%;
}

/* Motif d'anneaux réutilisable */
.arc-pattern {
  background-color: var(--arc-sky);
  background-image: var(--arc-rings);
  background-size: 40px 38px;
}

.wrapper {
  padding-bottom: var(--arc-section);
}
/* 4. Boutons, formulaires, composants Bootstrap ========================== */

.btn {
  --bs-btn-border-radius: var(--arc-radius-btn);
  --bs-btn-font-family: var(--arc-font-body);
  --bs-btn-font-weight: 500;
  --bs-btn-font-size: .9375rem;
  --bs-btn-padding-x: 1.5rem;
  --bs-btn-padding-y: .72rem;
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  align-items: center;
  gap: .5rem;
  justify-content: center;
  letter-spacing: .02em;
  transition: color var(--arc-dur) var(--arc-ease), background-color var(--arc-dur) var(--arc-ease), border-color var(--arc-dur) var(--arc-ease), box-shadow var(--arc-dur) var(--arc-ease), outline-color var(--arc-dur) var(--arc-ease);
}

/* Couleurs réaffirmées hors couche : aucune règle de lien ne doit les écraser */
.btn {
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
  color: var(--bs-btn-color);
}

.btn:hover {
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  color: var(--bs-btn-hover-color);
}

.btn:active,
.btn.active {
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
  color: var(--bs-btn-active-color);
}

.btn:disabled,
.btn.disabled {
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  color: var(--bs-btn-disabled-color);
}

.btn-sm {
  --bs-btn-font-size: .8125rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: .45rem;
}

.btn-lg {
  --bs-btn-font-size: 1rem;
  --bs-btn-padding-x: 2rem;
  --bs-btn-padding-y: .95rem;
}

.btn-primary {
  --bs-btn-color: var(--arc-on-primary);
  --bs-btn-bg: var(--arc-primary);
  --bs-btn-border-color: var(--arc-primary);
  --bs-btn-hover-color: var(--arc-on-primary);
  --bs-btn-hover-bg: var(--arc-primary-hover);
  --bs-btn-hover-border-color: var(--arc-primary-hover);
  --bs-btn-active-color: var(--arc-on-primary);
  --bs-btn-active-bg: var(--arc-primary-hover);
  --bs-btn-active-border-color: var(--arc-primary-hover);
  --bs-btn-disabled-color: var(--arc-on-primary);
  --bs-btn-disabled-bg: var(--arc-ink-3);
  --bs-btn-disabled-border-color: var(--arc-ink-3);
}

.btn-outline-primary {
  --bs-btn-color: var(--arc-primary);
  --bs-btn-border-color: var(--arc-primary);
  --bs-btn-hover-color: var(--arc-on-primary);
  --bs-btn-hover-bg: var(--arc-primary);
  --bs-btn-hover-border-color: var(--arc-primary);
  --bs-btn-active-color: var(--arc-on-primary);
  --bs-btn-active-bg: var(--arc-primary-hover);
  --bs-btn-active-border-color: var(--arc-primary-hover);
  --bs-btn-disabled-color: var(--arc-ink-3);
  --bs-btn-disabled-border-color: var(--arc-line-2);
}

.btn-secondary {
  --bs-btn-color: var(--arc-primary);
  --bs-btn-bg: var(--arc-accent-soft);
  --bs-btn-border-color: var(--arc-accent-soft);
  --bs-btn-hover-color: var(--arc-primary);
  --bs-btn-hover-bg: color-mix(in srgb, var(--arc-accent-soft) 70%, var(--arc-accent));
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--arc-primary);
  --bs-btn-active-bg: color-mix(in srgb, var(--arc-accent-soft) 50%, var(--arc-accent));
  --bs-btn-active-border-color: transparent;
}

.btn-tertiary,
.btn-outline-tertiary,
.btn-outline-secondary {
  --bs-btn-color: var(--arc-primary);
  --bs-btn-bg: var(--arc-surface);
  --bs-btn-border-color: var(--arc-line-2);
  --bs-btn-hover-color: var(--arc-primary);
  --bs-btn-hover-bg: var(--arc-surface);
  --bs-btn-hover-border-color: var(--arc-primary);
  --bs-btn-active-color: var(--arc-primary);
  --bs-btn-active-bg: var(--arc-accent-soft);
  --bs-btn-active-border-color: var(--arc-primary);
}

.btn-link {
  --bs-btn-color: var(--arc-primary);
  --bs-btn-hover-color: var(--arc-accent-ink);
  --bs-btn-active-color: var(--arc-accent-ink);
  --bs-btn-font-weight: 600;
}

.btn-square-icon {
  aspect-ratio: 1;
  min-width: 2.75rem;
  padding: 0;
}

/* Art déco : boutons rectangulaires, capitales espacées, filet intérieur */
:root .btn {
  --bs-btn-font-size: .75rem;
  --bs-btn-font-weight: 600;
  --bs-btn-padding-x: 1.9rem;
  --bs-btn-padding-y: .95rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

:root .btn-sm {
  --bs-btn-font-size: .6875rem;
  --bs-btn-padding-x: 1.1rem;
  --bs-btn-padding-y: .6rem;
}

:root .btn-primary {
  outline: 1px solid rgba(220, 200, 159, .7);
  outline-offset: -5px;
}

:root .btn-primary:hover {
  outline-color: #dcc89f;
}

:root .btn-outline-primary {
  outline: 1px solid transparent;
  outline-offset: -5px;
}

:root .btn-outline-primary:hover {
  outline-color: rgba(220, 200, 159, .7);
}

/* Minimal : boutons nets, graisse affirmée */

/* Formulaires */
.form-control,
.form-select {
  background-color: var(--arc-surface);
  border: 1px solid var(--arc-line-2);
  border-radius: var(--arc-radius-input);
  color: var(--arc-ink);
  font-size: .9375rem;
  min-height: 2.9rem;
  padding: .65rem 1rem;
  transition: border-color var(--arc-dur) var(--arc-ease), box-shadow var(--arc-dur) var(--arc-ease), background-color var(--arc-dur) var(--arc-ease);
}

.form-control::placeholder {
  color: var(--arc-ink-3);
}

.form-control:hover,
.form-select:hover {
  border-color: color-mix(in srgb, var(--arc-primary) 45%, var(--arc-line-2));
}

.form-control:focus,
.form-select:focus {
  border-color: var(--arc-primary);
  box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--arc-primary) 14%, transparent);
}

.form-control-sm,
.form-select-sm {
  min-height: 2.25rem;
  padding-block: .35rem;
}

textarea.form-control {
  min-height: 7rem;
}

.form-label,
.form-control-label,
label.required {
  color: var(--arc-heading);
  font-size: .875rem;
  font-weight: 600;
}

.form-text,
.form-control-comment {
  color: var(--arc-ink-2);
  font-size: .8125rem;
}

.form-check-input {
  border-color: var(--arc-line-2);
}

.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--arc-primary);
  border-color: var(--arc-primary);
}

.form-check-input:focus {
  border-color: var(--arc-primary);
  box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--arc-primary) 15%, transparent);
}

.form-range::-webkit-slider-thumb { background-color: var(--arc-primary); }
.form-range::-moz-range-thumb { background-color: var(--arc-primary); }

.input-group > .form-control:not(:last-child) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

/* Sélecteur de quantité */
.quantity-button__group.input-group {
  align-items: center;
  background: var(--arc-surface);
  border: 1px solid var(--arc-line-2);
  border-radius: var(--arc-radius-btn);
  flex-wrap: nowrap;
  overflow: hidden;
  padding: .15rem;
  width: auto;
}

.quantity-button__group.input-group:focus-within {
  border-color: var(--arc-primary);
}

.quantity-button button,
.quantity-button__group .btn {
  --bs-btn-padding-x: 0;
  --bs-btn-padding-y: 0;
  background: transparent;
  border: 0 !important;
  border-radius: var(--arc-radius-btn) !important;
  color: var(--arc-primary);
  height: 2.5rem;
  min-width: 2.5rem;
  outline: 0 !important;
  width: 2.5rem;
}

.quantity-button button:hover {
  background-color: var(--arc-accent-soft);
  opacity: 1;
}

.quantity-button input,
.quantity-button__group .form-control {
  background: transparent;
  border: 0 !important;
  box-shadow: none !important;
  font-weight: 600;
  min-height: 2.5rem;
  padding-inline: .25rem;
  text-align: center;
}

/* Pastilles */
.badge {
  border-radius: var(--arc-radius-pill);
  font-family: var(--arc-font-body);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .1em;
  padding: .45em .85em;
  text-transform: uppercase;
}

:root .badge {
  border-radius: 0;
  letter-spacing: .18em;
}

/* Alertes */
.alert {
  border-radius: var(--arc-radius);
}

/* Menus déroulants */
.dropdown-menu {
  --bs-dropdown-bg: var(--arc-surface);
  --bs-dropdown-border-color: var(--arc-line);
  --bs-dropdown-border-radius: var(--arc-radius);
  --bs-dropdown-link-color: var(--arc-ink);
  --bs-dropdown-link-hover-color: var(--arc-heading);
  --bs-dropdown-link-hover-bg: var(--arc-bg-alt);
  --bs-dropdown-link-active-color: var(--arc-heading);
  --bs-dropdown-link-active-bg: var(--arc-accent-soft);
  --bs-dropdown-item-padding-x: 1.1rem;
  --bs-dropdown-item-padding-y: .55rem;
  box-shadow: var(--arc-shadow);
  font-size: .9375rem;
  overflow: hidden;
  padding-block: .4rem;
}

.dropdown-item.current,
.dropdown-item[aria-current] {
  background-color: var(--arc-accent-soft);
  color: var(--arc-heading);
  font-weight: 600;
}

/* Accordéons */
.accordion {
  --bs-accordion-bg: transparent;
  --bs-accordion-border-color: var(--arc-line);
  --bs-accordion-btn-color: var(--arc-heading);
  --bs-accordion-active-color: var(--arc-heading);
  --bs-accordion-active-bg: transparent;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--arc-primary) 15%, transparent);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23104873' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M12 5.5v13M5.5 12h13'/%3E%3C/svg%3E");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23104873' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M5.5 12h13'/%3E%3C/svg%3E");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: none;
}

.accordion-button {
  font-weight: 600;
}

.accordion-button:not(.collapsed) {
  box-shadow: none;
}

/* Fenêtres modales, panneaux latéraux, notifications */
.modal {
  --bs-modal-bg: var(--arc-surface);
  --bs-modal-border-radius: var(--arc-radius-lg);
  --bs-modal-border-color: transparent;
  --bs-modal-box-shadow: var(--arc-shadow-lg);
  --bs-modal-header-border-color: var(--arc-line);
  --bs-modal-footer-border-color: var(--arc-line);
}

.modal-backdrop,
.offcanvas-backdrop {
  --bs-backdrop-bg: #071b2e;
  --bs-backdrop-opacity: .45;
}

.modal-title {
  color: var(--arc-heading);
  font-family: var(--arc-font-heading);
  font-size: 1.5rem;
  font-weight: var(--arc-heading-weight);
}

.offcanvas {
  --bs-offcanvas-bg: var(--arc-bg);
  --bs-offcanvas-border-color: transparent;
  --bs-offcanvas-box-shadow: var(--arc-shadow-lg);
}

.toast {
  --bs-toast-border-radius: var(--arc-radius);
  --bs-toast-box-shadow: var(--arc-shadow);
}

.btn-close {
  --bs-btn-close-opacity: .7;
  --bs-btn-close-focus-shadow: 0 0 0 .2rem color-mix(in srgb, var(--arc-primary) 15%, transparent);
  border-radius: 50%;
}

/* Pagination */
.pagination {
  --bs-pagination-color: var(--arc-primary);
  --bs-pagination-bg: transparent;
  --bs-pagination-border-color: transparent;
  --bs-pagination-hover-color: var(--arc-primary);
  --bs-pagination-hover-bg: var(--arc-bg-alt);
  --bs-pagination-hover-border-color: transparent;
  --bs-pagination-focus-color: var(--arc-primary);
  --bs-pagination-focus-bg: var(--arc-bg-alt);
  --bs-pagination-focus-box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--arc-primary) 15%, transparent);
  --bs-pagination-active-color: var(--arc-on-primary);
  --bs-pagination-active-bg: var(--arc-primary);
  --bs-pagination-active-border-color: var(--arc-primary);
  --bs-pagination-disabled-color: var(--arc-ink-3);
  --bs-pagination-disabled-bg: transparent;
  --bs-pagination-disabled-border-color: transparent;
  gap: .35rem;
  margin: 0;
}

.pagination .page-link {
  align-items: center;
  border-radius: var(--arc-radius-btn) !important;
  display: inline-flex;
  font-weight: 600;
  gap: .25rem;
  justify-content: center;
  min-height: 2.5rem;
  min-width: 2.5rem;
}

/* Fil d'Ariane */
.breadcrumb__wrapper {
  background: transparent;
  border: 0;
  margin-bottom: clamp(.75rem, .5rem + 1vw, 1.75rem);
}

.breadcrumb {
  --bs-breadcrumb-divider: "/";
  --bs-breadcrumb-divider-color: var(--arc-line-2);
  --bs-breadcrumb-item-active-color: var(--arc-ink-2);
  --bs-breadcrumb-font-size: .8125rem;
  --bs-breadcrumb-item-padding-x: .6rem;
  --bs-breadcrumb-padding-y: .9rem;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}

.breadcrumb::-webkit-scrollbar {
  display: none;
}

.breadcrumb-item,
.breadcrumb-item span {
  color: var(--arc-ink-2);
}

.breadcrumb-link {
  color: var(--arc-ink-2);
  text-decoration: none;
}

.breadcrumb-link:hover {
  color: var(--arc-primary);
  text-decoration: underline;
}

/* Les libellés de catégories saisis en capitales sont harmonisés */
.breadcrumb-item {
  letter-spacing: .02em;
}

/* Onglets & tableaux */
.nav-tabs {
  --bs-nav-tabs-border-color: var(--arc-line);
  --bs-nav-tabs-link-active-color: var(--arc-heading);
  --bs-nav-tabs-link-active-bg: var(--arc-surface);
  --bs-nav-tabs-link-active-border-color: var(--arc-line) var(--arc-line) var(--arc-surface);
}

.nav-link {
  --bs-nav-link-color: var(--arc-primary);
  --bs-nav-link-hover-color: var(--arc-accent-ink);
}

.table {
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--arc-line);
  --bs-table-striped-bg: var(--arc-bg-alt);
  --bs-table-hover-bg: var(--arc-bg-alt);
}

.table > thead th,
.table thead th {
  color: var(--arc-heading);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.card {
  --bs-card-bg: var(--arc-surface);
  --bs-card-border-color: var(--arc-line);
  --bs-card-border-radius: var(--arc-radius);
  --bs-card-cap-bg: var(--arc-bg-alt);
}

/* Carrousels (contrôles) */
.carousel-control-prev,
.carousel-control-next {
  opacity: 1;
  width: 4.5rem;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: color-mix(in srgb, var(--arc-surface) 92%, transparent);
  background-size: 1.1rem;
  border-radius: var(--arc-radius-pill);
  box-shadow: var(--arc-shadow-sm);
  height: 2.75rem;
  transition: transform var(--arc-dur) var(--arc-ease), background-color var(--arc-dur) var(--arc-ease);
  width: 2.75rem;
}

.carousel-control-prev-icon::before,
.carousel-control-next-icon::before {
  color: var(--arc-heading);
}

.carousel-indicators [data-bs-target] {
  background-color: #fff;
  border-radius: var(--arc-radius-pill);
  height: 3px;
  opacity: .6;
  transition: width .3s var(--arc-ease), opacity .3s var(--arc-ease);
  width: 1.25rem;
}

.carousel-indicators .active {
  opacity: 1;
  width: 2.5rem;
}

.page-loader {
  --bs-primary: var(--arc-primary);
}
/* 5. En-tête ===============================================================
   Bandeau d'informations, barre principale collante, logo, recherche,
   compte & panier, méga-menu (≥ 1200 px), panneau mobile.
   Comportements : custom.js (défilement, méga-menu, recherche).
   ========================================================================== */

#header {
  background: var(--arc-header-bg);
  color: var(--arc-header-ink);
  position: sticky;
  /* Seul le bandeau d'informations défile ; la barre reste visible */
  top: calc(var(--arc-announce-h, 0px) * -1);
  transition: transform .4s var(--arc-ease), box-shadow .3s var(--arc-ease);
  z-index: 1030;
}

body.arc-scrolled #header {
  box-shadow: 0 12px 30px -24px rgba(7, 27, 46, .55);
}

/* Masqué en descendant, réapparaît en remontant */
body.arc-header-hidden #header {
  transform: translateY(-100%);
}

.header-banner img {
  height: auto;
  max-width: 100%;
}

/* Bandeau d'informations ------------------------------------------------- */
.arc-announce {
  background-color: var(--arc-announce-bg);
  color: var(--arc-announce-ink);
  font-size: .78rem;
  letter-spacing: .03em;
  position: relative;
}

.arc-announce__inner {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  min-height: 2.25rem;
}

.arc-announce__track {
  display: flex;
  flex: 1 1 auto;
  gap: 2.75rem;
  justify-content: center;
  list-style: none;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.arc-announce__item {
  align-items: center;
  display: flex;
  gap: .5rem;
  margin: 0;
  white-space: nowrap;
}

.arc-announce__item .arc-icon {
  height: 1.05rem;
  opacity: .85;
  width: 1.05rem;
}

.arc-announce__aside {
  flex: none;
}

.arc-announce__aside a,
#header .arc-announce .ps-contactinfo a {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.arc-announce__aside a:hover {
  text-decoration: underline;
}

@media (max-width: 991.98px) {
  /* Un message à la fois, défilement automatique (custom.js) */
  .arc-announce__track {
      gap: 0;
      justify-content: flex-start;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }
  
  .arc-announce__track::-webkit-scrollbar {
      display: none;
    }
  
  .arc-announce__item {
      flex: 0 0 100%;
      justify-content: center;
      min-height: 2.25rem;
      scroll-snap-align: center;
    }
  
  .arc-announce__aside {
      display: none;
    }
}

@media (min-width: 992px) {
  .arc-announce__track {
      justify-content: flex-start;
    }
  
  .arc-announce__inner:not(:has(.arc-announce__aside)) .arc-announce__track {
      justify-content: center;
    }
}

:root .arc-announce {
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

:root .arc-announce .arc-icon {
  color: var(--arc-gold);
}

/* Barre principale ------------------------------------------------------- */
.arc-header {
  background: var(--arc-header-bg);
  border-bottom: 1px solid var(--arc-header-line);
  position: relative;
}

.arc-header__bar {
  align-items: center;
  column-gap: .25rem;
  display: grid;
  grid-template-areas: "start brand end";
  grid-template-columns: 1fr auto 1fr;
  min-height: 3.75rem;
  transition: min-height .3s var(--arc-ease);
}

.arc-header__start {
  align-items: center;
  display: flex;
  gap: 0;
  grid-area: start;
  margin-left: -.6rem;
}

.arc-header__brand {
  display: flex;
  grid-area: brand;
  justify-content: center;
  min-width: 0;
}

.arc-header__search {
  display: none;
  grid-area: search;
  min-width: 0;
}

.arc-header__actions {
  align-items: center;
  display: flex;
  gap: 0;
  grid-area: end;
  justify-content: flex-end;
  margin-right: -.6rem;
}

.arc-header__actions > div,
.arc-header__actions .ps-customersignin,
.arc-header__actions .ps-shoppingcart {
  display: flex;
}

.arc-header .arc-iconbtn {
  color: var(--arc-header-ink);
}

.arc-header .arc-iconbtn .arc-icon {
  height: 1.45rem;
  width: 1.45rem;
}

.arc-header .arc-iconbtn__label {
  display: none;
}

.arc-header__h1 {
  font-size: inherit;
  line-height: 1;
  margin: 0;
}

/* Logo : ange + lettrage détourés du logo d'origine */
.arc-logo {
  align-items: center;
  color: inherit;
  display: inline-flex;
  gap: .6rem;
  padding-block: .45rem;
  text-decoration: none;
}

.arc-logo img {
  filter: var(--arc-logo-filter);
}

.arc-logo__angel {
  flex-shrink: 0;
  height: 2.35rem;
  transition: height .3s var(--arc-ease), opacity .3s var(--arc-ease);
  width: auto;
}

.arc-logo__text {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  min-width: 0;
}

.arc-logo__wordmark {
  display: block;
  height: 1.05rem;
  transition: height .3s var(--arc-ease);
  width: auto;
}

.arc-logo__tagline {
  color: var(--arc-header-ink);
  display: none;
  font-family: var(--arc-font-heading);
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .34em;
  line-height: 1;
  opacity: .8;
  padding-left: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Compte & panier */
.header-block {
  display: flex;
  position: relative;
}

.header-block__action-btn {
  border-radius: var(--arc-radius-pill);
  color: var(--arc-header-ink);
  padding: .5rem;
}

.header-block__action-btn:not([href]) {
  cursor: default;
}

.arc-header .header-block--active .arc-iconbtn,
.arc-header .header-block--active .header-block__icon {
  color: var(--arc-header-ink);
}

.header-block__badge,
.header-block--active .header-block__badge {
  align-items: center;
  background: var(--arc-primary);
  border: 0;
  border-radius: var(--arc-radius-pill);
  color: var(--arc-on-primary);
  display: flex;
  font-size: .625rem;
  font-weight: 700;
  height: 1.05rem;
  justify-content: center;
  left: auto;
  letter-spacing: 0;
  line-height: 1;
  min-width: 1.05rem;
  padding: 0 .25rem;
  position: absolute;
  right: .2rem;
  top: .3rem;
}

.blockcart.inactive .header-block__badge {
  display: none;
}

:root .header-block__badge {
  background: var(--arc-gold);
  color: #0d2a45;
}

.ps-customersignin .dropdown-toggle::after {
  display: none;
}

.ps-customersignin .dropdown-menu {
  margin-top: .5rem !important;
  min-width: 15rem;
}

.arc-account-menu__hello {
  border-bottom: 1px solid var(--arc-line);
  color: var(--arc-heading);
  font-family: var(--arc-font-heading);
  font-size: 1.15rem;
  font-weight: var(--arc-heading-weight);
  margin: 0 0 .35rem;
  padding: .5rem 1.1rem .75rem;
}

.arc-account-menu__logout {
  color: var(--arc-danger) !important;
}

/* Recherche -------------------------------------------------------------- */
.ps-searchbar {
  margin: 0;
  min-width: 0;
  position: relative;
  width: 100%;
}

.ps-searchbar__form {
  position: relative;
}

.ps-searchbar__magnifier {
  color: var(--arc-ink-2);
  cursor: pointer;
  height: 1.2rem;
  left: 1rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2rem;
  z-index: 2;
}

.ps-searchbar__input,
.ps-searchbar__input.form-control {
  background-color: var(--arc-surface);
  border-radius: var(--arc-radius-pill);
  font-size: .9rem;
  min-height: 2.75rem;
  padding-inline: 2.85rem 2.75rem;
}

.ps-searchbar__clear {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: var(--arc-ink-2);
  display: flex;
  height: 2.25rem;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: .3rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.25rem;
  z-index: 2;
}

.ps-searchbar__clear .arc-icon {
  height: 1.1rem;
  width: 1.1rem;
}

.ps-searchbar__dropdown {
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius);
  box-shadow: var(--arc-shadow-lg);
  left: 0;
  margin-top: .5rem;
  max-height: min(70vh, 32rem);
  max-width: none;
  overflow-y: auto;
  padding: .5rem;
  position: absolute;
  right: 0;
  top: 100%;
  width: 100%;
  z-index: 1060;
}

.ps-searchbar__results {
  display: grid;
  gap: .15rem;
  padding: 0;
}

.ps-searchbar__result-link {
  align-items: center;
  border-radius: var(--arc-radius-sm);
  color: var(--arc-ink);
  display: flex;
  gap: .85rem;
  padding: .4rem;
  text-decoration: none;
}

.ps-searchbar__result-link:hover,
.ps-searchbar__result-link:focus {
  background-color: var(--arc-bg-alt);
  color: var(--arc-heading);
}

.ps-searchbar__result-image {
  aspect-ratio: 1;
  border-radius: var(--arc-radius-xs);
  flex-shrink: 0;
  object-fit: cover;
  width: 3.25rem;
}

.ps-searchbar__result-name {
  font-family: var(--arc-product-font);
  font-size: 1.05rem;
  font-weight: var(--arc-product-weight);
  line-height: 1.25;
  margin: 0;
  padding: 0;
}

/* Panneau de recherche (ouvert par la loupe) */
.ps-searchbar__offcanvas.offcanvas-top {
  background: var(--arc-bg);
  border-bottom: 0;
  border-radius: 0 0 var(--arc-radius-lg) var(--arc-radius-lg);
  box-shadow: var(--arc-shadow-lg);
  height: auto;
  max-height: 85vh;
}

.ps-searchbar__offcanvas .offcanvas-header {
  gap: .5rem;
  margin-inline: auto;
  max-width: 50rem;
  padding: 1.1rem var(--arc-gutter);
  width: 100%;
}

.ps-searchbar__offcanvas .ps-searchbar__container {
  flex: 1 1 auto;
  min-width: 0;
}

.ps-searchbar__offcanvas .ps-searchbar__input {
  background-color: var(--arc-surface);
  font-size: 1rem;
  min-height: 3.1rem;
}

/* Navigation desktop (méga-menu) ----------------------------------------- */
.arc-header__nav {
  display: none;
}

.arc-nav__list {
  align-items: stretch;
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.arc-nav__item {
  align-items: center;
  display: flex;
  position: static;
}

.arc-nav__link {
  align-items: center;
  color: var(--arc-header-ink);
  display: flex;
  font-size: var(--arc-nav-size);
  font-weight: var(--arc-nav-weight);
  justify-content: center;
  letter-spacing: var(--arc-nav-track);
  line-height: 1.3;
  max-width: 11.5em;
  min-height: 3.4rem;
  padding: .55rem .75rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-transform: var(--arc-nav-case);
  text-wrap: balance;
}

.arc-nav__link:hover {
  color: var(--arc-header-ink);
}

.arc-nav__link::after {
  background: currentColor;
  bottom: .6rem;
  content: "";
  height: 1px;
  left: .75rem;
  position: absolute;
  right: .75rem;
  transform: scaleX(0);
  transition: transform .3s var(--arc-ease);
}

.arc-nav__item:hover > .arc-nav__link::after,
.arc-nav__item.is-open > .arc-nav__link::after,
.arc-nav__item.is-current > .arc-nav__link::after,
.arc-nav__link:focus-visible::after {
  transform: scaleX(1);
}

.arc-nav__toggle {
  align-items: center;
  align-self: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: inherit;
  display: flex;
  height: 1.75rem;
  justify-content: center;
  margin-left: -.55rem;
  padding: 0;
  width: 1.5rem;
}

.arc-nav__toggle .arc-icon {
  height: .95rem;
  transition: transform .3s var(--arc-ease);
  width: .95rem;
}

.arc-nav__item.is-open .arc-nav__toggle .arc-icon {
  transform: rotate(180deg);
}

/* Souris : le sous-menu s'ouvre au survol, le chevron reste accessible au
   clavier sans occuper de place. Écrans tactiles : chevron visible. */
@media (hover: hover) and (pointer: fine) {
  .arc-nav__toggle:not(:focus-visible) {
      clip-path: inset(50%);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      position: absolute;
      width: 1px;
    }
}

/* Panneau du méga-menu */
.arc-mega {
  background: var(--arc-surface);
  border-top: 1px solid var(--arc-header-line);
  box-shadow: var(--arc-shadow-lg);
  color: var(--arc-ink);
  left: 0;
  max-height: calc(100vh - var(--arc-header-bottom, 12rem) - 1rem);
  opacity: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 100%;
  transform: translateY(-.5rem);
  transition: opacity .22s var(--arc-ease), transform .22s var(--arc-ease), visibility 0s linear .22s;
  visibility: hidden;
  z-index: 5;
}

.arc-nav__item.is-open > .arc-mega {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  transition-delay: 0s;
  visibility: visible;
}

.arc-mega__inner {
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(12rem, 16rem) 1fr;
  padding-block: 2.25rem 2.75rem;
  position: relative;
}

.arc-mega__head {
  align-items: flex-start;
  border-right: 1px solid var(--arc-line);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-right: 2.5rem;
}

.arc-mega__title {
  color: var(--arc-heading);
  font-family: var(--arc-font-display);
  font-size: 1.65rem;
  font-weight: var(--arc-display-weight);
  letter-spacing: var(--arc-display-track);
  line-height: 1.15;
  margin: 0;
  text-transform: var(--arc-display-case);
}

.arc-mega__all {
  align-items: center;
  color: var(--arc-primary);
  display: inline-flex;
  font-size: .8125rem;
  font-weight: 600;
  gap: .4rem;
  letter-spacing: .04em;
  text-decoration: none;
}

.arc-mega__all .arc-icon {
  height: 1rem;
  transition: transform var(--arc-dur) var(--arc-ease);
  width: 1rem;
}

.arc-mega__all:hover .arc-icon {
  transform: translateX(3px);
}

.arc-mega__cols {
  column-gap: 2.5rem;
  columns: 3 13rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.arc-mega__cols--many {
  columns: 4 11rem;
}

.arc-mega__group {
  break-inside: avoid;
  padding-bottom: .2rem;
}

.arc-mega__group--parent {
  padding-bottom: 1rem;
}

.arc-mega__heading {
  color: var(--arc-ink);
  display: block;
  font-size: .9375rem;
  line-height: 1.35;
  padding: .3rem 0;
  text-decoration: none;
}

.arc-mega__group--parent .arc-mega__heading {
  color: var(--arc-heading);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.arc-mega__links {
  list-style: none;
  margin: .2rem 0 0;
  padding: 0;
}

.arc-mega__link {
  color: var(--arc-ink-2);
  display: block;
  font-size: .9rem;
  line-height: 1.35;
  padding: .25rem 0;
  text-decoration: none;
}

.arc-mega__heading:hover,
.arc-mega__link:hover,
.arc-mega a[aria-current] {
  color: var(--arc-accent-ink);
}

/* Desktop ≥ 1200 px ------------------------------------------------------ */
@media (min-width: 1200px) {
  .arc-header__nav {
      border-top: 1px solid var(--arc-header-line);
      display: block;
    }
  
  .arc-header__menu-btn {
      display: none;
    }
  
  .arc-logo__angel {
      height: 3.5rem;
    }
  
  .arc-logo__wordmark {
      height: 1.55rem;
    }
  
  .arc-logo__tagline {
      display: block;
    }
  
  .arc-header__bar {
      min-height: 6rem;
    }
  
  /* Défilement : en-tête condensé */
  body.arc-condensed .arc-header__bar {
      min-height: 4.25rem;
    }
  
  body.arc-condensed .arc-logo__angel {
      height: 2.6rem;
    }
  
  body.arc-condensed .arc-logo__wordmark {
      height: 1.2rem;
    }
  
  body.arc-condensed .arc-logo__tagline {
      display: none;
    }
}

/* Céleste : recherche à gauche, logo centré, navigation centrée */

/* Art déco : barre marine, logo empilé au centre, filets dorés */
:root .arc-header {
  border-bottom: 0;
  box-shadow: inset 0 -1px 0 var(--arc-header-line), inset 0 -4px 0 var(--arc-header-bg), inset 0 -5px 0 rgba(179, 146, 90, .3);
}

:root .arc-logo__tagline {
  color: #dcc89f;
  opacity: 1;
}

:root .arc-header .arc-iconbtn:hover {
  background-color: rgba(220, 200, 159, .12);
}

@media (min-width: 1200px) {
  :root .arc-header__bar {
      min-height: 8rem;
    }
  
  :root .arc-header__start .arc-header__search-btn {
      border-radius: 0;
      gap: .6rem;
    }
  
  :root .arc-header .arc-iconbtn__label {
      display: inline;
      font-size: .66rem;
      letter-spacing: .22em;
      text-transform: uppercase;
    }
  
  :root .arc-header__actions .arc-iconbtn__label {
      display: none;
    }
  
  :root .arc-logo {
      flex-direction: column;
      gap: .55rem;
      padding-block: .9rem .8rem;
    }
  
  :root .arc-logo__text {
      align-items: center;
      gap: .5rem;
    }
  
  :root .arc-logo__angel {
      height: 3.4rem;
    }
  
  :root .arc-logo__wordmark {
      height: 1.45rem;
    }
  
  :root body.arc-condensed .arc-header__bar {
      min-height: 4.5rem;
    }
  
  :root body.arc-condensed .arc-logo {
      flex-direction: row;
      padding-block: .45rem;
    }
  
  :root body.arc-condensed .arc-logo__angel {
      height: 2.5rem;
    }
  
  :root body.arc-condensed .arc-logo__wordmark {
      height: 1.1rem;
    }
  
  :root .arc-header__nav {
      border-top: 1px solid var(--arc-header-line);
    }
  
  /* Losanges entre les rubriques */
  :root .arc-nav__item + .arc-nav__item::before {
      border: 1px solid var(--arc-gold);
      content: "";
      flex: none;
      height: .3rem;
      opacity: .8;
      transform: rotate(45deg);
      width: .3rem;
    }
  
  :root .arc-nav__link {
      padding-inline: .9rem;
    }
  
  :root .arc-nav__link::after {
      background: var(--arc-gold);
      left: 50%;
      right: auto;
      transform: translateX(-50%) scaleX(0);
      width: 1.5rem;
    }
  
  :root .arc-nav__item:hover > .arc-nav__link::after,
  :root .arc-nav__item.is-open > .arc-nav__link::after,
  :root .arc-nav__item.is-current > .arc-nav__link::after,
  :root .arc-nav__link:focus-visible::after {
      transform: translateX(-50%) scaleX(1);
    }
}

:root .arc-mega {
  background: var(--arc-surface);
  border-top: 0;
  box-shadow: 0 1px 0 var(--arc-line), var(--arc-shadow-lg);
}

:root .arc-mega__inner::before {
  background: var(--arc-ornament) center / contain no-repeat;
  content: "";
  height: 16px;
  left: 50%;
  position: absolute;
  top: .9rem;
  transform: translateX(-50%);
  width: 160px;
}

:root .arc-mega__inner {
  padding-top: 3rem;
}

:root .arc-mega__head {
  border-right-color: var(--arc-line);
}

:root .arc-mega__group--parent .arc-mega__heading,
:root .arc-mega__all {
  letter-spacing: .18em;
}

/* Minimal : logo à gauche, grand champ de recherche, libellés visibles */

/* Tablette & mobile ------------------------------------------------------ */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .arc-header__bar {
      min-height: 4.5rem;
    }
  
  .arc-logo__angel {
      height: 2.75rem;
    }
  
  .arc-logo__wordmark {
      height: 1.25rem;
    }
  
  .arc-logo__tagline {
      display: block;
      font-size: .6rem;
    }
}

@media (max-width: 359.98px) {
  .arc-logo__angel {
      height: 2rem;
    }
  
  .arc-logo__wordmark {
      height: .9rem;
    }
}

/* Panneau de menu mobile ------------------------------------------------- */
.ps-mainmenu:is(.ps-mainmenu--mobile) {
  background: var(--arc-bg);
  display: flex;
  flex-direction: column;
  width: min(92vw, 25rem);
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .offcanvas-header {
  border-bottom: 1px solid var(--arc-line);
  flex: none;
  min-height: 4rem;
  padding: .5rem .6rem .5rem 1.25rem;
}

.ps-mainmenu__back-button {
  align-items: center;
  display: flex;
  min-width: 0;
}

.arc-drawer__logo {
  align-items: center;
  display: inline-flex;
  gap: .55rem;
}

.arc-drawer__logo img {
  filter: var(--arc-logo-filter);
  width: auto;
}

:root .arc-drawer__logo img {
  filter: none;
}

.arc-drawer__logo img:first-child {
  height: 2.1rem;
}

.arc-drawer__logo img:last-child {
  height: .95rem;
}

.ps-mainmenu__back-button:has(.js-back-button:not(.d-none)) .arc-drawer__logo {
  display: none;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .ps-mainmenu__back-button .js-back-button {
  align-items: center;
  color: var(--arc-heading);
  font-size: .875rem;
  font-weight: 600;
  gap: .35rem;
  padding: .5rem .25rem .5rem 0;
  text-decoration: none;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .ps-mainmenu__back-button .js-back-button:not(.d-none) {
  display: inline-flex;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .ps-mainmenu__back-button .arc-icon {
  height: 1.2rem;
  width: 1.2rem;
}

.ps-mainmenu__mobile {
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .menu {
  max-width: none;
  padding: 0;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .menu__list {
  list-style: none;
  padding: 0;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .menu__list > li:not(.menu__title) {
  align-items: stretch;
  border-bottom: 1px solid var(--arc-line);
  display: flex;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .menu a.menu__link {
  color: var(--arc-heading);
  flex: 1 1 auto;
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.35;
  padding: 1.05rem 1.25rem;
  text-decoration: none;
  text-transform: uppercase;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .menu--child a.menu__link,
.ps-mainmenu:is(.ps-mainmenu--mobile) .menu[data-depth="2"] a.menu__link,
.ps-mainmenu:is(.ps-mainmenu--mobile) .menu[data-depth="3"] a.menu__link {
  color: var(--arc-ink);
  font-size: .95rem;
  letter-spacing: 0;
  padding-block: .9rem;
  text-transform: none;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .menu a.menu__link:hover,
.ps-mainmenu:is(.ps-mainmenu--mobile) .menu a.menu__link:active {
  background-color: var(--arc-bg-alt);
  color: var(--arc-heading);
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .menu__toggle-child {
  align-items: center;
  align-self: stretch;
  border-left: 1px solid var(--arc-line);
  border-radius: 0;
  color: var(--arc-ink-2);
  display: flex;
  justify-content: center;
  padding: 0;
  width: 3.25rem;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .menu__toggle-child .arc-icon {
  height: 1.2rem;
  width: 1.2rem;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .menu__title {
  margin: 0;
  padding: 1.4rem 1.25rem 1rem;
}

.menu__title-link {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  text-decoration: none;
}

.menu__title-link > span:first-child {
  color: var(--arc-heading);
  font-family: var(--arc-font-display);
  font-size: 1.45rem;
  letter-spacing: var(--arc-display-track);
  line-height: 1.15;
  text-transform: var(--arc-display-case);
}

.menu__see-all {
  color: var(--arc-accent-ink);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ps-mainmenu:is(.ps-mainmenu--mobile) .arc-drawer__extras {
  background: var(--arc-bg-alt);
  border-top: 1px solid var(--arc-line);
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 0;
  padding: .75rem 1.25rem 1.25rem;
}

.arc-drawer__link {
  align-items: center;
  color: var(--arc-heading);
  display: flex;
  font-size: .9375rem;
  font-weight: 500;
  gap: .75rem;
  padding: .55rem 0;
  text-decoration: none;
}

.arc-drawer__link .arc-icon {
  height: 1.3rem;
  width: 1.3rem;
}

.arc-drawer__usp {
  color: var(--arc-ink-2);
  display: flex;
  flex-wrap: wrap;
  font-size: .78rem;
  gap: .4rem 1.25rem;
  list-style: none;
  margin: .6rem 0 0;
  padding: 0;
}

.arc-drawer__usp li {
  align-items: center;
  display: flex;
  gap: .4rem;
}

.arc-drawer__usp .arc-icon {
  height: 1.05rem;
  width: 1.05rem;
}

.ps-mainmenu__selects:empty,
.ps-mainmenu__selects:not(:has(*:not(:empty))) {
  display: none !important;
}
/* 6. Accueil ===============================================================
   Héros (diaporama), univers, bandeau texte, sections produits, atelier,
   bannière. Les sections défilantes (.arc-scroller) servent aussi ailleurs.
   ========================================================================== */

#index .wrapper {
  padding-bottom: 0;
}

#index .breadcrumb__wrapper {
  display: none;
}

#index #center-column > .page-content {
  margin: 0;
}

#index .columns-container {
  max-width: none;
  padding-inline: 0;
}

#index .columns-container > .row {
  margin-inline: 0;
}

#index #center-column {
  padding-inline: 0;
}

/* Bande défilante (univers, produits) ------------------------------------ */
.arc-scroller {
  position: relative;
}

.arc-scroller__track {
  list-style: none;
  margin: 0;
  padding: 0;
}

.arc-scroller__nav {
  display: none;
}

@media (max-width: 991.98px) {
  .arc-scroller__track {
      margin-inline: calc(var(--arc-gutter) * -1);
      overflow-x: auto;
      overscroll-behavior-x: contain;
      padding-inline: var(--arc-gutter);
      scroll-padding-inline: var(--arc-gutter);
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }
  
  .arc-scroller__track::-webkit-scrollbar {
      display: none;
    }
  
  .arc-scroller__track > *,
  .arc-scroller__track > .products > * {
      scroll-snap-align: start;
    }
}

.arc-scroller__btn {
  align-items: center;
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius-pill);
  color: var(--arc-heading);
  display: inline-flex;
  height: 2.75rem;
  justify-content: center;
  transition: opacity var(--arc-dur), background-color var(--arc-dur);
  width: 2.75rem;
}

.arc-scroller__btn:disabled {
  opacity: .35;
}

.arc-scroller__btn .arc-icon {
  height: 1.2rem;
  width: 1.2rem;
}

/* Héros ------------------------------------------------------------------ */
.arc-hero {
  margin: 0;
  position: relative;
}

.arc-hero .carousel-item {
  transition-duration: .9s;
}

.arc-hero__slide {
  display: grid;
}

.arc-hero__media {
  background: var(--arc-bg-alt);
  overflow: hidden;
  position: relative;
}

.arc-hero__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.arc-hero__content {
  align-items: center;
  display: flex;
}

.arc-hero__panel {
  max-width: 34rem;
}

.arc-hero__title {
  color: var(--arc-heading);
  font-family: var(--arc-font-display);
  font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.4rem);
  font-weight: var(--arc-display-weight);
  letter-spacing: var(--arc-display-track);
  line-height: 1.08;
  margin: 0 0 1.1rem;
  text-transform: var(--arc-display-case);
  text-wrap: balance;
}

.arc-hero__text {
  color: var(--arc-ink-2);
  font-size: 1.05rem;
  line-height: 1.65;
  margin-bottom: 1.75rem;
}

.arc-hero__text > :last-child {
  margin-bottom: 0;
}

.arc-hero__cta .arc-icon {
  height: 1.1rem;
  width: 1.1rem;
}

.arc-hero__controls {
  align-items: center;
  display: flex;
  gap: .75rem;
  position: absolute;
  z-index: 3;
}

.arc-hero__arrow {
  align-items: center;
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius-pill);
  color: var(--arc-heading);
  display: inline-flex;
  height: 2.5rem;
  justify-content: center;
  transition: background-color var(--arc-dur);
  width: 2.5rem;
}

.arc-hero__arrow:hover {
  background: var(--arc-bg-alt);
}

.arc-hero__arrow .arc-icon {
  height: 1.1rem;
  width: 1.1rem;
}

.arc-hero__dots.carousel-indicators {
  margin: 0;
  position: static;
  gap: .4rem;
}

.arc-hero__dots.carousel-indicators [data-bs-target] {
  background-color: var(--arc-heading);
  border: 0;
  height: 2px;
  margin: 0;
  opacity: .25;
  width: 1.4rem;
}

.arc-hero__dots.carousel-indicators .active {
  opacity: 1;
  width: 2.6rem;
}

/* Mobile : photo au-dessus, texte dessous */
@media (max-width: 991.98px) {
  .arc-hero__media {
      aspect-ratio: 4 / 3.4;
    }
  
  .arc-hero__content {
      padding: 1.75rem var(--arc-gutter) 4.5rem;
    }
  
  .arc-hero__panel {
      margin-inline: auto;
      text-align: center;
    }
  
  .arc-hero__controls {
      bottom: 1.25rem;
      justify-content: center;
      left: 0;
      right: 0;
    }
  
  .arc-hero__text {
      font-size: .98rem;
    }
}

@media (min-width: 992px) {
  .arc-hero__slide {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
      min-height: min(78vh, 42rem);
    }
  
  .arc-hero__media {
      order: 2;
    }
  
  .arc-hero__content {
      padding: 4rem clamp(2rem, 5vw, 6rem) 6rem max(var(--arc-gutter), calc((100vw - 1360px) / 2 + var(--arc-gutter)));
    }
  
  .arc-hero__controls {
      bottom: 2.5rem;
      left: max(var(--arc-gutter), calc((100vw - 1360px) / 2 + var(--arc-gutter)));
    }
}

/* Céleste : panneau ivoire, photo arrondie en retrait */

/* Art déco : bande marine, photo en arcade cernée d'un filet doré */
:root .arc-hero {
  background: var(--arc-primary);
  background-image: radial-gradient(60% 90% at 70% 50%, rgba(179, 146, 90, .18), transparent 70%);
}

:root .arc-hero__media {
  background: transparent;
  overflow: visible;
}

:root .arc-hero__image {
  border-radius: 999px 999px 0 0;
}

:root .arc-hero__media::after {
  border: 1px solid rgba(179, 146, 90, .7);
  border-radius: 999px 999px 0 0;
  content: "";
  inset: -.75rem -.75rem 0;
  pointer-events: none;
  position: absolute;
}

:root .arc-hero__title {
  color: #f4ecdb;
}

:root .arc-hero__text {
  color: #cfc4ad;
}

:root .arc-hero .arc-eyebrow {
  color: #dcc89f;
}

:root .arc-hero__cta.btn-primary {
  --bs-btn-bg: var(--arc-gold);
  --bs-btn-border-color: var(--arc-gold);
  --bs-btn-color: #0d2a45;
  --bs-btn-hover-bg: #c8a96f;
  --bs-btn-hover-border-color: #c8a96f;
  --bs-btn-hover-color: #0d2a45;
  outline-color: rgba(13, 42, 69, .45);
}

:root .arc-hero__arrow {
  background: transparent;
  border-color: rgba(220, 200, 159, .5);
  border-radius: 0;
  color: #dcc89f;
}

:root .arc-hero__dots.carousel-indicators [data-bs-target] {
  background-color: #dcc89f;
}

@media (max-width: 991.98px) {
  :root .arc-hero__media {
      aspect-ratio: 4 / 4.6;
      margin: 2.5rem auto 0;
      width: min(76%, 22rem);
    }
}

@media (min-width: 992px) {
  :root .arc-hero__slide {
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    }
  
  :root .arc-hero__media {
      align-self: end;
      height: calc(100% - 4rem);
      margin-right: max(var(--arc-gutter), calc((100vw - 1360px) / 2 + var(--arc-gutter)));
      margin-top: 4rem;
    }
}

/* Minimal : photo pleine largeur, légende sobre */

/* Univers ---------------------------------------------------------------- */
.arc-universes__list {
  display: grid;
  gap: clamp(1.25rem, .8rem + 1.5vw, 2rem) clamp(.9rem, .6rem + 1vw, 1.5rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
  .arc-universes__list {
      gap: .9rem;
      grid-auto-columns: minmax(10.5rem, 42%);
      grid-auto-flow: column;
      grid-template-columns: none;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .arc-universes__list {
      grid-auto-columns: 30%;
    }
}

.arc-universe__link {
  color: inherit;
  display: block;
  text-decoration: none;
}

.arc-universe__media {
  aspect-ratio: 4 / 5;
  background: var(--arc-bg-alt);
  border-radius: var(--arc-radius-img);
  display: block;
  overflow: hidden;
}

.arc-universe__image {
  height: 100%;
  object-fit: cover;
  transition: transform .9s var(--arc-ease);
  width: 100%;
}

.arc-universe__link:hover .arc-universe__image {
  transform: scale(1.05);
}

.arc-universe__body {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding-top: .9rem;
  text-align: center;
}

.arc-universe__title {
  color: var(--arc-heading);
  font-family: var(--arc-font-heading);
  font-size: clamp(1.15rem, 1rem + .5vw, 1.45rem);
  font-weight: var(--arc-heading-weight);
  line-height: 1.15;
}

.arc-universe__text {
  color: var(--arc-ink-2);
  font-size: .82rem;
}

.arc-universe__link:hover .arc-universe__title {
  color: var(--arc-accent-ink);
}

:root .arc-universe__media {
  aspect-ratio: 3 / 4;
  border-radius: 999px 999px 0 0;
  box-shadow: 0 0 0 1px var(--arc-line-2), 0 0 0 5px var(--arc-bg), 0 0 0 6px var(--arc-line);
}

:root .arc-universe__title {
  font-family: var(--arc-font-body);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}

:root .arc-universe__text {
  font-family: var(--arc-font-heading);
  font-size: 1rem;
  font-style: italic;
}

:root .arc-universe__body {
  padding-top: 1.25rem;
}

/* Bandeau texte (ps_customtext) ------------------------------------------ */
.arc-statement {
  padding-block: clamp(2.5rem, 1.75rem + 3vw, 4.5rem);
  text-align: center;
}

.arc-statement__inner > :empty {
  display: none;
}

.arc-statement__inner > :last-child {
  margin-bottom: 0;
}

.arc-statement h1,
.arc-statement h2,
.arc-statement h3 {
  color: var(--arc-heading);
  font-family: var(--arc-font-display);
  font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.5rem);
  font-weight: var(--arc-display-weight);
  letter-spacing: var(--arc-display-track);
  line-height: 1.2;
  margin: 0 auto .75rem;
  max-width: 50rem;
  text-transform: var(--arc-display-case);
}

.arc-statement p {
  color: var(--arc-ink-2);
  margin-inline: auto;
  max-width: 44rem;
}

/* Couleurs saisies dans l'éditeur : remplacées par la charte */
.arc-statement [style*="color"] {
  color: inherit !important;
}

:root .arc-statement {
  border-block: 1px solid var(--arc-line);
}

:root .arc-statement .arc-statement__inner::before,
:root .arc-statement .arc-statement__inner::after {
  background: var(--arc-ornament) center / contain no-repeat;
  content: "";
  display: block;
  height: 16px;
  margin: 0 auto 1.25rem;
  width: 160px;
}

:root .arc-statement .arc-statement__inner::after {
  margin: 1.25rem auto 0;
}

/* Sections produits ------------------------------------------------------ */
.arc-products {
  padding-block: var(--arc-section);
}

.arc-products + .arc-products {
  padding-top: 0;
}

.arc-section-head__link {
  margin-top: .9rem;
}

@media (max-width: 991.98px) {
  .arc-scroller--products .products {
      display: grid;
      grid-auto-columns: minmax(10rem, 44%);
      grid-auto-flow: column;
      grid-template-columns: none;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .arc-scroller--products .products {
      grid-auto-columns: 30%;
    }
}

@media (min-width: 992px) {
  .arc-scroller--products .arc-scroller__track {
      display: block;
    }
}

/* Atelier ---------------------------------------------------------------- */
.arc-story__grid {
  align-items: center;
  display: grid;
  gap: 3rem;
}

@media (min-width: 992px) {
  .arc-story__grid {
      gap: clamp(3rem, 6vw, 7rem);
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

.arc-story__media {
  margin-right: 12%;
  position: relative;
}

.arc-story__image {
  display: block;
  object-fit: cover;
}

.arc-story__image--main {
  aspect-ratio: 4 / 5;
  border-radius: var(--arc-radius-img);
  height: auto;
  width: 100%;
}

.arc-story__image--second {
  aspect-ratio: 1;
  border: 6px solid var(--arc-bg);
  border-radius: var(--arc-radius-img);
  bottom: -2.5rem;
  height: auto;
  position: absolute;
  right: -14%;
  width: 46%;
}

.arc-story__angel {
  height: 5.5rem;
  left: -1rem;
  opacity: .9;
  position: absolute;
  top: -2.25rem;
  width: auto;
}

.arc-story__title {
  font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.6rem);
  margin-bottom: 1.25rem;
}

.arc-story__text {
  color: var(--arc-ink-2);
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 1.75rem;
}

.arc-story__facts {
  border-block: 1px solid var(--arc-line);
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0 0 2rem;
  padding: 1.25rem 0;
}

.arc-story__facts li {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.arc-story__facts strong {
  color: var(--arc-heading);
  font-family: var(--arc-font-heading);
  font-size: 1.5rem;
  font-weight: var(--arc-heading-weight);
  line-height: 1.1;
}

.arc-story__facts span {
  color: var(--arc-ink-2);
  font-size: .8rem;
  line-height: 1.35;
}

.arc-story__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.75rem;
}

:root .arc-story {
  background: var(--arc-bg-alt);
}

:root .arc-story__image--main {
  border-radius: 999px 999px 0 0;
}

:root .arc-story__image--second {
  border-color: var(--arc-bg-alt);
  box-shadow: 0 0 0 1px var(--arc-gold);
}

:root .arc-story__facts {
  border-color: var(--arc-line-2);
}

@media (max-width: 575.98px) {
  .arc-story__facts {
      grid-template-columns: 1fr;
    }
  
  .arc-story__facts li {
      align-items: baseline;
      flex-direction: row;
      gap: .75rem;
    }
}

/* Bannière --------------------------------------------------------------- */
.arc-banner {
  padding-bottom: var(--arc-section);
}

.arc-banner__link {
  border-radius: var(--arc-radius-lg);
  display: block;
  overflow: hidden;
}

.arc-banner__image {
  display: block;
  height: auto;
  transition: transform .8s var(--arc-ease);
  width: 100%;
}

.arc-banner__link:hover .arc-banner__image {
  transform: scale(1.015);
}
/* 7. Vignettes produits & grilles ========================================= */

.products {
  display: grid;
  gap: clamp(1.75rem, 1.2rem + 1.5vw, 2.5rem) clamp(.75rem, .5rem + 1vw, 1.5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .products {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
  .products {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.product-miniature {
  container-type: inline-size;
  min-width: 0;
}

.product-miniature__inner {
  background: transparent;
  border: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
}

.product-miniature__top {
  aspect-ratio: 1;
  background: var(--arc-bg-alt);
  border-radius: var(--arc-radius-img);
  overflow: hidden;
  position: relative;
}

.product-miniature__inner:hover .product-miniature__top,
.product-miniature__inner:has(:focus-visible) .product-miniature__top {
  border-radius: var(--arc-radius-img);
}

.product-miniature__image-container,
.product-miniature__image-link,
.product-miniature__image-link picture {
  display: block;
  height: 100%;
}

.product-miniature__image {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--arc-ease), opacity .6s var(--arc-ease);
  width: 100%;
}

.product-miniature__image--alt {
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

@media (hover: hover) {
  .product-miniature__inner:hover .product-miniature__image {
      transform: scale(1.045);
    }
  
  .product-miniature.has-alt-image .product-miniature__inner:hover .product-miniature__image--alt {
      opacity: 1;
    }
}

/* Pastilles */
.arc-flags {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: .3rem;
  left: .6rem;
  list-style: none;
  margin: 0;
  padding: 0;
  pointer-events: none;
  position: absolute;
  top: .6rem;
  z-index: 3;
}

.arc-flag {
  background: var(--arc-surface);
  border-radius: var(--arc-radius-pill);
  box-shadow: var(--arc-shadow-sm);
  color: var(--arc-heading);
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1;
  padding: .45em .8em;
  text-transform: uppercase;
}

.arc-flag--new {
  background: var(--arc-primary);
  color: var(--arc-on-primary);
}

.arc-flag--discount,
.arc-flag--on-sale {
  background: var(--arc-sale);
  color: #fff;
}

.arc-flag--out_of_stock {
  background: color-mix(in srgb, var(--arc-surface) 88%, transparent);
  color: var(--arc-ink-2);
}

:root .arc-flag {
  border-radius: 0;
  letter-spacing: .18em;
}

:root .arc-flag--new {
  background: var(--arc-gold);
  color: #0d2a45;
}

/* Outils sur l'image (aperçu rapide, ajout au panier) */
.product-miniature__tools {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  position: absolute;
  right: .6rem;
  top: .6rem;
  z-index: 3;
}

.arc-tool,
.arc-quickadd {
  align-items: center;
  background: color-mix(in srgb, var(--arc-surface) 94%, transparent);
  border: 0;
  border-radius: var(--arc-radius-pill);
  box-shadow: var(--arc-shadow-sm);
  color: var(--arc-heading);
  cursor: pointer;
  display: inline-flex;
  height: 2.5rem;
  justify-content: center;
  min-width: 2.5rem;
  padding: 0;
  transition: background-color var(--arc-dur) var(--arc-ease), color var(--arc-dur) var(--arc-ease), opacity var(--arc-dur) var(--arc-ease), transform var(--arc-dur) var(--arc-ease);
}

.arc-tool .arc-icon,
.arc-quickadd .arc-icon {
  height: 1.25rem;
  width: 1.25rem;
}

.arc-tool:hover,
.arc-quickadd:hover {
  background: var(--arc-primary);
  color: var(--arc-on-primary);
}

.product-miniature__form {
  bottom: .6rem;
  display: block;
  position: absolute;
  right: .6rem;
  z-index: 3;
}

.arc-quickadd__label {
  display: none;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
}

.arc-quickadd:disabled {
  opacity: .6;
}

/* Aperçu rapide : uniquement à la souris */
.product-miniature__quickview {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .product-miniature__quickview {
      display: inline-flex;
    }
  
  .product-miniature__tools,
  .product-miniature__form {
      opacity: 0;
      transform: translateY(.35rem);
      transition: opacity var(--arc-dur) var(--arc-ease), transform var(--arc-dur) var(--arc-ease);
    }
  
  .product-miniature__inner:hover .product-miniature__tools,
  .product-miniature__inner:hover .product-miniature__form,
  .product-miniature__inner:focus-within .product-miniature__tools,
  .product-miniature__inner:focus-within .product-miniature__form {
      opacity: 1;
      transform: none;
    }
  
  /* Bouton élargi avec libellé quand la vignette est assez grande */
  @container (min-width: 15rem) {
    .product-miniature__form {
          left: .6rem;
        }
    
    .arc-quickadd {
          gap: .5rem;
          width: 100%;
        }
    
    .arc-quickadd__label {
          display: inline;
        }
  }
}

:root .arc-tool,
:root .arc-quickadd {
  border-radius: 0;
}

:root .arc-quickadd__label {
  font-size: .66rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

/* Le titre étend son lien à toute la vignette ; les commandes passent dessus */
.product-miniature .stretched-link::after {
  z-index: 2;
}

.product-miniature__variants,
.product-miniature .product-list-review,
.product-miniature .js-product-list-reviews {
  position: relative;
  z-index: 3;
}

/* Informations */
.product-miniature__bottom {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: .5rem;
  padding: .9rem .15rem 0;
}

.product-miniature__infos {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.product-miniature__title {
  -webkit-box-orient: vertical;
  color: var(--arc-ink);
  display: -webkit-box;
  font-family: var(--arc-product-font);
  font-size: var(--arc-product-size);
  font-weight: var(--arc-product-weight);
  -webkit-line-clamp: 2;
  line-clamp: 2;
  line-height: 1.22;
  overflow: hidden;
  text-decoration: none;
}

.product-miniature__title:hover {
  color: var(--arc-heading);
}

.product-miniature__prices {
  align-items: baseline;
  column-gap: .6rem;
  display: flex;
  flex-wrap: wrap;
}

.product-miniature__price {
  color: var(--arc-heading);
  font-size: 1rem;
  font-weight: 600;
}

.product-miniature__regular-price {
  color: var(--arc-ink-3);
  font-size: .85rem;
  text-decoration: line-through;
}

.product-miniature__variants {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

.product-miniature__variants .color {
  border: 1px solid var(--arc-line-2);
  border-radius: 50%;
  height: 1rem;
  width: 1rem;
}

:root .product-miniature__title {
  font-size: clamp(1.1rem, 1rem + .35vw, 1.3rem);
}

:root .product-miniature__bottom {
  align-items: center;
  text-align: center;
}

:root .product-miniature__prices {
  justify-content: center;
}

:root .product-miniature__price {
  font-size: .9rem;
  letter-spacing: .08em;
}

:root .product-miniature__variants {
  justify-content: center;
}

:root .product-miniature__variants .color {
  border-radius: 0;
  transform: rotate(45deg) scale(.85);
}

@media (max-width: 575.98px) {
  .product-miniature__title {
      font-size: 1.05rem;
    }
  
  
  
  .product-miniature__price {
      font-size: .92rem;
    }
  
  .arc-tool,
  .arc-quickadd {
      height: 2.35rem;
      min-width: 2.35rem;
    }
}

/* Aperçu rapide (modale Hummingbird) */
.quickview .modal-content,
[data-ps-ref="quickview-modal"] .modal-content {
  border-radius: var(--arc-radius-lg);
}
/* 8. Listes produits (catégorie, recherche, nouveautés…) ================= */

/* Colonne latérale : collante en desktop, masquée sur mobile (les
   sous-catégories sont proposées en pastilles en tête de liste) */
@media (min-width: 768px) {
  #left-column > *:first-child {
      position: sticky;
      top: var(--arc-sticky-top, 6rem);
    }
}

@media (max-width: 767.98px) {
  #category #left-column,
  #best-sales #left-column,
  #new-products #left-column,
  #prices-drop #left-column,
  #manufacturer #left-column,
  #supplier #left-column {
      display: none;
    }
}

.left-block,
.right-block {
  background: transparent;
  border: 0;
  margin-bottom: 2rem;
  padding: 0;
}

.left-block__title,
.right-block__title {
  border-bottom: 1px solid var(--arc-line);
  color: var(--arc-heading);
  font-family: var(--arc-font-body);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: var(--arc-label-track);
  margin-bottom: .75rem;
  padding-bottom: .75rem;
  text-transform: uppercase;
}

.left-block__title a,
.right-block__title a,
.left-block__title-link {
  color: inherit;
  text-decoration: none;
}

.left-block__content--list {
  list-style: none;
  padding: 0;
}

.left-block__link {
  color: var(--arc-ink-2);
  display: block;
  padding: .3rem 0;
  text-decoration: none;
}

.left-block__link:hover {
  color: var(--arc-heading);
}

/* Arborescence de catégories */
.category-tree__list {
  list-style: none;
  padding-left: 0;
}

.category-tree__list .category-tree__list {
  border-left: 1px solid var(--arc-line);
  margin-left: .35rem;
  padding-left: .85rem;
}

.category-tree__item-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.category-tree__item-link,
.category-tree__list[data-depth="0"] > .category-tree__item > .category-tree__item-header .category-tree__item-link {
  color: var(--arc-ink-2);
  display: block;
  font-size: .9375rem;
  font-weight: 400;
  padding: .35rem 0;
  text-decoration: none;
}

.category-tree__item-link:hover {
  color: var(--arc-heading);
}

.category-tree__item.active > .category-tree__item-header .category-tree__item-link,
.category-tree__item-link[aria-current] {
  color: var(--arc-heading);
  font-weight: 600;
}

.category-tree .accordion-button,
.category-tree__item-header .btn {
  background: transparent;
  color: var(--arc-ink-3);
  padding: .25rem;
  width: auto;
}

/* En-tête de catégorie */
.arc-category-head {
  background: transparent;
  border-radius: 0;
  margin-bottom: 1.5rem;
  overflow: visible;
  padding: 0;
}

.arc-category-head--cover {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 992px) {
  .arc-category-head--cover {
      align-items: center;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

.arc-category-head .page-title-section {
  margin-bottom: .9rem;
}

.category__description {
  color: var(--arc-ink-2);
  max-width: 54rem;
}

.category__description > :last-child {
  margin-bottom: 0;
}

.category__description.is-clamped:not(.is-open) {
  -webkit-mask-image: linear-gradient(#000 55%, transparent);
  mask-image: linear-gradient(#000 55%, transparent);
}

.js-arc-readmore {
  max-height: 7.2em;
  overflow: hidden;
}

.js-arc-readmore.is-open {
  max-height: none;
}

.arc-readmore {
  background: none;
  border: 0;
  color: var(--arc-primary);
  font-size: .85rem;
  font-weight: 600;
  margin-top: .4rem;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: .25em;
}

.category__cover {
  border-radius: var(--arc-radius-img);
  overflow: hidden;
}

.category__cover-image {
  display: block;
  height: auto;
  width: 100%;
}

:root .arc-category-head .page-title-section::after {
  background: var(--arc-ornament) left center / contain no-repeat;
  content: "";
  display: block;
  height: 14px;
  margin-top: 1rem;
  width: 132px;
}

:root .arc-category-head {
  text-align: center;
}

:root .arc-category-head .page-title-section::after {
  background-position: center;
  margin-inline: auto;
  width: 160px;
}

:root .category__description {
  margin-inline: auto;
}

/* Sous-catégories : pastilles */
.subcategory {
  margin: 0 0 1.75rem;
}

.subcategory__list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0;
}

.subcategory__link {
  align-items: center;
  background: var(--arc-surface);
  border: 1px solid var(--arc-line-2);
  border-radius: var(--arc-radius-pill);
  color: var(--arc-heading);
  display: inline-flex;
  font-size: .85rem;
  font-weight: 500;
  gap: .5rem;
  padding: .5rem 1rem;
  text-decoration: none;
  transition: border-color var(--arc-dur), background-color var(--arc-dur), color var(--arc-dur);
  white-space: nowrap;
}

.subcategory__link:hover {
  background: var(--arc-primary);
  border-color: var(--arc-primary);
  color: var(--arc-on-primary);
}

.subcategory__link--with-image {
  padding: .3rem 1rem .3rem .3rem;
}

.subcategory__thumbnail {
  border-radius: 50%;
  height: 2.25rem;
  object-fit: cover;
  width: 2.25rem;
}

:root .subcategory__list {
  justify-content: center;
}

:root .subcategory__link {
  border-radius: 0;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

@media (max-width: 767.98px) {
  .subcategory__list {
      flex-wrap: nowrap;
      margin-inline: calc(var(--arc-gutter) * -1);
      overflow-x: auto;
      padding-inline: var(--arc-gutter);
      scrollbar-width: none;
    }
  
  .subcategory__list::-webkit-scrollbar {
      display: none;
    }
  
  :root .subcategory__list {
      justify-content: flex-start;
    }
}

/* Barre de tri */
.products__selection {
  align-items: center;
  border-block: 1px solid var(--arc-line);
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  justify-content: space-between;
  margin-bottom: 1.75rem;
  padding-block: .75rem;
}

.products__count {
  color: var(--arc-ink-2);
  font-size: .875rem;
}

.products__sort {
  align-items: center;
  display: flex;
  gap: .75rem;
  margin-left: auto;
}

.products__sort-label {
  color: var(--arc-ink-2);
  font-size: .85rem;
  white-space: nowrap;
}

.products__sort-dropdown {
  position: relative;
}

.products__sort-dropdown-button {
  --bs-btn-padding-y: .5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: .875rem;
  min-height: 2.5rem;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.products__sort-dropdown-button.dropdown-toggle::after {
  border: 0;
  content: "";
  height: .5rem;
  margin-left: .6rem;
  transform: translateY(-2px) rotate(45deg);
  width: .5rem;
  border-bottom: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
}

.products__filter-button {
  --bs-btn-padding-y: .5rem;
  min-height: 2.5rem;
}

@media (max-width: 575.98px) {
  .products__count {
      flex-basis: 100%;
    }
  
  .products__sort {
      margin-left: 0;
      width: 100%;
    }
  
  .products__sort-label {
      display: none;
    }
  
  .products__sort-dropdown,
  .products__sort-dropdown-button {
      flex: 1 1 auto;
      width: 100%;
    }
}

/* Grilles : 3 colonnes à côté de la colonne latérale */
@media (min-width: 768px) {
  .layout-left-column .products,
  .layout-right-column .products {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
  .layout-left-column .products,
  .layout-right-column .products {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1400px) {
  .layout-full-width .products {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Filtres actifs */
.active-filters {
  margin-bottom: 1.25rem;
}

.active-filters__list .filter-block,
.active-filters__list > li {
  align-items: center;
  background: var(--arc-accent-soft);
  border-radius: var(--arc-radius-pill);
  color: var(--arc-heading);
  display: inline-flex;
  font-size: .8125rem;
  font-weight: 600;
  gap: .25rem;
  padding: .3rem .4rem .3rem .85rem;
}

/* Recherche à facettes */
.search-filters .accordion-button {
  font-size: .9375rem;
  padding-inline: 0;
}

.search-filters .accordion-body {
  padding: 0 0 .75rem;
}

.search-filters__link {
  color: var(--arc-ink);
  text-decoration: none;
}

.search-filters__magnitude {
  color: var(--arc-ink-3);
  font-size: .8125rem;
}

.ps-facetedsearch--mobile .offcanvas-header {
  border-bottom: 1px solid var(--arc-line);
}

/* Pagination */
.products__pagination,
.pagination-container {
  align-items: center;
  border-top: 1px solid var(--arc-line);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-block: 2.5rem 0;
  padding-top: 1.5rem;
}

.pagination__number {
  color: var(--arc-ink-2);
  font-size: .85rem;
}

:root .pagination .page-link {
  border-radius: 0 !important;
}

/* Liste vide / aucun résultat */
.page-content--not-found {
  background: var(--arc-bg-alt);
  border-radius: var(--arc-radius-lg);
  margin-bottom: 2rem;
  padding: clamp(2rem, 1.25rem + 3vw, 4rem) clamp(1.25rem, 1rem + 3vw, 4rem);
  text-align: center;
}

.page-content--not-found::before {
  background: url(../img/brand/angel-navy.png) center / contain no-repeat;
  content: "";
  display: block;
  height: 5rem;
  margin: 0 auto 1.25rem;
  opacity: .85;
  width: 5rem;
}

.page-content--not-found p {
  color: var(--arc-ink-2);
  margin-inline: auto;
  max-width: 36rem;
}

/* Titre des pages de liste génériques */
#js-product-list-header .page-title-section {
  margin-bottom: 1.25rem;
}
/* 9. Fiche produit ========================================================= */

.page-product .product__container {
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: var(--arc-section);
}

/* Galerie toujours contenue dans la largeur de l'écran */
.page-product .product__left,
.page-product .product__images,
.page-product .product__carousel,
.page-product .product__carousel .carousel-inner,
.page-product .product__thumbnails {
  max-width: 100%;
  min-width: 0;
}

.page-product .product__carousel .carousel-item,
.page-product .product__carousel picture {
  width: 100%;
}

.page-product .product__carousel .carousel-item img {
  display: block;
  height: 100%;
  max-width: 100%;
  width: 100%;
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .page-product .product__left {
      margin-inline: auto;
      max-width: 34rem;
      width: 100%;
    }
}

@media (min-width: 992px) {
  .page-product .product__container {
      align-items: start;
      gap: clamp(2.5rem, 5vw, 5.5rem);
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    }
  
  .page-product .product__right {
      position: sticky;
      top: var(--arc-sticky-top, 6rem);
    }
}

.page-product .product__left,
.page-product .product__right {
  max-width: none;
  min-width: 0;
  padding: 0;
  width: auto;
}

/* Galerie */
.page-product .product__images {
  display: grid;
  gap: .75rem;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 992px) {
  .page-product .product__images:has(.product__thumbnails) {
      grid-template-columns: 4.75rem minmax(0, 1fr);
    }
  
  .page-product .product__thumbnails {
      grid-column: 1;
      grid-row: 1;
    }
  
  .page-product .product__thumbnails-list {
      flex-direction: column;
    }
}

.page-product .product__carousel {
  aspect-ratio: 1;
  background: var(--arc-bg-alt);
  border: 0;
  border-radius: var(--arc-radius-img);
  overflow: hidden;
  position: relative;
}

.page-product .product__carousel .carousel-item img {
  aspect-ratio: 1;
  object-fit: cover;
}

.page-product .product__carousel .arc-flags {
  left: 1rem;
  top: 1rem;
}

.page-product .product__zoom {
  align-items: center;
  background: color-mix(in srgb, var(--arc-surface) 92%, transparent);
  border: 0;
  border-radius: var(--arc-radius-pill);
  bottom: 1rem;
  color: var(--arc-heading);
  display: flex;
  height: 2.75rem;
  justify-content: center;
  position: absolute;
  right: 1rem;
  width: 2.75rem;
  z-index: 3;
}

.page-product .product__carousel .carousel-control-prev,
.page-product .product__carousel .carousel-control-next {
  opacity: 0;
  transition: opacity var(--arc-dur);
}

.page-product .product__carousel:hover .carousel-control-prev,
.page-product .product__carousel:hover .carousel-control-next,
.page-product .product__carousel .carousel-control-prev:focus-visible,
.page-product .product__carousel .carousel-control-next:focus-visible {
  opacity: 1;
}

@media (hover: none) {
  .page-product .product__carousel .carousel-control-prev,
  .page-product .product__carousel .carousel-control-next {
      opacity: 1;
    }
}

.page-product .product__thumbnails-list {
  display: flex;
  gap: .5rem;
  list-style: none;
  margin: 0;
  overflow-x: auto;
  padding: 2px;
  scrollbar-width: none;
}

.page-product .product__thumbnail {
  background: none;
  border: 0;
  border-radius: var(--arc-radius-xs);
  flex: 0 0 auto;
  padding: 0;
  width: 4.5rem;
}

.page-product .product__thumbnail-image {
  aspect-ratio: 1;
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius-xs);
  object-fit: cover;
  opacity: .7;
  transition: opacity var(--arc-dur), border-color var(--arc-dur);
  width: 100%;
}

.page-product .product__thumbnail:hover .product__thumbnail-image,
.page-product .product__thumbnail.active .product__thumbnail-image {
  opacity: 1;
}

.page-product .product__thumbnail.active .product__thumbnail-image {
  border-color: var(--arc-heading);
  box-shadow: 0 0 0 1px var(--arc-heading);
}

:root .page-product .product__carousel {
  box-shadow: 0 0 0 1px var(--arc-line-2), 0 0 0 6px var(--arc-bg), 0 0 0 7px var(--arc-line);
}

/* Informations */
.page-product .product__eyebrow {
  margin-bottom: .6rem;
}

.page-product .product__name {
  color: var(--arc-heading);
  font-family: var(--arc-font-heading);
  font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.75rem);
  font-weight: var(--arc-heading-weight);
  line-height: 1.08;
  margin-bottom: .75rem;
}

:root .page-product .product__name {
  font-weight: 500;
}

.page-product .product__manufacturer a {
  color: var(--arc-ink-2);
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

.page-product .product__prices {
  margin-block: 1rem 1.25rem;
}

.page-product .product__price {
  color: var(--arc-heading);
  font-size: clamp(1.4rem, 1.25rem + .5vw, 1.7rem);
  font-weight: 600;
  letter-spacing: -.005em;
}

:root .page-product .product__price {
  font-family: var(--arc-font-heading);
  font-size: 1.9rem;
}

.page-product .product__regular-price {
  color: var(--arc-ink-3);
  text-decoration: line-through;
}

.page-product .product__discount-percentage,
.page-product .product__discount-amount {
  --bs-primary-text-emphasis: #fff;
  background: var(--arc-sale);
  border-radius: var(--arc-radius-pill);
  font-size: .8rem;
  font-weight: 600;
  padding: .2rem .6rem;
}

.page-product .product__tax-infos,
.page-product .product__tax-label {
  color: var(--arc-ink-3);
  font-size: .8rem;
}

.page-product .product__description-short {
  color: var(--arc-ink-2);
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

.page-product .product__actions {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--arc-line);
  padding: 1.5rem 0 0;
}

.page-product .product__actions .product__variants,
.page-product .product__actions .product__discounts,
.page-product .product__actions .product__pack {
  margin-bottom: 1.25rem;
}

.page-product .product__add-to-cart-container {
  margin-bottom: 0;
}

.page-product .product__actions-qty-add {
  align-items: stretch;
  display: flex;
  flex-wrap: nowrap;
  gap: .75rem;
}

.page-product .product__quantity {
  flex: none;
  width: auto;
}

.page-product .product__add {
  flex: 1 1 auto;
}

.page-product .product__add-to-cart-button {
  --bs-btn-font-size: 1rem;
  height: 100%;
  min-height: 3.25rem;
  white-space: nowrap;
  width: 100%;
}

.page-product .product__add-to-cart-button .material-icons {
  font-size: 1.25rem;
}

:root .page-product .product__add-to-cart-button {
  --bs-btn-font-size: .78rem;
}

.page-product .product__availability {
  margin-top: 1rem;
}

.page-product .product__availability-status {
  font-size: .9rem;
  font-weight: 600;
}

.page-product .product__minimal-quantity {
  color: var(--arc-ink-2);
  font-size: .85rem;
}

.page-product .product__additional-info:has(> *) {
  border-top: 1px solid var(--arc-line);
  margin-top: 1.25rem;
  padding-top: 1.25rem;
}

/* Engagements sous le bouton */
.arc-product-usp {
  background: var(--arc-bg-alt);
  border-radius: var(--arc-radius);
  display: grid;
  gap: .7rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 1.1rem 1.25rem;
}

.arc-product-usp li {
  align-items: center;
  color: var(--arc-ink-2);
  display: flex;
  font-size: .875rem;
  gap: .75rem;
  line-height: 1.35;
}

.arc-product-usp strong {
  color: var(--arc-heading);
  font-weight: 600;
}

.arc-product-usp .arc-icon {
  color: var(--arc-heading);
  height: 1.3rem;
  width: 1.3rem;
}

:root .arc-product-usp {
  background: transparent;
  border: 1px solid var(--arc-line);
}

:root .arc-product-usp .arc-icon {
  color: var(--arc-gold);
}

/* Déclinaisons */
.product-variant {
  margin-bottom: 1rem;
}

.product-variant__legend,
.product-variants .form-label {
  color: var(--arc-heading);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: var(--arc-label-track);
  margin-bottom: .6rem;
  text-transform: uppercase;
}

.product-variant__selected {
  color: var(--arc-ink-2);
  font-size: .9rem;
  letter-spacing: 0;
  text-transform: none;
}

.product-variant__colors {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

.product-variant__colors .color,
.input-color__label {
  border-radius: 50%;
  height: 2.1rem;
  width: 2.1rem;
}

.product-variant__colors .color.active,
.product-variant__colors .color:hover,
.input-color__label--active,
.input-color__input:checked + .input-color__label {
  outline: 1.5px solid var(--arc-heading);
  outline-offset: 3px;
}

:root .product-variant__colors .color,
:root .input-color__label {
  border-radius: 0;
}

/* Accordéons d'informations */
.page-product .product__bottom {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: var(--arc-section);
}

@media (min-width: 992px) {
  .page-product .product__bottom {
      gap: clamp(2.5rem, 5vw, 5.5rem);
      grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    }
}

.page-product .product__bottom-left,
.page-product .product__bottom-right {
  max-width: none;
  padding: 0;
  width: auto;
}

.page-product .product__accordion {
  border-top: 1px solid var(--arc-line);
}

.page-product .product__accordion .accordion-button {
  font-family: var(--arc-font-heading);
  font-size: 1.35rem;
  font-weight: var(--arc-heading-weight);
  padding: 1.2rem 0;
}

:root .page-product .product__accordion .accordion-button {
  font-family: var(--arc-font-body);
  font-size: .78rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.page-product .product__accordion .accordion-body {
  padding: 0 0 1.5rem;
}

.page-product .product__description {
  color: var(--arc-ink-2);
}

.details__list {
  margin: 0;
}

.details__item {
  border-bottom: 1px solid var(--arc-line);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: .6rem 0;
}

.details__title {
  color: var(--arc-ink-2);
  font-weight: 500;
}

/* Réassurance (module), commentaires */
.blockreassurance--product,
.blockreassurance--cart,
.blockreassurance--checkout {
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius-lg);
  gap: 0;
  padding: .5rem 1.25rem;
}

.blockreassurance .reassurance {
  align-items: center;
  gap: 1rem;
  padding-block: 1rem;
}

.blockreassurance .reassurance + .reassurance {
  border-top: 1px solid var(--arc-line);
}

.blockreassurance .reassurance__image {
  align-items: center;
  background: var(--arc-bg-alt);
  border-radius: 50%;
  display: flex;
  flex: none;
  height: 2.75rem;
  justify-content: center;
  padding: .6rem;
  width: 2.75rem;
}

.blockreassurance .reassurance__image svg,
.blockreassurance .reassurance__image img {
  height: 100%;
  width: 100%;
}

.blockreassurance .reassurance__image svg path {
  fill: var(--arc-heading) !important;
}

.blockreassurance .reassurance__title {
  color: var(--arc-heading);
  font-weight: 600;
}

.blockreassurance .reassurance__desc {
  color: var(--arc-ink-2);
  font-size: .875rem;
}

:root .blockreassurance .reassurance__image {
  border-radius: 0;
  transform: rotate(45deg) scale(.8);
}

:root .blockreassurance .reassurance__image svg {
  transform: rotate(-45deg);
}

.product-comment-list-item,
#product-comments-list .comment {
  border-color: var(--arc-line);
}

.grade-stars .star-on,
.star-on,
.comments-note .star-on {
  color: var(--arc-gold);
}

#product-comments-list-header,
.product-comments-additional-info {
  color: var(--arc-heading);
}

/* Produits associés (même catégorie, accessoires) */
.page-product .product-accessories,
.page-product .ps-categoryproducts,
.page-product .ps-viewedproduct,
.page-product .ps-crossselling {
  margin-bottom: var(--arc-section);
}

.page-product .ps-categoryproducts .h2,
.page-product .ps-categoryproducts h2,
.page-product .product-accessories h2,
.page-product .ps-viewedproduct h2 {
  font-family: var(--arc-font-display);
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.2rem);
  font-weight: var(--arc-display-weight);
  letter-spacing: var(--arc-display-track);
  margin-bottom: 1.5rem;
  text-align: center;
  text-transform: var(--arc-display-case);
}

/* Barre d'ajout au panier fixe (mobile, custom.js) */
.arc-sticky-atc {
  align-items: center;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: color-mix(in srgb, var(--arc-bg) 94%, transparent);
  border-top: 1px solid var(--arc-line);
  bottom: 0;
  box-shadow: 0 -12px 30px -20px rgba(7, 27, 46, .5);
  display: flex;
  gap: .75rem;
  left: 0;
  padding: .65rem 1rem calc(.65rem + env(safe-area-inset-bottom, 0px));
  position: fixed;
  right: 0;
  transform: translateY(110%);
  transition: transform .3s var(--arc-ease);
  visibility: hidden;
  z-index: 1035;
}

.arc-sticky-atc.is-visible {
  transform: translateY(0);
  visibility: visible;
}

.arc-sticky-atc__info {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
}

.arc-sticky-atc__name {
  color: var(--arc-ink);
  font-family: var(--arc-product-font);
  font-size: 1rem;
  font-weight: var(--arc-product-weight);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.arc-sticky-atc__price {
  color: var(--arc-heading);
  font-size: .9rem;
  font-weight: 700;
}

.arc-sticky-atc__btn {
  --bs-btn-font-size: .875rem;
  --bs-btn-padding-x: 1.1rem;
  flex-shrink: 0;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .arc-sticky-atc {
      display: none;
    }
}

@media (max-width: 767.98px) {
  body.arc-has-sticky-atc .arc-footer {
      padding-bottom: 5.5rem;
    }
}

/* Modale « images du produit » */
.product-images-modal .modal-content,
#product-modal .modal-content {
  border-radius: var(--arc-radius-lg);
}
/* 10. Panier, commande, modale d'ajout au panier ========================== */

.cart-grid__content .page-title-section,
#cart .page-title-section,
#checkout .page-title-section {
  margin-bottom: 1.5rem;
}

.cart-grid__products-details .cart-overview,
.cart-grid__products-details .cart-detailed,
.js-cart-container > .card,
.cart-overview {
  background: transparent;
}

.cart__item {
  border-bottom: 1px solid var(--arc-line);
  margin-block-end: 1.25rem;
  padding-block-end: 1.25rem;
}

.product-line__img,
.product-line__image {
  background: var(--arc-bg-alt);
  border: 0;
  border-radius: var(--arc-radius-img);
}

.product-line__title {
  color: var(--arc-ink);
  font-family: var(--arc-product-font);
  font-size: 1.2rem;
  font-weight: var(--arc-product-weight);
  line-height: 1.2;
  text-decoration: none;
}

.product-line__title:hover {
  color: var(--arc-heading);
}

.product-line__item-label {
  color: var(--arc-ink-2);
}

.product-line__price,
.product-line__price-total {
  color: var(--arc-heading);
  font-weight: 600;
}

.cart__continue-shopping {
  margin-top: 1.5rem;
}

/* Récapitulatifs */
.cart-grid__aside-wrapper,
.checkout__summary-accordion,
.cart-summary {
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius-lg);
  padding: clamp(1.1rem, .9rem + 1vw, 1.75rem);
}

.cart-grid__aside-wrapper .cart-summary {
  border: 0;
  padding: 0;
}

.cart-grid__aside-wrapper > h2,
.cart-summary__title {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.cart-grid__aside-wrapper hr {
  margin-block: 1.25rem;
}

.cart-summary__line {
  font-size: .9375rem;
}

.cart-summary__total {
  border-color: var(--arc-line-2);
}

.cart-summary__total .cart-summary__label,
.cart-summary__total .cart-summary__value {
  color: var(--arc-heading);
  font-size: 1.125rem;
  font-weight: 600;
}

.cart-summary__actions .btn,
.cart-detailed-actions .btn {
  width: 100%;
}

.cart-voucher__accordion .accordion-button {
  background: transparent;
  font-size: .9375rem;
}

.cart-grid__aside-wrapper .blockreassurance,
.checkout-grid__aside-wrapper .blockreassurance {
  margin-top: 1.25rem;
}

@media (min-width: 992px) {
  .cart-grid__aside-wrapper,
  .checkout-grid__aside-wrapper {
      position: sticky;
      top: var(--arc-sticky-top, 6rem);
    }
}

/* Étapes du tunnel */
.checkout-steps {
  background: var(--arc-bg-alt);
  border-bottom: 1px solid var(--arc-line);
  padding-block: 1.1rem .9rem;
}

.checkout-steps__step::before,
.checkout-steps__step::after {
  background: var(--arc-line-2);
  top: .8125rem;
}

.checkout-steps__number {
  background: var(--arc-surface);
  border: 1.5px solid var(--arc-line-2);
  color: var(--arc-ink-2);
  font-size: .8125rem;
  font-weight: 700;
  height: 1.75rem;
  width: 1.75rem;
  z-index: 1;
}

.checkout-steps__step--current .checkout-steps__number {
  background: var(--arc-primary);
  border-color: var(--arc-primary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--arc-accent) 35%, transparent);
  color: var(--arc-on-primary);
}

.checkout-steps__step--success .checkout-steps__number {
  background: var(--arc-accent);
  border-color: var(--arc-accent);
  color: #fff;
}

.checkout-steps__step--current::before,
.checkout-steps__step--success::before,
.checkout-steps__step--success::after {
  background: var(--arc-accent);
}

.checkout-steps__btn {
  color: var(--arc-ink-2);
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
}

.checkout-steps__step--current .checkout-steps__btn,
.checkout-steps__step--success .checkout-steps__btn {
  color: var(--arc-heading);
}

:root .checkout-steps__number {
  border-radius: 0;
  transform: rotate(45deg);
}

:root .checkout-steps__number > *,
:root .checkout-steps__number {
  font-size: .75rem;
}

.checkout-steps__mobile .progress-ring {
  --bs-success-rgb: var(--bs-primary-rgb);
}

.progress-ring__background-circle {
  stroke: var(--arc-line);
}

.progress-ring__text {
  fill: var(--arc-heading);
  font-weight: 700;
}

.step {
  background: transparent;
}

.step__title .page-title-section {
  font-size: clamp(1.35rem, 1.15rem + .8vw, 1.85rem);
}

.step--complete .step__title .page-title-section {
  color: var(--arc-ink-2);
}

.nav-underline {
  --bs-nav-underline-link-active-color: var(--arc-heading);
  --bs-nav-underline-border-width: 2px;
  border-bottom: 1px solid var(--arc-line);
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.nav-underline .nav-link {
  color: var(--arc-ink-2);
  font-weight: 600;
  padding-block: .75rem;
}

.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  border-bottom-color: var(--arc-heading);
}

/* Transporteurs, paiements, adresses : cartes sélectionnables */
.delivery-options__list {
  display: grid;
  gap: .75rem;
}

.delivery-option__item,
.payment-option,
.address-card {
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius);
  transition: border-color var(--arc-dur), box-shadow var(--arc-dur), background-color var(--arc-dur);
}

.payment-option {
  padding: 1rem 1.25rem;
}

.delivery-option__item:hover,
.payment-option:hover,
.address-card--radio:hover {
  border-color: color-mix(in srgb, var(--arc-primary) 50%, var(--arc-line));
}

.delivery-option__item:has(.form-check-input:checked),
.payment-option:has(.payment-option__input:checked),
.payment-option:has(input:checked),
.address-card--radio.selected {
  background: var(--arc-bg-alt);
  border-color: var(--arc-primary);
  box-shadow: 0 0 0 1px var(--arc-primary);
}

.delivery-option__carrier-logo {
  background: #fff;
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius-xs);
}

.delivery-option__carrier-name,
.delivery-option__price {
  color: var(--arc-heading);
  font-weight: 600;
}

.payment-options__list {
  display: grid;
  gap: .75rem;
}

.payment-option__form-check {
  align-items: center;
  display: flex;
  gap: .75rem;
  margin: 0;
}

.payment-option__label {
  align-items: center;
  color: var(--arc-heading);
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  font-weight: 600;
  gap: .75rem;
}

.payment-option__label img {
  max-height: 2rem;
  width: auto;
}

.address-card__alias {
  color: var(--arc-heading);
  font-family: var(--arc-font-heading);
  font-size: 1.3rem;
}

.address-card__content {
  color: var(--arc-ink-2);
  font-style: normal;
  line-height: 1.6;
}

.address-card__actions a {
  font-size: .875rem;
  font-weight: 600;
}

.address-card--add-address {
  border-color: var(--arc-line-2);
  border-style: dashed;
  color: var(--arc-heading);
  font-weight: 600;
}

.checkout__summary-accordion .accordion-button {
  background: transparent;
  font-family: var(--arc-font-heading);
  font-size: 1.35rem;
  padding-inline: 0;
}

.checkout__summary-accordion-item {
  background: transparent;
  border: 0;
}

.cart-summary-product__img {
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius-xs);
}

.cart-summary-product__name,
.cart-summary-product__link {
  color: var(--arc-ink);
  font-weight: 600;
  text-decoration: none;
}

.cart-summary-product__prices {
  white-space: nowrap;
}

#order-confirmation .page-title-section,
.order-confirmation__title {
  color: var(--arc-success);
}

/* Modale « Produit ajouté au panier » */
.blockcart-modal .modal-header {
  background: var(--arc-bg-alt);
  border-bottom: 1px solid var(--arc-line);
}

.blockcart-modal__title {
  align-items: center;
  color: var(--arc-heading);
  display: flex;
  font-family: var(--arc-font-heading);
  font-weight: var(--arc-heading-weight);
  gap: .6rem;
}

.blockcart-modal__title-icon {
  align-items: center;
  background: var(--arc-primary);
  border-radius: 50%;
  color: var(--arc-on-primary);
  display: inline-flex;
  font-size: 1.1rem;
  height: 1.9rem;
  justify-content: center;
  width: 1.9rem;
}

.blockcart-modal__image {
  background: var(--arc-bg-alt);
  border: 0;
  border-radius: var(--arc-radius-img);
}

.blockcart-modal__name {
  color: var(--arc-ink);
  font-family: var(--arc-product-font);
  font-size: 1.25rem;
  line-height: 1.2;
  margin-bottom: .5rem;
}

.blockcart-modal__price {
  color: var(--arc-heading);
  font-size: 1.1rem;
  font-weight: 600;
}

.blockcart-modal__property,
.blockcart-modal__quantity,
.blockcart-modal__nb-products {
  color: var(--arc-ink-2);
  font-size: .9375rem;
}

.blockcart-modal__summary {
  border-left: 1px solid var(--arc-line);
}

.blockcart-modal__total--bold {
  border-top: 1px solid var(--arc-line);
  color: var(--arc-heading);
  font-size: 1.0625rem;
  margin-top: .35rem;
  padding-top: .5rem;
}

.blockcart-modal .modal-footer {
  gap: .75rem;
}

@media (max-width: 575.98px) {
  .blockcart-modal .modal-footer .btn {
      width: 100%;
    }
  
  .blockcart-modal__summary {
      border-left: 0;
      border-top: 1px solid var(--arc-line);
      margin-top: 1rem;
      padding-top: 1rem;
    }
}
/* 11. Compte client, connexion, CMS, contact, plan du site, erreurs ====== */

/* Tableau de bord du compte : tuiles */
.account-menu--main {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
}

.account-menu--main .account-menu__link {
  align-items: center;
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius);
  color: var(--arc-heading);
  display: flex;
  flex-direction: column;
  font-weight: 600;
  gap: .75rem;
  height: 100%;
  padding: 1.5rem 1rem;
  text-align: center;
  text-decoration: none;
  transition: border-color var(--arc-dur), box-shadow var(--arc-dur), transform var(--arc-dur);
}

.account-menu--main .account-menu__link:hover {
  border-color: var(--arc-primary);
  box-shadow: var(--arc-shadow);
  transform: translateY(-2px);
}

.account-menu--main .account-menu__icon,
.account-menu--main .material-icons {
  align-items: center;
  background: var(--arc-bg-alt);
  border-radius: 50%;
  color: var(--arc-heading);
  display: flex;
  font-size: 1.5rem;
  height: 3.25rem;
  justify-content: center;
  width: 3.25rem;
}

:root .account-menu--main .account-menu__icon,
:root .account-menu--main .material-icons {
  border: 1px solid var(--arc-gold);
  border-radius: 0;
}

/* Menu latéral du compte */
.account-menu--sidebar {
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius);
  padding: .5rem;
}

.account-menu--sidebar .account-menu__link {
  border-radius: var(--arc-radius-sm);
  color: var(--arc-ink);
  font-size: .9375rem;
  text-decoration: none;
}

.account-menu--sidebar .account-menu__link .material-icons {
  color: var(--arc-accent-ink);
  font-size: 1.25rem;
}

.account-menu--sidebar .account-menu__link:hover,
.account-menu--sidebar .account-menu__link--active {
  background: var(--arc-bg-alt);
  color: var(--arc-heading);
}

.account-menu__link--signout,
.account-menu__link--signout:hover,
.account-menu--sidebar .account-menu__link--signout {
  color: var(--arc-danger);
}

/* Formulaires (connexion, inscription, adresses, identité) */
.page-customer-account .page-content,
.page-authentication .page-content,
.page-registration .page-content,
.page-password .page-content {
  max-width: 100%;
}

.login-form,
.register-form,
.customer-form,
.address-form,
.forgotten-password {
  max-width: 44rem;
}

#authentication .page-content,
#registration .page-content,
#password .page-content {
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius-lg);
  margin-inline: auto;
  max-width: 40rem;
  padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
}

#authentication .page-title-section,
#registration .page-title-section,
#password .page-title-section {
  text-align: center;
}

.login-form__footer,
.no-account {
  border-top: 1px solid var(--arc-line);
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  text-align: center;
}

.password-field .btn,
.input-group .btn {
  border-color: var(--arc-line-2);
}

/* Historique & détails de commande */
.order-detail .card,
.history .card,
#history .table,
#order-detail .table {
  border-radius: var(--arc-radius);
}

/* Pages CMS */
#cms .page-content,
.page-cms .rich-text {
  font-size: 1.0625rem;
  margin-inline: auto;
  max-width: 50rem;
}

#cms .page-title-section {
  margin-inline: auto;
  max-width: 50rem;
}

#cms .rich-text h2,
.page-cms .rich-text h2 {
  margin-top: 2.25rem;
}

#cms .rich-text h1,
.page-cms .rich-text h1 {
  font-size: clamp(1.5rem, 1.25rem + 1vw, 2.1rem);
}

/* Contact */
.contact-form {
  background: var(--arc-surface);
  border: 1px solid var(--arc-line);
  border-radius: var(--arc-radius-lg);
  padding: clamp(1.25rem, 1rem + 1.5vw, 2.25rem);
}

.contact-rich,
.ps-contactinfo.left-block {
  background: transparent;
}

#contact .ps-contactinfo__title {
  font-size: 1.4rem;
}

#contact .ps-contactinfo__item {
  align-items: flex-start;
  display: flex;
  gap: .75rem;
}

#contact .ps-contactinfo__item .material-icons {
  color: var(--arc-accent-ink);
}

/* Plan du site */
#sitemap .sitemap__title,
.sitemap-title {
  color: var(--arc-heading);
  font-family: var(--arc-font-heading);
}

/* Pages d'erreur */
#pagenotfound .page-content,
.page-not-found {
  text-align: center;
}

#pagenotfound .wrapper {
  padding-top: 0;
}

/* Notifications */
#notifications .alert {
  margin-block: 1rem;
}

/* Bannière RGPD / cookies (modules tiers) : couleurs de la charte */
.uecookie a,
#uecookie a {
  color: inherit;
  text-decoration: underline;
}
/* 13. Engagements, newsletter, pied de page ============================== */

/* Bande d'engagements */
.arc-usp {
  background: var(--arc-usp-bg);
  border-top: 1px solid var(--arc-line);
  padding-block: clamp(1.75rem, 1.25rem + 1.5vw, 2.75rem);
}

.arc-usp__list {
  display: grid;
  gap: 1.5rem 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 992px) {
  .arc-usp__list {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.arc-usp__item {
  align-items: center;
  display: flex;
  gap: .9rem;
}

.arc-usp__item .arc-icon {
  color: var(--arc-heading);
  height: 1.75rem;
  width: 1.75rem;
}

.arc-usp__item p {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  line-height: 1.3;
  margin: 0;
}

.arc-usp__item strong {
  color: var(--arc-heading);
  font-size: .9rem;
  font-weight: 600;
}

.arc-usp__item span {
  color: var(--arc-ink-2);
  font-size: .8rem;
}

@media (max-width: 575.98px) {
  .arc-usp__item {
      align-items: flex-start;
      flex-direction: column;
      gap: .5rem;
    }
}

:root .arc-usp {
  border-bottom: 1px solid var(--arc-line);
}

:root .arc-usp__item .arc-icon {
  color: var(--arc-gold);
}

:root .arc-usp__item strong {
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* Newsletter */
.footer__before {
  background: transparent;
}

.arc-newsletter {
  background: var(--arc-bg-alt);
  padding-block: clamp(2.5rem, 1.75rem + 3vw, 4.5rem);
}

.arc-newsletter__inner {
  align-items: center;
  display: grid;
  gap: 1.5rem 4rem;
}

@media (min-width: 992px) {
  .arc-newsletter__inner {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    }
}

.arc-newsletter__ring {
  color: var(--arc-accent-ink);
  height: 2rem;
  margin-bottom: .75rem;
  width: 2rem;
}

.arc-newsletter__title {
  color: var(--arc-heading);
  font-family: var(--arc-font-display);
  font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem);
  font-weight: var(--arc-display-weight);
  letter-spacing: var(--arc-display-track);
  line-height: 1.15;
  margin: 0 0 .6rem;
  text-transform: var(--arc-display-case);
}

.arc-newsletter__text {
  color: var(--arc-ink-2);
  margin: 0;
  max-width: 30rem;
}

.arc-newsletter__field {
  background: var(--arc-surface);
  border: 1px solid var(--arc-line-2);
  border-radius: var(--arc-radius-btn);
  display: flex;
  gap: .35rem;
  padding: .3rem;
}

.arc-newsletter__field:focus-within {
  border-color: var(--arc-primary);
}

.arc-newsletter__field .form-control {
  background: transparent;
  border: 0;
  box-shadow: none !important;
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 1rem;
}

.arc-newsletter__field .btn {
  flex: none;
}

.arc-newsletter__consent,
.arc-newsletter__conditions {
  color: var(--arc-ink-2);
  font-size: .78rem;
  margin: .75rem 0 0;
}

.arc-newsletter .alert {
  margin-bottom: .75rem;
}

:root .arc-newsletter {
  background: var(--arc-primary);
  color: var(--arc-footer-ink);
  position: relative;
}

:root .arc-newsletter__title {
  color: #f4ecdb;
}

:root .arc-newsletter__text,
:root .arc-newsletter__consent,
:root .arc-newsletter__conditions,
:root .arc-newsletter .form-check-label,
:root .arc-newsletter label {
  color: #cfc4ad;
}

:root .arc-newsletter__ring {
  color: var(--arc-gold);
}

:root .arc-newsletter__field {
  background: transparent;
  border-color: rgba(220, 200, 159, .5);
}

:root .arc-newsletter__field .form-control {
  color: #f4ecdb;
}

:root .arc-newsletter__field .form-control::placeholder {
  color: #a99e86;
}

:root .arc-newsletter .btn-primary {
  --bs-btn-bg: var(--arc-gold);
  --bs-btn-border-color: var(--arc-gold);
  --bs-btn-color: #0d2a45;
  --bs-btn-hover-bg: #c8a96f;
  --bs-btn-hover-border-color: #c8a96f;
  --bs-btn-hover-color: #0d2a45;
  outline-color: rgba(13, 42, 69, .45);
}

@media (max-width: 575.98px) {
  .arc-newsletter__field {
      border-radius: var(--arc-radius);
      flex-direction: column;
      padding: .4rem;
    }
  
  :root .arc-newsletter__field {
      border-radius: var(--arc-radius-btn);
    }
  
  .arc-newsletter__field .form-control {
      min-height: 2.9rem;
      padding-left: .75rem;
    }
}

/* Pied de page */
.footer__main,
.arc-footer {
  background-color: var(--arc-footer-bg);
  color: var(--arc-footer-ink);
  padding-block: clamp(3rem, 2rem + 3vw, 5rem) 1.5rem;
}

.arc-footer__grid {
  display: grid;
  gap: 2.5rem;
}

@media (min-width: 992px) {
  .arc-footer__grid {
      gap: 4rem;
      grid-template-columns: minmax(16rem, 1fr) 2.4fr;
    }
}

.arc-logo--footer {
  padding: 0;
}

.arc-logo--footer img {
  filter: var(--arc-logo-footer-filter);
}

.arc-logo--footer .arc-logo__angel {
  height: 3.4rem;
}

.arc-logo--footer .arc-logo__wordmark {
  height: 1.5rem;
}

.arc-logo--footer .arc-logo__tagline {
  color: var(--arc-footer-ink);
  display: block;
}

.arc-footer__pitch {
  color: var(--arc-footer-ink);
  font-size: .9rem;
  line-height: 1.7;
  margin: 1.5rem 0 1rem;
  max-width: 24rem;
}

.arc-footer__contact {
  align-items: center;
  color: var(--arc-footer-heading);
  display: inline-flex;
  font-size: .9rem;
  font-weight: 600;
  gap: .55rem;
  text-decoration: none;
}

.arc-footer__contact:hover {
  color: var(--arc-footer-heading);
  text-decoration: underline;
}

.arc-footer__contact .arc-icon {
  height: 1.25rem;
  width: 1.25rem;
}

.arc-social {
  display: flex;
  gap: .5rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.arc-social__link {
  align-items: center;
  border: 1px solid var(--arc-footer-line);
  border-radius: 50%;
  color: var(--arc-footer-heading);
  display: inline-flex;
  height: 2.75rem;
  justify-content: center;
  text-decoration: none;
  transition: background-color var(--arc-dur) var(--arc-ease), border-color var(--arc-dur) var(--arc-ease), color var(--arc-dur) var(--arc-ease);
  width: 2.75rem;
}

.arc-social__link:hover {
  background: var(--arc-footer-heading);
  border-color: var(--arc-footer-heading);
  color: var(--arc-footer-bg);
}

.arc-social__link .arc-icon {
  height: 1.2rem;
  width: 1.2rem;
}

.arc-social__text {
  font-size: .7rem;
  font-weight: 600;
}

:root .arc-social__link {
  border-radius: 0;
  transform: rotate(45deg) scale(.86);
}

:root .arc-social__link .arc-icon {
  transform: rotate(-45deg);
}

:root .arc-social__link:hover {
  background: var(--arc-gold);
  border-color: var(--arc-gold);
  color: #0a2238;
}

/* Colonnes de liens (ps_linklist, compte, coordonnées) */
.arc-footer__cols {
  display: grid;
  gap: 0 2rem;
  margin: 0;
}

@media (min-width: 768px) {
  .arc-footer__cols {
      gap: 2rem;
      grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    }
}

.arc-footer__cols > * {
  margin: 0;
  max-width: none;
  padding: 0;
  width: auto;
}

.footer-block__title,
.footer-block .footer-block__title a {
  color: var(--arc-footer-heading);
  font-family: var(--arc-font-body);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .14em;
  margin-bottom: 1rem;
  text-decoration: none;
  text-transform: uppercase;
}

:root .footer-block__title,
:root .footer-block .footer-block__title a {
  color: #dcc89f;
  letter-spacing: .22em;
}

.footer-block__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-block a,
.arc-footer .ps-contactinfo__infos {
  color: var(--arc-footer-ink);
  text-decoration: none;
}

.footer-block a:hover {
  color: var(--arc-footer-heading);
  text-decoration: underline;
  text-decoration-color: var(--arc-accent);
}

.footer-block__list a {
  display: inline-block;
  font-size: .9rem;
  padding-block: .3rem;
}

.arc-footer .ps-contactinfo__infos {
  font-size: .9rem;
  font-style: normal;
  line-height: 1.7;
}

.arc-footer .material-icons {
  color: var(--arc-accent);
  font-size: 1.1rem;
  margin-right: .35rem;
  vertical-align: -.2em;
}

.footer .text-danger-on-dark,
.footer-block a.logout {
  color: #f0b4ab;
}

@media (max-width: 767.98px) {
  .arc-footer__cols > .footer-block {
      border-bottom: 1px solid var(--arc-footer-line);
    }
  
  .footer-block__title--toggle {
      align-items: center;
      display: flex;
      justify-content: space-between;
      margin: 0;
      padding-block: 1.05rem;
      position: relative;
    }
  
  .footer-block__title--toggle .stretched-link {
      background: transparent;
      border: 0;
      color: var(--arc-footer-ink);
      display: flex;
      justify-content: flex-end;
      padding: 0;
    }
  
  .footer-block__title--toggle .stretched-link .material-icons {
      color: inherit;
      margin: 0;
      transition: transform var(--arc-dur) var(--arc-ease);
    }
  
  .footer-block__title--toggle .stretched-link:not(.collapsed) .material-icons {
      transform: rotate(180deg);
    }
  
  .footer-block__content {
      padding-bottom: 1rem;
    }
}

.copyright {
  border-top: 1px solid var(--arc-footer-line);
  color: var(--arc-footer-ink);
  display: flex;
  flex-wrap: wrap;
  font-size: .78rem;
  gap: .4rem .9rem;
  justify-content: center;
  letter-spacing: .04em;
  margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem);
  opacity: .85;
  padding-block: 1.5rem .25rem;
}

.copyright a {
  color: inherit;
}

.copyright__sep {
  align-self: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  height: .4rem;
  opacity: .6;
  width: .4rem;
}

:root .copyright__sep {
  border-color: var(--arc-gold);
  border-radius: 0;
  transform: rotate(45deg);
}

:root .arc-footer {
  border-top: 1px solid var(--arc-footer-line);
  box-shadow: inset 0 4px 0 var(--arc-footer-bg), inset 0 5px 0 var(--arc-footer-line);
}

:root .arc-footer__brand {
  text-align: center;
}

:root .arc-logo--footer {
  flex-direction: column;
}

:root .arc-logo--footer .arc-logo__text {
  align-items: center;
}

:root .arc-footer__pitch {
  margin-inline: auto;
}

:root .arc-social {
  justify-content: center;
}

@media (max-width: 991.98px) {
  .arc-footer__brand {
      text-align: center;
    }
  
  .arc-logo--footer {
      justify-content: center;
    }
  
  .arc-footer__pitch {
      margin-inline: auto;
    }
  
  .arc-social {
      justify-content: center;
    }
}
/* 15. Sélecteur de direction (phase de choix) ============================
   Pastille flottante ajoutée par custom.js ; à retirer avec la phase de
   choix (window.arcTheme.switcher = false dans _partials/head.tpl).
   ========================================================================== */

.arc-switcher {
  align-items: center;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: rgba(16, 25, 34, .88);
  border-radius: 999px;
  bottom: max(1rem, env(safe-area-inset-bottom));
  box-shadow: 0 16px 40px -14px rgba(0, 0, 0, .55);
  color: #fff;
  display: flex;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: .78rem;
  gap: .2rem;
  left: 1rem;
  letter-spacing: 0;
  padding: .3rem;
  position: fixed;
  text-transform: none;
  transition: bottom .3s cubic-bezier(.2, .7, .2, 1), opacity .3s;
  z-index: 1090;
}

body.arc-has-sticky-atc .arc-switcher {
  bottom: 5.75rem;
}

.arc-switcher__label {
  color: rgba(255, 255, 255, .6);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
  padding: 0 .5rem 0 .7rem;
  text-transform: uppercase;
}

.arc-switcher button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: rgba(255, 255, 255, .82);
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  line-height: 1;
  padding: .55rem .8rem;
  transition: background-color .2s, color .2s;
  white-space: nowrap;
}

.arc-switcher button:hover {
  background: rgba(255, 255, 255, .12);
  color: #fff;
}

.arc-switcher button[aria-pressed=true] {
  background: #fff;
  color: #111a22;
}

.arc-switcher .arc-switcher__close {
  align-items: center;
  display: flex;
  height: 2rem;
  justify-content: center;
  padding: 0;
  width: 2rem;
}

.arc-switcher__close svg {
  height: 1rem;
  width: 1rem;
}

.arc-switcher.is-collapsed .arc-switcher__label,
.arc-switcher.is-collapsed .arc-switcher__choice {
  display: none;
}

@media (max-width: 575.98px) {
  .arc-switcher {
      font-size: .74rem;
      left: 50%;
      transform: translateX(-50%);
    }
  
  .arc-switcher.is-collapsed {
      left: 1rem;
      transform: none;
    }
  
  .arc-switcher__label {
      display: none;
    }
  
  .arc-switcher button {
      padding: .55rem .7rem;
    }
}

/* 16. Accessibilité & impression ========================================= */

.skip-link:focus,
.back-to-top-link:focus {
  z-index: 1100;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
      animation-duration: .01ms !important;
      scroll-behavior: auto !important;
      transition-duration: .01ms !important;
    }
}

@media print {
  #header,
  .arc-announce,
  .footer__before,
  .arc-usp,
  .arc-switcher,
  .arc-sticky-atc {
      display: none !important;
    }
}
