@import url("cms-pages.css");
@import url("fontawesome/css/all.min.css");
@import url("css-selector.css");
@import url("../fonts/jost.css");
/* Gravure Events - styles perso (thème enfant "gravure")
   Code couleur : proposition C "Réassurance en tête - mauve poudré" */

/* ===== Couleurs et police ===== */
:root {
  --ge-prim: #8a4a82;        /* mauve : boutons, liens, menu actif */
  --ge-prim-hover: #6c3666;
  --ge-text: #2f222d;        /* texte */
  --ge-text-2: #5d4558;      /* texte secondaire */
  --ge-muted: #7a6675;
  --ge-band: #f7eef4;        /* bande du haut */
  --ge-line: #f0e4ec;        /* filets */
  --ge-soft: #f5ecf2;        /* fonds d'images / cartes */
  --ge-font: "Jost", "Segoe UI", Arial, sans-serif;

  --bs-primary: #8a4a82; --bs-primary-rgb: 138,74,130;
  --bs-body-color: #2f222d; --bs-body-color-rgb: 47,34,45;
  --bs-heading-color: #2f222d; --bs-emphasis-color: #2f222d;
  --bs-link-color: #8a4a82; --bs-link-color-rgb: 138,74,130;
  --bs-link-hover-color: #6c3666; --bs-link-hover-color-rgb: 108,54,102;
  --bs-body-font-family: "Jost", "Segoe UI", Arial, sans-serif;
}
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .btn, input, select, textarea { font-family: var(--ge-font); }
.btn-primary { --bs-btn-bg: #8a4a82; --bs-btn-border-color: #8a4a82; --bs-btn-color: #fff; --bs-btn-hover-bg: #6c3666; --bs-btn-hover-border-color: #6c3666; --bs-btn-hover-color: #fff; --bs-btn-active-bg: #5a2c55; --bs-btn-active-border-color: #5a2c55; --bs-btn-active-color: #fff; --bs-btn-disabled-bg: #b98bb3; --bs-btn-disabled-border-color: #b98bb3; --bs-btn-disabled-color: #fff; }
.btn-outline-primary { --bs-btn-color: #8a4a82; --bs-btn-border-color: #8a4a82; --bs-btn-hover-bg: #8a4a82; --bs-btn-hover-border-color: #8a4a82; --bs-btn-hover-color: #fff; --bs-btn-active-bg: #6c3666; --bs-btn-active-border-color: #6c3666; --bs-btn-active-color: #fff; }

/* ===== En-tête ===== */
.ge-reassure { background: var(--ge-band); border-bottom: 1px solid #efe1ea; color: var(--ge-text-2); font-size: .85rem; }
.ge-reassure__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1.5rem; padding-block: .55rem; }
.ge-reassure__item { display: inline-flex; align-items: center; gap: .5rem; }
.ge-reassure a { color: var(--ge-prim); font-weight: 600; text-decoration: none; }

.ge-head { padding-block: .9rem; border-bottom: 0; }
/* recherche : soulignée, à droite du logo */
.header-bottom__row > :has(form[action*="recherche"]),
.header-bottom__row > :has(form[action*="search"]) { flex: 1 1 auto; max-width: 540px; margin-left: auto; }
.ge-head input[type="search"], .ge-head input[name="s"] { border: 0; border-bottom: 1.5px solid #d9c3d3; border-radius: 0; background: transparent; box-shadow: none; }
.ge-head input[type="search"]:focus, .ge-head input[name="s"]:focus { border-bottom-color: var(--ge-prim); }
.ge-head__actions { align-items: center; gap: 1rem; }
.ge-head__actions a, .ge-head__actions .header-block__icon { color: var(--ge-text); }

/* menu : fond blanc entre deux filets, onglet survolé souligné mauve */
.ge-menubar { background: #fff; border-top: 1px solid var(--ge-line); border-bottom: 1px solid var(--ge-line); }
.ge-menubar a { color: var(--ge-text); font-weight: 500; text-decoration: none; }
.ge-menubar a:hover, .ge-menubar a:focus-visible { color: var(--ge-prim); }

/* ===== Listes produits ===== */
.product-miniature__prices,
.product-miniature__price,
.product-miniature__discount-price { justify-content: center; text-align: center; }
.product-miniature__details { display: table; margin-left: auto; margin-right: auto; }
.ge-pricefrom__label { font-size: .8em; font-weight: 400; color: var(--ge-muted); }
/* bouton Personnaliser juste sous le contenu */
.product-miniature__infos { flex-grow: 0 !important; }
.product-miniature__bottom, .product-miniature__actions { margin-top: .75rem !important; }
.product-miniature__inner { justify-content: flex-start !important; }
/* aperçu rapide masqué (champs Anvanto absents) */
.product-miniature__quickview-button, .product-miniature__quickview-touch, .js-quickview { display: none !important; }

/* ===== Fiche produit ===== */
/* tableau prix dégressifs : colonne "Vous économisez" masquée */
.product-discounts table tr > *:nth-child(3), .product__discounts table tr > *:nth-child(3) { display: none; }

/* ===== En-tête v2 : logo texte, actions à droite, menu ===== */
.ge-logo { display: flex; flex-direction: column; text-decoration: none; line-height: 1; }
.ge-logo__name { font: 600 1.75rem/1 var(--ge-font); letter-spacing: .06em; color: var(--ge-prim); }
.ge-logo__tag { font: 400 .72rem/1 var(--ge-font); letter-spacing: .22em; color: var(--ge-muted); margin-top: .45rem; }
.ge-logo:hover .ge-logo__name { color: var(--ge-prim-hover); }

/* recherche au centre-droit, compte et panier tout à droite */
.ge-head .header-bottom__row > .order-2 { flex: 1 1 auto; max-width: 540px; }
.ge-head__actions { gap: 1.25rem; }
.ge-head__actions .header-block__action-btn { font-size: .9rem; text-decoration: none; }
.ge-head__actions .header-block__icon { font-size: 1.4rem; }

/* barre de menu */
.ge-menubar .ps-mainmenu--desktop { flex: 1 1 auto; }
.ge-menubar .ps-mainmenu__tree { display: flex; flex-wrap: wrap; gap: 0 2.1rem; margin: 0; padding: 0; list-style: none; }
.ge-menubar .ps-mainmenu__tree-link { display: inline-block; padding: 1rem 0 .85rem; font-size: 1rem; font-weight: 500; letter-spacing: .01em; color: var(--ge-text); border-bottom: 3px solid transparent; }
.ge-menubar .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link,
.ge-menubar .ps-mainmenu__tree-item:focus-within .ps-mainmenu__tree-link,
.ge-menubar .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link { color: var(--ge-prim); border-bottom-color: var(--ge-prim); }
.ge-menubar .ps-mainmenu__tree-dropdown-toggle { color: var(--ge-muted); }
.ge-menubar .submenu { border-top: 3px solid var(--ge-prim); box-shadow: 0 12px 28px rgba(138, 74, 130, .12); }
.ge-menubar .submenu a { color: var(--ge-text); }
.ge-menubar .submenu a:hover { color: var(--ge-prim); }

/* ===== En-tête v3 : recherche repliée à gauche, logo centré, compte/panier à droite ===== */
.ge-logo { align-items: center; text-align: center; }
@media (min-width: 768px) {
  .ge-head .header-bottom__row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; }
  .ge-head .header-bottom__logo { grid-column: 2; grid-row: 1; justify-self: center; margin: 0 !important; }
  .ge-head .header-bottom__row > .order-2 { grid-column: 1; grid-row: 1; justify-self: start; margin: 0 !important; max-width: none; flex: none; }
  .ge-head__actions { grid-column: 3; grid-row: 1; justify-self: end; }

  /* recherche repliée : seule la loupe est visible, le champ s'ouvre au clic */
  .ge-head .ps-searchbar__form { display: flex; align-items: center; gap: .4rem; }
  .ge-head .ps-searchbar__magnifier { position: static !important; transform: none !important; cursor: pointer; color: var(--ge-text); font-size: 1.6rem; padding: .5rem; border-radius: 50%; }
  .ge-head .ps-searchbar__magnifier:hover, .ge-head .ps-searchbar__magnifier:focus-visible { background: var(--ge-band); outline: none; }
  .ge-head .ps-searchbar__input { width: 0; min-width: 0; padding-inline: 0 !important; border-bottom-color: transparent !important; transition: width .25s ease, padding .25s ease; }
  .ge-head .ps-searchbar.ge-search-open .ps-searchbar__input,
  .ge-head .ps-searchbar:focus-within .ps-searchbar__input { width: 280px; padding: .45rem .6rem !important; border-bottom-color: #d9c3d3 !important; }
}
@media (prefers-reduced-motion: reduce) { .ge-head .ps-searchbar__input { transition: none; } }

/* compte et panier : icône au-dessus, libellé en dessous, pastille sur le panier */
.ge-head__actions { gap: 1.5rem; }
.ge-head__actions .header-block__action-btn { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: .78rem; line-height: 1.2; color: var(--ge-text); text-decoration: none; padding: .25rem .4rem; }
.ge-head__actions .header-block__action-btn:hover { color: var(--ge-prim); }
.ge-head__actions .header-block__icon { font-size: 1.55rem; margin: 0; }
.ge-head__actions .header-block__badge { position: absolute; top: -4px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--ge-prim); color: #fff; font-size: .7rem; font-weight: 600; line-height: 18px; text-align: center; }

/* recherche : bouton façon Compte/Panier, sans rond au survol */
@media (min-width: 768px) {
  .ge-head .ps-searchbar__magnifier { display: flex !important; flex-direction: column; align-items: center; gap: 2px; font-size: 1.55rem; line-height: 1; padding: .25rem .4rem !important; background: none !important; border-radius: 0 !important; color: var(--ge-text); }
  .ge-head .ps-searchbar__magnifier::after { content: "Rechercher"; font: 400 .78rem/1.2 var(--ge-font); letter-spacing: normal; text-transform: none; color: inherit; }
  .ge-head .ps-searchbar__magnifier:hover, .ge-head .ps-searchbar__magnifier:focus-visible { color: var(--ge-prim); background: none !important; }
  .ge-head .ps-searchbar__input { background: transparent !important; border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; box-shadow: none !important; }
  .ge-head .ps-searchbar:not(.ge-search-open):not(:focus-within) .ps-searchbar__input { border: 0 !important; }
}

/* recherche : calée à gauche + libellés alignés avec Compte/Panier */
@media (min-width: 768px) {
  .ge-head .ps-searchbar, .ge-head .ps-searchbar__container, .ge-head .ps-searchbar__form { width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; }
  .ge-head .ps-searchbar__magnifier { order: -1; }
  .ge-head .ps-searchbar__magnifier, .ge-head__actions .header-block__action-btn { height: 3.4rem; justify-content: flex-end; box-sizing: border-box; }
  .ge-head .ps-searchbar__magnifier, .ge-head__actions .header-block__icon { font-size: 1.6rem; line-height: 1; }
}


/* en-tête : icônes et libellés dans le mauve de la marque */
.ge-head__actions .header-block__action-btn,
.ge-head__actions .header-block__icon,
.ge-head .ps-searchbar__magnifier { color: var(--ge-prim); }
.ge-head__actions .header-block__action-btn:hover,
.ge-head__actions .header-block__action-btn:hover .header-block__icon,
.ge-head .ps-searchbar__magnifier:hover,
.ge-head .ps-searchbar__magnifier:focus-visible { color: var(--ge-prim-hover); }

/* lien « Besoin d'aide ? » vers la page Contact */
.ge-reassure a.ge-reassure__help { color: inherit; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.ge-reassure a.ge-reassure__help:hover { color: var(--ge-prim); }

/* ===== Mobile (< 768 px) : barre classique =====
   ☰ + loupe à gauche, logo au centre, compte + panier à droite */
@media (max-width: 767.98px) {
  .ge-reassure--mobile { font-size: .78rem; }
  .ge-reassure--mobile .ge-reassure__row { flex-wrap: nowrap; justify-content: space-between; gap: .5rem; padding-block: .45rem; }
  .ge-reassure--mobile .ge-reassure__item { gap: .35rem; white-space: nowrap; }

  .ge-head { padding-block: .3rem; border-bottom: 1px solid var(--ge-line); }
  .ge-head .header-bottom__row { flex-wrap: nowrap; align-items: center; }
  .ge-head .header-bottom__row > * { padding-inline: 0; }
  .ge-head .ge-burger { order: 1; }
  .ge-head .ps-searchbar--mobile { order: 2; }
  .ge-head .header-bottom__logo { order: 3; flex: 1 1 0; min-width: 0; justify-content: center; margin: 0 !important; padding-inline: .25rem; }
  .ge-head #_mobile_ps_customersignin { order: 4; }
  .ge-head #_mobile_ps_shoppingcart { order: 5; }
  .ge-head .header-bottom__h1 { margin: 0; line-height: 1; }

  .ge-logo__name { font-size: clamp(.85rem, 4.4vw, 1.2rem); letter-spacing: .04em; white-space: nowrap; }
  .ge-logo__tag { font-size: .53rem; letter-spacing: .12em; margin-top: .3rem; white-space: nowrap; }

  .ge-head .ge-burger__btn,
  .ge-head .ps-searchbar--mobile .header-block__action-btn,
  .ge-head #_mobile_ps_customersignin .header-block__action-btn,
  .ge-head #_mobile_ps_shoppingcart .header-block__action-btn { position: relative; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; margin: 0; background: none; border: 0; color: var(--ge-prim); }
  .ge-head .ge-burger__btn:hover,
  .ge-head .ps-searchbar--mobile .header-block__action-btn:hover,
  .ge-head #_mobile_ps_customersignin .header-block__action-btn:hover,
  .ge-head #_mobile_ps_shoppingcart .header-block__action-btn:hover { color: var(--ge-prim-hover); }
  .ge-head .header-block__icon { font-size: 1.6rem; margin: 0; line-height: 1; }
  .ge-head #_mobile_ps_shoppingcart .header-block__badge { position: absolute; top: 3px; right: 1px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: var(--ge-prim); color: #fff; font-size: .66rem; font-weight: 600; line-height: 16px; text-align: center; }

  /* l'ancien bouton ☰ (barre du dessous) est remplacé : on garde seulement le menu qui s'ouvre */
  .ge-menubar { border: 0; }
  .ge-menubar .ps-mainmenu__mobile-toggle { display: none; }
}


/* mobile : logo toujours centré sur l'écran, quelle que soit la largeur et les icônes */
@media (max-width: 767.98px) {
  .ge-head .header-bottom__row { position: relative; }
  .ge-head .header-bottom__logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); flex: none; width: max-content; max-width: calc(100% - 176px); padding: 0; margin: 0 !important; justify-content: center; }
  .ge-head #_mobile_ps_shoppingcart { margin-left: auto; }
  .ge-logo__name { font-size: clamp(.8rem, 4.2vw, 1.2rem); letter-spacing: .04em; }
  .ge-logo__tag { letter-spacing: .1em; }
}
@media (max-width: 359.98px) {
  .ge-head .ge-logo__tag { display: none; }
}

/* recherche : la boîte du bouton prend la largeur de son libellé « Rechercher » */
@media (min-width: 768px) {
  .ge-head .ps-searchbar__magnifier { width: auto !important; min-width: max-content; flex: none; box-sizing: border-box; }
}

/* ---- Besoin d'aide ? : menu déroulant (formulaire, téléphone, e-mail) ---- */
.ge-help { position: relative; display: inline-block; }
.ge-help__btn { display: inline-flex; align-items: center; gap: .35rem; padding: 0; border: 0; background: none; font: inherit; font-weight: 600; color: inherit; cursor: pointer; }
.ge-help__btn:hover, .ge-help__btn:focus-visible { color: var(--ge-prim); }
.ge-help__chev { transition: transform .2s ease; }
.ge-help__btn[aria-expanded="true"] .ge-help__chev { transform: rotate(180deg); }
.ge-help__menu { position: absolute; right: 0; top: calc(100% + .6rem); z-index: 1090; min-width: 270px; padding: .4rem; background: #fff; border: 1px solid var(--ge-line); border-radius: 12px; box-shadow: 0 14px 30px rgba(138, 74, 130, .2); }
.ge-help__menu[hidden] { display: none; }
.ge-reassure .ge-help__opt { display: flex; align-items: center; gap: .75rem; padding: .7rem .85rem; border-radius: 8px; font-size: .95rem; font-weight: 500; color: var(--ge-text); text-decoration: none; white-space: nowrap; }
.ge-reassure .ge-help__opt svg { flex: none; color: var(--ge-prim); }
.ge-reassure .ge-help__opt:hover, .ge-reassure .ge-help__opt:focus-visible { background: var(--ge-band); color: var(--ge-prim); }
@media (prefers-reduced-motion: reduce) { .ge-help__chev { transition: none; } }

/* ---- Footer modèle A (v3) : réassurance, ligne de couleur, colonnes, barre mauve en bas ---- */
.ge-reassure-strip { border-top: 1px solid #e6d3df; background: #fff; }
.ge-reassure-strip__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; padding-block: 1.7rem; }
.ge-reassure-strip__item { display: flex; align-items: center; gap: .9rem; }
.ge-reassure-strip__ico { display: flex; align-items: center; justify-content: center; flex: none; width: 50px; height: 50px; border-radius: 50%; background: #f7eef4; color: #8a4a82; }
.ge-reassure-strip__txt { display: flex; flex-direction: column; line-height: 1.3; }
.ge-reassure-strip__txt strong { color: #2f222d; font-size: 1rem; font-weight: 600; }
.ge-reassure-strip__txt small { color: #6b5666; font-size: .88rem; }
.ge-reassure-strip__txt a { color: #8a4a82; text-decoration: underline; }
.ge-footer__line { height: 4px; background: #8a4a82; }

.footer__main.ge-footer { padding: 3.5rem 0 0; background: #fff; color: #2f222d; }
.ge-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 3.5rem; padding-bottom: 3rem; }
.ge-footer a { color: #2f222d; text-decoration: none; }
.ge-footer a:hover, .ge-footer a:focus-visible { color: #8a4a82; }
.ge-footer__brand-name { color: #8a4a82; font-size: 1.9rem; font-weight: 600; letter-spacing: .14em; line-height: 1.1; }
.ge-footer__brand-tag { margin-top: .3rem; color: #7a6675; font-size: .75rem; letter-spacing: .22em; }
.ge-footer__contact { display: grid; gap: .85rem; margin: 1.3rem 0 0; padding: 0; list-style: none; }
.ge-footer__contact li { display: flex; align-items: flex-start; gap: .75rem; line-height: 1.5; }
.ge-footer__contact svg { flex: none; margin-top: .15rem; color: #8a4a82; }
.ge-footer__contact address { margin: 0; font-style: normal; }
.ge-footer__note { margin: 1.2rem 0 0; padding: .65rem .9rem; border-radius: 8px; background: #f7eef4; color: #6b5666; font-size: .9rem; line-height: 1.45; }
.ge-footer__note strong { color: #6c3666; }
.ge-footer__title { display: inline-block; margin: 0 0 1.1rem; padding-bottom: .6rem; border-bottom: 3px solid #8a4a82; color: #6c3666; font-size: 1.05rem; font-weight: 600; }
.ge-footer__title--next { margin-top: 1.6rem; }
.ge-footer__list { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.ge-footer__pills { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.ge-footer__pills a { display: inline-block; padding: .45rem 1rem; border: 1px solid #d9bfd2; border-radius: 999px; font-size: .92rem; }
.ge-footer__pills a:hover, .ge-footer__pills a:focus-visible { border-color: #8a4a82; background: #f7eef4; }
.ge-footer__bottom { background: #6c3666; color: #fff; font-size: .88rem; }
.ge-footer__bottom-in { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.3rem; }
.ge-footer__pay { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.ge-footer__pay li:not(.ge-footer__pay-label) { padding: .25rem .8rem; border: 1px solid #c79bc0; border-radius: 6px; }
.ge-footer__pay-label { margin-right: .3rem; color: #efdcea; }

@media (max-width: 991.98px) {
  .ge-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 2rem; }
  .ge-footer__brand { grid-column: 1 / -1; }
  .ge-reassure-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .footer__main.ge-footer { padding-top: 2.5rem; }
  .ge-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.25rem; }
  .ge-footer__grid > :last-child { grid-column: 1 / -1; }
  .ge-footer__bottom-in { flex-direction: column; align-items: flex-start; }
  .ge-reassure-strip__grid { gap: 1.1rem .8rem; padding-block: 1.3rem; }
  .ge-reassure-strip__ico { width: 40px; height: 40px; }
  .ge-reassure-strip__ico svg { width: 20px; height: 20px; }
  .ge-reassure-strip__txt strong { font-size: .9rem; }
  .ge-reassure-strip__txt small { font-size: .8rem; }
}

/* Compte connecté : pas de flèche sous le prénom, prénom aligné avec "Panier" */
.ps-customersignin .dropdown-toggle::after { display: none; }

/* Menu déroulant "Mon compte" aux couleurs du site */
.ps-customersignin .dropdown-menu { min-width: 260px; padding: .4rem; border: 1px solid #e6d3df; border-radius: 12px; background: #fff; box-shadow: 0 14px 30px rgba(138, 74, 130, .2); }
.ps-customersignin .dropdown-item { display: flex; align-items: center; gap: .15rem; padding: .65rem .85rem; border-radius: 8px; color: #2f222d; font-size: .95rem; font-weight: 500; }
.ps-customersignin .dropdown-item .material-icons { color: #8a4a82; font-size: 1.3rem; }
.ps-customersignin .dropdown-item:hover, .ps-customersignin .dropdown-item:focus { background: #f7eef4; color: #8a4a82; }
.ps-customersignin .dropdown-item:active { background: #f0e4ec; color: #6c3666; }
.ps-customersignin .dropdown-divider { margin: .4rem .5rem; border-top: 1px solid #f0e4ec; opacity: 1; }
.ps-customersignin .dropdown-toggle:focus-visible { outline: 2px solid #8a4a82; outline-offset: 3px; border-radius: 6px; }

/* ---- Carte Page suivante (fin de grille) ---- */
.products .ge-nextcard { display: flex; flex-direction: column; gap: .75rem; text-decoration: none; color: #2f222d; text-align: center; }
.products .ge-nextcard:hover { color: #2f222d; text-decoration: none; }
.ge-nextcard__ring { display: block; width: 100%; aspect-ratio: 1 / 1; box-sizing: border-box; padding: 8px; border: 2px solid #8a4a82; border-radius: 50%; }
.ge-nextcard__disc { display: flex; flex-direction: column; width: 100%; height: 100%; box-sizing: border-box; overflow: hidden; border: 1px solid #e6d3df; border-radius: 50%; background: #f7eef4; }
.ge-nextcard__logoarea { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; padding-top: 6px; }
.ge-nextcard__logo { display: block; width: 52%; max-width: 150px; height: auto; }
.ge-nextcard__band { flex: 0 0 36%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem; background: #e6d3df; color: #6c3666; font-size: 1.2rem; font-weight: 600; line-height: 1.15; transition: background-color .2s, color .2s; }
.ge-nextcard:hover .ge-nextcard__band, .ge-nextcard:focus-visible .ge-nextcard__band { background: #8a4a82; color: #fff; }
.ge-nextcard:focus-visible { outline: 2px solid #8a4a82; outline-offset: 3px; border-radius: 8px; }
.ge-nextcard__title { font-size: 1.25rem; font-weight: 600; line-height: 1.3; color: #6c3666; }
@keyframes ge-blink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.ge-blink { animation: ge-blink 1.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .ge-blink { animation: none; } }
@media (max-width: 575.98px) {
  .ge-nextcard__ring { padding: 5px; }
  .ge-nextcard__band { font-size: .95rem; }
  .ge-nextcard__band svg { width: 20px; height: 20px; }
  .ge-nextcard__title { font-size: 1.05rem; }
}

/* ===== Harmonisation couleurs (fiche produit, avis, accordéon) ===== */
:root {
  --bs-primary-text-emphasis: #6c3666;   /* "(Économisez x €)" */
  --bs-secondary-text-emphasis: #6c3666;
  --lgcomments-accent: #8a4a82;          /* boutons du module avis */
}
.spinner-border.text-primary, .page-loader .spinner-border { color: #8a4a82 !important; }
button.lgcomment_button, .lgcomment_button.btn-primary, #form_review_popup #submit_review, .lg-button-success {
  background-color: #8a4a82 !important; border-color: #8a4a82 !important; color: #fff !important;
}
button.lgcomment_button:hover, .lgcomment_button.btn-primary:hover, #form_review_popup #submit_review:hover, .lg-button-success:hover {
  background-color: #6c3666 !important; border-color: #6c3666 !important;
}

/* Accordéon fiche produit : Détails / Fiche technique / Commentaires */
.accordion-item { border-color: #e6d3df; }
.accordion-button { color: #2f222d; font-weight: 600; }
.accordion-button:not(.collapsed) { color: #6c3666; background-color: #f7eef4; box-shadow: inset 0 -1px 0 #e6d3df; }
.accordion-button:focus { border-color: #e6d3df; box-shadow: 0 0 0 .2rem rgba(138,74,130,.2); }
.accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236c3666%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e");
}
/* Tableau des caractéristiques (version claire) */
.details__list { background: #fff; border: 1px solid #efe4ec; border-radius: 6px; overflow: hidden; }
.details__item { border-bottom: 1px solid #efe4ec; background: #fff; }
.details__item:last-child { border-bottom: 0; }
.details__left { background: transparent; }
.details__title { color: #8a4a82; font-weight: 600; }
.accordion-button:not(.collapsed) { color: #6c3666; background-color: #fff; box-shadow: inset 0 -2px 0 #e6d3df; }

/* Alertes et toasts aux couleurs du site */
:root {
  --bs-success-bg-subtle: #f7eef4; --bs-success-border-subtle: #e6d3df; --bs-success-text-emphasis: #6c3666;
  --bs-info-bg-subtle: #f7eef4;    --bs-info-border-subtle: #e6d3df;    --bs-info-text-emphasis: #6c3666;
  --bs-warning-bg-subtle: #fbf1ee; --bs-warning-border-subtle: #ead4cc; --bs-warning-text-emphasis: #8a4a3d;
  --bs-danger-bg-subtle: #fbeff3;  --bs-danger-border-subtle: #ebcbd8;  --bs-danger-text-emphasis: #8a3d5e;
}
.alert-success, .alert-info { background-color: #f7eef4; border-color: #e6d3df; color: #6c3666; }
.alert-success a, .alert-info a { color: #6c3666; }
.alert-warning { background-color: #fbf1ee; border-color: #ead4cc; color: #8a4a3d; }
.alert-danger { background-color: #fbeff3; border-color: #ebcbd8; color: #8a3d5e; }
.toast.bg-success-subtle, .toast.bg-info-subtle { background-color: #f7eef4 !important; border-color: #e6d3df !important; color: #6c3666; }
.toast.bg-danger-subtle { background-color: #fbeff3 !important; border-color: #ebcbd8 !important; color: #8a3d5e; }

/* Panier : lien retirer */
.product-line__actions .js-remove-from-cart { display: inline-flex; align-items: center; gap: .35rem; color: #8a4a82; text-decoration: none; }
.product-line__actions .js-remove-from-cart:hover { color: #6c3666; text-decoration: underline; }
.product-line__actions .js-remove-from-cart .material-icons, .product-line__actions .js-remove-from-cart .material-icons-outlined { font-size: 1.1rem; }

/* Panier : pas de soulignement au survol */
.product-line__actions .js-remove-from-cart:hover { text-decoration: none; }

/* Fiche produit : message d erreur ajout panier, au-dessus du bloc délais, aux couleurs du site */
.product-add-to-cart .alert.ajax-error {
  flex: 0 0 100%; width: 100%; margin: .75rem 0 0;
  background: #f7eef4; border: 1px solid #e6d3df; border-left: 4px solid #8a4a82;
  color: #6c3666; font-weight: 500; border-radius: 6px;
}

/* Menu : en-têtes de colonnes avec le trait foncé à gauche (comme les avertissements) */
.gemenu__l2 > .gemenu__item > .gemenu__link {
  border-left: 4px solid #8a4a82;
  border-radius: 6px;
}

/* Material Icons Outlined (police locale) */
@font-face { font-family: "Material Icons Outlined"; font-style: normal; font-weight: 400; font-display: block; src: url("../fonts/material-icons-outlined.otf") format("opentype"); }
.material-icons-outlined { font-family: "Material Icons Outlined"; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-smoothing: antialiased; font-feature-settings: "liga"; }

/* ===== Contenu issu de LyoPageEditor (21 descriptions produits) ===== */
.widget.containering { margin: 0 0 1.25rem; }
.widget .imgSlider > div { text-align: center; }
.widget .imgSlider img.img-responsive { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.widget .imgSlider img.left-block { margin-left: 0; }
.widget .imgSlider img.center-block { margin: 0 auto; }
.widget .media, .widget .mediaThumbnail, .widget .media-body { display: block; width: 100%; }
.widget .media-body .editable { padding: .25rem 0; }
.widget .media-body p { margin: 0 0 .6rem; }
.widget .media-body p:last-child { margin-bottom: 0; }
.widget .media-body a { color: #8a4a82; }
/* Image de section suivie de son texte : on resserre */
.widget[data-widget-type="ImgSlider"] + .widget[data-widget-type="Media"] { margin-top: -.5rem; }

/* Modale panier : en-tête aux couleurs du site */
#blockcart-modal .modal-header { background: #f7eef4; border-bottom: 1px solid #e6d3df; border-left: 4px solid #8a4a82; }
#blockcart-modal .blockcart-modal__title { color: #6c3666; font-size: 1.35rem; }
#blockcart-modal .blockcart-modal__title .material-icons { color: #8a4a82; }

/* === Fiche produit : image réduite + miniatures verticales à gauche (≥ 992px) === */
@media (min-width: 992px) {
  .product__container { grid-template-columns: minmax(0, 578px) minmax(0, 1fr); gap: 56px; }
  .product__images { display: flex; flex-direction: row-reverse; align-items: flex-start; gap: 14px; }
  .product__carousel { flex: 1 1 auto; min-width: 0; }
  .product__thumbnails { flex: 0 0 96px; max-height: 468px; overflow-y: auto; scrollbar-width: thin; }
  .product__thumbnails-list { display: flex !important; flex-direction: column; gap: 10px; margin: 0; padding: 0; }
  .product__thumbnail { width: 96px; }
}

/* === Fiche produit : photo fixe pendant le défilement de la personnalisation (≥ 992px) === */
@media (min-width: 992px) {
  .product__left { position: sticky; top: 196px; align-self: start; }
}

/* === Fiche produit : miniatures sans défilement horizontal (≥ 992px) === */
@media (min-width: 992px) {
  .product__thumbnails { overflow-x: hidden; scrollbar-width: none; }
  .product__thumbnails::-webkit-scrollbar { display: none; }
  .product__thumbnail { width: 100%; }
}
/* === Fiche produit : réassurance retirée, description sur toute la largeur === */
.product__bottom { grid-template-columns: minmax(0, 1fr) !important; }
.product__bottom-right:has(.blockreassurance--product) { display: none; }

/* === Avis clients (lgcomments) : note + appel à avis + grille de citations === */
#lgcomment.ge-reviews{--ge-star:#f2b01e;--ge-p:#8a4a82;--ge-d:#6c3666;--ge-pale:#f7eef4;--ge-line:#efe4ec;--ge-line2:#e6d3df}
.ge-reviews__top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;margin:0 0 26px}
.ge-reviews__score{display:flex;align-items:center;gap:16px;padding:18px 24px;border:1px solid var(--ge-line);border-radius:14px}
.ge-reviews__score b{font-size:2.6rem;line-height:1;color:var(--ge-d);font-variant-numeric:tabular-nums}
.ge-reviews__sub{display:grid;gap:2px}
.ge-reviews__count{color:#7a6675}
.ge-reviews__cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;background:var(--ge-p);color:#fff;border-radius:14px;padding:18px 24px}
.ge-reviews__cta-txt{display:grid;gap:2px;min-width:0}
.ge-reviews__cta-txt strong{font-size:1.15rem;font-weight:600}
.ge-reviews__cta-txt span{opacity:.9;font-size:.92rem}
.ge-reviews__cta .content-button{margin:0;text-align:right}
.ge-reviews__cta .lgcomment_button.btn{display:inline-flex;align-items:center;gap:.55rem;background:#fff!important;color:var(--ge-p)!important;border:0!important;border-radius:10px;padding:.85rem 1.4rem;font-weight:600;font-size:1rem;white-space:nowrap}
.ge-reviews__cta .lgcomment_button.btn:hover{background:var(--ge-pale)!important}
.ge-reviews__cta .lgcomment_button svg{width:18px;height:18px}
.ge-stars{display:inline-flex;gap:1px;font-size:1.05rem;line-height:1;letter-spacing:0}
.ge-stars--lg{font-size:1.35rem}
.ge-stars .is-full{color:var(--ge-star)}
.ge-stars .is-empty{color:var(--ge-line2)}
.ge-stars .is-half{background:linear-gradient(90deg,var(--ge-star) 50%,var(--ge-line2) 50%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ge-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#lgcomment .productComment.ge-quote{margin:0;padding:22px 22px 16px;background:var(--ge-pale);border:0;border-radius:14px;display:flex;flex-direction:column;justify-content:space-between;gap:.9rem}
#lgcomment .productComment.ge-quote[style*="display: none"],#lgcomment .productComment.ge-quote[style*="display:none"]{display:none!important}
.ge-quote__body{display:grid;gap:.55rem}
.ge-quote .rating-hidden{display:none}
.ge-quote .title{font-weight:600;color:var(--ge-d);font-size:1rem}
.ge-quote .comment{font-size:1.02rem;line-height:1.5;padding:0;border:0}
.ge-quote .comment::before{content:"« "}
.ge-quote .comment::after{content:" »"}
.ge-quote .answer{font-size:.9rem;background:#fff;border-radius:10px;padding:.6rem .8rem}
.ge-quote__foot{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;border-top:1px solid var(--ge-line2);padding-top:.7rem;font-size:.9rem}
.ge-quote__foot .nick{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.ge-quote__foot .date{color:#7a6675;font-variant-numeric:tabular-nums}
.ge-quote .lgcomment-verified{color:var(--ge-p);font-size:.8rem;font-weight:500}
.ge-reviews__more{display:flex;justify-content:center;margin-top:22px}
.ge-reviews__more .btn{background:transparent;border:1px solid var(--ge-p);color:var(--ge-p);border-radius:10px;padding:.7rem 1.4rem}
.ge-reviews__more .btn:hover{background:var(--ge-pale);color:var(--ge-d)}
@media (max-width:991.98px){.ge-reviews__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ge-reviews__top{grid-template-columns:minmax(0,1fr)}}
@media (max-width:575.98px){.ge-reviews__grid{grid-template-columns:minmax(0,1fr)}.ge-reviews__cta .content-button,.ge-reviews__cta .lgcomment_button.btn{width:100%;justify-content:center}}
.ge-reviews__score b small{font-size:1rem;font-weight:500;color:#7a6675;margin-left:.25rem}

/* === Avis clients : rubrique toujours ouverte, sans barre d accordéon === */
.accordion-item:has(#lgcomment) > .accordion-header{display:none}
.accordion-item:has(#lgcomment) > .accordion-collapse{display:block!important;height:auto!important;visibility:visible!important}
.accordion-item:has(#lgcomment) > .accordion-collapse > .accordion-body{padding-left:0;padding-right:0}
.ge-reviews__title{font-size:1.35rem;font-weight:500;color:#8a4a82;margin:.5rem 0 1.25rem;padding-bottom:.8rem;border-bottom:2px solid #e6d3df}
/* === Bouton Laisser un avis : halo qui pulse === */
.ge-reviews__cta .lgcomment_button.btn{animation:geHalo 1.8s ease-out infinite}
@keyframes geHalo{0%{box-shadow:0 0 0 0 rgba(255,255,255,.85)}70%{box-shadow:0 0 0 12px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@media (prefers-reduced-motion:reduce){.ge-reviews__cta .lgcomment_button.btn{animation:none}}

/* === Fiche produit : référence sous le nom, rubrique Détails du produit retirée === */
.product__reference-top{font-size:.88rem;color:#7a6675;margin:.15rem 0 .35rem}
.product__reference-top span{color:#2f222d;font-weight:500}
.product__accordion .accordion-item:has(#product_details_collapse){display:none}
/* === Fiche produit : marque masquée sous le nom (reste dans les données Google) === */
body#product .product__manufacturer{display:none}
/* === Fiche produit : référence sans gras en mauve clair, prix descendu avec TTC/HT sur la même ligne === */
.product__reference-top,.product__reference-top span{font-weight:400!important;color:#a86f9f!important}
body#product .product__prices{margin-top:.9rem}
body#product .product__prices-block{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:.5rem}
body#product .product__prices-block > .product__discount-price{flex-basis:100%}
body#product .product__tax-infos{margin:0}
/* === Fiche produit : note sous le prix en pastille === */
.ge-rating-pill{display:inline-flex;align-items:center;gap:.6rem;margin:.55rem 0 .2rem;padding:.45rem .95rem .45rem .75rem;background:#f7eef4;border-radius:999px;text-decoration:none!important;font-size:.92rem;color:#2f222d}
.ge-rating-pill:hover{background:#efe4ec}
.ge-rating-pill .ge-stars{display:inline-flex;gap:1px;font-size:1rem;line-height:1}
.ge-rating-pill .ge-stars .is-full{color:#f2b01e}.ge-rating-pill .ge-stars .is-empty{color:#e6d3df}
.ge-rating-pill .ge-stars .is-half{background:linear-gradient(90deg,#f2b01e 50%,#e6d3df 50%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ge-rating-pill b{color:#6c3666;font-variant-numeric:tabular-nums}
.ge-rating-pill__n{color:#8a4a82}
#lgcomment{scroll-margin-top:200px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* bouton Accueil à gauche de « Rechercher » (le menu n'a plus d'icône maison) */
.ge-home { display: flex; flex-direction: column; align-items: center; gap: 2px; width: 72px; padding: .5rem 0; border-radius: 12px; color: var(--ge-prim, #8a4a82); text-decoration: none; font: 400 .78rem/1.2 var(--ge-font, inherit); }
.ge-home .material-icons { font-size: 1.6rem; line-height: 1; }
.ge-home:hover, .ge-home:focus-visible { background: var(--ge-band, #f7eef4); color: var(--ge-prim, #8a4a82); outline: none; }
@media (min-width: 768px) {
  .ge-head .header-bottom__row > .ge-head__home { grid-column: 1; grid-row: 1; justify-self: start; }
  .ge-head .header-bottom__row > .order-2 { margin-left: 84px !important; }
}

/* listes de produits : 5 par ligne sur les écrans d'au moins 1200 px */
@media (min-width: 1200px) {
  #js-product-list .products { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ===== Listes de produits (validé en test Chrome le 6 nov. 2026) ===== */
/* vignettes : case carrée, image non carrée centrée sans déformation */
.product-miniature__image-link { display: flex !important; align-items: center; justify-content: center; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; }
.product-miniature__image-link picture { display: contents; }
.product-miniature__image-link img.product-miniature__image { width: 100%; height: 100%; object-fit: contain; }
/* bouton « Personnaliser » au-dessus du nom, juste sous l'image */
.product-miniature__bottom { flex-direction: column; margin-top: 0 !important; padding-top: 10px !important; }
.product-miniature__bottom .product-miniature__actions { order: -1; margin: 0 0 .5rem !important; text-align: center; }
/* bouton « Personnaliser » : fond rose pâle, texte mauve foncé ; mauve plein au survol */
#js-product-list .product-miniature__details { background: #f7eef4; border-color: #e6d3df; color: #6c3666 !important; font-weight: 500; }
#js-product-list .product-miniature__details:hover, #js-product-list .product-miniature__details:focus-visible { background: #8a4a82; border-color: #8a4a82; color: #fff !important; }
/* nom du produit toujours sur 2 lignes : les prix d'une même ligne sont alignés */
#js-product-list .product-miniature__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; min-height: 3em; line-height: 1.5; }
/* case « Page suivante » : carrée, rose pâle, rond mauve fléché dont la teinte varie */
.ge-nextcard { text-decoration: none; }
.ge-nextcard .ge-nextcard__ring { border-radius: 8px !important; padding: 0 !important; border: 0 !important; background: none !important; aspect-ratio: 1 / 1; overflow: hidden; }
.ge-nextcard .ge-nextcard__disc { border-radius: 8px !important; width: 100% !important; height: 100% !important; background: #f7eef4 !important; display: flex !important; align-items: center; justify-content: center; }
.ge-nextcard .ge-nextcard__logoarea { display: none !important; }
.ge-nextcard .ge-nextcard__band { background: none !important; color: #8a4a82 !important; width: auto !important; height: auto !important; display: flex !important; flex-direction: column-reverse !important; align-items: center; gap: 10px; border: 0 !important; padding: 0 !important; font-size: .95rem !important; font-weight: 500; }
.ge-nextcard span.ge-blink { animation: none !important; opacity: 1 !important; }
.ge-nextcard .ge-nextcard__band svg { width: 48px !important; height: 48px !important; padding: 13px; border-radius: 50%; background: #8a4a82; color: #fff; stroke: #fff; box-sizing: border-box; animation: geTint 2.4s ease-in-out infinite !important; opacity: 1 !important; transition: transform .2s; }
.ge-nextcard:hover .ge-nextcard__band svg, .ge-nextcard:focus-visible .ge-nextcard__band svg { transform: translateX(3px); }
.ge-nextcard .ge-nextcard__title { font-size: .85rem !important; font-weight: 400 !important; color: #7a6675 !important; text-align: center; }
@keyframes geTint { 0%, 100% { background: #8a4a82; } 50% { background: #c9a3c3; } }
@media (prefers-reduced-motion: reduce) { .ge-nextcard .ge-nextcard__band svg { animation: none !important; } }

/* GE : bandeau du bas du pied de page en clair, texte foncé */
.ge-footer .ge-footer__bottom { background: #f7eef4 !important; color: #2f222d !important; border-top: 1px solid #e6d3df; }
.ge-footer .ge-footer__bottom * { color: #2f222d !important; }
.ge-footer .ge-footer__bottom .ge-footer__pay-label { color: #7a6675 !important; }
.ge-footer .ge-footer__pay li:not(.ge-footer__pay-label) { border-color: #c9a3c3 !important; background: #fff !important; color: #6c3666 !important; }

/* GE : popup « Écrire un avis » (lgcomments) aux couleurs du site */
.fancybox-skin { border-color: #8a4a82 !important; border-radius: 12px !important; }

/* GE : page « Avis clients » (lgcomments) */
#module-lgcomments-reviews .ge-rv__head { text-align: center; margin-bottom: 1.5rem; }
#module-lgcomments-reviews .ge-rv__head h1 { color: #6c3666; margin-bottom: .3rem; }
#module-lgcomments-reviews .ge-rv__sub { color: #7a6675; margin: 0; }
#module-lgcomments-reviews .ge-rv__summary { display: grid; grid-template-columns: minmax(240px, 1fr) 1.6fr; gap: 2rem; background: #f7eef4; border: 1px solid #e6d3df; border-radius: 16px; padding: 1.75rem 2rem; margin-bottom: 1.5rem; align-items: center; }
#module-lgcomments-reviews .ge-rv__score { text-align: center; }
#module-lgcomments-reviews .ge-rv__note { font-size: 1.4rem; color: #7a6675; line-height: 1; }
#module-lgcomments-reviews .ge-rv__note span { font-size: 3.6rem; font-weight: 600; color: #6c3666; }
#module-lgcomments-reviews .ge-rv__stars { position: relative; display: inline-block; font-size: 1.6rem; letter-spacing: 3px; color: #e3d3de; line-height: 1; margin: .4rem 0; }
#module-lgcomments-reviews .ge-rv__stars span { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; color: #f2b01e; }
#module-lgcomments-reviews .ge-rv__count { margin: .2rem 0 0; font-weight: 600; color: #2f222d; }
#module-lgcomments-reviews .ge-rv__sat { margin: .2rem 0 1rem; color: #4a3a47; }
#module-lgcomments-reviews .ge-rv__sat strong { color: #2e7d32; }
#module-lgcomments-reviews .ge-rv__btn { background: #8a4a82; border-color: #8a4a82; color: #fff; border-radius: 8px; padding: .65rem 1.4rem; font-weight: 600; }
#module-lgcomments-reviews .ge-rv__btn:hover, #module-lgcomments-reviews .ge-rv__btn:focus { background: #6c3666; border-color: #6c3666; color: #fff; }
#module-lgcomments-reviews .ge-rv__btnwrap { text-align: center; margin: 1rem 0 1.5rem; }
#module-lgcomments-reviews .ge-rv__bars-title { font-weight: 600; color: #6c3666; margin: 0 0 .6rem; }
#module-lgcomments-reviews .ge-rv__reset { font-weight: 400; font-size: .9rem; margin-left: .5rem; color: #8a4a82; text-decoration: underline; }
#module-lgcomments-reviews .ge-rv__bar { display: grid; grid-template-columns: 80px 1fr 64px; align-items: center; gap: .75rem; padding: .3rem .5rem; border-radius: 8px; color: #2f222d; text-decoration: none; }
#module-lgcomments-reviews .ge-rv__bar:hover, #module-lgcomments-reviews .ge-rv__bar.is-on { background: #fff; }
#module-lgcomments-reviews .ge-rv__bar.is-on .ge-rv__bar-label { font-weight: 600; color: #6c3666; }
#module-lgcomments-reviews .ge-rv__bar.is-empty { pointer-events: none; opacity: .5; }
#module-lgcomments-reviews .ge-rv__bar-track { height: 10px; background: #e9d9e5; border-radius: 6px; overflow: hidden; }
#module-lgcomments-reviews .ge-rv__bar-track span { display: block; height: 100%; min-width: 2px; background: #8a4a82; border-radius: 6px; }
#module-lgcomments-reviews .ge-rv__bar-n { text-align: right; color: #7a6675; font-variant-numeric: tabular-nums; }
#module-lgcomments-reviews .ge-rv__law { text-align: center; font-size: .85rem; color: #7a6675; }
/* cartes d'avis (modèle du module, restylé) */
#module-lgcomments-reviews .lgcomment_reviews .row { row-gap: 1rem; }
#module-lgcomments-reviews .lgcomment_review { height: 100%; background: #fff; border: 1px solid #ecdfe8; border-radius: 12px; padding: 1.1rem 1.25rem; box-shadow: 0 2px 10px rgba(60, 30, 55, .05); text-align: left; margin: 0; }
#module-lgcomments-reviews .lgcomment_review .title { font-weight: 600; font-size: 1.05rem; color: #6c3666; text-align: left; margin-bottom: .25rem; }
#module-lgcomments-reviews .lgcomment_review .rating_img { text-align: left; margin-bottom: .5rem; }
#module-lgcomments-reviews .lgcomment_review .rating_img img { height: 18px; width: auto; }
#module-lgcomments-reviews .lgcomment_review .comment { font-size: .98rem; line-height: 1.55; color: #2f222d; text-align: left; }
#module-lgcomments-reviews .lgcomment_review .credits { display: flex; gap: .5rem; align-items: center; margin-top: .75rem; padding-top: .6rem; border-top: 1px solid #f1e6ee; font-size: .88rem; color: #7a6675; }
#module-lgcomments-reviews .lgcomment_review .credits .name { font-weight: 600; color: #4a3a47; }
#module-lgcomments-reviews .lgcomment_review .credits .name::after { content: "·"; margin-left: .5rem; color: #b9a5b5; font-weight: 400; }
#module-lgcomments-reviews .lgcomment_review .credits .clear { display: none; }
#module-lgcomments-reviews .lgcomment_reviews .col-sm-6 { margin-bottom: 0; }
/* pagination */
#module-lgcomments-reviews .ge-rv__pages { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin: 2rem 0 1rem; }
#module-lgcomments-reviews .ge-rv__page { min-width: 40px; height: 40px; padding: 0 .75rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #e6d3df; border-radius: 8px; color: #6c3666; background: #fff; text-decoration: none; }
#module-lgcomments-reviews a.ge-rv__page:hover { border-color: #8a4a82; background: #f7eef4; }
#module-lgcomments-reviews .ge-rv__page.is-current { background: #8a4a82; border-color: #8a4a82; color: #fff; font-weight: 600; }
#module-lgcomments-reviews .ge-rv__page.is-spacer { border: 0; background: none; min-width: 20px; }
@media (max-width: 767px) {
  #module-lgcomments-reviews .ge-rv__summary { grid-template-columns: 1fr; padding: 1.25rem; gap: 1.25rem; }
  #module-lgcomments-reviews .ge-rv__bar { grid-template-columns: 70px 1fr 52px; }
}

/* pied de page : icônes Facebook et Instagram (patch-footer-social) */
.ge-footer__pills a.ge-footer__social{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:#8a4a82}
.ge-footer__pills a.ge-footer__social:hover,.ge-footer__pills a.ge-footer__social:focus-visible{background:#f7eef4;color:#6c3666}
.ge-footer__pills a.ge-footer__social svg{display:block}


/* ===== logo v7 (patch-logo-v7) : Lato gras + Sacramento, polices hébergées sur le site ===== */
@font-face { font-family: "GE Lato"; src: url("../fonts/ge/lato.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "GE Sacramento"; src: url("../fonts/ge/sacramento.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
.ge-logo__name { font-family: "GE Lato", Lato, Arial, sans-serif; font-weight: 700; letter-spacing: .14em; margin-right: -.14em; }
.ge-logo__tag { font-family: "GE Sacramento", cursive; font-weight: 400; font-size: 1.25rem; line-height: 1.1; letter-spacing: 0; text-transform: none; color: var(--ge-prim); margin-top: .15rem; white-space: nowrap; }
@media (max-width: 575.98px) {
  .ge-logo__name { letter-spacing: .1em; margin-right: -.1em; }
}
@media (min-width: 1200px) {
  .ge-logo__name { font-size: 2.125rem; letter-spacing: .26em; margin-right: -.26em; }
  .ge-logo__tag { font-size: 1.875rem; margin-top: .1rem; }
}
.ge-footer__brand-tag { font-family: "GE Sacramento", cursive; font-weight: 400; font-size: 1.75rem; line-height: 1.1; letter-spacing: 0; text-transform: none; color: var(--ge-prim); }
.ge-footer__brand-name { font-family: "GE Lato", Lato, Arial, sans-serif; font-weight: 700; letter-spacing: .26em; }


/* ===== logo v7 (patch-logo-v7), mise à jour : lettre t de Corinthia, agrandie pour s'accorder à Sacramento ===== */
@font-face { font-family: "GE Corinthia t"; src: url("../fonts/ge/corinthia.woff2") format("woff2"); font-weight: 400; font-style: normal; unicode-range: U+0074; size-adjust: 120%; font-display: swap; }
.ge-logo__tag, .ge-footer__brand-tag { font-family: "GE Corinthia t", "GE Sacramento", cursive; }

/* ===== Paiement : une carte par mode de paiement (nov. 2026) ===== */
.payment-options__list{display:flex;flex-direction:column;gap:12px}
.ge-pay{border:1.5px solid #e6d3df;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .15s,background .15s,box-shadow .15s;margin:0!important}
.ge-pay:hover{border-color:#c9a6c3}
.ge-pay:has(.payment-option__input:checked){border-color:#8a4a82;background:#f7eef4;box-shadow:0 2px 10px rgba(138,74,130,.12)}
.ge-pay .ge-pay__head{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:0;min-height:0}
.ge-pay .ge-pay__head .form-check-input{float:none;margin:0;flex:none;width:20px;height:20px;cursor:pointer}
.ge-pay .form-check-input:checked{background-color:#8a4a82;border-color:#8a4a82}
.ge-pay__label{display:flex!important;align-items:center;gap:14px;flex:1;min-width:0;cursor:pointer;margin:0}
.ge-pay__ico{width:42px;height:42px;border-radius:10px;background:#f7eef4;display:grid;place-items:center;flex:none;color:#8a4a82}
.ge-pay:has(.payment-option__input:checked) .ge-pay__ico{background:#fff}
.ge-pay__ico svg{width:22px;height:22px}
.ge-pay__txt{flex:1;min-width:0;line-height:1.3}
.ge-pay__txt b{display:block;font-size:17px;font-weight:600;color:#2b2230}
.ge-pay__txt small{display:block;font-size:14px;color:#7a6f7d}
.ge-pay__tag{display:inline-block;font-size:11px;font-weight:600;color:#fff;background:#8a4a82;border-radius:20px;padding:2px 9px;margin-left:8px;vertical-align:2px}
.ge-pay__logos{display:flex;align-items:center;gap:8px;flex:none}
.ge-pay__logos img{height:24px;width:auto}
.ge-pay__chorus img{height:30px}
.ge-pay__chorus span{font-size:11px;line-height:1.2;color:#7a6f7d}
.ge-pay__desc{display:none;padding:0 18px 16px 94px;font-size:14px;color:#4a404d;line-height:1.5}
.ge-pay:has(.payment-option__input:checked) .ge-pay__desc{display:block}
.ge-pay .ge-pay__add{padding:0 18px 16px 94px;font-size:14px;color:#4a404d;margin:0;background:transparent;border:0}
.ge-pay .ge-pay__add--hidden{display:none!important}
@media (max-width:575px){
  .ge-pay__chorus span{display:none}
  .ge-pay__desc,.ge-pay .ge-pay__add{padding-left:18px}
  .ge-pay__ico{width:36px;height:36px}
  .ge-pay__txt b{font-size:16px}
}

/* ===== Paiement : une carte par mode de paiement (nov. 2026) ===== */
.payment-options__list{display:flex;flex-direction:column;gap:12px}
.ge-pay{border:1.5px solid #e6d3df;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .15s,background .15s,box-shadow .15s;margin:0!important}
.ge-pay:hover{border-color:#c9a6c3}
.ge-pay:has(.payment-option__input:checked){border-color:#8a4a82;background:#f7eef4;box-shadow:0 2px 10px rgba(138,74,130,.12)}
.ge-pay .ge-pay__head{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:0;min-height:0}
.ge-pay .ge-pay__head .form-check-input{float:none;margin:0;flex:none;width:20px;height:20px;cursor:pointer}
.ge-pay .form-check-input:checked{background-color:#8a4a82;border-color:#8a4a82}
.ge-pay__label{display:flex!important;align-items:center;gap:14px;flex:1;min-width:0;cursor:pointer;margin:0}
.ge-pay__ico{width:42px;height:42px;border-radius:10px;background:#f7eef4;display:grid;place-items:center;flex:none;color:#8a4a82}
.ge-pay:has(.payment-option__input:checked) .ge-pay__ico{background:#fff}
.ge-pay__ico svg{width:22px;height:22px}
.ge-pay__txt{flex:1;min-width:0;line-height:1.3}
.ge-pay__txt b{display:block;font-size:17px;font-weight:600;color:#2b2230}
.ge-pay__txt small{display:block;font-size:14px;color:#7a6f7d}
.ge-pay__tag{display:inline-block;font-size:11px;font-weight:600;color:#fff;background:#8a4a82;border-radius:20px;padding:2px 9px;margin-left:8px;vertical-align:2px}
.ge-pay__logos{display:flex;align-items:center;gap:8px;flex:none}
.ge-pay__logos img{height:24px;width:auto}
.ge-pay__chorus img{height:26px}
.ge-pay__chorus span{font-size:11px;line-height:1.2;color:#7a6f7d}
.ge-pay__desc{display:none;padding:0 18px 16px 94px;font-size:14px;color:#4a404d;line-height:1.5}
.ge-pay:has(.payment-option__input:checked) .ge-pay__desc{display:block}
.ge-pay .ge-pay__add{padding:0 18px 16px 94px;font-size:14px;color:#4a404d;margin:0;background:transparent;border:0}
.ge-pay .ge-pay__add--hidden{display:none!important}
@media (max-width:575px){
  .ge-pay__chorus span{display:none}
  .ge-pay__desc,.ge-pay .ge-pay__add{padding-left:18px}
  .ge-pay__ico{width:36px;height:36px}
  .ge-pay__txt b{font-size:16px}
}
.ge-pay .paypal-marks,.ge-pay .paypal-mark{display:none!important}
[data-pp-message],.paypal-messages,.pp-message,#paypal-message-container,[id^="paypal-messag"],.paypal-installment-banner{display:none!important}
