.elementor-kit-14{--e-global-color-primary:#2F5347;--e-global-color-secondary:#1F2E28;--e-global-color-text:#3E4A44;--e-global-color-accent:#2F5347;--e-global-color-40988ac:#1F2E28;--e-global-typography-primary-font-family:"Newsreader";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Newsreader";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-weight:500;}.elementor-kit-14 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 *//* =========================================================
   CONFORT INTIME — CSS global
   Elementor > Reglages du site > CSS personnalise
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,wght@0,400;0,500;1,400&family=Figtree:wght@400;500;600&display=swap');

:root {
  /* Couleurs */
  --ci-papier: #F4F4EF;
  --ci-surface: #FBFBF8;
  --ci-vert: #2F5347;
  --ci-vert-survol: #24423A;
  --ci-vert-clair: #E3EAE6;
  --ci-titre: #1F2E28;
  --ci-texte: #3E4A44;
  --ci-texte-2: #5B6660;
  --ci-inactif: #8B9691;
  --ci-filet: #E4E3D8;
  --ci-filet-fort: #DEDDD1;
  --ci-voile: rgba(31, 46, 40, 0.42);
  --ci-filet-photo: rgba(244, 244, 239, 0.14);

  /* Typographie */
  --ci-titres: Newsreader, Georgia, serif;
  --ci-corps-f: Figtree, system-ui, sans-serif;
  --ci-h1: clamp(2.125rem, 1.614rem + 2.182vw, 3.25rem);
  --ci-h2: clamp(1.875rem, 1.591rem + 1.212vw, 2.5rem);
  --ci-h3: clamp(1.0625rem, 1.006rem + 0.242vw, 1.1875rem);
  --ci-chapeau: clamp(1rem, 0.943rem + 0.242vw, 1.125rem);
  --ci-corps: clamp(0.9375rem, 0.909rem + 0.121vw, 1rem);
  --ci-ui: 0.875rem;
  --ci-mention: 0.8125rem;
  --ci-surtitre: 0.6875rem;

  /* Structure */
  --ci-largeur: 1200px;
  --ci-gouttiere: 24px;
  --ci-section: clamp(6rem, 3.818rem + 9.309vw, 10.5rem);
  --ci-r-champ: 4px;
  --ci-r-image: 6px;
  --ci-r-carte: 8px;
}

/* ---------- Base ---------- */
body {
  background: var(--ci-papier);
  color: var(--ci-texte);
  font-family: var(--ci-corps-f);
  font-size: var(--ci-corps);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body a { color: var(--ci-vert); text-decoration: none; }
body a:hover { color: var(--ci-vert-survol); }
:focus-visible { outline: 2px solid var(--ci-vert); outline-offset: 2px; }
::selection { background: var(--ci-vert-clair); }
input::placeholder { color: var(--ci-inactif); }

/* ---------- Trames ---------- */
.ci-wrap { max-width: var(--ci-largeur); margin: 0 auto; padding: 0 var(--ci-gouttiere); }
.ci-section { padding: var(--ci-section) var(--ci-gouttiere) 0; }
.ci-section > .ci-inner { max-width: var(--ci-largeur); margin: 0 auto; }
.ci-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* ---------- Titres ---------- */
.ci-h1 { margin: 0; font-family: var(--ci-titres); font-size: var(--ci-h1); line-height: 1.1; font-weight: 400; color: var(--ci-titre); max-width: 20ch; text-wrap: pretty; }
.ci-h2 { margin: 0; font-family: var(--ci-titres); font-size: var(--ci-h2); line-height: 1.2; font-weight: 400; color: var(--ci-titre); }
.ci-h3 { margin: 0; font-family: var(--ci-titres); font-size: var(--ci-h3); line-height: 1.35; font-weight: 400; color: var(--ci-titre); }
.ci-chapeau { margin: 0; font-size: var(--ci-chapeau); line-height: 1.7; max-width: 62ch; text-wrap: pretty; }
.ci-surtitre { font-size: var(--ci-surtitre); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ci-texte-2); }
.ci-mention { font-size: var(--ci-mention); line-height: 1.5; color: var(--ci-texte-2); }
.ci-lien-ui { font-size: var(--ci-ui); font-weight: 500; color: var(--ci-vert); }

.ci-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--ci-filet); padding-bottom: 16px; }

/* ---------- Boutons ---------- */
/* a.ci-btn (et non .ci-btn seul) : sinon la couleur de lien d'Elementor
   ou du theme gagne et le libelle devient vert sur vert. */
.ci-btn,
a.ci-btn,
button.ci-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 46px; padding: 0 22px;
  border: 1px solid var(--ci-vert); border-radius: var(--ci-r-champ);
  background: transparent;
  font-family: var(--ci-corps-f); font-size: var(--ci-ui); font-weight: 500;
  color: var(--ci-vert) !important; cursor: pointer; text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease;
}
.ci-btn:hover, a.ci-btn:hover { background: var(--ci-vert-clair); color: var(--ci-vert) !important; }

.ci-btn--primaire,
a.ci-btn--primaire,
button.ci-btn--primaire { background: var(--ci-vert); color: var(--ci-papier) !important; }
.ci-btn--primaire:hover,
a.ci-btn--primaire:hover { background: var(--ci-vert-survol); border-color: var(--ci-vert-survol); color: var(--ci-papier) !important; }

.ci-btn--sur-photo,
a.ci-btn--sur-photo { border-color: var(--ci-papier); color: var(--ci-papier) !important; }
.ci-btn--sur-photo:hover,
a.ci-btn--sur-photo:hover { background: var(--ci-filet-photo); color: var(--ci-papier) !important; }

/* ---------- Barre d'information ---------- */
.ci-bar { border-bottom: 1px solid var(--ci-filet); }
.ci-bar__inner { max-width: var(--ci-largeur); margin: 0 auto; padding: 8px var(--ci-gouttiere); display: flex; flex-wrap: wrap; gap: 8px 32px; justify-content: space-between; align-items: center; }

/* ---------- En-tete ---------- */
.ci-header { position: sticky; top: 0; z-index: 30; background: var(--ci-papier); border-bottom: 1px solid var(--ci-filet-fort); }
.ci-header__inner { max-width: var(--ci-largeur); margin: 0 auto; padding: 16px var(--ci-gouttiere); display: flex; align-items: center; gap: 32px; }
.ci-logo { font-family: var(--ci-titres); font-size: 22px; line-height: 1.3; font-weight: 500; color: var(--ci-titre); white-space: nowrap; }
.ci-logo img { display: block; height: 40px; width: auto; }

.ci-search { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; background: var(--ci-surface); border: 1px solid var(--ci-filet-fort); border-radius: var(--ci-r-champ); height: 52px; padding: 0 16px; }
.ci-search:hover, .ci-search:focus-within { border-color: var(--ci-vert); }
.ci-search input { flex: 1; min-width: 0; height: 50px; border: 0; background: transparent; outline: none; font-family: var(--ci-corps-f); font-size: var(--ci-corps); color: var(--ci-texte); }
.ci-search svg { flex: none; }

.ci-actions { display: flex; align-items: center; gap: 24px; }
.ci-action { display: flex; align-items: center; gap: 8px; height: 44px; font-size: var(--ci-ui); color: var(--ci-texte); }
.ci-burger { display: none; align-items: center; gap: 8px; height: 44px; padding: 0 12px; background: transparent; border: 1px solid var(--ci-vert); border-radius: var(--ci-r-champ); font-family: var(--ci-corps-f); font-size: var(--ci-ui); font-weight: 500; color: var(--ci-vert); cursor: pointer; }

/* ---------- Navigation rayons ---------- */
.ci-nav { border-top: 1px solid var(--ci-filet); position: relative; }
.ci-nav__inner { max-width: var(--ci-largeur); margin: 0 auto; padding: 0 var(--ci-gouttiere); display: flex; align-items: center; gap: 8px; }
.ci-tab { height: 48px; padding: 0 16px; background: transparent; border: 0; border-bottom: 2px solid transparent; font-family: var(--ci-corps-f); font-size: var(--ci-ui); font-weight: 500; color: var(--ci-titre); cursor: pointer; }
.ci-tab[aria-expanded="true"] { border-bottom-color: var(--ci-vert); }
.ci-nav__lien { display: flex; align-items: center; height: 48px; padding: 0 16px; font-size: var(--ci-ui); color: var(--ci-texte); }

.ci-mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--ci-surface); border-top: 1px solid var(--ci-filet); border-bottom: 1px solid var(--ci-filet-fort); }
.ci-mega[hidden] { display: none; }
.ci-mega__grid { max-width: var(--ci-largeur); margin: 0 auto; padding: var(--ci-gouttiere); display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 32px; }
.ci-mega__grid a { display: flex; align-items: center; min-height: 44px; font-size: var(--ci-ui); color: var(--ci-texte); }
.ci-mega__grid a.is-tout { font-weight: 500; color: var(--ci-vert); }

/* ---------- Menu mobile ---------- */
.ci-mobile { border-top: 1px solid var(--ci-filet); background: var(--ci-papier); }
.ci-mobile[hidden] { display: none; }
.ci-mobile__inner { max-width: var(--ci-largeur); margin: 0 auto; padding: 8px var(--ci-gouttiere) var(--ci-gouttiere); display: flex; flex-direction: column; }
.ci-mobile__inner a { display: flex; align-items: center; min-height: 48px; font-size: 17px; color: var(--ci-titre); border-bottom: 1px solid var(--ci-filet); }
.ci-mobile__inner a:last-child { border-bottom: 0; }

/* ---------- Hero ---------- */
.ci-hero { position: relative; height: 560px; min-height: 560px; overflow: hidden; background: var(--ci-titre); }
.ci-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ci-hero__voile { position: absolute; inset: 0; background: var(--ci-voile); pointer-events: none; }
/* Texte centre verticalement : l'en-tete du site est haut, un texte cale en bas
   passerait sous la ligne de flottaison. */
.ci-hero__bas { position: absolute; inset: 0; display: flex; align-items: center; padding: 0 var(--ci-gouttiere); }
.ci-hero__bas > * { width: 100%; }
.ci-hero .ci-h1 { color: var(--ci-papier); }
.ci-hero__lead { margin: 20px 0 0; font-size: var(--ci-chapeau); line-height: 1.7; color: var(--ci-papier); max-width: 56ch; text-wrap: pretty; }
.ci-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* ---------- Reassurance (bandeau colle au hero) ---------- */
/* Motif : ondes fines repetees, lues comme un textile. */
.ci-reassurance {
  background-color: var(--ci-surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='28'%3E%3Cpath d='M0 14 Q30 2 60 14 T120 14' fill='none' stroke='%232F5347' stroke-opacity='0.10'/%3E%3C/svg%3E");
  border-bottom: 1px solid var(--ci-filet-fort);
}
.ci-reassurance__grid { max-width: var(--ci-largeur); margin: 0 auto; padding: 0 var(--ci-gouttiere); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
.ci-reassurance__item { display: flex; flex-direction: column; gap: 2px; padding: 22px 32px; border-left: 1px solid var(--ci-filet); }
.ci-reassurance__item:first-child { padding-left: 0; border-left: 0; }
.ci-reassurance__item:last-child { padding-right: 0; }
.ci-reassurance__item b { font-family: var(--ci-titres); font-size: 16px; line-height: 1.4; font-weight: 500; color: var(--ci-titre); }

/* ---------- Tuiles de rayon ---------- */
.ci-tuiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 24px; }
.ci-tuile { background: var(--ci-surface); border: 1px solid var(--ci-filet); border-radius: var(--ci-r-carte); overflow: hidden; display: grid; grid-template-columns: 320px 1fr; min-height: 300px; }
.ci-tuile:hover { border-color: var(--ci-vert); }
.ci-tuile__img { overflow: hidden; }
.ci-tuile__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ci-tuile__body { padding: 36px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; justify-content: center; }
.ci-tuile__desc { font-size: var(--ci-ui); line-height: 1.6; color: var(--ci-texte-2); }

/* ---------- Cartes produits ---------- */
.ci-produits { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 24px; margin-top: 28px; }
.ci-produit { background: var(--ci-surface); border: 1px solid var(--ci-filet); border-radius: var(--ci-r-carte); padding: 14px 16px; display: flex; flex-direction: column; gap: 12px; }
.ci-produit__img { aspect-ratio: 1 / 1; border-radius: var(--ci-r-image); overflow: hidden; background: var(--ci-papier); }
.ci-produit__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ci-produit__nom { font-family: var(--ci-titres); font-size: 17px; line-height: 1.35; font-weight: 500; color: var(--ci-titre); }
.ci-produit__bas { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.ci-prix { font-size: var(--ci-corps); color: var(--ci-titre); }
.ci-produit .ci-btn { padding: 0 18px; }

/* ---------- Conseil ---------- */
/* Motif de fond : feuille au trait dans l'angle bas droit.
   overflow:hidden indispensable, sinon la feuille depasse. */
#contact {
  overflow: hidden;
  background-color: var(--ci-surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cg fill='none' stroke='%232F5347' stroke-opacity='0.15' transform='rotate(-20 200 200)'%3E%3Cpath d='M200 40 C300 130 300 270 200 360 C100 270 100 130 200 40 Z'/%3E%3Cpath d='M200 40 V360'/%3E%3Cpath d='M200 142 L148 112'/%3E%3Cpath d='M200 142 L252 112'/%3E%3Cpath d='M200 212 L138 178'/%3E%3Cpath d='M200 212 L262 178'/%3E%3Cpath d='M200 282 L154 256'/%3E%3Cpath d='M200 282 L246 256'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right -40px bottom -60px;
  background-size: 360px auto;
  padding-bottom: var(--ci-section);
}
.ci-conseil { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 32px; align-items: start; }
.ci-carte { background: var(--ci-surface); border: 1px solid var(--ci-filet); border-radius: var(--ci-r-carte); padding: var(--ci-gouttiere); display: flex; flex-direction: column; gap: 16px; }
.ci-tel { font-family: var(--ci-titres); font-size: 22px; line-height: 1.3; font-weight: 500; color: var(--ci-titre); }

/* ---------- Pourquoi le confort intime compte ---------- */
.ci-pourquoi { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); gap: 32px; align-items: center; }
.ci-pourquoi__img { border-radius: var(--ci-r-image); overflow: hidden; background: var(--ci-papier); }
.ci-pourquoi__img img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 3 / 2; }
.ci-pourquoi__texte { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
/* Derniere section avant le pied de page : ne pas la coller au footer */
.ci-section--fin { padding-bottom: var(--ci-section); }

/* ---------- Pied de page ---------- */
/* Meme motif d'ondes, encore plus dilue. */
.ci-footer {
  border-top: 1px solid var(--ci-filet);
  padding: 56px var(--ci-gouttiere) 40px;
  background-color: var(--ci-papier);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='28'%3E%3Cpath d='M0 14 Q30 2 60 14 T120 14' fill='none' stroke='%232F5347' stroke-opacity='0.09'/%3E%3C/svg%3E");
}
.ci-footer__inner { max-width: var(--ci-largeur); margin: 0 auto; display: flex; flex-direction: column; gap: 40px; }
.ci-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 40px; }
.ci-footer__col { display: flex; flex-direction: column; gap: 10px; }
.ci-footer__col a { font-size: var(--ci-ui); color: var(--ci-texte); }
.ci-footer__col a:hover { color: var(--ci-vert); }
.ci-footer__marque { font-family: var(--ci-titres); font-size: 19px; line-height: 1.35; font-weight: 500; color: var(--ci-titre); }
.ci-footer__bas { border-top: 1px solid var(--ci-filet); padding-top: 20px; display: flex; flex-wrap: wrap; gap: 8px 32px; justify-content: space-between; }

/* ---------- Mobile ---------- */
@media (max-width: 979px) {
  .ci-actions, .ci-nav { display: none; }
  .ci-burger { display: flex; }
}
@media (max-width: 767px) {
  .ci-reassurance__item { padding: 16px 0; border-left: 0; border-top: 1px solid var(--ci-filet); }
  .ci-reassurance__item:first-child { border-top: 0; }
  .ci-hero { height: 460px; min-height: 460px; }
  .ci-tuile { grid-template-columns: 1fr; }
  .ci-tuile__img { height: 220px; }
  .ci-tuile__body { padding: 24px; }
  .ci-header__inner { gap: 16px; flex-wrap: wrap; }
  .ci-search { order: 3; flex-basis: 100%; }
}

/* =========================================================
   WooCommerce — habillage des widgets Elementor
   (a activer quand les cartes statiques sont remplacees)
   ========================================================= */
.woocommerce ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product {
  background: var(--ci-surface);
  border: 1px solid var(--ci-filet);
  border-radius: var(--ci-r-carte);
  padding: 14px 16px;
  text-align: left;
}
.woocommerce ul.products li.product:hover { border-color: var(--ci-vert); }
.woocommerce ul.products li.product img { border-radius: var(--ci-r-image); margin-bottom: 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--ci-titres) !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: var(--ci-titre) !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product .price {
  font-family: var(--ci-corps-f) !important;
  font-size: var(--ci-corps) !important;
  font-weight: 400 !important;
  color: var(--ci-titre) !important;
}
.woocommerce ul.products li.product .price del { color: var(--ci-inactif) !important; }
.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit {
  display: inline-flex !important; align-items: center; justify-content: center;
  height: 46px !important; padding: 0 18px !important;
  background: transparent !important;
  border: 1px solid var(--ci-vert) !important;
  border-radius: var(--ci-r-champ) !important;
  font-family: var(--ci-corps-f) !important;
  font-size: var(--ci-ui) !important; font-weight: 500 !important;
  color: var(--ci-vert) !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce ul.products li.product .button:hover { background: var(--ci-vert-clair) !important; }
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce .single_add_to_cart_button {
  background: var(--ci-vert) !important; color: var(--ci-papier) !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover {
  background: var(--ci-vert-survol) !important; border-color: var(--ci-vert-survol) !important;
}
.woocommerce span.onsale {
  background: var(--ci-vert-clair) !important; color: var(--ci-vert-survol) !important;
  font-family: var(--ci-corps-f) !important; font-size: var(--ci-surtitre) !important;
  font-weight: 600 !important; letter-spacing: 0.08em; text-transform: uppercase;
  border-radius: var(--ci-r-champ) !important; box-shadow: none !important; min-height: 0 !important;
  padding: 4px 10px !important; line-height: 1.4 !important;
}
.woocommerce .star-rating span::before { color: var(--ci-vert) !important; }


/* ---------- Messages WooCommerce (ajout au panier, erreurs, infos) ---------- */
/* Neutralise le bandeau vert/violet par defaut de WooCommerce. */
.woocommerce-notices-wrapper { max-width: var(--ci-largeur); margin: 0 auto; padding: 0 var(--ci-gouttiere); }
.woocommerce-notices-wrapper:not(:empty) { padding-top: 24px; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px;
  margin: 0 0 16px !important;
  padding: 16px 20px !important;
  border: 1px solid var(--ci-filet-fort) !important;
  border-top: 1px solid var(--ci-filet-fort) !important;
  border-radius: var(--ci-r-carte);
  background: var(--ci-surface) !important;
  font-family: var(--ci-corps-f);
  font-size: var(--ci-ui);
  line-height: 1.5;
  color: var(--ci-texte) !important;
  list-style: none;
}

/* Puce / icone par defaut supprimee */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }

/* Bouton "Voir le panier" aligne a droite, au style du site */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  margin-left: auto;
  display: inline-flex; align-items: center; justify-content: center;
  height: 40px; padding: 0 18px;
  border: 1px solid var(--ci-vert); border-radius: var(--ci-r-champ);
  background: transparent !important;
  font-family: var(--ci-corps-f); font-size: var(--ci-ui); font-weight: 500;
  color: var(--ci-vert) !important; text-decoration: none;
  transition: background-color .15s ease;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover { background: var(--ci-vert-clair) !important; }

@media (max-width: 599px) {
  .woocommerce-message .button,
  .woocommerce-info .button,
  .woocommerce-error .button { margin-left: 0; width: 100%; }
}

/* ---------- Page erreur 404 ---------- */
.ci-404 { padding: 120px var(--ci-gouttiere) 128px; }
.ci-404__inner {
  max-width: 560px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}
.ci-404__code {
  font-family: var(--ci-titres);
  font-size: clamp(72px, 14vw, 132px);
  line-height: 1;
  font-weight: 400;
  color: var(--ci-titre);
  font-variant-numeric: tabular-nums;
}
.ci-404__titre {
  margin: 0;
  font-family: var(--ci-titres);
  font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem);
  line-height: 1.25;
  font-weight: 400;
  color: var(--ci-titre);
}
.ci-404__texte {
  margin: 0;
  font-size: var(--ci-corps);
  line-height: 1.7;
  color: var(--ci-texte-2);
  max-width: 46ch;
  text-wrap: pretty;
}
.ci-404__bouton { height: 48px; margin-top: 12px; }
@media (max-width: 767px) {
  .ci-404 { padding: 80px var(--ci-gouttiere) 88px; }
}/* End custom CSS */