/**
 * Gaspard & Watson — couche de finition responsive
 * Chargée après les feuilles natives afin de corriger les incohérences sans
 * modifier les composants fonctionnels de PrestaShop.
 */

:root {
  --gw-ivory: #f6f3ee;
  --gw-sand: #d8c8b2;
  --gw-ink: #11171c;
  --gw-caramel: #a4753f;
  --gw-gold: #c9b176;
  --gw-white: #fff;
  --gw-border: rgba(17, 23, 28, .16);
  --gw-shadow: 0 18px 55px rgba(17, 23, 28, .12);
  --gw-radius: 2px;
  --gw-container: 1380px;
  --gw-gutter: clamp(18px, 4vw, 56px);
}

/* ==========================================================
   V27 — Avis clients : accès, lisibilité et cohérence de marque
   ========================================================== */
body#product .gw-pdp__rating:empty { display: none; }
body#product .gw-pdp__rating:not(:empty) {
  margin: 12px 0 4px;
  color: var(--gw-ink, #11171c);
}
body#product .gw-pdp__rating a,
body#product .gw-pdp__rating button {
  color: var(--gw-ink, #11171c) !important;
  text-decoration: none;
}
body#product .gw-pdp__rating a:hover,
body#product .gw-pdp__rating button:hover { color: var(--gw-gold, #a4753f) !important; }
body#product .gw-pdp__rating .grade-stars,
body#product .gw-pdp__rating .star-content { color: var(--gw-gold, #a4753f); }

body#product .gw-pdp-reviews {
  width: min(1180px, calc(100% - 48px));
  margin: clamp(56px, 7vw, 96px) auto;
  scroll-margin-top: 120px;
}
body#product .gw-pdp-reviews:empty { display: none; }
body#product .gw-pdp-reviews > div,
body#product .gw-pdp-reviews .product-comments,
body#product .gw-pdp-reviews #product-comments-list-header,
body#product .gw-pdp-reviews .product-comments-list {
  max-width: 100%;
}
body#product .gw-pdp-reviews .product-comments,
body#product .gw-pdp-reviews .product-comments-list,
body#product .gw-pdp-reviews .comments-note {
  color: var(--gw-ink, #11171c);
}
body#product .gw-pdp-reviews h2,
body#product .gw-pdp-reviews h3,
body#product .gw-pdp-reviews .h2,
body#product .gw-pdp-reviews .h3 {
  color: var(--gw-ink, #11171c);
  font-family: var(--gw-serif, Georgia, serif);
  letter-spacing: -.02em;
  text-transform: none;
}
body#product .gw-pdp-reviews .product-comment-list-item,
body#product .gw-pdp-reviews .product-comment,
body#product .gw-pdp-reviews .gw-reviews-empty {
  background: #fbf9f5;
  border: 1px solid rgba(164,117,63,.24);
  border-radius: 4px;
  box-shadow: 0 14px 38px rgba(17,23,28,.06);
}
body#product .gw-pdp-reviews .gw-reviews-empty {
  padding: clamp(28px, 4vw, 48px);
  text-align: center;
}
body#product .gw-pdp-reviews .gw-reviews-empty p {
  margin: 0 auto 18px;
  max-width: 620px;
  color: #394047;
  font-size: 1rem;
  line-height: 1.7;
}
body#product .gw-pdp-reviews .btn,
body#product .gw-pdp-reviews button,
body#product .gw-pdp-reviews .post-product-comment {
  border-radius: 2px !important;
  font-weight: 700;
  letter-spacing: .035em;
}
body#product .gw-pdp-reviews .btn-primary,
body#product .gw-pdp-reviews .post-product-comment {
  background: var(--gw-gold, #a4753f) !important;
  border-color: var(--gw-gold, #a4753f) !important;
  color: #fff !important;
}

/* V28 — composition éditoriale des avis */
body#product .gw-pdp-reviews__head {
  margin: 0 auto clamp(34px, 5vw, 62px);
  max-width: 720px;
  text-align: center;
}
body#product .gw-pdp-reviews__eyebrow {
  color: var(--gw-caramel, #a4753f);
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .24em;
  margin-bottom: 14px;
  text-transform: uppercase;
}
body#product .gw-pdp-reviews__head h2 {
  color: var(--gw-ink, #11171c);
  font-family: var(--gw-serif, Georgia, serif);
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 400;
  line-height: 1.08;
  margin: 0 0 18px;
}
body#product .gw-pdp-reviews__head p {
  color: #4d5357;
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.75;
  margin: 0;
}
body#product .gw-pdp-reviews .product-comments-list {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body#product .gw-pdp-reviews .product-comment-list-item,
body#product .gw-pdp-reviews .product-comment {
  height: 100%;
  margin: 0 !important;
  padding: 28px !important;
}
body#product .gw-pdp-reviews .gw-review-featured {
  border-color: rgba(164,117,63,.4);
}

/* Fenêtre de rédaction d'un avis — sobre, compacte et stable */
body#product #post-product-comment-modal .modal-dialog,
body#product .product-comment-modal .modal-dialog {
  margin: 4vh auto;
  max-width: 780px !important;
  width: calc(100% - 36px);
}
body#product #post-product-comment-modal .modal-content,
body#product .product-comment-modal .modal-content {
  background: #f8f5ef !important;
  border: 1px solid rgba(164,117,63,.48) !important;
  border-radius: 3px !important;
  box-shadow: 0 28px 90px rgba(17,23,28,.28) !important;
  max-height: 92vh;
  overflow: hidden;
}
body#product #post-product-comment-modal .modal-header,
body#product .product-comment-modal .modal-header {
  align-items: center;
  background: #11171c !important;
  border: 0 !important;
  min-height: 84px;
  padding: 22px 30px !important;
}
body#product #post-product-comment-modal .modal-title,
body#product .product-comment-modal .modal-title {
  color: #f6f3ee !important;
  font-family: var(--gw-serif, Georgia, serif) !important;
  font-size: clamp(1.65rem, 3vw, 2.15rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
}
body#product #post-product-comment-modal .close,
body#product .product-comment-modal .close {
  align-items: center;
  border: 1px solid rgba(246,243,238,.42) !important;
  color: #f6f3ee !important;
  display: flex;
  height: 38px;
  justify-content: center;
  opacity: 1 !important;
  width: 38px;
}
body#product #post-product-comment-modal .modal-body,
body#product .product-comment-modal .modal-body {
  max-height: calc(92vh - 84px);
  overflow-y: auto;
  padding: 30px !important;
}
body#product .product-comment-modal .product-comment-form-informations {
  align-items: center;
  background: rgba(216,200,178,.2);
  border: 1px solid rgba(17,23,28,.1);
  display: grid !important;
  gap: 18px;
  grid-template-columns: 70px minmax(0, 1fr);
  margin-bottom: 24px;
  padding: 15px;
  width: 100%;
}
body#product .product-comment-modal .product-comment-form-images,
body#product .product-comment-modal .product-comment-form-image { width: 70px !important; }
body#product .product-comment-modal .product-comment-form-images img,
body#product .product-comment-modal .product-comment-form-image img {
  background: #fff;
  height: 70px;
  object-fit: contain;
  width: 70px;
}
body#product .product-comment-modal .product-comment-form-info,
body#product .product-comment-modal .product-comment-form-informations p { margin: 0 !important; }
body#product .product-comment-modal .product-comment-form-informations .product-description,
body#product .product-comment-modal .product-comment-form-informations p:not(:first-child) { display: none !important; }
body#product .product-comment-modal .product-comment-form-grade {
  align-items: center;
  border-bottom: 1px solid rgba(17,23,28,.12);
  display: flex !important;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  margin: 0 0 24px;
  padding: 0 0 22px;
  width: 100%;
}
body#product .product-comment-modal label {
  color: #11171c !important;
  font-size: .78rem;
  font-weight: 700 !important;
  letter-spacing: .09em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
body#product .product-comment-modal .form-control {
  background: #fff !important;
  border: 1px solid rgba(17,23,28,.24) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  min-height: 52px;
  padding: 12px 14px !important;
}
body#product .product-comment-modal textarea.form-control { min-height: 128px; }
body#product .product-comment-modal .modal-footer,
body#product .product-comment-modal .product-comment-form-footer {
  align-items: center;
  border-top: 1px solid rgba(17,23,28,.12) !important;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
  padding: 22px 0 0 !important;
}
body#product .product-comment-modal .btn {
  border-radius: 2px !important;
  min-height: 50px;
  min-width: 150px;
  padding: 13px 22px !important;
}
body#product .product-comment-modal .btn-primary {
  background: #11171c !important;
  border-color: #11171c !important;
  color: #fff !important;
}
body#product .product-comment-modal .btn-secondary {
  background: transparent !important;
  border-color: rgba(17,23,28,.34) !important;
  color: #11171c !important;
}

@media (max-width: 991.98px) {
  body#product .gw-pdp-reviews .product-comments-list { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  body#product #post-product-comment-modal .modal-dialog,
  body#product .product-comment-modal .modal-dialog { margin: 10px auto; width: calc(100% - 20px); }
  body#product #post-product-comment-modal .modal-content,
  body#product .product-comment-modal .modal-content { max-height: calc(100vh - 20px); }
  body#product #post-product-comment-modal .modal-header,
  body#product .product-comment-modal .modal-header { min-height: 70px; padding: 17px 18px !important; }
  body#product #post-product-comment-modal .modal-body,
  body#product .product-comment-modal .modal-body { max-height: calc(100vh - 90px); padding: 20px 17px !important; }
  body#product .product-comment-modal .product-comment-form-informations { grid-template-columns: 54px minmax(0, 1fr); }
  body#product .product-comment-modal .product-comment-form-images,
  body#product .product-comment-modal .product-comment-form-image,
  body#product .product-comment-modal .product-comment-form-images img,
  body#product .product-comment-modal .product-comment-form-image img { height: 54px; width: 54px !important; }
  body#product .product-comment-modal .modal-footer,
  body#product .product-comment-modal .product-comment-form-footer { flex-direction: column-reverse; }
  body#product .product-comment-modal .btn { min-width: 0; width: 100%; }
}

/* V32 — conserve l'affichage historique des produits.
   Le résumé d'avis reste visible mais ne peut plus recouvrir ou bloquer le lien produit. */
body:not(#product) .product-miniature .product-list-reviews,
body:not(#product) .gw-product-card .product-list-reviews,
.gw-listing .product-list-reviews {
  background: transparent !important;
  filter: none !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* Le module d'avis ne doit jamais délaver la photo de la carte concernée. */
body:not(#product) .product-miniature .product-thumbnail,
body:not(#product) .product-miniature .product-thumbnail img,
body:not(#product) .gw-product-card .gw-product-card__media,
body:not(#product) .gw-product-card .gw-product-card__img,
.gw-listing .product-miniature__image-container,
.gw-listing .product-miniature__image-container img,
.gw-listing .gw-product-card__media,
.gw-listing .gw-product-card__img {
  filter: none !important;
  opacity: 1 !important;
}

body#product .gw-pdp-reviews {
  background: #f8f5ef;
  padding: clamp(54px, 7vw, 88px) clamp(18px, 5vw, 72px);
  width: min(1280px, calc(100% - 40px));
}
body#product .gw-pdp-reviews #product-comments-list-header {
  align-items: center;
  border-bottom: 1px solid rgba(164,117,63,.42);
  display: flex;
  justify-content: space-between;
  margin-bottom: 28px;
  padding: 0 0 18px;
}
body#product .gw-pdp-reviews #product-comments-list-header .comments-nb {
  color: #11171c;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 1rem;
  font-weight: 700;
}
body#product .gw-pdp-reviews #product-comments-list {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body#product .gw-review-card {
  background: #fff !important;
  border: 1px solid rgba(17,23,28,.12) !important;
  border-radius: 3px !important;
  box-shadow: 0 12px 34px rgba(17,23,28,.06) !important;
  display: flex !important;
  flex-direction: column;
  font-family: Arial, Helvetica, sans-serif !important;
  gap: 20px;
  min-width: 0;
  padding: 26px !important;
}
body#product .gw-review-card__meta {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  justify-content: space-between;
}
body#product .gw-review-card__identity {
  color: #53595d;
  display: flex;
  flex-direction: column;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: .78rem;
  gap: 3px;
  line-height: 1.4;
  text-align: right;
}
body#product .gw-review-card__identity strong {
  color: #11171c;
  font-size: .9rem;
  font-weight: 700;
}
body#product .gw-review-card__identity time { color: #72777a; }
body#product .gw-review-card__body { flex: 1; min-width: 0; }
body#product .gw-review-card__title {
  color: #11171c !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 1rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
  margin: 0 0 10px !important;
  text-transform: none !important;
}
body#product .gw-review-card__text {
  color: #30363a !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: .98rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.72 !important;
  margin: 0 !important;
  overflow-wrap: anywhere;
}
body#product .gw-review-card__actions {
  align-items: center;
  border-top: 1px solid rgba(17,23,28,.1);
  color: #6b7073;
  display: flex;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: .75rem;
  gap: 8px;
  padding-top: 15px;
}
body#product .gw-review-card__actions button {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  color: #596166 !important;
  display: inline-flex;
  font: inherit !important;
  gap: 3px;
  min-height: 30px;
  min-width: 30px;
  padding: 4px 6px !important;
}
body#product .gw-review-card__actions .report-abuse { margin-left: auto; }
body#product .gw-review-stars {
  align-items: center;
  display: inline-flex;
  gap: 3px;
  min-height: 23px;
}
body#product .gw-review-stars > span {
  color: #c8cac9;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 22px;
  font-style: normal !important;
  line-height: 1;
}
body#product .gw-review-stars > span.is-active { color: #a4753f; }
body#product .gw-average-review {
  align-items: center;
  display: flex !important;
  font-family: Arial, Helvetica, sans-serif !important;
  gap: 10px;
  margin: 0 !important;
}
body#product .gw-average-review__label { color: #61676a; font-size: .8rem; }
body#product .gw-average-review strong { color: #11171c; font-size: 1.05rem; }
body#product .gw-average-review strong small { color: #6c7174; font-size: .72rem; }
body#product .gw-average-review .gw-review-stars > span { font-size: 19px; }
body#product .gw-review-card__title:empty,
body#product .gw-review-card__text:empty { display: none !important; }

@media (max-width: 991.98px) {
  body#product .gw-pdp-reviews #product-comments-list { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  body#product .gw-pdp-reviews { padding: 44px 15px; width: calc(100% - 20px); }
  body#product .gw-pdp-reviews #product-comments-list-header { align-items: flex-start; flex-direction: column; gap: 12px; }
  body#product .gw-review-card { padding: 21px 18px !important; }
  body#product .gw-review-card__identity { text-align: left; }
}

/* V30 — sélecteur d'étoiles autonome, sans le sprite du module */
body#product .product-comment-modal .gw-star-picker {
  align-items: center;
  display: flex;
  gap: 8px;
  min-height: 48px;
}
body#product .product-comment-modal .gw-star-picker button {
  -webkit-appearance: none;
  appearance: none;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #b7b9b8 !important;
  cursor: pointer;
  font-family: Arial, sans-serif !important;
  font-size: 39px !important;
  font-weight: 400 !important;
  height: 44px;
  letter-spacing: 0 !important;
  line-height: 44px !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  text-align: center;
  text-shadow: none !important;
  transform: none;
  transition: color .15s ease, transform .15s ease;
  width: 44px;
}
body#product .product-comment-modal .gw-star-picker button:hover,
body#product .product-comment-modal .gw-star-picker button:focus-visible {
  color: #c9b176 !important;
  outline: 2px solid rgba(164,117,63,.32);
  outline-offset: 2px;
  transform: translateY(-1px);
}
body#product .product-comment-modal .gw-star-picker button.is-active {
  color: #a4753f !important;
}
body#product .product-comment-modal .gw-star-picker input { display: none !important; }

@media (max-width: 575.98px) {
  body#product .product-comment-modal .gw-star-picker { gap: 5px; }
  body#product .product-comment-modal .gw-star-picker button {
    font-size: 35px !important;
    height: 40px;
    line-height: 40px !important;
    width: 40px;
  }
}

/* V29 — formulaire d'avis essentiel et étoiles fiabilisées */
body#product .product-comment-modal .gw-review-modal-heading { min-width: 0; }
body#product .product-comment-modal .gw-review-modal-heading .h2 {
  color: #f6f3ee !important;
  float: none !important;
  font-family: var(--gw-serif, Georgia, serif) !important;
  font-size: clamp(1.6rem, 3vw, 2.05rem) !important;
  font-weight: 400 !important;
  line-height: 1.1;
  margin: 0 0 5px !important;
}
body#product .product-comment-modal .gw-review-modal-heading > p:last-child {
  color: rgba(246,243,238,.72);
  font-size: .92rem;
  line-height: 1.4;
  margin: 0;
}
body#product .product-comment-modal .gw-review-product {
  align-items: center;
  background: rgba(216,200,178,.18);
  border: 1px solid rgba(17,23,28,.1);
  display: grid;
  gap: 16px;
  grid-template-columns: 64px minmax(0, 1fr);
  margin-bottom: 25px;
  padding: 13px;
}
body#product .product-comment-modal .gw-review-product img {
  background: #fff;
  height: 64px;
  object-fit: contain;
  width: 64px;
}
body#product .product-comment-modal .gw-review-product span {
  color: #6a6e70;
  display: block;
  font-size: .82rem;
  margin-bottom: 3px;
}
body#product .product-comment-modal .gw-review-product strong {
  color: #11171c;
  display: block;
  font-family: var(--gw-serif, Georgia, serif);
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.25;
}
body#product .product-comment-modal .gw-review-rating {
  border: 0;
  border-bottom: 1px solid rgba(17,23,28,.12);
  margin: 0 0 24px;
  padding: 0 0 24px;
}
body#product .product-comment-modal .gw-review-rating legend {
  color: #11171c;
  font-family: var(--gw-serif, Georgia, serif);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 3px;
}
body#product .product-comment-modal .gw-review-rating legend sup { color: #a4753f; }
body#product .product-comment-modal .gw-review-rating > p {
  color: #676c70;
  font-size: .88rem;
  margin: 0 0 13px;
}
body#product .product-comment-modal #criterions_list { list-style: none; margin: 0; padding: 0; }
body#product .product-comment-modal #criterions_list li { margin: 0; }
body#product .product-comment-modal .criterion-rating { justify-content: flex-start !important; }
body#product .product-comment-modal .grade-stars {
  display: block !important;
  height: 38px !important;
  min-width: 220px !important;
  position: relative;
}
body#product .product-comment-modal .grade-stars .star-content {
  align-items: center;
  display: flex !important;
  gap: 7px;
  left: 0 !important;
  margin: 0 !important;
  position: absolute !important;
  top: 0 !important;
}
body#product .product-comment-modal .star-content div.star,
body#product .product-comment-modal .star-content div.star-on,
body#product .product-comment-modal .star-content div.star-hover {
  background: none !important;
  flex: 0 0 36px !important;
  height: 36px !important;
  margin: 0 !important;
  position: relative;
  width: 36px !important;
}
body#product .product-comment-modal .star-content div.star::before,
body#product .product-comment-modal .star-content div.star-on::before,
body#product .product-comment-modal .star-content div.star-hover::before {
  color: #a7aaab;
  content: "☆";
  font-family: Arial, sans-serif;
  font-size: 35px;
  font-weight: 400;
  left: 0;
  line-height: 36px;
  position: absolute;
  top: 0;
}
body#product .product-comment-modal .star-content div.star-on::before,
body#product .product-comment-modal .star-content div.star-hover::before {
  color: #a4753f;
  content: "★";
}
body#product .product-comment-modal .star-content div.star a {
  inset: 0;
  position: absolute !important;
  text-indent: -9999px;
  z-index: 2;
}
body#product .product-comment-modal .gw-review-field { margin: 0 0 21px; }
body#product .product-comment-modal .gw-review-field label { display: block; margin: 0 0 8px; }
body#product .product-comment-modal .gw-review-field label span {
  color: #74787a;
  font-size: .78rem;
  font-weight: 400;
  letter-spacing: 0;
  margin-left: 7px;
  text-transform: none;
}
body#product .product-comment-modal .gw-review-field small {
  color: #777b7e;
  display: block;
  font-size: .8rem;
  margin-top: 6px;
}
body#product .product-comment-modal .gw-review-field input,
body#product .product-comment-modal .gw-review-field textarea { width: 100%; }
body#product .product-comment-modal .post-comment-buttons {
  align-items: center;
  border-top: 1px solid rgba(17,23,28,.12);
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 8px;
  padding-top: 22px;
}
body#product .product-comment-modal .post-comment-buttons .btn { margin: 0 !important; }

@media (max-width: 575.98px) {
  body#product .product-comment-modal .gw-review-modal-heading > p:last-child { display: none; }
  body#product .product-comment-modal .gw-review-product { grid-template-columns: 52px minmax(0, 1fr); }
  body#product .product-comment-modal .gw-review-product img { height: 52px; width: 52px; }
  body#product .product-comment-modal .grade-stars { min-width: 200px !important; }
  body#product .product-comment-modal .star-content div.star,
  body#product .product-comment-modal .star-content div.star-on,
  body#product .product-comment-modal .star-content div.star-hover { flex-basis: 34px !important; height: 34px !important; width: 34px !important; }
  body#product .product-comment-modal .post-comment-buttons { flex-direction: column-reverse; }
  body#product .product-comment-modal .post-comment-buttons .btn { width: 100%; }
}
body#product .gw-pdp-reviews label,
body#product .product-comment-modal label { color: var(--gw-ink, #11171c); font-weight: 650; }
body#product .gw-pdp-reviews input,
body#product .gw-pdp-reviews textarea,
body#product .product-comment-modal input,
body#product .product-comment-modal textarea {
  border: 1px solid rgba(17,23,28,.28) !important;
  color: var(--gw-ink, #11171c) !important;
}
body#product.gw-review-active .newsletter-pop-up,
body#product.gw-review-active .newsletter-popup,
body#product.gw-review-active .popup-newsletter,
body#product.gw-review-active [class*="newsletter"][class*="popup"],
body#product.gw-review-active [id*="newsletter"][class*="modal"] { display: none !important; }

@media (max-width: 767.98px) {
  body#product .gw-pdp-reviews {
    width: calc(100% - 28px);
    margin: 44px auto 56px;
    scroll-margin-top: 92px;
  }
  body#product .gw-pdp-reviews .product-comment-list-item,
  body#product .gw-pdp-reviews .product-comment { padding: 20px 16px; }
  body#product .gw-pdp-reviews .btn,
  body#product .gw-pdp-reviews .post-product-comment { width: 100%; }
}

html { scroll-behavior: smooth; }
html, body { max-width: 100%; overflow-x: clip; }
body {
  background: var(--gw-ivory);
  color: var(--gw-ink);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; }
img { height: auto; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--gw-caramel); outline-offset: 3px; }

/* Conversion : appels à l'action et livraison offerte */
.gw-selection .product-miniature__actions .add-to-cart,
.gw-selection .product-miniature__actions .btn-primary {
  background: var(--gw-gold) !important;
  border-color: var(--gw-gold) !important;
  color: var(--gw-ink) !important;
  font-weight: 600;
}
.gw-selection .product-miniature__actions .add-to-cart:hover,
.gw-selection .product-miniature__actions .add-to-cart:focus-visible {
  background: var(--gw-white) !important;
  border-color: var(--gw-white) !important;
  color: var(--gw-ink) !important;
}
.gw-modal-shipping-hidden { display: none !important; }
.gw-shipping-progress {
  background: rgba(201, 177, 118, .13);
  border: 1px solid rgba(164, 117, 63, .32);
  margin-bottom: 22px;
  padding: 16px 18px;
}
.gw-shipping-progress p {
  color: var(--gw-ink);
  font-size: .95rem;
  line-height: 1.35;
  margin: 0 0 10px;
  text-align: center;
}
.gw-shipping-progress__track {
  background: rgba(17, 23, 28, .13);
  height: 7px;
  overflow: hidden;
  width: 100%;
  position: relative;
}
.gw-shipping-progress__track span {
  background: linear-gradient(90deg, var(--gw-caramel), var(--gw-gold));
  display: block;
  height: 100%;
  transition: width .35s ease;
}
.gw-shipping-progress__tier {
  background: var(--gw-white);
  border: 2px solid var(--gw-caramel);
  border-radius: 50%;
  height: 13px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 13px;
}
.gw-shipping-progress__saving {
  color: rgba(17, 23, 28, .68);
  display: block;
  font-size: .78rem;
  line-height: 1.35;
  margin-top: 9px;
  text-align: center;
}
.gw-shipping-progress--modal { margin: 20px 0; }

/* Panier latéral */
.cart-dropdown {
  background: var(--gw-ivory) !important;
  border: 1px solid var(--gw-gold) !important;
  box-shadow: -18px 18px 60px rgba(17, 23, 28, .24) !important;
  color: var(--gw-ink);
  width: min(460px, 94vw) !important;
}
.cart-dropdown__head {
  align-items: center;
  background: var(--gw-ivory);
  border-bottom: 1px solid rgba(164, 117, 63, .32) !important;
  min-height: 72px;
  padding: 20px 24px !important;
}
.cart-dropdown__title {
  color: var(--gw-ink) !important;
  font-size: 1.65rem !important;
  font-weight: 400;
  margin: 0;
}
.cart-dropdown__close {
  color: var(--gw-ink) !important;
  height: 42px;
  opacity: .75;
  width: 42px;
}
.cart-dropdown__products { padding: 8px 24px !important; }
.mini-cart-line {
  border-bottom: 1px solid rgba(164, 117, 63, .25) !important;
  gap: 16px;
  padding: 18px 0 !important;
}
.mini-cart-line__thumb {
  background: var(--gw-white);
  border-radius: 8px;
  flex: 0 0 76px;
  overflow: hidden;
}
.mini-cart-line__name { color: var(--gw-ink) !important; font-size: 1rem; line-height: 1.25; }
.mini-cart-line__qty { color: rgba(17, 23, 28, .62) !important; font-size: .88rem; }
.mini-cart-line__price { color: var(--gw-caramel) !important; font-size: 1.15rem; font-weight: 600; }
.mini-cart-line__remove { color: #6b1729 !important; }
.cart-dropdown__footer {
  background: var(--gw-white);
  border-top: 0 !important;
  padding: 22px 24px 24px !important;
}
.cart-dropdown__subtotal { border-top: 1px solid rgba(164, 117, 63, .35); padding-top: 18px; }
.cart-dropdown__checkout,
.cart-dropdown__footer .btn-primary {
  background: var(--gw-gold) !important;
  border-color: var(--gw-gold) !important;
  color: var(--gw-ink) !important;
  font-weight: 700;
}
.gw-shipping-progress--dropdown { margin: 0 0 20px; padding: 14px 15px; }

/* Panier latéral — structure réelle du module PrestaShop */
.cart-dropdown.dropdown-menu {
  background: var(--gw-ivory) !important;
  border: 1px solid var(--gw-gold) !important;
  border-radius: 0 !important;
  box-shadow: -20px 22px 70px rgba(10, 26, 47, .3) !important;
  margin-top: 10px !important;
  max-height: min(720px, calc(100vh - 115px));
  overflow-y: auto;
  padding: 0 !important;
  width: min(430px, calc(100vw - 24px)) !important;
}
.cart-dropdown__content {
  display: flex;
  flex-direction: column;
  padding: 0 !important;
}
.cart-dropdown__title {
  align-items: center;
  background: var(--gw-ink);
  border-bottom: 1px solid var(--gw-gold);
  color: var(--gw-ivory) !important;
  display: flex;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.7rem !important;
  justify-content: space-between;
  line-height: 1.1;
  margin: 0 !important;
  min-height: 68px;
  padding: 18px 22px !important;
}
.cart-dropdown__title .close,
.cart-dropdown__close {
  color: var(--gw-gold) !important;
  font-size: 1.55rem !important;
  margin-left: auto;
  opacity: 1 !important;
}
.cart-dropdown__products {
  background: var(--gw-ivory);
  margin: 0 !important;
  padding: 4px 22px !important;
}
.cart-dropdown .cart-products {
  align-items: flex-start;
  border-bottom: 1px solid rgba(164, 117, 63, .25) !important;
  display: grid !important;
  gap: 6px 14px;
  grid-template-columns: 76px minmax(0, 1fr) 32px;
  padding: 18px 0 !important;
}
.cart-dropdown .cart-products:last-child { border-bottom: 0 !important; }
.cart-dropdown .cart-products__thumb {
  align-items: center;
  align-self: stretch;
  background: var(--gw-white);
  border: 1px solid rgba(17, 23, 28, .08);
  border-radius: 8px;
  display: flex;
  grid-column: 1;
  justify-content: center;
  min-height: 88px;
  overflow: hidden;
  padding: 6px;
}
.cart-dropdown .cart-products__thumb img {
  height: 76px;
  object-fit: contain;
  width: 100%;
}
.cart-dropdown .cart-products__desc { grid-column: 2; min-width: 0; }
.cart-dropdown .cart-products__desc .h6 {
  color: var(--gw-ink) !important;
  font-family: "EB Garamond", Georgia, serif;
  font-size: 1rem !important;
  font-weight: 500;
  line-height: 1.28;
  margin: 0 0 8px !important;
}
.cart-dropdown .cart-products__desc ul { margin: 0 0 8px !important; padding: 0; }
.cart-dropdown .cart-products__desc li {
  color: rgba(17, 23, 28, .62) !important;
  font-size: .82rem !important;
  line-height: 1.35;
  list-style: none;
}
.cart-dropdown .cart-products__desc .price {
  color: var(--gw-caramel) !important;
  display: block;
  font-size: 1.08rem !important;
  font-weight: 600;
}
.cart-dropdown .cart-products__remove {
  align-self: start;
  grid-column: 3;
  padding-top: 4px;
  text-align: right;
}
.cart-dropdown .cart-products__remove a { color: #6b1729 !important; opacity: .78; }
.cart-dropdown .gw-shipping-progress--dropdown {
  background: rgba(201, 177, 118, .12);
  border: 0;
  border-bottom: 1px solid rgba(164, 117, 63, .25);
  border-top: 1px solid rgba(164, 117, 63, .25);
  margin: 0 !important;
  padding: 16px 22px !important;
}
.cart-dropdown .cart-summary-line.cart-total {
  align-items: center;
  background: var(--gw-white);
  display: grid;
  grid-template-columns: 1fr auto;
  margin: 0 !important;
  padding: 18px 22px 14px !important;
}
.cart-dropdown .cart-summary-line.cart-total .label {
  color: var(--gw-ink);
  font-family: "Cormorant SC", "Cormorant Garamond", serif;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.cart-dropdown .cart-summary-line.cart-total .value {
  color: var(--gw-ink);
  font-size: 1.25rem;
  font-weight: 600;
}
.gw-cart-shipping-note {
  color: rgba(17, 23, 28, .58);
  font-size: .76rem;
  grid-column: 1 / -1;
  margin-top: 5px;
}
.cart-dropdown__content > .mt-3 {
  background: var(--gw-white);
  margin: 0 !important;
  padding: 0 22px 22px;
}
.cart-dropdown__content > .mt-3 .btn-primary {
  background: var(--gw-gold) !important;
  border: 1px solid var(--gw-gold) !important;
  color: var(--gw-ink) !important;
  font-family: "Cormorant SC", "Cormorant Garamond", serif;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .22em;
  min-height: 52px;
  padding: 15px 18px;
  text-transform: uppercase;
}
.cart-dropdown__content > .mt-3 .btn-primary:hover {
  background: var(--gw-ink) !important;
  border-color: var(--gw-ink) !important;
  color: var(--gw-ivory) !important;
}

@media (max-width: 575.98px) {
  .cart-dropdown.dropdown-menu {
    max-height: calc(100svh - 86px);
    right: 6px !important;
    width: calc(100vw - 12px) !important;
  }
  .cart-dropdown__title { min-height: 60px; padding: 15px 18px !important; }
  .cart-dropdown__products { padding-inline: 18px !important; }
  .cart-dropdown .cart-products { grid-template-columns: 68px minmax(0, 1fr) 28px; }
  .cart-dropdown .gw-shipping-progress--dropdown,
  .cart-dropdown .cart-summary-line.cart-total { padding-inline: 18px !important; }
  .cart-dropdown__content > .mt-3 { padding-inline: 18px; }
}

/* Tunnel de commande — expérience Maison */
body#checkout #wrapper,
body#order #wrapper { background: var(--gw-ivory); }
body#checkout #content,
body#order #content {
  margin-inline: auto;
  max-width: 1320px;
  padding: 34px var(--gw-gutter) 76px;
}
body#checkout .cart-grid-body > .card,
body#order .cart-grid-body > .card,
#js-checkout-summary {
  background: var(--gw-white);
  border: 1px solid rgba(164, 117, 63, .24);
  border-radius: 0;
  box-shadow: 0 16px 50px rgba(17, 23, 28, .07);
}
.checkout-step { border-bottom: 1px solid rgba(164, 117, 63, .2); }
.checkout-step:last-child { border-bottom: 0; }
.checkout-step__header {
  background: transparent !important;
  border: 0 !important;
  padding: 23px 28px !important;
}
.checkout-step.-current .checkout-step__header {
  background: rgba(201, 177, 118, .11) !important;
  border-left: 3px solid var(--gw-gold) !important;
}
.checkout-step .step-number {
  color: var(--gw-caramel);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.35rem;
  margin-right: 8px;
}
.checkout-step .step-title {
  color: var(--gw-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.3rem;
  font-weight: 500;
}
.checkout-step__content { padding: 28px !important; }
.checkout-step__content .user-form--sm { max-width: 680px; }
.gw-guest-intro {
  border: 1px solid rgba(164, 117, 63, .26);
  border-left: 3px solid var(--gw-gold);
  margin-bottom: 24px;
}
body#checkout .nav-pills,
body#order .nav-pills {
  background: rgba(17, 23, 28, .045);
  gap: 6px;
  padding: 5px;
}
body#checkout .nav-pills .nav-link,
body#order .nav-pills .nav-link {
  border: 0;
  color: rgba(17, 23, 28, .7);
  font-family: "EB Garamond", Georgia, serif;
  font-size: 1rem;
  padding: 13px 15px;
}
body#checkout .nav-pills .nav-link.active,
body#order .nav-pills .nav-link.active {
  background: var(--gw-gold);
  color: var(--gw-ink);
}
.gw-account-option {
  border: 1px solid rgba(164, 117, 63, .26);
  margin: 22px 0;
}
.gw-account-option summary {
  color: var(--gw-ink);
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  padding: 16px 44px 16px 18px;
  position: relative;
}
.gw-account-option summary::-webkit-details-marker { display: none; }
.gw-account-option summary::after {
  color: var(--gw-caramel);
  content: "+";
  font-size: 1.4rem;
  position: absolute;
  right: 18px;
  top: 10px;
}
.gw-account-option[open] summary::after { content: "−"; }
.gw-account-option summary span {
  color: rgba(17, 23, 28, .52);
  font-size: .78rem;
  font-weight: 400;
  margin-left: 7px;
  text-transform: uppercase;
}
.gw-account-option__content {
  border-top: 1px solid rgba(164, 117, 63, .2);
  padding: 18px;
}
.gw-account-option__content > p { color: rgba(17, 23, 28, .68); line-height: 1.5; }
body#checkout .form-group,
body#order .form-group { margin-bottom: 18px; }
body#checkout .form-label,
body#order .form-label {
  color: var(--gw-ink);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body#checkout .form-control,
body#checkout .custom-select,
body#order .form-control,
body#order .custom-select {
  background: var(--gw-white);
  border: 1px solid rgba(17, 23, 28, .22);
  border-radius: 0;
  color: var(--gw-ink);
  min-height: 50px;
  padding: 12px 14px;
}
body#checkout .form-control:focus,
body#checkout .custom-select:focus,
body#order .form-control:focus,
body#order .custom-select:focus {
  border-color: var(--gw-caramel);
  box-shadow: 0 0 0 3px rgba(164, 117, 63, .1);
}
body#checkout .continue.btn-primary,
body#order .continue.btn-primary {
  background: var(--gw-gold) !important;
  border-color: var(--gw-gold) !important;
  color: var(--gw-ink) !important;
  min-width: 190px;
}
#js-checkout-summary .card-header {
  background: var(--gw-ink);
  border-bottom: 1px solid var(--gw-gold);
  color: var(--gw-ivory);
  padding: 20px 22px;
}
#js-checkout-summary .card-title { color: var(--gw-ivory); font-weight: 400; }
#js-checkout-summary .card-body { padding: 20px 22px; }
#js-checkout-summary #cart-subtotal-shipping { display: none !important; }
.gw-products-only-total {
  display: grid !important;
  grid-template-columns: 1fr auto;
}
.gw-products-only-total small {
  color: rgba(17, 23, 28, .58);
  grid-column: 1 / -1;
  margin-top: 5px;
}

@media (max-width: 767.98px) {
  body#checkout #content,
  body#order #content { padding: 18px 12px 54px; }
  .checkout-step__header { padding: 18px !important; }
  .checkout-step__content { padding: 20px 16px !important; }
  .checkout-step .step-title { font-size: 1.12rem; }
  body#checkout .continue.btn-primary,
  body#order .continue.btn-primary { width: 100%; }
}
.gw-guest-intro {
  background: rgba(201, 177, 118, .12);
  border-left: 3px solid var(--gw-gold);
  display: grid;
  gap: 3px;
  margin-bottom: 22px;
  padding: 15px 17px;
}
.gw-guest-intro span { color: rgba(17, 23, 28, .72); line-height: 1.45; }
.gw-dog-name {
  background: rgba(201, 177, 118, .1);
  border: 1px solid rgba(164, 117, 63, .26);
  margin: 22px 0 !important;
  padding: 18px;
}
.gw-dog-name label { color: var(--gw-ink); font-weight: 600; }
.gw-dog-name label.required::after {
  color: #6b1729;
  content: " *";
}
.gw-dog-name label span, .gw-dog-name small { color: rgba(17, 23, 28, .62); font-weight: 400; }
.gw-dog-name input { background: var(--gw-white); color: var(--gw-ink); margin-bottom: 6px; }
.gw-order-personalisation {
  background: linear-gradient(145deg, #fffdf8 0%, #f5eddf 100%);
  border: 1px solid rgba(164, 117, 63, .3);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(17, 23, 28, .07);
  margin-top: 30px;
  overflow: hidden;
  padding: 30px;
  position: relative;
}
.gw-order-personalisation::before {
  background: var(--gw-gold);
  content: '';
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.gw-order-personalisation__eyebrow {
  color: var(--gw-gold);
  display: block;
  font-family: Arial, sans-serif;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.gw-order-personalisation__intro h3 {
  color: #12342b;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 8px;
}
.gw-order-personalisation__intro p,
.gw-order-note > p {
  color: rgba(17, 23, 28, .68);
  font-family: Arial, sans-serif;
  font-size: .88rem;
  line-height: 1.55;
  margin: 0;
}
.gw-order-personalisation .gw-dog-name {
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(164, 117, 63, .18);
  border-radius: 8px;
  margin: 22px 0 0;
  padding: 18px;
}
.gw-dog-name__field { position: relative; }
.gw-dog-name__icon {
  color: var(--gw-gold);
  font-size: .9rem;
  left: 15px;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.gw-order-personalisation .gw-dog-name input {
  border-color: rgba(18, 52, 43, .3);
  margin-bottom: 7px;
  padding-left: 42px;
}
.gw-order-personalisation .gw-dog-name input:focus {
  border-color: var(--gw-gold);
  box-shadow: 0 0 0 3px rgba(164, 117, 63, .12);
}
.gw-order-personalisation .gw-dog-name input.is-invalid {
  border-color: #8b2538;
  box-shadow: 0 0 0 3px rgba(139, 37, 56, .1);
}
.gw-dog-name__error {
  color: #8b2538 !important;
  display: block;
  font-family: Arial, sans-serif;
  font-size: .78rem;
  margin-top: 6px;
}
.gw-dog-name__error[hidden] { display: none !important; }
.gw-order-note {
  border-top: 1px solid rgba(164, 117, 63, .2);
  margin-top: 22px;
  padding-top: 20px;
}
.gw-order-note label {
  color: var(--gw-ink);
  font-family: Arial, sans-serif;
  font-size: .9rem;
  font-weight: 600;
  margin-bottom: 3px;
}
.gw-order-note label span { color: #756b5d; font-size: .78rem; font-weight: 400; }
.gw-order-note textarea { margin-top: 10px; min-height: 92px; resize: vertical; }

/* Choix du transporteur — cartes compactes */
.gw-delivery-heading { margin: 0 0 22px; }
.gw-delivery-heading > span {
  color: var(--gw-caramel);
  display: block;
  font-family: Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .15em;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.gw-delivery-heading h3 {
  color: var(--gw-ink);
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 5px;
}
.gw-delivery-heading p {
  color: rgba(17, 23, 28, .62);
  font-family: Arial, sans-serif;
  font-size: .86rem;
  margin: 0;
}
body#checkout .delivery-options { display: grid; gap: 12px; }
body#checkout .checkout-option-block {
  margin: 0 !important;
  position: relative;
}
body#checkout .checkout-option-block > .custom-control-input {
  height: 1px;
  left: 18px;
  opacity: 0;
  position: absolute;
  top: 50%;
  width: 1px;
}
body#checkout .checkout-option-block > label.card {
  background: #fff;
  border: 1px solid rgba(17, 23, 28, .14);
  border-radius: 8px;
  box-shadow: none;
  min-height: 104px;
  overflow: hidden;
  position: relative;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body#checkout .checkout-option-block > label.card:hover {
  border-color: rgba(164, 117, 63, .55);
  box-shadow: 0 7px 22px rgba(17, 23, 28, .06);
}
body#checkout .checkout-option-block > .custom-control-input:checked + label.card {
  background: #fffdf8;
  border-color: var(--gw-caramel);
  box-shadow: 0 0 0 1px var(--gw-caramel), 0 9px 26px rgba(17, 23, 28, .07);
}
body#checkout .checkout-option-block > .custom-control-input:checked + label.card::before {
  background: var(--gw-caramel);
  content: '';
  inset: 0 auto 0 0;
  position: absolute;
  width: 4px;
}
body#checkout .checkout-option__body { padding: 16px 20px !important; }
body#checkout .checkout-option__row { flex-wrap: nowrap; }
body#checkout .checkout-option__row--inner { margin-left: 0; margin-right: 0; }
body#checkout .checkout-option__thumb {
  align-items: center;
  background: #faf8f3;
  border: 1px solid rgba(17, 23, 28, .08);
  border-radius: 7px;
  display: flex;
  height: 64px;
  justify-content: center;
  width: 64px;
}
body#checkout .checkout-option__img {
  max-height: 46px;
  max-width: 46px;
  object-fit: contain;
}
body#checkout .checkout-option__col--text { min-width: 0; padding-left: 18px; }
body#checkout .checkout-option__col--text .h5 {
  color: var(--gw-ink);
  font-family: Arial, sans-serif;
  font-size: .98rem;
  font-weight: 650;
  line-height: 1.3;
}
body#checkout .checkout-option__delay {
  color: rgba(17, 23, 28, .58);
  display: block;
  font-family: Arial, sans-serif;
  font-size: .82rem;
  line-height: 1.4;
  margin-top: 4px;
}
body#checkout .checkout-option__col--price {
  flex: 0 0 auto;
  margin: 0 0 0 18px !important;
  padding: 0;
  width: auto;
}
body#checkout .checkout-option__price {
  color: var(--gw-ink);
  font-family: Arial, sans-serif;
  font-size: .94rem;
  font-weight: 700;
  white-space: nowrap;
}
body#checkout .checkout-option__price.is-free {
  background: rgba(18, 52, 43, .09);
  border-radius: 999px;
  color: #12342b;
  font-size: .75rem;
  letter-spacing: .04em;
  padding: 7px 11px;
  text-transform: uppercase;
}
body#checkout .carrier-extra-content {
  background: #faf7f0;
  border: 1px solid rgba(164, 117, 63, .2);
  border-radius: 8px;
  margin: 8px 0 2px !important;
  padding: 14px 18px;
}
body#checkout .carrier-extra-content button,
body#checkout .carrier-extra-content a,
body#checkout .gw-relay-button {
  background: #12342b !important;
  border: 1px solid #12342b !important;
  border-radius: 4px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-family: Arial, sans-serif !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
  justify-content: center;
  letter-spacing: .06em !important;
  min-height: 44px;
  padding: 12px 18px !important;
  text-transform: uppercase !important;
}

@media (max-width: 575.98px) {
  .gw-order-personalisation { margin-top: 22px; padding: 24px 16px 18px; }
  .gw-order-personalisation__intro h3 { font-size: 1.25rem; }
  .gw-order-personalisation .gw-dog-name { padding: 15px 13px; }
  .gw-delivery-heading h3 { font-size: 1.25rem; }
  body#checkout .checkout-option__body { padding: 13px 12px !important; }
  body#checkout .checkout-option__thumb { height: 52px; width: 52px; }
  body#checkout .checkout-option__img { max-height: 38px; max-width: 38px; }
  body#checkout .checkout-option__col--text { padding-left: 11px; }
  body#checkout .checkout-option__col--text .h5 { font-size: .88rem; }
  body#checkout .checkout-option__delay { font-size: .75rem; }
  body#checkout .checkout-option__col--price { margin-left: 8px !important; }
  body#checkout .checkout-option__price.is-free { font-size: .66rem; padding: 6px 8px; }
  body#checkout .carrier-extra-content { padding: 12px; }
  body#checkout .carrier-extra-content button,
  body#checkout .carrier-extra-content a,
  body#checkout .gw-relay-button { width: 100%; }
}

/* Recherche plein écran : contraste et lisibilité */
.search-modal { background: rgba(17, 23, 28, .97); }
.search-modal .search-form__form-group {
  margin-inline: auto;
  max-width: 760px;
  position: relative;
  width: 100%;
}
.search-modal .search-form__input {
  background: var(--gw-white) !important;
  border: 1px solid var(--gw-gold) !important;
  color: var(--gw-ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 1.05rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  height: 60px;
  letter-spacing: .01em !important;
  opacity: 1 !important;
  padding: 14px 62px 14px 18px !important;
  width: 100% !important;
}
.search-modal .search-form__input::placeholder {
  color: #62666a !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  opacity: 1 !important;
}
.search-modal .search-form__btn {
  color: var(--gw-ink) !important;
  height: 58px;
  right: 2px;
  top: 1px;
  width: 58px;
}

/* Structure globale */
.container, .container-wide, .gw-cms-wrap {
  width: min(100% - (2 * var(--gw-gutter)), var(--gw-container));
  margin-inline: auto;
}
.page-index #wrapper > .container {
  margin-inline: 0;
  max-width: none;
  width: 100%;
}
.page-index #content-wrapper,
.page-index #main,
.page-index .gw-home,
.page-index .gw-hero { width: 100%; }
.page-content, #content-wrapper, main { min-width: 0; }
.cms-content, .product-description, .page-content { overflow-wrap: anywhere; }
.cms-content table, .page-content table { display: block; max-width: 100%; overflow-x: auto; }

/* En-tête */
.gw-topbar {
  min-height: 36px;
  height: auto;
  padding: 9px var(--gw-gutter);
  background: var(--gw-ink);
  color: var(--gw-gold);
  line-height: 1.35;
  text-align: center;
}
.gw-topbar__item { padding-inline: clamp(8px, 1.5vw, 24px); }
.gw-header__inner { padding-inline: var(--gw-gutter); }
.gw-header__nav-row { gap: clamp(12px, 2.2vw, 32px); }
.gw-nav { flex: 1 1 auto; min-width: 0; }
.gw-nav .top-menu, .gw-iheader__subnav .top-menu {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(12px, 1.8vw, 30px);
  justify-content: center;
  width: 100%;
}
.gw-nav .dropdown-item, .gw-iheader__subnav .dropdown-item {
  line-height: 1.25;
  padding-inline: 0;
  white-space: nowrap;
}
.gw-header__icons, .gw-iheader__icons { flex: 0 0 auto; }
.gw-header__icons .header-top__block--search,
.gw-iheader__icons .header-top__block--search {
  flex: 0 0 44px;
  max-width: 44px;
  padding: 0;
}
.gw-header__icons #_desktop_search_from,
.gw-iheader__icons #_desktop_search_from { width: 44px; }
.gw-header__icons .search-form__form-group,
.gw-iheader__icons .search-form__form-group {
  height: 44px;
  position: relative;
  width: 44px;
}
.gw-header__icons .search-form__input,
.gw-iheader__icons .search-form__input {
  border: 0;
  height: 1px;
  opacity: 0;
  padding: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}
.gw-header__icons .search-form__btn,
.gw-iheader__icons .search-form__btn {
  align-items: center;
  background: transparent;
  border: 0;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  padding: 0;
  position: static;
  width: 44px;
}
.gw-header__icons .user-info,
.gw-iheader__icons .user-info { flex: 0 0 auto; }
.gw-header__icons .login { color: var(--gw-ivory); white-space: nowrap; }
.gw-header__icons a, .gw-iheader__icons a,
.gw-iheader__menu, .gw-header__burger {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
}
.gw-iheader__bar {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  width: 100%;
}
.gw-iheader__side { min-width: 0; }
.gw-iheader__side--right { justify-content: flex-end; }
.gw-iheader__logo { max-width: min(32vw, 310px); }
.gw-iheader__subnav { padding-inline: var(--gw-gutter); }

/* Typographie et boutons */
.gw-hero__title { font-size: clamp(2.7rem, 6.2vw, 6.4rem); line-height: .94; }
.gw-section-head__title, .gw-manifeste__title,
.gw-abo__title, .gw-cms-hero__title, .gw-category-hero__title {
  font-size: clamp(2.15rem, 4.5vw, 4.8rem);
  line-height: 1.02;
}
.gw-pdp__title { font-size: clamp(2rem, 3.6vw, 4rem); line-height: 1.02; }
.gw-cta-outline, .gw-cms-btn, .btn-primary, .btn-secondary,
.add-to-cart, button[type="submit"] {
  min-height: 46px;
  white-space: normal;
}
.btn-primary, .add-to-cart {
  background-color: var(--gw-ink);
  border-color: var(--gw-ink);
}
.btn-primary:hover, .add-to-cart:hover {
  background-color: var(--gw-caramel);
  border-color: var(--gw-caramel);
}

/* Accueil */
.gw-hero {
  min-height: min(900px, calc(100svh - 36px));
  padding: clamp(130px, 17vh, 190px) var(--gw-gutter) clamp(72px, 10vh, 110px);
}
.gw-hero__inner { width: min(100%, 940px); }
.gw-hero__sub { margin-inline: auto; max-width: 720px; }
.gw-manifeste, .gw-univers, .gw-carnet, .gw-nouveautes {
  padding-inline: var(--gw-gutter);
}
.gw-univers__grid { gap: clamp(16px, 2vw, 30px); }
.gw-card-univers { min-width: 0; }
.gw-carnet__grid { width: min(100%, 1280px); }
.gw-article { min-width: 0; }
.gw-abo__inner { min-width: 0; }
.gw-abo__body, .gw-abo__visu { min-width: 0; }

/* Catalogue et cartes produit */
.gw-listing { padding-inline: var(--gw-gutter); }
.gw-listing__toolbar { align-items: center; gap: 16px; }
.gw-products--grid {
  gap: clamp(32px, 4vw, 56px) clamp(20px, 2.6vw, 38px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gw-products > *, .product-miniature, .product-miniature__information { min-width: 0; }
.product-miniature__image-container { overflow: hidden; }
.product-miniature__image-container img {
  display: block;
  width: 100%;
  transition: transform .5s ease;
}
@media (hover: hover) {
  .product-miniature:hover .product-miniature__image-container img { transform: scale(1.025); }
}
.product-miniature__title, .product-miniature__pricing { overflow-wrap: anywhere; }
.gw-category-hero__inner { padding-inline: var(--gw-gutter); }
.gw-category-hero__title { overflow-wrap: anywhere; }
.pagination { flex-wrap: wrap; gap: 8px; }

/* Fiche produit */
.gw-pdp, .gw-pdp-tabs, .gw-pdp-bundle { padding-inline: var(--gw-gutter); }
.gw-pdp__grid { gap: clamp(32px, 5vw, 72px); }
.gw-pdp__gallery, .gw-pdp__details { min-width: 0; }
.product-cover img { display: block; width: 100%; }
.product-variants > .product-variants-item { max-width: 100%; }
.product-variants select, .product-variants .form-control { max-width: 100%; }
.product-add-to-cart, .product-quantity { align-items: stretch; flex-wrap: wrap; gap: 10px; }
.product-quantity .add { flex: 1 1 220px; }
.product-quantity .add-to-cart { width: 100%; }
.gw-pdp-banner__content { padding-inline: var(--gw-gutter); }
.gw-pdp-composition__grid { gap: 0; }
.gw-pdp-pairing { min-width: 0; }

/* Pages CMS, compte, formulaires */
.gw-cms-page { overflow: hidden; }
.gw-cms-section { padding-inline: var(--gw-gutter); }
.gw-cms-method > *, .gw-cms-features > *, .gw-cms-steps > * { min-width: 0; }
.gw-cms-method__media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.gw-cms-prose { max-width: 72ch; }
.form-control, .custom-select, input[type="text"], input[type="email"],
input[type="password"], input[type="tel"], textarea, select {
  max-width: 100%;
  min-height: 44px;
}
textarea.form-control, textarea { min-height: 120px; }
.form-control:focus, .custom-select:focus {
  border-color: var(--gw-caramel);
  box-shadow: 0 0 0 3px rgba(164, 117, 63, .15);
}
.card { border-color: var(--gw-border); box-shadow: none; }
.alert { overflow-wrap: anywhere; }

/* Panier et tunnel */
.cart-grid { align-items: start; }
.cart-item, .cart-summary-line { min-width: 0; }
.cart-item .product-line-info, .product-line-grid-body { overflow-wrap: anywhere; }
.checkout-step { border-color: var(--gw-border); }
.checkout-step .step-title { line-height: 1.3; }

/* Pied de page */
.gw-footer { background: var(--gw-ink); }
.gw-footer__inner { width: min(100% - (2 * var(--gw-gutter)), var(--gw-container)); }
.gw-footer__top { column-gap: clamp(28px, 4vw, 56px); row-gap: 44px; }
.gw-footer__top > * { min-width: 0; }
.gw-footer__brand { flex: 1 1 280px; }
.gw-footer__contact { display: grid; gap: 5px; margin-top: 22px; }
.gw-footer__contact a { color: inherit; font-size: .86rem; opacity: .78; }
.gw-footer__nav {
  display: grid;
  flex: 1.15 1 340px;
  gap: clamp(28px, 4vw, 64px);
  grid-template-columns: repeat(2, minmax(120px, 1fr));
}
.gw-footer__column h3,
.gw-footer__news h4 {
  color: var(--gw-gold);
  font-family: "Cormorant SC", "Cormorant Garamond", serif;
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .28em;
  margin: 0 0 20px;
  text-transform: uppercase;
}
.gw-footer__column ul { list-style: none; margin: 0; padding: 0; }
.gw-footer__column li + li { margin-top: 10px; }
.gw-footer__column a {
  color: var(--gw-ivory);
  font-size: .92rem;
  opacity: .76;
  text-decoration: none;
  transition: color .2s ease, opacity .2s ease;
}
.gw-footer__column a:hover { color: var(--gw-gold); opacity: 1; }
.gw-footer__news { flex: 1 1 270px; }
.gw-footer__news .block_newsletter { width: 100%; }
.gw-footer__news form { position: relative; }
.gw-footer__news input[type="email"] {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,177,118,.42);
  color: var(--gw-ivory);
  padding: 12px 58px 12px 14px;
  width: 100%;
}
.gw-footer__news input[type="submit"] {
  background: var(--gw-gold);
  border: 0;
  color: var(--gw-ink);
  height: 44px;
  min-width: 48px;
  position: absolute;
  right: 0;
  top: 0;
  text-transform: uppercase;
}
.gw-footer__news form p { font-size: .76rem; line-height: 1.45; margin-top: 12px; opacity: .62; }
.gw-footer__reassure { flex-basis: 100%; margin-top: 12px; }
.gw-footer__bottom { align-items: center; gap: 18px 28px; }
.gw-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.gw-footer a { text-underline-offset: 3px; }
.gw-footer input { min-width: 0; }

/* Fenêtres, newsletter et overlays de modules */
.modal-backdrop.show { opacity: .58; }
.modal-dialog { padding-inline: 10px; }
.modal-content {
  background: var(--gw-ivory);
  border: 1px solid rgba(201, 177, 118, .65);
  border-radius: var(--gw-radius);
  box-shadow: var(--gw-shadow);
  color: var(--gw-ink);
}
.modal-header, .modal-footer { border-color: var(--gw-border); }
.modal-header .close {
  align-items: center;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  min-width: 44px;
  opacity: .75;
}
.modal-body { overflow-wrap: anywhere; }
.newsletter, .newsletter-popup, [class*="newsletter"][class*="popup"] {
  color: var(--gw-ink);
}
.newsletter input[type="email"], .newsletter-popup input[type="email"] {
  background: var(--gw-white);
  border: 1px solid var(--gw-border);
  color: var(--gw-ink);
}

/* Finitions V4 : compte client, sélection d'accueil et réseaux sociaux */
.gw-header__icons .user-info .logout,
.gw-iheader__icons .user-info .logout { display: none !important; }
.gw-header__icons .user-info .account,
.gw-iheader__icons .user-info .account {
  color: inherit;
  font-family: "Cormorant SC", "Cormorant Garamond", serif;
  font-size: 0;
  gap: 7px;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.gw-header__icons .user-info .account::after,
.gw-iheader__icons .user-info .account::after {
  content: "Mon compte";
  font-size: .68rem;
}
.gw-header__icons .user-info .account { color: var(--gw-ivory); }
.gw-header__icons .user-info .account:hover { color: var(--gw-gold); }
.gw-iheader__icons .user-info .account { color: var(--gw-ink); }
.gw-iheader__icons .user-info .account:hover { color: var(--gw-caramel); }

.gw-selection { background: #121715; }
.gw-selection__inner > section > h1 { display: none; }
.gw-selection__inner .products {
  display: grid !important;
  gap: clamp(24px, 3vw, 46px) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: center;
  margin: 0 auto !important;
  max-width: 1120px;
}
.gw-selection__inner .products > .gw-products__cell {
  flex: none !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: auto !important;
}
.gw-selection__inner .products > .gw-products__cell:nth-child(n+4) { display: none !important; }
.gw-selection .gw-product-card__media {
  background: #fff;
  border-color: rgba(201, 177, 118, .28);
}
.gw-selection .gw-product-card__price,
.gw-selection .gw-product-card__price-current { color: var(--gw-gold); }
.gw-selection .gw-product-card__price-prefix { color: rgba(246, 243, 238, .68); }
.gw-selection .gw-product-card__actions .btn {
  background: transparent;
  border: 1px solid rgba(201, 177, 118, .7);
  color: var(--gw-gold);
}
.gw-selection .gw-product-card__actions .btn:hover {
  background: var(--gw-gold);
  border-color: var(--gw-gold);
  color: var(--gw-ink);
}
.gw-selection__inner > section > a:last-child {
  align-items: center;
  border: 1px solid var(--gw-gold);
  color: var(--gw-gold) !important;
  display: flex;
  font-family: "Cormorant SC", "Cormorant Garamond", serif;
  font-size: .75rem;
  justify-content: center;
  letter-spacing: .25em;
  margin: 46px auto 0;
  min-height: 48px;
  padding: 13px 28px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease;
  width: fit-content;
}
.gw-selection__inner > section > a:last-child:hover {
  background: var(--gw-gold);
  color: var(--gw-ink) !important;
}

.gw-footer .gw-footer__social {
  align-items: center;
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
}
.gw-footer .gw-footer__social a {
  align-items: center !important;
  border: 1px solid rgba(201, 177, 118, .42) !important;
  color: var(--gw-gold) !important;
  display: inline-flex !important;
  flex: 0 0 40px !important;
  height: 40px !important;
  max-height: 40px !important;
  max-width: 40px !important;
  min-height: 40px !important;
  min-width: 40px !important;
  overflow: hidden;
  padding: 0 !important;
  justify-content: center !important;
  width: 40px !important;
}
.gw-footer .gw-footer__social a svg {
  display: block !important;
  flex: 0 0 18px !important;
  height: 18px !important;
  max-height: 18px !important;
  max-width: 18px !important;
  min-height: 18px !important;
  min-width: 18px !important;
  width: 18px !important;
}
.gw-footer .gw-footer__reassure {
  border-bottom: 1px solid rgba(201, 177, 118, .2);
  display: grid !important;
  flex: 1 1 100% !important;
  gap: 26px 34px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 18px 0 0 !important;
  order: 10;
  padding: 30px 0 34px !important;
  width: 100% !important;
}
.gw-footer .gw-footer__reassure-item {
  align-items: center !important;
  display: flex !important;
  gap: 13px !important;
  min-width: 0;
}
.gw-footer .gw-footer__reassure-item > svg {
  display: block !important;
  flex: 0 0 24px !important;
  height: 24px !important;
  max-height: 24px !important;
  max-width: 24px !important;
  min-height: 24px !important;
  min-width: 24px !important;
  width: 24px !important;
}
.gw-footer .gw-footer__reassure-t { min-width: 0; }
.gw-footer .gw-footer__reassure-t strong,
.gw-footer .gw-footer__reassure-t span {
  display: block !important;
  line-height: 1.35;
}
.gw-footer .gw-footer__reassure-t strong {
  color: var(--gw-ivory);
  font-size: .82rem;
  font-weight: 600;
}
.gw-footer .gw-footer__reassure-t span {
  color: rgba(246, 243, 238, .62);
  font-size: .72rem;
  margin-top: 3px;
}
.gw-footer .gw-footer__bottom {
  border-top: 0;
  display: grid !important;
  grid-template-columns: minmax(250px, 1fr) auto minmax(180px, 1fr);
  width: 100%;
}
.gw-footer .gw-footer__pay-group,
.gw-footer .gw-footer__pay,
.gw-footer .gw-footer__pay-marks,
.gw-footer .gw-footer__legal {
  align-items: center;
  display: flex !important;
}
.gw-footer .gw-footer__pay-group { gap: 15px; justify-content: center; }
.gw-footer .gw-footer__pay { gap: 7px; white-space: nowrap; }
.gw-footer .gw-footer__pay-marks { gap: 8px; white-space: nowrap; }
.gw-footer .gw-footer__pay-marks i {
  background: rgba(201, 177, 118, .4);
  display: block;
  height: 12px;
  width: 1px;
}
.gw-footer .gw-footer__legal { justify-content: flex-end; }

/* Pied de page ordinateur : grille déterministe, sans ordres hérités */
@media (min-width: 992px) {
  .gw-footer { padding: 72px 56px 28px; }
  .gw-footer .gw-footer__top {
    align-items: start !important;
    display: grid !important;
    gap: 56px 52px !important;
    grid-template-columns: minmax(270px, 1.05fr) minmax(390px, 1.45fr) minmax(310px, 1.15fr);
  }
  .gw-footer .gw-footer__brand,
  .gw-footer .gw-footer__nav,
  .gw-footer .gw-footer__news,
  .gw-footer .gw-footer__reassure {
    flex: none !important;
    margin: 0 !important;
    max-width: none !important;
    order: 0 !important;
    width: 100% !important;
  }
  .gw-footer .gw-footer__reassure {
    grid-column: 1 / -1;
    margin-top: 4px !important;
  }
  .gw-footer .gw-footer__bottom { margin-top: 28px !important; }
  .gw-footer .gw-footer__bottom > :first-child { white-space: nowrap; }
  .gw-footer .gw-footer__reassure-item > svg,
  .gw-footer .gw-footer__reassure-item > svg * {
    fill: none !important;
    stroke: var(--gw-gold) !important;
  }
}

/* Tablette */
@media (max-width: 1199.98px) {
  .gw-nav .top-menu, .gw-iheader__subnav .top-menu { gap: 12px; }
  .gw-nav .dropdown-item, .gw-iheader__subnav .dropdown-item {
    font-size: .67rem;
    letter-spacing: .12em;
  }
  .gw-products--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gw-footer__top > .gw-footer__brand { flex-basis: 100%; max-width: 540px; }
}

@media (max-width: 991.98px) {
  .gw-iheader__contact { display: none !important; }
  .gw-univers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gw-pdp__grid { grid-template-columns: minmax(0, 1fr); }
  .gw-pdp__details { margin-inline: auto; width: min(100%, 720px); }
  .gw-cms-method { gap: 34px; }
  .gw-footer__reassure { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .gw-footer .gw-footer__bottom { grid-template-columns: 1fr; }
  .gw-footer .gw-footer__pay-group,
  .gw-footer .gw-footer__legal { justify-content: flex-start; }
  .cart-grid { display: block; }
  .cart-grid-right { margin-top: 28px; }
  .gw-selection__inner .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Téléphone */
@media (max-width: 767.98px) {
  :root { --gw-gutter: 18px; }
  .gw-topbar {
    font-size: .61rem;
    letter-spacing: .11em;
    min-height: 34px;
    padding-block: 8px;
  }
  .gw-topbar__item { padding: 0; }
  .gw-header__inner { padding-inline: 18px; }
  .gw-header__brand { padding-block: 18px 10px; }
  .gw-header__brand .gw-logo { max-width: min(78vw, 310px); }
  .gw-header__rule { margin-block: 8px; }
  .gw-header__nav-row { min-height: 58px; }
  .gw-header__burger { padding-inline: 10px; }
  .gw-header__icons { gap: 2px; }
  .gw-iheader.gw-compact .gw-iheader__bar {
    align-items: center;
    column-gap: 6px;
    grid-template-areas: "menu logo icons";
    grid-template-columns: 1fr auto 1fr;
    min-height: 68px;
    padding: 10px 14px;
    row-gap: 0;
  }
  .gw-iheader:not(.gw-compact) .gw-iheader__bar {
    column-gap: 10px;
    grid-template-areas: "menu icons" "logo logo";
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 0;
    padding: 16px 0 20px;
    row-gap: 16px;
  }
  .gw-iheader__side--left { grid-area: menu; }
  .gw-iheader.gw-compact .gw-iheader__logo { grid-area: logo; margin: 0; max-width: 44vw; }
  .gw-iheader:not(.gw-compact) .gw-iheader__logo {
    font-size: clamp(1.35rem, 6.6vw, 1.75rem);
    grid-area: logo;
    justify-self: center;
    margin: 0;
    max-width: calc(100vw - 40px);
    width: auto;
  }
  .gw-iheader:not(.gw-compact) .gw-logo__name { white-space: nowrap; }
  .gw-iheader:not(.gw-compact) .gw-logo__tag { font-size: .58rem; letter-spacing: .38em; }
  .gw-iheader__side--right { grid-area: icons; }
  .gw-iheader__menu-label { display: none; }
  .gw-iheader__side--left .gw-search { display: none; }
  .gw-iheader__icons { gap: 0; }
  .gw-iheader__icons .login { display: none !important; }
  .gw-header__icons .user-info .account::after,
  .gw-iheader__icons .user-info .account::after { display: none; }
  .gw-hero {
    background-position: 56% center;
    min-height: calc(100svh - 34px);
    padding: 115px 20px 70px;
  }
  .gw-hero__title { font-size: clamp(2.55rem, 13vw, 4.2rem); }
  .gw-hero__sub { font-size: 1rem; line-height: 1.55; }
  .gw-hero__scroll { display: none; }
  .gw-manifeste, .gw-univers, .gw-carnet, .gw-nouveautes {
    padding-left: 18px;
    padding-right: 18px;
  }
  .gw-univers__grid, .gw-carnet__grid { grid-template-columns: minmax(0, 1fr); }
  .gw-card-univers { min-height: 390px; }
  .gw-article { border-left: 0; border-top: 1px solid rgba(201, 177, 118, .45); }
  .gw-article:first-child { border-top: 0; }
  .gw-abo__inner { display: block; }
  .gw-abo__body { padding: 58px 20px; }
  .gw-abo__visu { min-height: 360px; }
  .gw-products--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gw-selection { padding: 68px 18px 74px; }
  .gw-selection .gw-section-head { margin-bottom: 38px; }
  .gw-selection__inner .products { gap: 30px 14px !important; }
  .product-miniature__title { font-size: .96rem; line-height: 1.25; }
  .product-miniature__pricing { margin-bottom: 16px; }
  .gw-listing__toolbar { align-items: stretch; flex-direction: column; }
  .gw-listing__toolbar .products-sort-order { width: 100%; }
  .gw-listing { padding-inline: 0; }
  .gw-category-header,
  .gw-category-hero {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
  }
  .gw-category-hero--media {
    min-height: 390px;
    overflow: hidden;
    padding: 68px 20px;
  }
  .gw-category-hero--media .gw-category-hero__bg { inset: 0; overflow: hidden; }
  .gw-category-hero--media .gw-category-hero__bg img {
    object-fit: cover;
    object-position: center;
    transform: scale(2);
  }
  .gw-category-hero__inner { padding-block: 0; padding-inline: 0; }
  .gw-category-hero__title { font-size: clamp(2.35rem, 12vw, 3.15rem); }
  .gw-listing__products.container-wide {
    margin-inline: 0;
    padding-inline: 14px;
    width: 100%;
  }
  .gw-listing__products { padding-top: 30px; }
  .gw-listing__grid-wrap .gw-products--grid {
    column-gap: 12px;
    row-gap: 30px;
  }
  .gw-listing .gw-product-card__media {
    aspect-ratio: 1 / 1.08;
    margin-bottom: 12px;
  }
  .gw-listing .gw-product-card__title {
    -webkit-line-clamp: 3;
    font-size: 1rem;
    line-height: 1.18;
    margin-bottom: 7px;
    min-height: 3.54em;
  }
  .gw-listing .gw-product-card__price { font-size: 1.05rem; margin-top: 0; }
  .gw-listing .gw-product-card__price-current { font-size: 1.12rem; }
  #js-product-list-footer.container-wide {
    margin-inline: 0;
    padding-inline: 22px;
    width: 100%;
  }
  .gw-category-seo.cms-content {
    max-width: 620px;
    padding-top: 52px;
    text-align: left;
  }
  .gw-category-seo.cms-content h1,
  .gw-category-seo.cms-content h2,
  .gw-category-seo.cms-content h3 {
    font-size: 1.75rem;
    line-height: 1.18;
    margin-bottom: 18px;
    text-align: left;
  }
  .gw-category-seo.cms-content p {
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 16px;
    text-align: left;
  }
  .gw-pdp, .gw-pdp-tabs, .gw-pdp-bundle { padding-inline: 18px; }
  .gw-pdp__grid { gap: 28px; }
  .gw-pdp__details { width: 100%; }
  .gw-pdp-banner { min-height: 430px; }
  .gw-pdp-composition__grid { grid-template-columns: minmax(0, 1fr); }
  .gw-pdp-pairing { grid-template-columns: minmax(0, 1fr); }
  .gw-pdp-pairing__media { min-height: 320px; }
  .gw-pdp-pairing__body { padding: 42px 22px; }
  .gw-cms-method, .gw-cms-method--reverse { grid-template-columns: minmax(0, 1fr); }
  .gw-cms-method--reverse .gw-cms-method__media { order: 0; }
  .gw-cms-method + .gw-cms-method { margin-top: 56px; }
  .gw-cms-features, .gw-cms-features--4, .gw-cms-steps, .gw-cms-pay-grid,
  .gw-cms-figures { grid-template-columns: minmax(0, 1fr); }
  .gw-cms-table { font-size: .87rem; }
  .gw-cms-table th, .gw-cms-table td { min-width: 150px; padding: 12px; }
  .gw-footer { padding-inline: 0; }
  .gw-footer__inner { width: calc(100% - 36px); }
  .gw-footer__top { display: grid; gap: 36px; grid-template-columns: minmax(0, 1fr); }
  .gw-footer__top > .gw-footer__brand,
  .gw-footer__top > .gw-footer__news { max-width: none; width: 100%; }
  .gw-footer__top .links { width: 100%; }
  .gw-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .gw-footer__reassure { grid-template-columns: minmax(0, 1fr) !important; }
  .gw-footer__bottom { align-items: flex-start; flex-direction: column; }
  .gw-footer__pay-group { align-items: flex-start; flex-direction: column; }
  .modal-dialog { margin: 12px auto; max-width: calc(100% - 12px); }
  .modal-dialog-centered { min-height: calc(100% - 24px); }
  .modal-content { max-height: calc(100svh - 24px); overflow-y: auto; }
  .modal-body { padding: 20px; }
  .cart-item .product-line-grid { display: grid; grid-template-columns: 92px 1fr; gap: 14px; }
  .cart-item .product-line-grid-right { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 419.98px) {
  .gw-iheader__bar { padding-inline: 10px; }
  .gw-iheader.gw-compact .gw-iheader__logo { max-width: 41vw; }
  .gw-iheader:not(.gw-compact) .gw-iheader__logo { max-width: calc(100vw - 32px); }
  .gw-header__icons a, .gw-iheader__icons a,
  .gw-iheader__menu, .gw-header__burger { min-width: 40px; }
  .gw-products--grid { column-gap: 10px; row-gap: 28px; }
  .gw-selection__inner .products { grid-template-columns: minmax(0, 1fr); max-width: 330px; }
  .product-miniature__title { font-size: .88rem; }
  .gw-card-univers { min-height: 350px; padding: 28px 20px; }
  .gw-cms-cta__actions { align-items: stretch; flex-direction: column; }
  .gw-cms-cta__actions .gw-cms-btn { width: 100%; }
  .gw-footer__nav { gap: 30px; grid-template-columns: minmax(0, 1fr); }
}

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

/* Confirmation de commande — dernière impression de la Maison */
body#order-confirmation #wrapper { background: var(--gw-ivory); }
body#order-confirmation .page-header { display: none; }
body#order-confirmation #content-wrapper { width: 100%; }
.gw-confirmation {
  margin: 0 auto;
  max-width: 1160px;
  padding: 42px var(--gw-gutter) 86px;
}
.gw-confirmation__hero {
  background: #12342b;
  color: var(--gw-ivory);
  overflow: hidden;
  padding: clamp(42px, 7vw, 78px) clamp(24px, 7vw, 86px);
  position: relative;
  text-align: center;
}
.gw-confirmation__hero::before,
.gw-confirmation__hero::after {
  border: 1px solid rgba(201, 177, 118, .22);
  border-radius: 50%;
  content: '';
  height: 280px;
  position: absolute;
  width: 280px;
}
.gw-confirmation__hero::before { left: -170px; top: -160px; }
.gw-confirmation__hero::after { bottom: -190px; right: -150px; }
.gw-confirmation__seal {
  align-items: center;
  border: 1px solid var(--gw-gold);
  border-radius: 50%;
  display: flex;
  height: 58px;
  justify-content: center;
  margin: 0 auto 20px;
  position: relative;
  width: 58px;
  z-index: 1;
}
.gw-confirmation__seal span { color: var(--gw-gold); font-family: Arial, sans-serif; font-size: 1.45rem; }
.gw-confirmation__eyebrow,
.gw-confirmation__section-heading > span,
.gw-confirmation__account > div > span {
  color: var(--gw-gold);
  display: block;
  font-family: Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.gw-confirmation__hero h1 {
  color: #fff;
  font-size: clamp(2.35rem, 6vw, 4.2rem);
  font-weight: 400;
  line-height: 1;
  margin: 10px 0 20px;
  position: relative;
  z-index: 1;
}
.gw-confirmation__promise {
  color: rgba(255, 255, 255, .94);
  font-family: Arial, sans-serif;
  font-size: clamp(1rem, 2vw, 1.16rem);
  line-height: 1.65;
  margin: 0 auto;
  max-width: 700px;
  position: relative;
  z-index: 1;
}
.gw-confirmation__promise strong { color: var(--gw-gold); font-weight: 700; }
.gw-confirmation__email {
  color: rgba(246, 243, 238, .7);
  font-family: Arial, sans-serif;
  font-size: .83rem;
  margin: 15px 0 0;
  position: relative;
  z-index: 1;
}
.gw-confirmation__email strong { color: #fff; font-weight: 500; }
.gw-confirmation__reference {
  border-top: 1px solid rgba(201, 177, 118, .3);
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 27px;
  padding: 18px 28px 0;
  position: relative;
  z-index: 1;
}
.gw-confirmation__reference span {
  color: rgba(246, 243, 238, .62);
  font-family: Arial, sans-serif;
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.gw-confirmation__reference strong { color: #fff; font-family: Arial, sans-serif; letter-spacing: .08em; }
.gw-confirmation__journey {
  background: #fff;
  border: 1px solid rgba(164, 117, 63, .2);
  border-top: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gw-confirmation__journey article {
  display: grid;
  gap: 14px;
  grid-template-columns: auto 1fr;
  padding: 26px;
}
.gw-confirmation__journey article + article { border-left: 1px solid rgba(164, 117, 63, .18); }
.gw-confirmation__step-number {
  color: var(--gw-caramel);
  font-family: Arial, sans-serif;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  padding-top: 5px;
}
.gw-confirmation__journey h2 {
  color: var(--gw-ink);
  font-size: 1.15rem;
  font-weight: 500;
  margin: 0 0 5px;
}
.gw-confirmation__journey p {
  color: rgba(17, 23, 28, .62);
  font-family: Arial, sans-serif;
  font-size: .78rem;
  line-height: 1.5;
  margin: 0;
}
.gw-confirmation__module:empty { display: none; }
.gw-confirmation__module {
  background: #fff;
  border: 1px solid rgba(164, 117, 63, .22);
  box-shadow: 0 12px 34px rgba(17, 23, 28, .045);
  margin-top: 24px;
  padding: 24px 30px;
}
.gw-confirmation__module > div,
.gw-confirmation__module > section,
.gw-confirmation__module [class*="service-point"],
.gw-confirmation__module [class*="servicepoint"],
.gw-confirmation__module [id*="service-point"],
.gw-confirmation__module [id*="servicepoint"] {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}
.gw-confirmation__module h1,
.gw-confirmation__module h2,
.gw-confirmation__module h3,
.gw-confirmation__module h4,
.gw-confirmation__module h5 {
  color: #12342b;
  font-size: 1.35rem;
  font-weight: 500;
  margin: 0 0 12px !important;
}
.gw-confirmation__module p {
  color: #4f4b44;
  font-family: Arial, sans-serif;
  font-size: .86rem;
  line-height: 1.55;
  margin: 4px 0 !important;
}
.gw-confirmation__order { margin-top: 54px; }
.gw-confirmation__section-heading { margin-bottom: 17px; }
.gw-confirmation__section-heading h2 {
  color: var(--gw-ink);
  font-size: 2rem;
  font-weight: 400;
  margin: 3px 0 0;
}
.gw-confirmation__table {
  background: #fff;
  border: 1px solid rgba(17, 23, 28, .16);
  box-shadow: 0 14px 38px rgba(17, 23, 28, .055);
  padding: 8px 26px;
}
.gw-confirmation__table .order-confirmation-table { margin: 0; }
.gw-confirmation__table .product-table { color: var(--gw-ink); margin: 0; }
.gw-confirmation__table .product-table__head th {
  border-bottom: 1px solid var(--gw-caramel);
  color: #3c3a35;
  font-family: Arial, sans-serif;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .09em;
  padding-bottom: 15px;
  text-transform: uppercase;
}
.gw-confirmation__table .product-table__row td {
  border-bottom: 0;
  padding-bottom: 24px;
  padding-top: 24px;
  vertical-align: middle;
}
.gw-confirmation__table .product-line__cell--img { width: 138px; }
.gw-confirmation__table .product-line__img {
  border-radius: 4px !important;
  box-shadow: 0 8px 22px rgba(17, 23, 28, .1);
  height: 96px;
  object-fit: cover;
  width: 96px;
}
.gw-confirmation__table .product-line__title {
  color: #11171c !important;
  font-family: Arial, sans-serif;
  font-size: .95rem;
  font-weight: 650;
  line-height: 1.55;
  margin: 0 !important;
}
/* Les déclinaisons figurent déjà dans le titre : on évite leur répétition gris clair. */
.gw-confirmation__table .product-line__attributes { display: none; }
.gw-confirmation__table .product-line__price {
  color: #12342b !important;
  font-family: Arial, sans-serif;
  font-size: .98rem;
  font-weight: 700;
  white-space: nowrap;
}
.gw-confirmation__details {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
}
.gw-confirmation__detail-card {
  background: #fff;
  border: 1px solid rgba(17, 23, 28, .16);
  box-shadow: 0 12px 34px rgba(17, 23, 28, .045);
  padding: 26px 28px;
}
.gw-confirmation__detail-card h2 {
  border-bottom: 1px solid rgba(164, 117, 63, .18);
  color: var(--gw-ink);
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0 0 16px;
  padding-bottom: 13px;
}
.gw-confirmation__detail-card dl { margin: 0; }
.gw-confirmation__detail-card dl > div,
.gw-confirmation__totals .cart-summary-line {
  align-items: baseline;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 7px 0;
}
.gw-confirmation__detail-card dt,
.gw-confirmation__totals .label {
  color: #55534e;
  font-family: Arial, sans-serif;
  font-size: .78rem;
  font-weight: 400;
}
.gw-confirmation__detail-card dd,
.gw-confirmation__totals .value {
  color: var(--gw-ink);
  font-family: Arial, sans-serif;
  font-size: .86rem;
  font-weight: 600;
  margin: 0;
  text-align: right;
}
.gw-confirmation__totals .cart-total {
  border-top: 1px solid rgba(164, 117, 63, .2);
  margin-top: 10px;
  padding-top: 16px;
}
.gw-confirmation__totals .cart-total .label,
.gw-confirmation__totals .cart-total .value { color: var(--gw-ink); font-size: 1.05rem; }
.gw-confirmation__invoice {
  align-items: center;
  border: 1px solid #12342b;
  color: #12342b;
  display: inline-flex;
  font-family: Arial, sans-serif;
  font-size: .76rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: .06em;
  margin-top: 14px;
  min-height: 44px;
  padding: 11px 16px;
  text-decoration: none;
  text-transform: uppercase;
}
.gw-confirmation__invoice:hover { background: #12342b; color: #fff; text-decoration: none; }
.gw-confirmation__payment { background: #fff; border: 1px solid rgba(164, 117, 63, .2); margin-top: 18px; padding: 24px 28px; }
.gw-confirmation__account {
  align-items: center;
  background: #f3ede2;
  border: 1px solid rgba(164, 117, 63, .28);
  display: grid;
  gap: clamp(28px, 5vw, 58px);
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  margin-top: 30px;
  padding: clamp(28px, 5vw, 48px);
}
.gw-confirmation__account h2 { color: #12342b; font-size: 1.65rem; line-height: 1.2; margin: 8px 0 12px; }
.gw-confirmation__account p { color: #4d4942; font-family: Arial, sans-serif; font-size: .88rem; line-height: 1.6; margin: 0; }
.gw-confirmation__account .card { background: transparent; border: 0; box-shadow: none; margin: 0; }
.gw-confirmation__account .card-header { background: transparent; border: 0; padding: 0 0 10px; }
.gw-confirmation__account .card-title { color: #12342b; font-size: 1.2rem; font-weight: 500; }
.gw-confirmation__account .card-body { padding: 0; }
.gw-confirmation__account .card-body h6 { color: #4d4942; font-family: Arial, sans-serif; font-size: .82rem; font-weight: 500; margin: 0 0 10px; }
.gw-confirmation__account ul { color: #4d4942; font-family: Arial, sans-serif; list-style: none; margin: 0 0 18px; padding: 0; }
.gw-confirmation__account li { padding: 3px 0 3px 18px; position: relative; }
.gw-confirmation__account li::before { color: #a4753f; content: '✓'; left: 0; position: absolute; }
.gw-confirmation__account label { color: #292824; font-family: Arial, sans-serif; font-weight: 600; }
.gw-confirmation__account .form-control { background: #fff; border-color: rgba(17, 23, 28, .32); min-height: 48px; }
.gw-confirmation__account .btn,
.gw-confirmation__payment .btn,
.gw-confirmation__payment a[class*="btn"] {
  background: #12342b !important;
  border: 1px solid #12342b !important;
  color: #fff !important;
  font-family: Arial, sans-serif;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .07em;
  min-height: 46px;
  padding: 12px 20px;
  text-transform: uppercase;
}
.gw-confirmation__ritual {
  align-items: center;
  background:
    radial-gradient(circle at 12% 18%, rgba(201, 177, 118, .14), transparent 28%),
    #11171c;
  color: var(--gw-ivory);
  display: grid;
  gap: clamp(30px, 7vw, 82px);
  grid-template-columns: minmax(170px, .55fr) minmax(0, 1.45fr);
  margin-top: 42px;
  overflow: hidden;
  padding: clamp(38px, 7vw, 72px);
  position: relative;
}
.gw-confirmation__ritual::after {
  border: 1px solid rgba(201, 177, 118, .22);
  border-radius: 50%;
  content: '';
  height: 330px;
  position: absolute;
  right: -210px;
  top: -190px;
  width: 330px;
}
.gw-confirmation__monogram {
  align-items: center;
  border: 1px solid rgba(201, 177, 118, .7);
  border-radius: 50%;
  color: var(--gw-gold);
  display: flex;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2rem;
  height: 150px;
  justify-content: center;
  letter-spacing: .08em;
  position: relative;
  width: 150px;
}
.gw-confirmation__monogram::after { border: 1px solid rgba(201, 177, 118, .25); border-radius: 50%; content: ''; inset: 8px; position: absolute; }
.gw-confirmation__ritual-copy { position: relative; z-index: 1; }
.gw-confirmation__ritual-copy > span {
  color: var(--gw-gold);
  font-family: Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.gw-confirmation__ritual-copy h2 {
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  margin: 10px 0 15px;
}
.gw-confirmation__ritual-copy p {
  color: rgba(246, 243, 238, .82);
  font-family: Arial, sans-serif;
  font-size: .9rem;
  line-height: 1.7;
  margin: 0;
  max-width: 650px;
}
.gw-confirmation__ritual-marks { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 24px; }
.gw-confirmation__ritual-marks span {
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: .7rem;
  letter-spacing: .08em;
  padding-left: 15px;
  position: relative;
  text-transform: uppercase;
}
.gw-confirmation__ritual-marks span::before { color: var(--gw-gold); content: '✦'; left: 0; position: absolute; }
.gw-confirmation__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 28px; text-align: center; }
.gw-confirmation__actions .btn-primary {
  background: #12342b !important;
  border-color: #12342b !important;
  color: #fff !important;
  font-family: Arial, sans-serif;
  letter-spacing: .08em;
  min-width: 240px;
  padding: 15px 24px;
  text-transform: uppercase;
}
.gw-confirmation__contact {
  background: transparent !important;
  border: 1px solid #12342b !important;
  color: #12342b !important;
  font-family: Arial, sans-serif;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .07em;
  min-width: 240px;
  padding: 15px 24px;
  text-transform: uppercase;
}
.gw-confirmation__contact:hover { background: #12342b !important; color: #fff !important; text-decoration: none; }

@media (max-width: 767.98px) {
  .gw-confirmation { padding: 18px 12px 58px; }
  .gw-confirmation__hero { padding: 38px 18px 34px; }
  .gw-confirmation__hero h1 { font-size: 2.45rem; }
  .gw-confirmation__promise { font-size: .95rem; }
  .gw-confirmation__email strong { display: block; margin-top: 3px; }
  .gw-confirmation__journey { grid-template-columns: minmax(0, 1fr); }
  .gw-confirmation__journey article { padding: 20px 18px; }
  .gw-confirmation__journey article + article { border-left: 0; border-top: 1px solid rgba(164, 117, 63, .18); }
  .gw-confirmation__order { margin-top: 38px; }
  .gw-confirmation__section-heading h2 { font-size: 1.65rem; }
  .gw-confirmation__table { overflow-x: auto; padding: 4px 14px; }
  .gw-confirmation__table .product-line__cell--img { width: 82px; }
  .gw-confirmation__table .product-line__img { height: 66px; width: 66px; }
  .gw-confirmation__table .product-line__title { font-size: .84rem; line-height: 1.45; }
  .gw-confirmation__details { grid-template-columns: minmax(0, 1fr); }
  .gw-confirmation__detail-card { padding: 22px 18px; }
  .gw-confirmation__account { gap: 20px; grid-template-columns: minmax(0, 1fr); padding: 24px 18px; }
  .gw-confirmation__ritual { gap: 26px; grid-template-columns: minmax(0, 1fr); padding: 38px 22px; text-align: center; }
  .gw-confirmation__monogram { height: 112px; margin: 0 auto; width: 112px; }
  .gw-confirmation__ritual-copy p { font-size: .84rem; }
  .gw-confirmation__ritual-marks { align-items: center; flex-direction: column; }
  .gw-confirmation__actions .btn-primary,
  .gw-confirmation__contact { min-width: 0; width: 100%; }
}

/* Recherche d'adresse — commande */
.gw-address-search {
  position: relative;
  width: 100%;
}
.gw-address-search__hint {
  color: #6f6a60;
  display: block;
  font-family: Arial, sans-serif;
  font-size: .78rem;
  line-height: 1.4;
  margin-top: 7px;
}
.gw-address-search__results {
  background: #fffdf8;
  border: 1px solid rgba(164, 117, 63, .36);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 14px 30px rgba(12, 38, 31, .14);
  left: 0;
  max-height: 290px;
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: calc(100% - 20px);
  z-index: 100;
}
.gw-address-search__results[hidden] { display: none !important; }
.gw-address-search__option {
  appearance: none;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(164, 117, 63, .16);
  color: #12342b;
  cursor: pointer;
  display: block;
  font-family: Arial, sans-serif;
  padding: 13px 16px;
  text-align: left;
  width: 100%;
}
.gw-address-search__option:last-child { border-bottom: 0; }
.gw-address-search__option:hover,
.gw-address-search__option:focus,
.gw-address-search__option.is-active {
  background: #f2eadb;
  outline: 0;
}
.gw-address-search__option strong,
.gw-address-search__option small { display: block; }
.gw-address-search__option strong {
  font-size: .94rem;
  font-weight: 600;
  line-height: 1.35;
}
.gw-address-search__option small {
  color: #756b5d;
  font-size: .78rem;
  line-height: 1.35;
  margin-top: 3px;
}

/* Contact — parcours simple et premium */
body#contact #wrapper { background: var(--gw-ivory); padding-bottom: 88px; }
body#contact #content-wrapper { flex: 0 0 100%; max-width: 100%; width: 100%; }
.gw-contact { margin: 0 auto; max-width: 1160px; }
.gw-contact__hero {
  background: #12342b;
  color: #fff;
  padding: clamp(46px, 7vw, 78px) clamp(24px, 7vw, 82px);
  position: relative;
  text-align: center;
}
.gw-contact__hero::after {
  border: 1px solid rgba(201, 177, 118, .24);
  content: '';
  inset: 14px;
  pointer-events: none;
  position: absolute;
}
.gw-contact__eyebrow {
  color: #c9b176;
  display: block;
  font-family: Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.gw-contact__hero h1 {
  color: #fff;
  font-size: clamp(2.3rem, 5vw, 3.8rem);
  font-weight: 400;
  line-height: 1.05;
  margin: 12px 0 18px;
}
.gw-contact__hero p {
  color: rgba(255, 255, 255, .86);
  font-family: Arial, sans-serif;
  font-size: .94rem;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 650px;
}
.gw-contact__layout {
  background: #fff;
  border: 1px solid rgba(164, 117, 63, .22);
  border-top: 0;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
}
.gw-contact__layout--simple {
  display: block;
  margin: 0 auto;
}
.gw-contact__layout--simple .gw-contact__form {
  margin: 0 auto;
  max-width: 780px;
}
.gw-contact__form-intro {
  border-bottom: 1px solid rgba(164, 117, 63, .2);
  margin-bottom: 30px;
  padding-bottom: 22px;
}
.gw-contact__form-intro p {
  color: #565149;
  font-family: Arial, sans-serif;
  font-size: .86rem;
  line-height: 1.6;
  margin: 9px 0 0;
}
.gw-contact__details {
  background: #f2eadc;
  border-right: 1px solid rgba(164, 117, 63, .2);
  padding: clamp(30px, 5vw, 52px);
}
.gw-contact__details h2 {
  color: #12342b;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.2;
  margin: 9px 0 14px;
}
.gw-contact__details-intro {
  color: #565149;
  font-family: Arial, sans-serif;
  font-size: .84rem;
  line-height: 1.65;
  margin-bottom: 28px;
}
.gw-contact__details .contact-rich,
.gw-contact__details .contact-rich h4 { margin: 0; }
.gw-contact__details .contact-rich h4 { display: none; }
.gw-contact__details .contact-rich .block {
  border-bottom: 1px solid rgba(164, 117, 63, .18);
  margin: 0;
  padding: 17px 0;
}
.gw-contact__details .contact-rich .block:last-child { border-bottom: 0; }
.gw-contact__details .contact-rich .data {
  color: #292824;
  font-family: Arial, sans-serif;
  font-size: .84rem;
  line-height: 1.55;
}
.gw-contact__details .contact-rich .icon { color: #a4753f; }
.gw-contact__details a { color: #5c1a2b; font-weight: 600; }
.gw-contact__form { padding: clamp(30px, 5vw, 56px); }
.gw-contact__form .contact-form,
.gw-contact__form #contact-form {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0;
  max-width: none;
  padding: 0;
}
.gw-contact__form .contact-form h1,
.gw-contact__form .contact-form h2,
.gw-contact__form .contact-form h3,
.gw-contact__form .contact-form .h2 {
  color: #12342b;
  font-size: 2rem;
  margin: 0 0 10px;
  text-align: left;
}
.gw-contact__form .contact-form > form > p,
.gw-contact__form .contact-form .form-fields > p {
  color: #625d55;
  font-family: Arial, sans-serif;
  font-size: .84rem;
  line-height: 1.6;
  margin-bottom: 26px;
}
.gw-contact__form .form-group.row {
  display: block;
  margin: 0 0 20px;
}
.gw-contact__form .form-group.row > [class*="col-"] { max-width: none; padding: 0; width: 100%; }
.gw-contact__form label,
.gw-contact__form .form-control-label {
  color: #292824;
  display: block;
  font-family: Arial, sans-serif;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .02em;
  margin: 0 0 8px;
  text-align: left;
}
.gw-contact__form .form-control {
  background: #fffdf9;
  border: 1px solid rgba(17, 23, 28, .28);
  border-radius: 0;
  color: #11171c;
  font-family: Arial, sans-serif;
  font-size: .92rem;
  min-height: 50px;
  padding: 12px 14px;
  width: 100%;
}
.gw-contact__form .form-control:focus {
  border-color: #a4753f;
  box-shadow: 0 0 0 3px rgba(164, 117, 63, .12);
}
.gw-contact__form textarea.form-control { font-style: normal; min-height: 170px; resize: vertical; }
.gw-contact__form input[type="file"] {
  background: #f8f3e9;
  border: 1px dashed rgba(164, 117, 63, .48);
  color: #4f4a42;
  font-family: Arial, sans-serif;
  font-size: .8rem;
  padding: 13px;
  width: 100%;
}
.gw-contact__form .form-footer { border: 0; padding: 4px 0 0; text-align: left; }
.gw-contact__form button[type="submit"],
.gw-contact__form input[type="submit"] {
  background: #12342b !important;
  border: 1px solid #12342b !important;
  color: #fff !important;
  font-family: Arial, sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  min-height: 50px;
  padding: 14px 27px;
  text-transform: uppercase;
}
.gw-contact__form button[type="submit"]:hover,
.gw-contact__form input[type="submit"]:hover { background: #a4753f !important; border-color: #a4753f !important; }

@media (max-width: 767px) {
  body#contact #wrapper { padding-bottom: 46px; }
  .gw-contact { margin-left: calc(var(--gw-gutter) * -1); margin-right: calc(var(--gw-gutter) * -1); }
  .gw-contact__hero { padding: 48px 28px; }
  .gw-contact__layout { border-left: 0; border-right: 0; grid-template-columns: minmax(0, 1fr); }
  .gw-contact__details { border-bottom: 1px solid rgba(164, 117, 63, .2); border-right: 0; padding: 30px 24px; }
  .gw-contact__form { padding: 34px 24px 40px; }
  .gw-contact__form .contact-form h1,
  .gw-contact__form .contact-form h2,
  .gw-contact__form .contact-form h3,
  .gw-contact__form .contact-form .h2 { font-size: 1.7rem; }
  .gw-contact__form button[type="submit"],
  .gw-contact__form input[type="submit"] { width: 100%; }
}
