.elementor-kit-10{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Saveurs Dubois, feuille de styles globale
   Polices : Libre Baskerville (titres) + Archivo (texte), voir sections/00-head.txt */

:root {
  --sd-t: "Libre Baskerville", Georgia, serif;
  --sd-b: Archivo, Helvetica, system-ui, sans-serif;
  --sd-brun: #24382C;          /* vert sapin, boutons, principal */
  --sd-bois: #4A6250;
  --sd-cuivre: #C2892E;
  --sd-cuivre-fonce: #8C6014;
  --sd-erable: #9E6410;        /* boutons Québec */
  --sd-bordeaux: #8E3B2A;
  --sd-creme-chaud: #EDE9DD;
  --sd-creme: #F7F4EC;
  --sd-filet: #D8D2C2;
  --sd-texte: #232823;
  --sd-texte-doux: #5F665D;
  --sd-nuit: #16211A;
  --sd-gouttiere: clamp(16px, 4vw, 32px);
  --sd-section: clamp(72px, 10vw, 120px);
  --sd-arrondi: 56px;
  --sd-veines: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cg fill='none' stroke='%2324382C' stroke-width='0.6'%3E%3Cpath d='M0 8c12 4 24 -4 48 0'/%3E%3Cpath d='M0 20c12 4 24 -4 48 0'/%3E%3Cpath d='M0 32c12 4 24 -4 48 0'/%3E%3Cpath d='M0 44c12 4 24 -4 48 0'/%3E%3C/g%3E%3C/svg%3E");
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--sd-creme); color: var(--sd-texte); font-family: var(--sd-b); font-size: 17px; line-height: 1.6; }
img { display: block; max-width: 100%; height: auto; min-width: 0; }
.sd-recit__grille > *, .sd-deux-col > *, .sd-grille-cartes > *, .sd-contact__grille > * { min-width: 0; }
a { color: var(--sd-bois); text-underline-offset: 3px; }
a:hover { color: var(--sd-cuivre-fonce); }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--sd-cuivre); outline-offset: 2px; }
h1, h2, h3, p, dl, dd { margin: 0; }
.sd-conteneur { position: relative; max-width: 1200px; margin: 0 auto; padding: var(--sd-section) var(--sd-gouttiere); }

/* Titres */
.sd-h1 { font-family: var(--sd-t); font-weight: 400; font-size: clamp(1.625rem, 1.25rem + 1.3vw, 2.25rem); line-height: 1.22; color: var(--sd-creme); text-wrap: balance; }
.sd-h2 { font-family: var(--sd-t); font-weight: 400; font-size: clamp(1.75rem, 1.45rem + 1.2vw, 2.5rem); line-height: 1.2; color: var(--sd-nuit); }
.sd-h3 { font-family: var(--sd-t); font-weight: 400; font-size: clamp(1.375rem, 1.2rem + .7vw, 1.75rem); line-height: 1.25; color: var(--sd-nuit); }
.sd-surtitre { font-size: 14px; letter-spacing: .16em; text-transform: uppercase; color: var(--sd-bois); }
.sd-chapo { max-width: 60ch; color: var(--sd-texte-doux); }
.sd-doux { color: var(--sd-texte-doux); }

/* Boutons, fond vert, texte blanc */
.sd-btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; line-height: 1.3; min-height: 48px; padding: 0 26px; border: 1px solid var(--sd-brun); border-radius: 4px; background: var(--sd-brun); color: #fff; font-family: var(--sd-b); font-size: 16px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .2s, border-color .2s; }
.sd-btn:hover { background: var(--sd-nuit); border-color: var(--sd-nuit); color: #fff; }
.sd-btn--erable { background: var(--sd-erable); border-color: var(--sd-erable); }
.sd-btn--grand { min-height: 52px; padding: 0 30px; }
.sd-btn--bloc { width: 100%; }
.sd-btn:disabled, .sd-btn[aria-disabled="true"] { background: transparent; border: 1px dashed var(--sd-filet); color: var(--sd-texte-doux); font-weight: 500; cursor: not-allowed; }
.sd-lien-cuivre { font-size: 16px; font-weight: 500; color: var(--sd-cuivre-fonce); text-decoration: none; border-bottom: 1px solid var(--sd-cuivre); padding-bottom: 2px; }

/* Motif grain de noyer (discret) */
.sd-veines { position: relative; }
.sd-veines::before { content: ""; position: absolute; inset: 0; background-image: var(--sd-veines); opacity: .05; pointer-events: none; }
.sd-veines > * { position: relative; }

/* 01 Barre d'info + en-tête */
.sd-barre-info { background: var(--sd-nuit); color: var(--sd-creme-chaud); }
.sd-barre-info__inner { max-width: 820px; margin: 0 auto; padding: 9px var(--sd-gouttiere); display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between; font-size: 15px; letter-spacing: .02em; }
.sd-entete { position: sticky; top: 0; z-index: 20; background: var(--sd-creme); border-bottom: 1px solid var(--sd-filet); }
.sd-entete__inner { max-width: 1200px; margin: 0 auto; padding: 0 var(--sd-gouttiere); display: flex; align-items: center; gap: 24px; min-height: 76px; }
.sd-marque { display: flex; align-items: center; gap: 12px; margin-right: auto; text-decoration: none; }
.sd-marque img { width: 52px; height: 52px; border-radius: 999px; flex: none; }
.sd-marque span { white-space: nowrap; font-family: var(--sd-t); font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); color: var(--sd-nuit); line-height: 1.1; }
.sd-nav { display: flex; gap: 32px; align-items: center; }
.sd-nav a { white-space: nowrap; font-size: 16px; color: var(--sd-texte); text-decoration: none; padding: 6px 0; border-bottom: 1px solid transparent; }
.sd-nav a:hover, .sd-nav a[aria-current="page"] { border-bottom-color: var(--sd-cuivre); color: var(--sd-cuivre-fonce); }
.sd-entete__actions { display: flex; align-items: center; gap: 8px; }
.sd-panier { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1px solid var(--sd-filet); border-radius: 4px; text-decoration: none; color: var(--sd-texte); font-size: 16px; }
.sd-panier:hover { border-color: var(--sd-bois); color: var(--sd-texte); }
.sd-panier span { font-feature-settings: "tnum"; color: var(--sd-texte-doux); }
.sd-burger { display: none; min-height: 44px; padding: 0 18px; }
.sd-nav-mobile { display: none; border-top: 1px solid var(--sd-filet); padding: 8px var(--sd-gouttiere) 16px; }
.sd-nav-mobile a { font-size: 17px; color: var(--sd-texte); text-decoration: none; padding: 14px 0; border-bottom: 1px solid var(--sd-filet); }
.sd-entete.est-ouvert .sd-nav-mobile { display: grid; }

/* 02 Hero, diagonale Valais / Québec */
.sd-hero-fond { background: var(--sd-creme); }
.sd-hero { position: relative; min-height: 82vh; display: grid; align-content: center; justify-items: center; text-align: center; border-radius: 0 0 var(--sd-arrondi) var(--sd-arrondi); overflow: hidden; background: var(--sd-brun); }
.sd-hero .sd-hero__photo { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover !important; margin: 0 !important; }
.sd-hero .sd-hero__photo--valais { object-position: 42% 85% !important; }
.sd-hero .sd-hero__photo--quebec { object-position: 45% 90% !important; -webkit-mask-image: linear-gradient(118deg, transparent 47%, #000 53%); mask-image: linear-gradient(118deg, transparent 47%, #000 53%); }
.sd-hero__voile { position: absolute; inset: 0; background: rgba(22, 33, 26, .7); }
.sd-hero__contenu { position: relative; padding: clamp(56px, 8vw, 104px) clamp(24px, 4vw, 64px); display: grid; gap: 22px; justify-items: center; max-width: 44rem; }
.sd-hero__texte { color: #D3DBD2; max-width: 52ch; }
.sd-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.sd-hero__legendes { position: absolute; left: 0; right: 0; bottom: 56px; display: flex; justify-content: space-between; padding: 0 clamp(24px, 5vw, 72px); }
.sd-hero__legendes span { font-size: 14px; letter-spacing: .16em; text-transform: uppercase; color: #C6D0C6; }

/* 03 Deux terroirs, cartes */
.sd-terroirs { overflow: hidden; padding-bottom: clamp(24px, 4vw, 48px); margin-bottom: calc(-1 * clamp(24px, 4vw, 48px)); }
.sd-terroirs .sd-chapo { margin: 12px 0 56px; }
.sd-grille-cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 24px; }
.sd-carte { display: grid; text-decoration: none; color: inherit; border: 1px solid var(--sd-filet); border-radius: 8px; background: var(--sd-creme); overflow: hidden; transition: border-color .2s; }
.sd-carte:hover { border-color: var(--sd-cuivre); color: inherit; }
.sd-carte img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-bottom: 1px solid var(--sd-filet); }
.sd-carte__corps { padding: 28px; display: grid; gap: 10px; }
.sd-carte__corps p { color: var(--sd-texte-doux); }
.sd-carte .sd-btn { margin-top: 10px; justify-self: start; }

/* 04–05 Récits Québec / Valais */
.sd-recit { position: relative; overflow: hidden; background: var(--sd-creme-chaud); }
.sd-recit--quebec { border-radius: var(--sd-arrondi) var(--sd-arrondi) 0 0; }
.sd-recit--valais { border-radius: 0 0 var(--sd-arrondi) var(--sd-arrondi); border-top: 1px solid var(--sd-filet); }
.sd-recit__grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: center; }
.sd-recit__photo { width: 100%; height: 440px; object-fit: cover; border-radius: 8px; border: 1px solid var(--sd-filet); }
.sd-recit__texte { display: grid; gap: 20px; max-width: 46ch; }
.sd-recit__texte .sd-btn { justify-self: start; }
.sd-filigrane { position: absolute; width: 240px; height: 240px; opacity: .08; color: var(--sd-brun); pointer-events: none; }
.sd-filigrane svg { width: 100%; height: 100%; display: block; }
.sd-filigrane--bas-droite { right: -40px; bottom: -70px; }
.sd-filigrane--bas-gauche { left: -60px; bottom: -60px; }

/* 06 Meilleures ventes, carrousel */
.sd-ventes { overflow: hidden; }
.sd-ventes__tete { display: flex; flex-wrap: wrap; gap: 16px; align-items: baseline; justify-content: space-between; margin-bottom: 56px; }
.sd-ventes__outils { display: flex; align-items: center; gap: 20px; }
.sd-fleches { display: flex; gap: 8px; }
.sd-fleche { width: 44px; height: 44px; display: grid; place-items: center; font-family: var(--sd-b); font-size: 22px; line-height: 1; color: var(--sd-brun); background: transparent; border: 1px solid var(--sd-filet); border-radius: 4px; cursor: pointer; }
.sd-fleche:hover { border-color: var(--sd-bois); }
.sd-carrousel { --par-page: 4; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--par-page) - 1) * 24px) / var(--par-page)); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.sd-carrousel::-webkit-scrollbar { display: none; }
.sd-produit { scroll-snap-align: start; border: 1px solid var(--sd-filet); border-radius: 8px; background: var(--sd-creme); overflow: hidden; display: flex; flex-direction: column; }
.sd-produit__visuel { position: relative; aspect-ratio: 4 / 5; background: var(--sd-creme-chaud); border-bottom: 1px solid var(--sd-filet); }
.sd-produit__visuel img { width: 100%; height: 100%; object-fit: cover; }
.sd-etiquette { position: absolute; top: 12px; left: 12px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; border-radius: 4px; padding: 4px 10px; background: var(--sd-creme); color: var(--sd-bordeaux); border: 1px solid currentColor; }
.sd-etiquette--rupture { color: var(--sd-texte-doux); }
.sd-produit__corps { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.sd-produit__origine { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--sd-bois); }
.sd-produit__nom { font-family: var(--sd-t); font-weight: 400; font-size: 19px; line-height: 1.3; color: var(--sd-nuit); }
.sd-produit__nom a { color: inherit; text-decoration: none; }
.sd-produit__nom a:hover { color: var(--sd-cuivre-fonce); }
.sd-produit__contenance { font-size: 15px; color: var(--sd-texte-doux); }
.sd-produit__prix { display: flex; align-items: baseline; gap: 10px; margin-top: auto; padding-top: 14px; font-feature-settings: "tnum"; }
.sd-prix { font-size: 19px; font-weight: 600; color: var(--sd-nuit); }
.sd-prix--promo { color: var(--sd-bordeaux); }
.sd-prix--rupture { color: var(--sd-texte-doux); }
.sd-prix-barre { font-size: 16px; color: var(--sd-texte-doux); text-decoration: line-through; }
.sd-produit .sd-btn { margin-top: 14px; }
.sd-pastilles { display: flex; gap: 8px; justify-content: center; margin-top: 32px; }
.sd-pastille { width: 10px; height: 10px; padding: 0; border-radius: 999px; border: 1px solid var(--sd-bois); background: transparent; cursor: pointer; transition: width .3s ease; }
.sd-pastille[aria-current="true"] { width: 28px; background: var(--sd-bois); }

/* 07 La maison / 10 Où nous trouver */
.sd-fond-creme-chaud { background: var(--sd-creme-chaud); overflow: hidden; }
.sd-deux-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: clamp(32px, 5vw, 64px); align-items: center; }
.sd-deux-col--haut { align-items: stretch; }
.sd-photo-4-3 { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; border: 1px solid var(--sd-filet); }
.sd-bloc-texte { display: grid; gap: 20px; align-content: start; max-width: 52ch; }
.sd-bloc-texte .sd-btn { justify-self: start; }
.sd-infos { border-top: 1px solid var(--sd-filet); }
.sd-infos > div { display: grid; grid-template-columns: minmax(110px, auto) 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--sd-filet); }
.sd-infos dt { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--sd-bois); }
.sd-carte-plan { border: 1px solid var(--sd-filet); border-radius: 6px; padding: 8px; background: var(--sd-creme); }
.sd-carte-plan iframe { display: block; width: 100%; height: 100%; min-height: 320px; border: 0; border-radius: 4px; }

/* 08 Réassurance */
.sd-reassurance .sd-conteneur { padding-block: clamp(56px, 7vw, 88px); }
.sd-reassurance__grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--sd-filet); border: 1px solid var(--sd-filet); border-radius: 8px; overflow: hidden; }
.sd-reassurance__item { background: var(--sd-creme); padding: 28px; display: grid; gap: 8px; align-content: start; }
.sd-reassurance__item strong { font-family: var(--sd-t); font-weight: 700; font-size: 17px; line-height: 1.35; color: var(--sd-nuit); }
.sd-reassurance__item p { font-size: 15px; line-height: 1.5; color: var(--sd-texte-doux); }

/* 09 Conseils */
.sd-conseils .sd-ventes__tete { margin-bottom: 0; }
.sd-conseils .sd-chapo { margin: 12px 0 56px; }
.sd-grille-articles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 24px; }
.sd-article { display: grid; text-decoration: none; color: inherit; border: 1px solid var(--sd-filet); border-radius: 8px; overflow: hidden; }
.sd-article:hover { border-color: var(--sd-cuivre); color: inherit; }
.sd-article img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--sd-creme-chaud); border-bottom: 1px solid var(--sd-filet); }
.sd-article__corps { padding: 24px; display: grid; gap: 8px; }
.sd-article__rubrique { font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: var(--sd-bois); }
.sd-article__titre { font-family: var(--sd-t); font-weight: 400; font-size: 20px; line-height: 1.3; color: var(--sd-nuit); }
.sd-article__chapo { font-size: 15px; line-height: 1.5; color: var(--sd-texte-doux); }

/* 11 Newsletter */
.sd-newsletter .sd-conteneur { padding-block: clamp(72px, 10vw, 112px); }
.sd-newsletter__cadre { border: 1px solid var(--sd-cuivre); border-radius: 8px; padding: clamp(28px, 4vw, 48px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 32px; align-items: center; }
.sd-newsletter .sd-bloc-texte { gap: 12px; max-width: 46ch; }
.sd-form { display: grid; gap: 12px; }
.sd-champ { display: grid; gap: 8px; }
.sd-champ span { font-size: 15px; font-weight: 600; color: var(--sd-brun); }
.sd-input { width: 100%; min-height: 48px; padding: 12px 14px; font-family: var(--sd-b); font-size: 16px; color: var(--sd-texte); background: var(--sd-creme); border: 1px solid var(--sd-filet); border-radius: 4px; }
.sd-input:focus { border-color: var(--sd-bois); }
.sd-form .sd-btn { justify-self: start; }
.sd-mention { font-size: 15px; color: var(--sd-texte-doux); }

/* 12 Pied de page */
.sd-pied { background: var(--sd-nuit); color: var(--sd-creme-chaud); }
.sd-pied__grille { max-width: 1200px; margin: 0 auto; padding: clamp(64px, 7vw, 96px) var(--sd-gouttiere) 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 40px; }
.sd-pied__marque { display: grid; gap: 10px; align-content: start; justify-items: start; }
.sd-pied__marque img { width: 72px; height: 72px; border-radius: 999px; }
.sd-pied__marque span { font-family: var(--sd-t); font-size: 22px; color: var(--sd-creme); }
.sd-pied__marque p { font-size: 15px; color: #B9C2B7; }
.sd-pied nav { display: grid; gap: 10px; align-content: start; }
.sd-pied__titre { margin-bottom: 4px; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--sd-cuivre); }
.sd-pied nav a { font-size: 16px; color: #D7DED4; text-decoration: none; }
.sd-pied nav a:hover { color: var(--sd-cuivre); }
.sd-pied__bas { border-top: 1px solid #2C3B31; }
.sd-pied__bas > div { max-width: 1200px; margin: 0 auto; padding: 20px var(--sd-gouttiere); display: flex; flex-wrap: wrap; gap: 12px 32px; justify-content: space-between; font-size: 15px; color: #A9B3A7; }

/* Pages intérieures : en-tête de page */
.sd-page-tete { background: var(--sd-creme-chaud); border-radius: 0 0 var(--sd-arrondi) var(--sd-arrondi); border-bottom: 1px solid var(--sd-filet); overflow: hidden; }
.sd-page-tete .sd-conteneur { padding-block: clamp(64px, 8vw, 104px); display: grid; gap: 16px; }
.sd-page-tete .sd-h1 { color: var(--sd-nuit); font-size: clamp(2rem, 1.6rem + 1.6vw, 3rem); }
.sd-page-tete .sd-chapo { font-size: 18px; }
.sd-fil-ariane { display: flex; gap: 8px; font-size: 15px; color: var(--sd-texte-doux); }
.sd-fil-ariane a { color: var(--sd-bois); text-decoration: none; }
.sd-fil-ariane a:hover { color: var(--sd-cuivre-fonce); }

/* À propos : étapes */
.sd-etapes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--sd-filet); border: 1px solid var(--sd-filet); border-radius: 8px; overflow: hidden; counter-reset: etape; }
.sd-etape { background: var(--sd-creme); padding: 28px; display: grid; gap: 10px; align-content: start; counter-increment: etape; }
.sd-etape::before { content: counter(etape, decimal-leading-zero); font-family: var(--sd-t); font-size: 28px; line-height: 1; color: var(--sd-cuivre); font-feature-settings: "tnum"; }
.sd-etape strong { font-family: var(--sd-t); font-weight: 700; font-size: 17px; line-height: 1.35; color: var(--sd-nuit); }
.sd-etape p { font-size: 15px; line-height: 1.5; color: var(--sd-texte-doux); }
.sd-intro-section { display: grid; gap: 12px; margin-bottom: 56px; max-width: 60ch; }
.sd-appel { text-align: center; display: grid; gap: 20px; justify-items: center; }
.sd-appel .sd-chapo { margin: 0 auto; }

/* Contact : formulaire */
.sd-contact__grille { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.sd-form--contact { gap: 20px; }
.sd-form__ligne { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.sd-champ small { font-size: 14px; font-weight: 400; color: var(--sd-texte-doux); }
.sd-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2324382C' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
.sd-textarea { min-height: 180px; resize: vertical; line-height: 1.5; }
.sd-case { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: var(--sd-texte-doux); }
.sd-case input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--sd-brun); flex: none; }
.sd-coordonnees { border: 1px solid var(--sd-filet); border-radius: 8px; background: var(--sd-creme); padding: clamp(24px, 3vw, 36px); display: grid; gap: 20px; }
.sd-coordonnees .sd-h3 { font-size: 22px; }
.sd-coordonnees .sd-infos > div { grid-template-columns: 1fr; gap: 4px; }
.sd-coordonnees .sd-btn { justify-self: start; }

/* FAQ */
.sd-faq { border-top: 1px solid var(--sd-filet); max-width: 820px; }
.sd-faq details { border-bottom: 1px solid var(--sd-filet); }
.sd-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; padding: 22px 0; font-family: var(--sd-t); font-size: 18px; line-height: 1.4; color: var(--sd-nuit); }
.sd-faq summary::-webkit-details-marker { display: none; }
.sd-faq summary::after { content: "+"; font-family: var(--sd-b); font-size: 24px; line-height: 1; color: var(--sd-cuivre-fonce); flex: none; transition: transform .2s; }
.sd-faq details[open] summary::after { transform: rotate(45deg); }
.sd-faq summary:hover { color: var(--sd-cuivre-fonce); }
.sd-faq details p { padding: 0 0 22px; max-width: 64ch; color: var(--sd-texte-doux); }

/* Messages WooCommerce (ajout au panier, infos, erreurs) */
.woocommerce-notices-wrapper { max-width: 1200px; margin: 24px auto 0; padding: 0 var(--sd-gouttiere); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 0 0 16px !important; padding: 16px 20px 16px 52px !important; position: relative; background: var(--sd-creme) !important; border: 1px solid var(--sd-filet) !important; border-top: 1px solid var(--sd-filet) !important; border-radius: 8px !important; color: var(--sd-texte) !important; font-family: var(--sd-b) !important; font-size: 16px !important; line-height: 1.5; list-style: none; box-shadow: none !important; }
.woocommerce-message::after, .woocommerce-info::after, .woocommerce-error::after { display: none !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { position: absolute !important; left: 20px !important; top: 50% !important; transform: translateY(-50%); margin: 0 !important; font-size: 18px !important; }
.woocommerce-message { border-color: var(--sd-bois) !important; }
.woocommerce-message::before { color: var(--sd-bois) !important; }
.woocommerce-info::before { color: var(--sd-cuivre) !important; }
.woocommerce-error { border-color: var(--sd-bordeaux) !important; color: var(--sd-bordeaux) !important; }
.woocommerce-error::before { color: var(--sd-bordeaux) !important; }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-message a.button.wc-forward { order: 2; margin-left: auto !important; float: none !important; display: inline-flex !important; align-items: center; min-height: 44px; padding: 0 20px !important; background: transparent !important; border: 1px solid var(--sd-brun) !important; border-radius: 4px !important; color: var(--sd-brun) !important; font-family: var(--sd-b) !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; text-decoration: none !important; transition: background .2s, color .2s; }
.woocommerce-message .button:hover, .woocommerce-info .button:hover { background: var(--sd-brun) !important; color: #fff !important; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a { color: var(--sd-cuivre-fonce) !important; text-underline-offset: 3px; }
@media (max-width: 560px) { .woocommerce-message .button, .woocommerce-info .button { margin-left: 0 !important; width: 100%; justify-content: center; } }

/* Responsive */
@media (max-width: 1000px) {
  .sd-carrousel { --par-page: 2; }
  .sd-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-contact__grille { grid-template-columns: 1fr; }
  .sd-reassurance__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1080px) {
  .sd-nav { display: none; }
  .sd-burger { display: inline-flex; }
}
@media (max-width: 900px) {
  .sd-hero__photo--quebec { -webkit-mask-image: linear-gradient(170deg, transparent 47%, #000 53%); mask-image: linear-gradient(170deg, transparent 47%, #000 53%); }
  .sd-hero__legendes { bottom: 20px; justify-content: center; gap: 24px; padding: 0; }
  .sd-recit__grille { grid-template-columns: minmax(0, 1fr); }
  .sd-recit__photo { height: 260px; }
  .sd-recit--valais .sd-recit__photo { order: -1; }
}
@media (max-width: 640px) { .sd-carrousel { --par-page: 1; } }
@media (max-width: 560px) { .sd-reassurance__grille, .sd-etapes, .sd-form__ligne { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .sd-carrousel { scroll-behavior: auto; } }/* End custom CSS */