@charset "UTF-8";
:root {
  --bs-link-color: #000;
  --bs-primary: #000;
}

/* _fonts.scss — mêmes fichiers officiels que le site vitrine (rdvitrine) */
@font-face {
  font-family: "ThinkLoved";
  src: url("../../fonts/ThinkLoved/ThinkLoved.woff2") format("woff2"), url("../../fonts/ThinkLoved/ThinkLoved.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Archivo";
  src: url("../../fonts/Archivo/Archivo-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archivo";
  src: url("../../fonts/Archivo/Archivo-Italic-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
:root {
  --bs-body-line-height: 1.25;
}

.dropdown-menu,
.dropdown-menu-dark {
  --bs-dropdown-link-active-bg: var(--pds-jaune-pale);
  --bs-dropdown-link-active-color: #000;
}

b,
strong {
  font-weight: bold;
}

/* Optionnel: italique, etc. */
.container {
  max-width: 100% !important;
}

button {
  color: inherit;
}

.alert {
  border: none;
  border-radius: 14px;
  position: relative;
  padding: 14px 18px 14px 46px;
  color: #000;
  font-weight: 500;
}
.alert:before {
  content: "!";
  position: absolute;
  left: 16px;
  top: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #000;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
}
.alert a {
  color: #000;
  text-decoration: underline;
}
.alert ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.alert p:last-child {
  margin-bottom: 0;
}
.alert > .material-icons {
  display: none;
}
.alert-success {
  background-color: var(--pds-jaune-pale);
  color: #000;
}
.alert-success:before {
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/10px 10px no-repeat;
}
.alert-info {
  background-color: var(--pds-gris-100);
  color: #000;
}
.alert-info:before {
  content: "i";
}
.alert-warning {
  background-color: var(--pds-orange-pale);
  color: #000;
}
.alert-danger {
  background-color: rgba(254, 59, 47, 0.8509803922);
  color: #fff;
}
.alert-danger:before {
  content: "✕";
  color: #fff;
  border-color: #fff;
}
.alert-danger a {
  color: #fff;
}

.bg-grey {
  background-color: #f9f9f9;
}

.card-body > *:last-child {
  margin-bottom: 0;
}

@media (min-width: 1400px) {
  .checkout-steps__mobile, .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xs, .container-xxl {
    max-width: 100%;
  }
}
.badge {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 23px;
  font-size: 0.85rem;
  font-weight: normal;
}
.badge-success {
  background-color: rgba(40, 167, 69, 0.15);
  color: #28a745;
}
.badge-danger {
  background-color: rgba(220, 53, 69, 0.15);
  color: #dc3545;
}
.badge-warning {
  background-color: rgba(252, 162, 37, 0.15);
  color: rgb(252, 162, 37);
}
.badge-primary {
  background-color: rgba(0, 0, 0, 0.1);
  color: #000;
}
.badge-info {
  background-color: rgba(56, 125, 255, 0.15);
  color: #387dff;
}
.badge-muted {
  background-color: #f0f0f0;
  color: #898d90;
}

html,
body {
  position: relative;
  z-index: 0;
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* Internet Explorer 10+ */
  /* Empêcher le zoom sur les champs de formulaire en mobile */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.text-orange {
  color: rgb(252, 162, 37) !important;
}
.text-primary {
  color: #000 !important;
}
.text-underline {
  text-decoration: underline !important;
}

.link-chevron, .search-dropdown__not-found-brand__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #000;
  font-weight: 600;
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.link-chevron::after, .search-dropdown__not-found-brand__link::after {
  content: "›";
  display: inline-block;
  line-height: 1;
  transform: scale(1.5);
  transform-origin: center;
}
.link-chevron:hover, .search-dropdown__not-found-brand__link:hover, .link-chevron:focus, .search-dropdown__not-found-brand__link:focus, .link-chevron:active, .search-dropdown__not-found-brand__link:active {
  color: #000;
  text-decoration: none;
}

.form-label.required::after,
label.required::after {
  content: " *";
  color: var(--pds-orange);
}

.btn-close {
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E") center/1em auto no-repeat;
  opacity: 1;
}

.btn-dropdown {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.btn-dropdown::after {
  content: "›";
  display: inline-block;
  line-height: 1;
  transform: rotate(90deg);
}

.clamp-more__content.is-clamped {
  overflow: hidden;
}
.clamp-more__toggle {
  margin-top: 0.5rem;
  color: #000;
  font-weight: 600;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.clamp-more__toggle::after {
  transition: transform 0.18s ease;
}
.clamp-more__toggle[aria-expanded=true]::after {
  transform: rotate(-90deg);
}
@media (min-width: 1024px) {
  .clamp-more__content.is-clamped {
    overflow: visible;
    max-height: none !important;
  }
  .clamp-more__toggle {
    display: none;
  }
}

.stat-value {
  font-family: "ThinkLoved", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 1.75rem;
  color: #000;
  line-height: 1;
}

.stat-label {
  font-size: 1.125rem;
  font-weight: 600;
  color: #000;
}

.has-info-bubble {
  position: relative;
}

.info-bubble {
  position: fixed;
  top: 0;
  left: 0;
  width: max-content;
  max-width: 260px;
  padding: 0.7rem 0.8rem;
  background: #898d90;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease;
  pointer-events: none;
  z-index: 20;
}
.info-bubble strong {
  font-weight: 600;
}
.info-bubble p {
  margin: 0 0 0.4rem;
}
.info-bubble p:last-child {
  margin-bottom: 0;
}
.info-bubble ul {
  margin: 0;
  padding-left: 0.9rem;
  list-style: disc;
}
.info-bubble li {
  margin-bottom: 0.25rem;
}
.info-bubble li:last-child {
  margin-bottom: 0;
}
.info-bubble::after {
  content: "";
  position: absolute;
  top: 100%;
  left: var(--tip-arrow-x, 50%);
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-top-color: #898d90;
  border-bottom: 0;
}

.info-bubble--below::after {
  top: auto;
  bottom: 100%;
  border-top: 0;
  border-bottom: 7px solid #898d90;
}

.info-bubble__title {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 600;
}

.info-bubble__note {
  display: flex;
  gap: 0.3rem;
  margin: 0.4rem 0 0;
}
.info-bubble__note svg {
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  margin-top: 0.1em;
}

.has-info-bubble:hover > .info-bubble,
.has-info-bubble:focus > .info-bubble,
.has-info-bubble:focus-visible > .info-bubble {
  opacity: 1;
  visibility: visible;
}

@layer vendors {
  .text-muted {
    color: #898d90 !important;
  }
}
/* Cacher la scrollbar sur Webkit (Chrome, Safari, iOS…) */
::-webkit-scrollbar {
  display: none;
}

.font-italic {
  font-style: italic !important;
}

input,
textarea,
select,
button {
  touch-action: manipulation;
  -ms-touch-action: manipulation;
  font-size: 1rem !important; /* évite le zoom automatique sur iOS */
  line-height: 1.2;
}

input[type=date],
input[type=datetime-local],
input[type=time],
input[type=month],
input[type=week] {
  accent-color: #000;
}

form {
  max-width: 1000px;
  width: 100%;
}
form .form-control:focus,
form .modal.product-comment-modal .form-control:focus,
form .modal.product-comment-modal textarea:focus {
  box-shadow: none !important;
}

.form-control,
input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=tel],
input[type=url],
input[type=search],
input[type=date],
input[type=datetime-local],
input[type=time],
input[type=file],
select,
textarea {
  display: block;
  width: 100%;
  border: 1px solid #cbcbcb;
  border-radius: 8px;
  padding: 0.65rem 1rem;
  font-size: 0.9rem;
  font-family: inherit;
  color: #000;
  background-color: #fff;
  line-height: 1.4;
  transition: border-color 0.15s ease;
  appearance: none;
  -webkit-appearance: none;
}

textarea {
  min-height: 120px;
  resize: vertical;
}

input[type=file] {
  padding: 0.5rem 0.75rem;
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #000;
  box-shadow: none;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: #898d90;
}

select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6 11 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 12px 8px;
  padding-right: 2.5rem;
}

.form-control:disabled,
.form-control[disabled],
input:disabled,
select:disabled,
textarea:disabled {
  background-color: #f9f9f9;
  color: #898d90;
  cursor: not-allowed;
}

.form-control-lock-wrap {
  position: relative;
}
.form-control-lock-wrap > .form-control,
.form-control-lock-wrap > input,
.form-control-lock-wrap > select,
.form-control-lock-wrap > textarea {
  padding-right: 2.5rem;
}

.form-control-lock {
  position: absolute;
  top: 50%;
  right: 0.85rem;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23898d90' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7.25' width='10' height='6.5' rx='1.25'/%3E%3Cpath d='M5.25 7.25V4.75a2.75 2.75 0 0 1 5.5 0v2.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  outline: none;
}

.form-control-lock::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 10px);
  right: -10px;
  width: max-content;
  max-width: 260px;
  padding: 0.5rem 0.75rem;
  background: #898d90;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  color: #fff;
  font-size: 10px;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease;
  pointer-events: none;
  z-index: 10;
}

.form-control-lock:hover::after,
.form-control-lock:focus::after,
.form-control-lock:focus-visible::after {
  opacity: 1;
  visibility: visible;
}

.form-label {
  margin-bottom: 0.25rem;
  font-size: 0.9rem;
  color: #898d90;
  font-weight: normal !important;
}

.form-group {
  margin-bottom: 1rem;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  color: #222;
}
@media (max-width: 1023px) {
  body {
    height: 100vh;
    overflow-y: auto;
  }
}
@media (min-width: 1024px) {
  body {
    min-height: 100vh;
  }
}
@media (max-width: 768px) {
  body {
    touch-action: manipulation;
    -ms-touch-action: manipulation;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
}
body h1,
body h2,
body h3,
body .h1,
body .h2,
body .h3 {
  font-family: "ThinkLoved", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 500 !important;
}
body h1, body .h1 {
  font-size: 26px;
  margin-bottom: 1rem;
  text-align: center;
}
body h2, body .h2 {
  font-size: 24px;
}
@media (max-width: 1023px) {
  body h2, body .h2 {
    font-size: 18px;
  }
}
body h3, body .h3 {
  font-size: 22px;
  margin-bottom: 0.5rem;
}
@media (max-width: 1023px) {
  body h3, body .h3 {
    font-size: 1rem;
  }
}

.product-actions__quantity.quantity-button .input-group {
  border: 1.5px solid var(--pds-gris-200);
  border-radius: 12px;
  overflow: hidden;
}
.product-actions__quantity.quantity-button .input-group input,
.product-actions__quantity.quantity-button .input-group .btn {
  border: none !important;
}

.quantity-button input {
  max-width: 100% !important;
  font-weight: 600;
  padding: 0.5rem !important;
  height: auto !important;
  border-radius: 0 !important;
}
.quantity-button button {
  background-color: #ffffff !important;
  width: 50px !important;
  height: 50px !important;
}
.quantity-button button.active {
  background-color: #000 !important;
  color: #fff !important;
  opacity: 1 !important;
}
@media (hover: hover) {
  .quantity-button button:hover {
    background-color: #000 !important;
    color: #fff !important;
    opacity: 1 !important;
  }
}
.quantity-button button.increment {
  border-left: 0 !important;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.quantity-button button.decrement {
  border-right: 0 !important;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.btn {
  padding: 14px 30px;
  border-radius: 9px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn.btn-sm {
  padding: 12px 20px;
}
.btn.disabled, .btn:disabled {
  background-color: #000;
  color: #fff;
  transform: none;
  box-shadow: none;
}
.btn-outline {
  background-color: transparent;
}
.btn-outline-primary {
  color: #000;
  border: 2px solid #000 !important;
}
.btn-outline-primary:active {
  background-color: #000;
  color: #fff;
}
@media (hover: hover) {
  .btn-outline-primary:hover {
    background-color: #000;
    color: #fff;
  }
}
.btn-primary {
  background-color: #000;
  color: #fff;
  border: 2px solid #000;
  cursor: pointer;
  box-shadow: none;
}
.btn-primary:focus {
  box-shadow: none;
}
.btn-primary:active {
  background-color: #000 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}
@media (hover: hover) {
  .btn-primary:hover {
    background-color: #000 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  }
}

.badge-count {
  border-radius: 100%;
  height: 1.6em;
  min-width: 1.6em;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  padding: 3px !important;
  font-size: 1rem;
  margin-left: 1rem;
}
.badge-count-primary {
  background: var(--pds-degrade-fond);
  color: #000;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.company-admin-topbar {
  position: sticky;
  top: 0;
  z-index: 101;
  width: 100vw;
  margin-left: calc((100vw - 100%) / -2);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 32px;
  padding: 0.25rem 1rem;
  background-color: #000;
  color: #fff;
  text-align: center;
  font-size: 0.8125rem;
}
.company-admin-topbar__badge {
  padding: 0.125rem 0.75rem;
  background-color: #5b5b5b;
  border-radius: 999px;
  font-weight: 600;
}
.company-admin-topbar__sep {
  opacity: 0.6;
}

body.company-admin .site-header,
body.network-admin .site-header,
body.partner-admin .site-header {
  top: 32px;
}

body.company-admin .search-overlay,
body.network-admin .search-overlay,
body.partner-admin .search-overlay {
  top: calc(78px + 32px);
}

body.company-admin #_desktop_search #search_widget .search-dropdown,
body.network-admin #_desktop_search #search_widget .search-dropdown,
body.partner-admin #_desktop_search #search_widget .search-dropdown {
  top: calc(78px + 14px + 32px);
}

body.company-admin .header-menu > *:not(#_desktop_cart):not(#_desktop_company_info):not(#_desktop_network_info) {
  display: none !important;
}

body.network-admin .header-menu > *:not(#_desktop_network_info) {
  display: none !important;
}

body.partner-admin .header-menu > *:not(#_desktop_partner_info) {
  display: none !important;
}

body.partner-admin .header-search,
body.partner-admin #_desktop_search,
body.partner-admin .mobile-bottom-nav,
body.partner-admin .sidebar {
  display: none !important;
}

.site-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  height: 78px;
  background: #fff;
  z-index: 100;
  display: flex;
  align-items: center;
  padding: 0 1rem;
  width: 100vw;
  margin-left: calc((100vw - 100%) / -2);
  border-bottom: none;
}
.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--pds-degrade-principal);
  pointer-events: none;
  z-index: 1001;
}
.site-header .dropdown-toggle:after {
  content: none !important;
}
.site-header .header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  height: 78px;
  gap: 1rem;
}
.site-header .site-logo {
  height: 42px;
  width: auto;
}
.site-header .site-logo[src*=logo-pperso] {
  height: 30px;
}
.site-header #search_widget {
  width: 100%;
}
.site-header #search_widget .search-form {
  display: none;
  width: 100%;
  max-width: 500px;
  flex-grow: 1;
  position: relative;
}
.site-header #search_widget .search-form input {
  width: 100%;
  padding: 0.6rem 1rem 0.6rem 52px;
  background-color: var(--pds-gris-100);
  border: 1.5px solid transparent;
  border-radius: 999px;
  font-size: 1rem;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.site-header #search_widget .search-form input:focus {
  background-color: #fff;
  border-color: var(--pds-noir);
}
.site-header #search_widget .search-form input::placeholder {
  color: var(--pds-gris-500);
}
.site-header #search_widget .search-form input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  height: 14px;
  width: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23898d90' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat;
  cursor: pointer;
}
.site-header #search_widget .search-form button {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
}
.site-header #search_widget .search-form button svg {
  height: 20px;
  width: auto;
  fill: #222;
}
.site-header .header-wallet {
  display: flex;
}
.site-header .header-wallet .wallet-amount {
  background: var(--pds-degrade-fond);
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: bold;
  font-size: 1rem;
  height: max-content;
}
.site-header .header-wallet svg {
  height: 28px;
  width: auto;
}
.site-header .header-menu {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.site-header .header-menu .header-icon {
  display: none;
  flex-direction: column;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  height: 55px;
  justify-content: center;
}
.site-header .header-menu .header-icon svg {
  height: 28px;
  width: auto;
}
.site-header .header-menu .header-icon .header-block__badge {
  position: absolute;
  top: 0.4em;
  height: 1.6em;
  min-width: 1.6em;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 700;
  color: #000;
  padding: 0 5px;
  border-radius: var(--radius-pill);
  background: var(--pds-degrade-fond);
  box-shadow: 0 0 0 2px #fff;
}
.site-header .header-menu .header-icon-mobile {
  display: flex !important;
}
.site-header .header-menu .header-icon-mobile span {
  display: none;
}
.site-header .header-menu #_desktop_cart, .site-header .header-menu #_desktop_wishlist, .site-header .header-menu #_desktop_advantages, .site-header .header-menu #_desktop_bons {
  display: none;
}

@media (min-width: 1024px) {
  .site-header #search_widget .search-form {
    display: block;
    margin: 0 auto;
  }
  .header-wallet {
    display: none !important;
  }
  .header-logo,
  .header-menu {
    flex: 0 0 auto;
    align-items: center;
    gap: 1.5rem;
  }
  .header-logo .header-icon,
  .header-logo .header-icon-mobile,
  .header-menu .header-icon,
  .header-menu .header-icon-mobile {
    display: flex !important;
  }
  .header-logo .header-icon span,
  .header-logo .header-icon-mobile span,
  .header-menu .header-icon span,
  .header-menu .header-icon-mobile span {
    display: block !important;
  }
  .header-logo #_desktop_cart, .header-logo #_desktop_wishlist, .header-logo #_desktop_advantages, .header-logo #_desktop_bons,
  .header-menu #_desktop_cart,
  .header-menu #_desktop_wishlist,
  .header-menu #_desktop_advantages,
  .header-menu #_desktop_bons {
    display: block !important;
  }
  .header-search {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
  }
}
.header-menu #_desktop_company_info {
  order: -1;
}
.header-menu #_desktop_network_info {
  order: -1;
}
.header-menu .header-icon {
  border-radius: 12px;
  padding: 6px 12px;
  transition: background-color 0.15s ease;
}
.header-menu .header-icon:focus-visible, .header-menu .header-icon.show {
  background-color: #f9f9f9;
}
@media (hover: hover) {
  .header-menu .header-icon:hover {
    background-color: #f9f9f9;
  }
}
.header-menu .header-icon:focus-visible {
  outline: 2px solid var(--pds-noir);
  outline-offset: 2px;
}
@media (hover: none) and (pointer: coarse) {
  .header-menu .header-icon:focus, .header-menu .header-icon:focus-visible {
    outline: none;
  }
  .header-menu .header-icon:hover:not(.show), .header-menu .header-icon:focus:not(.show), .header-menu .header-icon:focus-visible:not(.show) {
    background-color: transparent;
  }
}

.header-menu #_desktop_user_info,
.header-menu #_desktop_company_info {
  position: relative;
}
.header-menu .dropdown-menu {
  display: block;
  position: absolute;
  top: 100%;
  visibility: hidden;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: all 0.18s ease;
}
.header-menu .dropdown-menu.show {
  visibility: visible;
  opacity: 1;
  transform: translateY(4px);
  pointer-events: auto;
}
.header-menu .dropdown-menu-end {
  right: 0;
  left: auto;
}

.account-menu {
  min-width: 250px;
  margin-top: 10px !important;
  padding: 8px;
  border: none;
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  max-height: calc(100vh - 78px - 30px);
  max-height: calc(100dvh - 78px - 30px);
  overflow-y: auto;
}
@media (max-width: 1023px) {
  .account-menu {
    max-height: calc(100vh - 78px - 60px - 30px);
    max-height: calc(100dvh - 78px - 60px - 30px);
  }
}
.account-menu .account-menu__greeting {
  font-weight: 600;
  padding: 4px 8px 10px;
}
@media (max-width: 1023px) {
  .account-menu .account-menu__greeting {
    display: none;
  }
}
.account-menu .account-menu__logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  border-radius: 10px;
}
@media (max-width: 1023px) {
  .account-menu .account-menu__logo {
    display: none;
  }
}
.account-menu .account-menu__logo img {
  max-height: 30px;
  width: auto;
}
.account-menu .account-menu__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 500;
  color: #000;
}
.account-menu .account-menu__item svg,
.account-menu .account-menu__item img {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}
@media (hover: hover) {
  .account-menu .account-menu__item:hover {
    background-color: var(--pds-jaune-pale);
    color: #000;
  }
}
.account-menu .account-menu__logout {
  display: block;
  width: 100%;
  margin-top: 12px;
  text-align: center;
}
@media (min-width: 1024px) {
  .account-menu .account-menu__item--mobile {
    display: none;
  }
}

.mega-user-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  background-color: var(--pds-jaune-pale);
  border-radius: 12px;
}
.mega-user-bar__center {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
}
.mega-user-bar__center svg {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}
.mega-user-bar__label {
  margin: 0;
  font-weight: 600;
  color: #000;
}
.mega-user-bar__select {
  width: auto;
  min-width: 220px;
  font-weight: 600;
}

.site-main {
  flex: 1;
  background: #fff;
  padding: 25px;
}
@media (max-width: 1023px) {
  .site-main {
    padding: 25px 0;
  }
}
.site-main p,
.site-main a,
.site-main span,
.site-main div {
  overflow-wrap: break-word;
  word-break: break-word;
  /* compatibilité */
  white-space: normal;
}

.site-footer {
  display: none;
}

.mobile-bottom-nav {
  position: sticky;
  bottom: 0;
  height: 60px;
  background: #fff;
  z-index: 10000;
  border-top: 1px solid #cbcbcb;
  display: flex;
  justify-content: space-around;
  align-items: center;
  font-size: 12px;
}
.mobile-bottom-nav .footer-item,
.mobile-bottom-nav .header-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #222;
  background-color: transparent;
  border: none;
  user-select: none;
  position: relative;
}
.mobile-bottom-nav .footer-item:focus,
.mobile-bottom-nav .header-icon:focus {
  outline: none;
  box-shadow: none;
}
.mobile-bottom-nav .footer-item.active,
.mobile-bottom-nav .header-icon.active {
  color: #000 !important;
  font-weight: bold;
}
.mobile-bottom-nav .footer-item.active .footer-item-text,
.mobile-bottom-nav .header-icon.active .footer-item-text {
  border-bottom: 1px solid black;
}
.mobile-bottom-nav .footer-item.active#toogleMobileMenu svg path,
.mobile-bottom-nav .footer-item.active#toogleMobileMenu svg circle,
.mobile-bottom-nav .footer-item.active#toogleMobileMenu svg rect,
.mobile-bottom-nav .header-icon.active#toogleMobileMenu svg path,
.mobile-bottom-nav .header-icon.active#toogleMobileMenu svg circle,
.mobile-bottom-nav .header-icon.active#toogleMobileMenu svg rect {
  stroke: #000 !important;
}
.mobile-bottom-nav .footer-item.active:not(#toogleMobileMenu) svg path,
.mobile-bottom-nav .footer-item.active:not(#toogleMobileMenu) svg circle,
.mobile-bottom-nav .footer-item.active:not(#toogleMobileMenu) svg rect,
.mobile-bottom-nav .header-icon.active:not(#toogleMobileMenu) svg path,
.mobile-bottom-nav .header-icon.active:not(#toogleMobileMenu) svg circle,
.mobile-bottom-nav .header-icon.active:not(#toogleMobileMenu) svg rect {
  fill: #000 !important;
}
.mobile-bottom-nav .footer-item#toogleMobileMenu svg path,
.mobile-bottom-nav .footer-item#toogleMobileMenu svg circle,
.mobile-bottom-nav .footer-item#toogleMobileMenu svg rect,
.mobile-bottom-nav .header-icon#toogleMobileMenu svg path,
.mobile-bottom-nav .header-icon#toogleMobileMenu svg circle,
.mobile-bottom-nav .header-icon#toogleMobileMenu svg rect {
  stroke: #898D90 !important;
}
.mobile-bottom-nav .footer-item#toogleMobileMenu:not(.active) #menu_opened,
.mobile-bottom-nav .header-icon#toogleMobileMenu:not(.active) #menu_opened {
  display: none;
}
.mobile-bottom-nav .footer-item#toogleMobileMenu.active #menu_closed,
.mobile-bottom-nav .header-icon#toogleMobileMenu.active #menu_closed {
  display: none;
}
.mobile-bottom-nav .footer-item#toogleMobileMenu.active #menu_opened,
.mobile-bottom-nav .header-icon#toogleMobileMenu.active #menu_opened {
  height: 26px !important;
}
.mobile-bottom-nav .footer-item:not(#toogleMobileMenu) svg path,
.mobile-bottom-nav .footer-item:not(#toogleMobileMenu) svg circle,
.mobile-bottom-nav .footer-item:not(#toogleMobileMenu) svg rect,
.mobile-bottom-nav .header-icon:not(#toogleMobileMenu) svg path,
.mobile-bottom-nav .header-icon:not(#toogleMobileMenu) svg circle,
.mobile-bottom-nav .header-icon:not(#toogleMobileMenu) svg rect {
  fill: #898D90 !important;
}
.mobile-bottom-nav .footer-item-text,
.mobile-bottom-nav .header-icon-text {
  font-size: 12px !important;
}
.mobile-bottom-nav .footer-item svg,
.mobile-bottom-nav .header-icon svg {
  height: 30px;
  width: auto;
  margin-bottom: 2px;
}
.mobile-bottom-nav .footer-item .header-block,
.mobile-bottom-nav .footer-item .header-block__action-btn,
.mobile-bottom-nav .header-icon .header-block,
.mobile-bottom-nav .header-icon .header-block__action-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 0;
  position: static;
}
.mobile-bottom-nav .footer-item .header-block__badge,
.mobile-bottom-nav .header-icon .header-block__badge {
  position: absolute;
  top: 0;
  left: calc(50% + 8px);
  height: 1.6em;
  min-width: 1.6em;
  width: max-content;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 700;
  padding: 0 5px;
  border-radius: var(--radius-pill);
  background: var(--pds-degrade-fond);
  color: #000;
  box-shadow: 0 0 0 2px #fff;
}

.mobile-sticky-bottom {
  display: none;
}

@media (max-width: 1023px) {
  .mobile-sticky-bottom {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 60px;
    background: #fff;
    padding: 0.75rem 1rem;
    z-index: 50;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
  }
  .mobile-sticky-bottom > .btn,
  .mobile-sticky-bottom > a.btn {
    display: block;
    width: 100%;
  }
  .mobile-sticky-bottom > .btn + .btn,
  .mobile-sticky-bottom > a.btn + a.btn {
    margin-top: 0.5rem;
  }
  .app-scroll:has(.mobile-sticky-bottom) {
    padding-bottom: 5rem;
  }
  .app-scroll:has(.mobile-sticky-bottom > .btn + .btn),
  .app-scroll:has(.mobile-sticky-bottom > a.btn + a.btn) {
    padding-bottom: 8.5rem;
  }
}
.sidebar {
  display: none;
  background: #ffffff;
  border-right: 1.5px solid var(--pds-gris-200);
  width: 240px;
  padding: 1rem;
  transition: width 0.3s ease;
}

.sidebar__inner {
  overflow-y: auto;
}
.sidebar__inner::-webkit-scrollbar {
  display: none;
}

.app-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
}
.app-scroll::-webkit-scrollbar {
  display: none;
}

.app-body {
  flex: 1 0 auto;
  display: flex;
  min-height: 0;
}

@media (min-width: 1024px) {
  .app-scroll {
    flex: 1 0 auto;
    min-height: auto;
    overflow: visible;
  }
  .site-header {
    position: sticky;
    top: 0;
  }
  .mobile-bottom-nav {
    display: none;
  }
  .site-main {
    flex: 1;
    min-width: 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  .sidebar-closed #sidebar {
    width: 65px;
  }
  .sidebar-closed #sidebar span {
    opacity: 0;
  }
  .sidebar-closed #sidebar .mega-panel span {
    opacity: 1;
  }
  .sidebar-closed #sidebar .sidebar-menu__label,
  .sidebar-closed #sidebar .sidebar-menu li.has-mega > a::after {
    opacity: 0;
  }
  .sidebar-closed #sidebar #openMenu {
    justify-content: center;
    gap: 0;
    padding: 10px 0;
  }
  .sidebar-closed #sidebar #openMenu span {
    display: none;
  }
  .sidebar-closed #sidebar #openMenu svg {
    transform: scaleX(1);
  }
  .sidebar {
    display: block;
    flex-shrink: 0;
    z-index: 90;
    /* État ouvert */
  }
  .sidebar .sidebar__inner {
    position: sticky;
    top: calc(78px + 1rem);
    max-height: calc(100vh - 78px - 2rem);
  }
  .sidebar #openMenu {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 15px;
    font-weight: 600;
    padding: 10px 12px;
    margin-bottom: 1rem;
    white-space: nowrap;
    background: var(--pds-gris-100);
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.15s;
  }
}
@media (min-width: 1024px) and (hover: hover) {
  .sidebar #openMenu:hover {
    background: var(--pds-gris-200);
  }
}
@media (min-width: 1024px) {
  .sidebar #openMenu svg {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    user-select: none;
    transform: scaleX(-1);
    transition: transform 0.3s ease;
  }
}
@media (min-width: 1024px) {
  .sidebar .mega-panel {
    position: fixed;
    left: 0;
    top: 0;
    width: min(600px, 70vw);
    max-height: calc(100vh - 32px);
    overflow: auto;
    background: #fff;
    border: none;
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity 0.18s ease, transform 0.18s ease;
  }
  .sidebar .mega-panel.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  .sidebar .mega-panel .mega-inner {
    padding: 18px;
  }
  .sidebar .mega-panel .mega-inner .mega-cols {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col .mega-subcat {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #000;
    font-weight: 500;
    padding: 6px 10px;
    margin: 0 -10px;
    border-radius: 12px;
    transition: background 0.15s ease;
  }
}
@media (min-width: 1024px) and (hover: hover) {
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col .mega-subcat:hover {
    background: var(--pds-jaune-pale);
  }
}
@media (min-width: 1024px) {
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col .mega-subcat .mega-subcat__thumb {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    object-fit: cover;
    border-radius: 8px;
  }
}
@media (min-width: 1024px) {
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col .mega-subcat > svg {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    overflow: visible;
  }
}
@media (min-width: 1024px) {
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col .mega-cta {
    margin-top: 12px;
  }
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col .mega-cta .see-all {
    font-weight: 600;
    text-decoration: none;
  }
}
@media (min-width: 1024px) {
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col--media {
    gap: 14px;
  }
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col--media .mega-cover {
    display: block;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
  }
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col--media .mega-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--pds-voile-image);
  }
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col--media .mega-cover img {
    display: block;
    width: 100%;
    height: 120px;
    object-fit: cover;
  }
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col--media .mega-cover .mega-cover__label {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    text-align: center;
    font-family: var(--font-display);
    font-weight: 400;
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1.1;
    color: #fff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25);
  }
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col--media .mega-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col--media .mega-products .mega-product {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    border: none;
    border-radius: 12px;
    padding: 6px;
    background: var(--pds-gris-100);
    transition: all 0.15s ease;
  }
}
@media (min-width: 1024px) and (hover: hover) {
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col--media .mega-products .mega-product:hover {
    background: var(--pds-jaune-pale);
    transform: translateY(-2px);
  }
}
@media (min-width: 1024px) {
  .sidebar .mega-panel .mega-inner .mega-cols .mega-col--media .mega-products .mega-product img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
}
@media (min-width: 1024px) {
  .sidebar .has-mega.open > .mega-panel,
  .sidebar .has-mega:focus-within > .mega-panel {
    opacity: 1;
    pointer-events: auto;
  }
}
@media (min-width: 1024px) {
  .site-footer {
    display: block;
    position: relative;
    background: #000;
    color: #fff;
    width: 100vw;
    margin-left: calc((100vw - 100%) / -2);
  }
  .site-footer .site-footer__wrapper {
    max-width: 1800px;
    margin: 0 auto;
    padding: 3rem 2rem 1.5rem;
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 2rem;
    align-items: stretch;
  }
  .site-footer .site-footer__brand {
    display: flex;
    flex-direction: column;
  }
  .site-footer .site-footer__logo svg {
    width: 60px;
    height: auto;
  }
  .site-footer .site-footer__content {
    min-width: 0;
  }
  .site-footer .site-footer__menus {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
  .site-footer .footer-col__title {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 1rem;
    color: #fff;
  }
  .site-footer .footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .site-footer .footer-col ul li {
    margin-bottom: 0.5rem;
  }
  .site-footer .footer-col a {
    color: #fff;
    text-decoration: none;
    font-size: 0.9rem;
  }
  .site-footer .footer-col a:hover {
    text-decoration: underline;
  }
  .site-footer .footer-col--social .footer-social {
    display: flex;
    gap: 1rem;
  }
  .site-footer .footer-col--social .footer-social__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    color: #000;
  }
  .site-footer .footer-col--social .footer-social__link svg {
    width: 18px;
    height: 18px;
  }
  .site-footer .footer-col--social .footer-social__link svg path {
    fill: #000;
  }
  .site-footer .site-footer__separator {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    margin: 2rem 0 1.25rem;
  }
  .site-footer .site-footer__copyright {
    color: #fff;
    font-size: 0.85rem;
    margin-top: auto;
  }
  .site-footer .site-footer__legal {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.5rem 1.25rem;
  }
  .site-footer .site-footer__legal li {
    position: relative;
  }
  .site-footer .site-footer__legal li:not(:last-child)::after {
    content: "•";
    position: absolute;
    right: -0.8rem;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
  }
  .site-footer .site-footer__legal a {
    color: #fff;
    text-decoration: none;
    font-size: 0.85rem;
  }
  .site-footer .site-footer__legal a:hover {
    text-decoration: underline;
  }
  .site-footer::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 10px;
    background: var(--pds-degrade-fond);
    pointer-events: none;
  }
}
.sidebar-menu,
.sidebar-secondary {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebar-menu hr,
.sidebar-secondary hr {
  border: none;
  border-top: 1.5px solid var(--pds-gris-200);
  margin: 1rem 0;
  opacity: 1;
}
.sidebar-menu__label,
.sidebar-secondary__label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--pds-gris-500);
  letter-spacing: 0.03em;
  padding: 0 12px;
  margin: 1.25rem 0 0.5rem;
  transition: opacity 0.2s ease;
}
.sidebar-menu li,
.sidebar-secondary li {
  margin-bottom: 0.25rem;
  white-space: nowrap;
}
.sidebar-menu li > a,
.sidebar-secondary li > a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 15px;
  font-weight: 500;
  color: #000;
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 12px;
  transition: background 0.15s;
}
@media (hover: hover) {
  .sidebar-menu li > a:hover,
  .sidebar-secondary li > a:hover {
    background: var(--pds-gris-100);
  }
}
.sidebar-menu li > a svg,
.sidebar-secondary li > a svg {
  height: 20px;
  width: 20px;
  overflow: visible;
}
.sidebar-menu li.active > a,
.sidebar-secondary li.active > a {
  background: var(--pds-jaune-pale);
  font-weight: 600;
}
.sidebar-menu li.has-mega > a::after,
.sidebar-secondary li.has-mega > a::after {
  content: "›";
  margin-left: auto;
  font-weight: 600;
  line-height: 1;
  color: var(--pds-gris-500);
  transition: transform 0.18s ease, color 0.18s ease, opacity 0.2s ease;
}
.sidebar-menu li.has-mega:hover > a::after, .sidebar-menu li.has-mega.open > a::after, .sidebar-menu li.has-mega:focus-within > a::after,
.sidebar-secondary li.has-mega:hover > a::after,
.sidebar-secondary li.has-mega.open > a::after,
.sidebar-secondary li.has-mega:focus-within > a::after {
  transform: translateX(3px);
  color: #000;
}

@media (min-width: 1024px) {
  .product__actions_button_mobile {
    display: none !important;
  }
}
/* Conteneur d’app plein écran (mobile) */
.app {
  width: 100%;
  max-width: 1800px;
  display: flex;
  flex-direction: column;
  background: #fff;
}
@media (max-width: 1023px) {
  .app {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 50%;
    /* transform crée un containing block pour les enfants position:fixed
       (sidebar, etc.) qui seront alors positionnés par rapport à .app */
    transform: translateX(-50%);
    z-index: 1;
  }
}
@media (min-width: 1024px) {
  .app {
    margin: 0 auto;
    min-height: 100vh;
  }
}

/* Les modals Bootstrap sont déplacés dans <body> via JS (voir custom.js)
   pour éviter le stacking context de .app. On s’assure qu’ils passent au-dessus. */
body > .modal-backdrop {
  z-index: 1040;
}

body > .modal {
  z-index: 1050;
}

@media (max-width: 1023px) {
  .modal-mobile {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 60px;
    top: 78px;
    z-index: 1002 !important;
    width: 100%;
    padding: 1rem;
    background-color: #ffffff;
    flex-direction: column;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    transform: translateY(100%);
  }
  .modal-mobile.active {
    animation: slideUp 0.3s ease-in-out forwards;
  }
  .modal-mobile.inactive {
    animation: slideDown 0.3s ease-in-out forwards;
  }
  @keyframes slideUp {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes slideDown {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(100%);
      opacity: 0;
    }
  }
  #offcanvas-main-menu-mobile section:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  #offcanvas-main-menu-mobile .search-form {
    display: block;
    margin: 0 auto;
    position: relative;
    width: 100%;
  }
  #offcanvas-main-menu-mobile .search-form button {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
  }
  #offcanvas-main-menu-mobile .search-form button svg {
    height: 20px;
    width: auto;
    fill: #222;
  }
  #offcanvas-main-menu-mobile .search-form .js-search-input,
  #offcanvas-main-menu-mobile .search-form .js-search-input-mobile {
    width: 100%;
    padding: 0.6rem 1rem 0.6rem 52px;
    background-color: var(--pds-gris-100);
    border: 1.5px solid transparent;
    border-radius: 999px;
    font-size: 1rem;
    transition: background-color 0.15s ease, border-color 0.15s ease;
  }
  #offcanvas-main-menu-mobile .search-form .js-search-input:focus,
  #offcanvas-main-menu-mobile .search-form .js-search-input-mobile:focus {
    background-color: #fff;
    border-color: var(--pds-noir);
  }
  #offcanvas-main-menu-mobile .search-form .js-search-input::placeholder,
  #offcanvas-main-menu-mobile .search-form .js-search-input-mobile::placeholder {
    color: var(--pds-gris-500);
  }
  #offcanvas-main-menu-mobile .search-form .js-search-input[type=search]::-webkit-search-cancel-button,
  #offcanvas-main-menu-mobile .search-form .js-search-input-mobile[type=search]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    height: 14px;
    width: 14px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23898d90' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat;
    cursor: pointer;
  }
  #offcanvas-main-menu-mobile .products-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
  }
  #offcanvas-main-menu-mobile .products-list .product-item {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
  }
  #offcanvas-main-menu-mobile .products-list .product-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  #offcanvas-main-menu-mobile .menu-link-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 1.5rem;
  }
  #offcanvas-main-menu-mobile .menu-link-list-item {
    display: flex;
    align-items: center;
    padding: 15px;
    border-radius: 3px;
    background-color: #f9f9f9;
    gap: 1rem;
  }
  #offcanvas-main-menu-mobile .menu-link-list-item span {
    font-size: 15px;
    font-weight: 600;
  }
  #offcanvas-main-menu-mobile .menu-link-list-item svg {
    height: 22px;
    width: auto;
  }
  #offcanvas-main-menu-mobile .menu-link-list-item .chev {
    margin-left: auto;
  }
  #offcanvas-main-menu-mobile .products-mini {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
  }
  #offcanvas-main-menu-mobile .products-mini > a {
    aspect-ratio: 1;
    min-width: 0;
    padding: 6px;
    background-color: #f9f9f9;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    overflow: hidden;
  }
  #offcanvas-main-menu-mobile .products-mini > a img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .no-scroll {
    overflow: hidden;
  }
  #modal-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 60px;
    z-index: 999 !important;
    background-color: rgba(0, 0, 0, 0.5);
    overflow: hidden;
  }
  #modal-backdrop.show {
    display: block;
  }
}
.cats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 1023px) {
  .cats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.cats .cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  overflow: hidden;
  height: 90px;
  background: var(--pds-gris-100);
  border-radius: var(--radius-md);
  transition: all 0.15s ease;
}
@media (hover: hover) {
  .cats .cat:hover {
    background: var(--pds-jaune-pale);
    transform: translateY(-2px);
  }
}
.cats .cat:active {
  background: var(--pds-jaune-pale);
}
.cats .cat:focus-visible {
  outline: 3px solid #000;
}
.cats .cat .cat__picto {
  width: 36px;
  height: 36px;
  display: block;
}
.cats .cat .label {
  font-family: "ThinkLoved", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #000;
  font-weight: 800;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  font-size: 0.85rem;
  display: inline-block;
  text-align: center;
  padding: 0 6px;
}

#product .product-title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  flex-wrap: wrap;
}
#product .product-title-row .product-website-link {
  white-space: nowrap;
}
#product .product-promo-banner {
  color: #f63e52 !important;
  text-decoration: underline !important;
}
#product .product-promo-banner .info {
  display: inline-block;
  margin-left: 6px;
  background: #ffffff !important;
  border: 1px solid #f63e52;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  text-align: center;
  line-height: 16px;
  font-style: normal;
  color: #f63e52;
  font-size: 12px;
}
#product #promoModal .modal-header .modal-title {
  color: #f63e52 !important;
}
#product #promoModal .promo-cgv {
  font-style: italic;
  font-size: 12px;
}
#product #add-to-cart-or-refresh-mobile {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
#product #add-to-cart-or-refresh-mobile .product__actions_content {
  flex-grow: 1;
  overflow-y: auto;
}
#product #combinationsGroupsAccordion {
  padding: 0.5rem;
  background-color: #ffffff;
  border-radius: 8px;
}
#product #combinationsGroupsAccordion .accordion-item {
  margin-bottom: 1rem;
  border: 0;
}
#product #combinationsGroupsAccordion .accordion-item .accordion-collapse.show {
  border-bottom: 1px solid #cbcbcb;
}
#product #combinationsGroupsAccordion .accordion-item:last-child .accordion-collapse.show {
  border-bottom: 0;
}
#product #combinationsGroupsAccordion .accordion-item .accordion-header {
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid #cbcbcb;
}
#product #combinationsGroupsAccordion .accordion-item .accordion-button {
  padding: 0.75rem;
}
#product #combinationsGroupsAccordion .accordion-item .accordion-button:not(.collapsed) {
  color: #000;
}
#product #combinationsGroupsAccordion .accordion-item .accordion-body {
  padding: 0 !important;
}
#product .benefit_logins {
  padding: 1rem;
  background-color: #ffffff;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
#product .benefit_logins > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#product .benefit_logins > div:not(:last-child) {
  border-bottom: 2px solid #cbcbcb;
  padding-bottom: 0.75rem;
}
#product .benefit_logins > div label {
  font-weight: 600;
}
#product .benefit_promocode {
  padding: 1rem;
  background-color: #ffffff;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
#product .benefit_promocode > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}
#product .benefit_promocode > div:not(:last-child) {
  border-bottom: 2px solid #cbcbcb;
  padding-bottom: 0.75rem;
}
#product .benefit_promocode > div label {
  font-weight: 600;
  flex: 0 1 50%;
  max-width: 50%;
}
#product .benefit_promocode > div .benefit_promocode-info {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
#product .steps_benefit {
  margin-bottom: 2rem;
}
#product .steps_benefit .step_benefit {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
#product .steps_benefit .step_benefit-position {
  width: 25px;
  height: 25px;
  margin: 1px 0;
  background-color: #000;
  color: #ffffff;
  font-size: 1rem;
  font-weight: bold;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#product .steps_benefit .step_benefit-description {
  flex: 1;
}
#product #offers .offer-title {
  font-weight: 600;
  margin-bottom: 0.25rem;
}
#product #offers .offer-price {
  font-size: 18px;
  font-weight: bold;
  color: #000;
}
#product #offers .offer-public-price {
  text-decoration: line-through;
  color: #898d90;
  font-size: 1rem;
}
#product #offers .offer-quantity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}
#product #offers-prices {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
#product .condition-list {
  margin-top: 1rem;
}
#product .condition-list .condition-item {
  display: flex;
  align-items: start;
  gap: 0.5rem;
}
#product .condition-list .condition-item-text-label {
  font-weight: 600;
  display: block;
  margin-bottom: 0.25rem;
}
#product .product-infos {
  margin-top: 1rem;
}
#product .product-infos .product-info-item {
  display: flex;
  align-items: start;
  gap: 0.5rem;
}
#product .product-infos .product-info-item-text-label {
  font-weight: 600;
  display: block;
  margin-bottom: 0.25rem;
}
#product .product-economy {
  background-color: var(--pds-jaune);
  padding: 0.35rem 0.75rem;
  border-radius: 0.18em;
  font-size: 20px;
  font-weight: 700;
  display: inline-block;
  transform: rotate(-2deg);
  font-family: "ThinkLoved", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
@media (max-width: 1023px) {
  #product .product-economy {
    font-size: 1rem;
    padding: 6px 10px;
  }
}
#product .qty_selected_container {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.5rem;
  border-radius: 8px;
  background-color: var(--pds-gris-100);
  font-size: 12px;
  font-weight: bold;
}
#product .qty_selected_container svg {
  height: 16px;
  margin-left: 0.25rem;
  width: auto;
}
#product #modalAddToCartMobile {
  background-color: #f9f9f9 !important;
}
#product #modalAddToCartMobile #closeModalAddToCartMobile {
  margin-left: auto;
  font-size: 12px;
}
#product #modalAddToCartMobile h2 {
  margin-bottom: 2rem !important;
}
#product .product__price_container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
#product .product__price_container .product__price {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
#product .product__price_container .product__price .product__current-price {
  font-weight: bold;
  font-size: 22px;
  color: #000;
}
#product .product__price_container .product__price .product__public-price {
  color: #b2b2b2;
  text-decoration: line-through;
  font-size: 18px;
}
#product .product__price_container .product__economy {
  color: #fca225;
  font-size: 1rem;
}
#product .product__price_container .product__economy span {
  font-size: 18px;
  font-weight: bold;
}
#product .product-section {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
#product .product-section p:last-child {
  margin-bottom: 0;
}
#product #product-map {
  height: 300px;
  width: 100%;
  border-radius: 15px;
  z-index: 1;
}
#product #description ul,
#product #about ul {
  list-style: disc;
  padding-left: 1.5rem;
}
#product #description ol,
#product #about ol {
  list-style: decimal;
  padding-left: 1.5rem;
}
#product #description img,
#product #about img {
  max-width: 100%;
  height: auto;
  border-radius: 15px;
}
@media (min-width: 1024px) {
  #product .product-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 3rem;
    align-items: start;
  }
}
@media (min-width: 1400px) {
  #product .product-layout {
    grid-template-columns: minmax(0, 1fr) 500px;
    gap: 4rem;
  }
}
#product .product_col_actions {
  position: sticky;
  top: calc(78px + 1rem);
  align-self: start;
  z-index: 10;
  padding: 1rem 1.5rem 2rem;
  background-color: #fff;
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
#product .product-content {
  padding-inline: 0.75rem;
}
@media (min-width: 1200px) {
  #product .product-content {
    padding-inline: 1.5rem;
  }
}
#product .product__header {
  height: 325px;
  margin-bottom: 1rem;
}
#product .product__header #product-flag-wishlist {
  position: absolute;
  display: flex;
  align-items: center;
  right: 1rem;
  bottom: 1rem;
  background-color: #ffffff;
  border-radius: 100%;
  box-shadow: 0 2px 4px 0 rgba(255, 34, 255, 0.1333333333);
}
#product .product__header_bg {
  position: relative;
  display: block;
  height: 250px;
  background-size: cover;
  background-position: center;
}
#product .product__header_badge {
  position: absolute;
  bottom: -75px;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 150px;
  padding: 1.5rem;
  border-radius: 100%;
  overflow: hidden;
  box-shadow: 0 2px 4px 0 #f2f2f2;
  background-color: #ffffff;
}
#product .table-variants {
  border-radius: 8px;
  overflow: hidden;
}
#product .table-variants td {
  vertical-align: middle;
  padding: 10px;
}
#product .table-variants td .combination-title {
  font-weight: 600;
}
#product .table-variants td .combination-unavailable {
  display: block;
  text-align: center;
}
#product .table-variants td .combination_prices {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
#product .table-variants td .combination_prices .combination_current-price {
  font-weight: bold;
  font-size: 18px;
  color: #000;
}
#product .table-variants td .combination_prices .combination_public-price {
  color: #b2b2b2;
  text-decoration: line-through;
  font-size: 1rem;
}
#product .table-variants tr:last-child td {
  border-bottom: none;
}
#product #modalAddToCartMobile {
  justify-content: end !important;
  top: auto !important;
}
@media (min-width: 1024px) {
  #product #mobile_add_to_cart {
    display: none !important;
  }
}
@media (max-width: 1023px) {
  #product #desktop_add_to_cart {
    display: none !important;
  }
  #product .product_col_actions {
    display: none;
  }
  #product #site-main {
    padding: 0 !important;
  }
  #product .product__header {
    height: 225px;
  }
  #product .product__header_bg {
    height: 180px;
  }
  #product .product__header_badge {
    width: 90px;
    height: 90px;
    bottom: -45px;
  }
  #product .product__actions_button_mobile {
    padding: 1rem;
    background-color: #ffffff;
  }
  #product .product__actions_header {
    margin-bottom: 1rem;
  }
  #product .product__actions_header h2 {
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
  }
}
#product .quantity-selector {
  border: 1px solid #cbcbcb;
  width: fit-content;
  border-radius: 8px;
  overflow: hidden;
  margin-left: auto;
}
#product .quantity-selector > .form-control {
  flex: none;
  width: 70px;
  text-align: center;
  border: none;
  color: #000;
  font-weight: 600;
  font-size: 1rem;
}
#product .quantity-selector .btn {
  border: none !important;
  border-radius: 0;
  padding: 10px;
  font-size: 20px;
  font-weight: 100;
  width: 40px;
  color: #000;
}
#product .quantity-selector .btn.active {
  background-color: #000;
  color: #fff;
}
@media (hover: hover) {
  #product .quantity-selector .btn:hover {
    background-color: #000;
    color: #fff;
  }
}

.swiper {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-bottom: 2rem;
  user-select: none;
}
@media (max-width: 767px) {
  .swiper {
    margin-bottom: 0;
  }
}
.swiper:has(.swiper-button-lock) .swiper-custom-buttons-link, .swiper:has(.swiper-pagination-lock) .swiper-custom-buttons-link {
  display: none;
}
.swiper-wrapper {
  display: flex;
}
.swiper-slide {
  width: 220px;
}
@media screen and (min-width: 1024px) {
  .swiper-slide {
    width: 260px;
  }
}
.swiper-custom-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-top: 0.75rem;
}
.swiper-custom-buttons-title {
  margin-right: auto;
}
.swiper-custom-buttons-title h3 {
  display: inline-block;
  background: var(--pds-jaune);
  padding: 0.1em 0.35em;
  border-radius: 0.18em;
  transform: rotate(-2deg);
  margin-bottom: 0;
}
.swiper-custom-buttons-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.swiper-custom-buttons-item {
  width: 44px;
  height: 44px;
  background-color: #fff;
  border: 1.5px solid var(--pds-noir);
  border-radius: 50%;
  color: var(--pds-noir);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  transition: all 0.15s;
}
@media (hover: hover) {
  .swiper-custom-buttons-item:hover {
    background-color: var(--pds-noir);
    color: #fff;
  }
}
.swiper-custom-buttons-item.swiper-button-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.swiper-custom-buttons-item.swiper-button-lock {
  display: none;
}
.swiper-custom-buttons-item svg {
  width: 16px;
  height: 16px;
}
.swiper-custom-buttons-item.swiper-custom-button-prev svg {
  transform: scaleX(-1);
}
@media (max-width: 767px) {
  .swiper-custom-buttons-item.swiper-custom-button-prev, .swiper-custom-buttons-item.swiper-custom-button-next {
    display: none;
  }
}

#rdslider-home .swiper-slide {
  width: 80% !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  user-select: none !important;
}
@media (max-width: 767px) {
  #rdslider-home .swiper-slide {
    width: 100% !important;
  }
}
#rdslider-home .swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1rem;
}
#rdslider-home .swiper-pagination.swiper-pagination-lock {
  display: none;
}
#rdslider-home .swiper-pagination .swiper-pagination-bullet {
  width: 44px;
  height: 4px;
  border-radius: var(--radius-pill);
  background-color: var(--pds-gris-200);
  opacity: 1;
  transition: background-color 0.2s ease;
}
#rdslider-home .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #000;
}

.products.products-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .products.products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .products.products-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 1650px) {
  .products.products-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.product-miniature {
  transition: transform 0.22s ease;
}
@media (hover: hover) {
  .product-miniature:hover {
    transform: translateY(-5px);
  }
  .product-miniature:hover .product-miniature__image-container {
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
  }
}
.product-miniature__infos.card-body {
  padding-left: 0;
  padding-right: 0;
}
.product-miniature__title {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 0.25rem !important;
}
.product-miniature__category_name {
  color: #898d90;
  font-size: 1rem;
  margin-bottom: 0 !important;
}
.product-miniature .product-miniature_badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  overflow: hidden;
  padding: 1rem;
  background-color: #fff;
}
@media screen and (max-width: 1023px) {
  .product-miniature .product-miniature_badge {
    width: 95px;
    height: 95px;
  }
}
@media screen and (min-width: 1024px) {
  .product-miniature .product-miniature_badge {
    width: 105px;
    height: 105px;
  }
}
.product-miniature__unavailable {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  font-size: 0.65rem;
  background: rgba(255, 255, 255, 0.9);
  color: #000;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.product-miniature__economy {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  font-family: "ThinkLoved", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.85rem;
  border-radius: 8px;
  background: #fff;
  color: #000;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
@media (min-width: 768px) {
  .product-miniature__economy {
    font-size: 1rem;
  }
}
.product-miniature--unavailable .product-miniature-cover,
.product-miniature--unavailable .product-miniature_badge {
  filter: grayscale(1);
  opacity: 0.6;
}
.product-miniature .product-miniature__image-container {
  position: relative;
  border-radius: var(--radius-md) !important;
  transition: box-shadow 0.22s ease;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .product-miniature .product-miniature__image-container {
    aspect-ratio: 1/1;
  }
}
@media screen and (min-width: 1024px) {
  .product-miniature .product-miniature__image-container {
    aspect-ratio: 4/3;
  }
}
.product-miniature .product-miniature__image-container img.product-miniature-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.modal .modal-dialog .modal-content .modal-header {
  border-bottom: none !important;
  padding: 1rem 1rem !important;
}
.modal .modal-dialog .modal-content .modal-header .modal-title {
  font-weight: bold;
  font-size: 1.25rem;
}
.modal .modal-dialog .modal-content .modal-body {
  padding: 1rem !important;
}
.modal .modal-dialog .modal-content .modal-body h2 {
  margin-bottom: 1rem;
}
.modal .modal-dialog.modal-xl {
  max-width: 900px;
}
@media (max-width: 767px) {
  .modal .modal-dialog.modal-xl {
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
}
.modal#blockcart-modal .modal-dialog {
  width: 380px;
  margin: 1rem auto;
}
.modal#blockcart-modal .modal-dialog .add-to-cart-validation-icon {
  width: fit-content;
  margin: 1rem auto;
  border-radius: 50%;
  background: var(--pds-degrade-fond);
  padding: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal#blockcart-modal .modal-dialog .add-to-cart-validation-icon svg {
  width: 35px;
  height: 35px;
  fill: #000;
}

.account-menu .link-item svg {
  height: 24px;
  margin-right: 0.75rem;
}

.copyButton {
  border: 0;
  background: #ffffff;
}

.growl-notification {
  border-radius: 8px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15) !important;
  min-height: auto !important;
  top: calc(78px + 10px) !important;
}
.growl-notification:before {
  display: none !important;
}
.growl-notification .growl-notification__close {
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
}
.growl-notification .growl-notification__image {
  display: none !important;
}
.growl-notification .growl-notification__progress {
  display: none !important;
}
.growl-notification .growl-notification__title {
  display: none !important;
}
.growl-notification .growl-notification__body {
  padding: 12px 40px 12px 16px !important;
  min-height: auto !important;
  align-items: center;
}
.growl-notification .growl-notification__body:before {
  content: "!";
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid #fff;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  margin-right: 10px;
}
.growl-notification .growl-notification__desc {
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.4;
}
.growl-notification--error {
  background: #fe3b2f !important;
}
.growl-notification--success {
  background: var(--pds-jaune-pale) !important;
}
.growl-notification--success .growl-notification__desc,
.growl-notification--success .growl-notification__close {
  color: #000 !important;
}
.growl-notification--success .growl-notification__body:before {
  content: "";
  border-color: #000;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px 12px no-repeat;
}
.growl-notification--no-icon .growl-notification__body:before {
  display: none !important;
}
@media (min-width: 768px) {
  .growl-notification {
    width: 400px !important;
    right: 15px !important;
    left: auto !important;
  }
}
@media (max-width: 767px) {
  .growl-notification {
    top: 78px !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 0 !important;
  }
}

.offcanvas-bottom {
  top: 70px;
  bottom: 60px;
  height: auto !important;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.offcanvas-bottom .offcanvas-header {
  padding-bottom: 10px;
}
.offcanvas-bottom .offcanvas-body {
  padding-top: 5px;
}

#site-main {
  min-width: 0;
}

.breadcrumb__wrapper {
  background: none;
  padding: 0;
  margin: 0;
}
.breadcrumb__wrapper .container {
  max-width: none;
  padding: 0;
}
.breadcrumb__wrapper .breadcrumb {
  font-size: 13.5px;
  color: #000;
  background: none;
  padding: 0;
  margin-bottom: 1rem;
}
.breadcrumb__wrapper .breadcrumb .breadcrumb-item {
  color: #000;
}
.breadcrumb__wrapper .breadcrumb .breadcrumb-item a {
  color: #000;
}
.breadcrumb__wrapper .breadcrumb .breadcrumb-item a:hover {
  text-decoration: underline;
}
.breadcrumb__wrapper .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: #000;
}

@media (min-width: 1024px) {
  #js-product-list-header {
    margin-bottom: 2rem;
  }
}
.pagination__number {
  display: none;
}

.list-pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 1.5rem;
}
.list-pagination .pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 auto;
}

.cart-line__conditions-btn {
  background: none;
  border: none;
  padding: 0;
  margin-left: 6px;
  line-height: 0;
  vertical-align: middle;
  cursor: pointer;
  color: #000;
  transition: opacity 0.15s ease;
}
.cart-line__conditions-btn:hover {
  opacity: 0.6;
}

#conditionsModal .condition-block + .condition-block {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e5e5;
}
#conditionsModal .condition-block__name {
  font-weight: 700;
  margin-bottom: 0.75rem;
}
#conditionsModal .condition-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
#conditionsModal .condition-item-text-label {
  font-weight: 600;
  display: block;
  margin-bottom: 0.25rem;
}

.pagination .page-link {
  border: 1.5px solid var(--pds-gris-200);
  border-radius: 12px;
  color: #000;
  font-weight: 500;
  background: #fff;
  transition: all 0.15s ease;
}
@media (hover: hover) {
  .pagination .page-link:hover {
    background: var(--pds-jaune-pale);
    border-color: var(--pds-jaune-pale);
    color: #000;
    box-shadow: none;
  }
}
.pagination .page-link.current {
  background: #000;
  border-color: #000;
  color: #fff;
}
.pagination .page-item.active .page-link {
  background: #000;
  border-color: #000;
  color: #fff;
}
.pagination .page-item.disabled .page-link {
  color: var(--pds-gris-500);
  border-color: transparent;
  background: transparent;
}

#category .subcategories {
  display: block;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding-top: 4px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-bottom: 1rem;
}
#category .subcategories::-webkit-scrollbar {
  display: none;
}
@media (min-width: 1024px) {
  #category .subcategories {
    margin-bottom: 2rem;
  }
}
#category .subcategories .swiper-wrapper {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  transform: none;
}
#category .subcategories .subcategory__wrapper {
  flex: 0 0 auto;
  width: auto !important;
  margin: 0 !important;
  word-break: normal;
}
#category .subcategories .subcategory__wrapper .subcategory {
  margin: 0 !important;
  border: 1.5px solid var(--pds-gris-200);
  border-radius: var(--radius-pill);
  padding: 8px 18px;
  background: #fff;
  word-break: normal;
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 10px;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (hover: hover) {
  #category .subcategories .subcategory__wrapper .subcategory:hover {
    border-color: var(--pds-noir);
    transform: translateY(-2px);
  }
}
#category .subcategories .subcategory__wrapper .subcategory > svg {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  overflow: visible;
}
#category .subcategories .subcategory__wrapper .subcategory__image {
  width: 20px;
  margin-bottom: 0 !important;
}
#category .subcategories .subcategory__wrapper .subcategory__name {
  font-weight: 600;
  font-size: 15px;
  color: #000;
  margin-left: 0;
  margin-bottom: 0 !important;
}
#category #filters-top {
  display: flex;
  margin-bottom: 1rem;
  gap: 1rem;
}
#category #search_filter_toggler {
  border: 1px solid #cbcbcb !important;
  padding: 0.5rem !important;
}
#category #search-filters {
  gap: 1rem;
}
@media screen and (max-width: 1023px) {
  #category #search-filters {
    flex-direction: column;
  }
}
#category #search-filters .facet-title button {
  background-color: #fff;
  border: 1.5px solid var(--pds-gris-200);
  border-radius: 12px;
  padding: 10px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 0.5rem;
  transition: border-color 0.15s ease;
}
#category #search-filters .facet-title button.active {
  border-color: var(--pds-noir);
}
#category #search-filters .facet-title button.active i {
  transition: transform 0.3s ease-in-out;
  transform: rotate(180deg);
}
#category #search-filters .facet-values {
  position: absolute;
  display: none;
  background-color: #ffffff;
  border: none !important;
  z-index: 100;
  padding: 0.75rem;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  border-radius: 18px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 1023px) {
  #category #search-filters .facet-values {
    position: relative;
    box-shadow: none;
  }
}
#category .products-sort-order button {
  background-color: #fff;
  border: 1.5px solid var(--pds-gris-200);
  border-radius: 12px;
  padding: 10px 15px;
  align-items: center;
  justify-content: space-between;
  color: #000;
  font-weight: normal !important;
  transition: border-color 0.15s ease;
}
#category .products-sort-order button::after {
  transition: transform 0.18s ease;
}
#category .products-sort-order button.show {
  border-color: var(--pds-noir);
}
#category .products-sort-order button.show::after {
  transform: rotate(-90deg);
}
#category .products-sort-order .dropdown-menu {
  background-color: #ffffff;
  border: none;
  z-index: 100;
  padding: 8px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  border-radius: 18px;
  margin-top: 0.5rem !important;
}
#category .products-sort-order .dropdown-menu .dropdown-item {
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 500;
  color: #000;
}
@media (hover: hover) {
  #category .products-sort-order .dropdown-menu .dropdown-item:hover {
    background: var(--pds-jaune-pale);
    color: #000;
  }
}
#category .products-sort-order .dropdown-menu .dropdown-item.current {
  font-weight: 600;
  background: var(--pds-gris-100);
}
@media screen and (max-width: 1023px) {
  #category .products-sort-order .dropdown-menu {
    position: relative;
    box-shadow: none;
  }
}
#category #js-active-search-filters ul {
  margin-bottom: 1rem;
}
#category #js-active-search-filters ul li a {
  background-color: #fff !important;
  border: 1px solid #cbcbcb;
  padding: 2px 8px;
  font-size: 1rem;
}
#category #js-active-search-filters ul li a i {
  font-size: 1rem;
}

.form-check {
  padding-left: 0 !important;
  display: flex;
  align-items: center;
}
.form-check .form-check-input {
  margin-top: 0;
}
.form-check .form-check-label {
  user-select: none;
}

.form-check:not(.form-switch) .form-check-input[type=checkbox] {
  width: 18px;
  height: 18px;
}

.form-check-input {
  margin-left: 0 !important;
  margin-right: 0.5rem;
}
.form-check-input:focus {
  box-shadow: none !important;
  border: var(--bs-border-width) solid var(--bs-border-color);
  --bs-form-switch-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E") !important;
}
.form-check-input[type=radio] {
  appearance: none;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 2px solid #cbcbcb;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
}
.form-check-input:checked[type=radio] {
  background: none !important;
}
.form-check-input:checked[type=radio]::after {
  content: "";
  position: absolute;
  inset: 1px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--pds-degrade-fond);
}
.form-check-input:checked:not(.js-used-switch):not([type=radio]) {
  --bs-form-check-bg-image: url("/themes/pdsv9/img/form-check.jpeg") !important;
  background-color: transparent !important;
  background-image: url("/themes/pdsv9/img/form-check.jpeg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-color: #cbcbcb !important;
}
.form-check-input:checked.js-used-switch {
  background-color: #0b882a !important;
  border-color: #0b882a !important;
  --bs-form-switch-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(255, 255, 255, 0.9)'/%3E%3C/svg%3E") !important;
}

.form-switch .form-check-input:checked:not(.js-used-switch):not([type=radio]) {
  --bs-form-switch-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23ffffff'/%3E%3C/svg%3E") !important;
  --bs-form-check-bg-image: var(--bs-form-switch-bg) !important;
  background-image: var(--bs-form-switch-bg) !important;
  background-color: #0b882a !important;
  border-color: #0b882a !important;
  background-size: contain !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
}

#prestashop-profiling {
  position: absolute;
  width: 50%;
  height: 50%;
  bottom: 0;
  overflow-y: scroll;
  background-color: #fff;
}

#checkout .payment-method-item {
  background-color: #fff;
  border: 1.5px solid var(--pds-gris-200);
  border-radius: 12px;
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 0 0.5rem;
  overflow: hidden;
  transition: border-color 0.15s ease;
}
#checkout .payment-method-item:hover, #checkout .payment-method-item:has(input[type=radio]:checked) {
  border-color: var(--pds-noir);
}
#checkout .payment-method-item .payplugIntegratedPayment.-loaded {
  background-color: white;
  padding: 1rem;
  max-width: 600px;
  border: solid 0.5px #cbcbcb;
  border-radius: 4px;
  margin-bottom: 1rem;
}
#checkout .payment-method-item .payplugIntegratedPayment.-loaded .payplugIntegratedPayment_privacy_policy {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}
#checkout .payment-method-item .payplugIntegratedPayment.-loaded .payplugIntegratedPayment_privacy_policy a {
  width: 100%;
  margin-top: 1rem;
}
#checkout .payment-method-item .title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid #ffffff;
}
#checkout .payment-method-item .title-row:last-of-type {
  border-bottom: none;
}
#checkout .payment-method-item .title-row__info {
  flex: 1;
  min-width: 0;
  padding-right: 16px;
}
#checkout .payment-method-item .title-row__name {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 2px;
  color: #222;
}
#checkout .payment-method-item .title-row__details {
  font-size: 0.85rem;
  color: #898d90;
  margin-bottom: 2px;
  line-height: 1.4;
}
#checkout .payment-method-item .title-row__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 0;
}
#checkout .payment-method-item .card-category-pools {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
#checkout .payment-method-item .title-row__category-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background-color: #ebf0ee;
  color: #0d4324;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
}
#checkout .payment-method-item .title-row__input {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
#checkout .payment-method-item .title-row__input .form-control {
  width: auto;
  min-width: 60px;
  text-align: right;
  padding: 6px 8px;
  font-size: 1rem;
  border: 1px solid #cbcbcb;
  border-radius: 7px;
  flex: 0 1 auto;
}
#checkout .payment-method-item .title-amount {
  border-right: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-top-right-radius: 0 !important;
}
#checkout .payment-method-item .title-amount.is-invalid {
  background-image: none;
  padding-right: 8px;
}
#checkout .payment-method-item .payment-method-item__collapse-body .input-group-text {
  background-color: #fff;
  border-left: 0;
  border-right: 0;
  border-color: #cbcbcb;
  border-radius: 0;
  padding: 6px 4px;
  font-size: 1rem;
  color: #898d90;
}
#checkout .payment-method-item .title-max-btn {
  padding: 0.25rem 0.5rem;
  background-color: #ffffff;
  border: 1px solid #cbcbcb;
  border-left: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
  font-weight: 600;
  font-size: 0.85rem;
}
#checkout .payment-method-item .title-actions {
  display: flex;
  justify-content: end;
  gap: 12px;
  margin-top: 20px;
  padding-top: 16px;
}
#checkout .payment-method-item .title-actions .btn {
  min-width: 120px;
}
#checkout .payment-method-item .payment-method-item__header {
  display: flex;
  align-items: center;
  padding: 16px 0;
  cursor: pointer;
}
#checkout .payment-method-item .payment-method-item__header .form-check-input {
  flex-shrink: 0;
  margin-right: 10px;
}
#checkout .payment-method-item .payment-method-item__header--toggle {
  user-select: none;
}
#checkout .payment-method-item .payment-method-item__header--toggle[aria-expanded=true] .payment-method-item__toggle-icon::before {
  content: "−";
}
#checkout .payment-method-item .payment-method-item__toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 1.5px solid #222;
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
  margin-right: 10px;
}
#checkout .payment-method-item .payment-method-item__toggle-icon::before {
  content: "+";
  margin-bottom: 2px;
}
#checkout .payment-method-item .payment-method-item__label {
  flex-grow: 1;
  font-size: 15px;
  font-weight: 400;
  color: #222;
}
#checkout .payment-method-item .payment-method-item__icon {
  flex-shrink: 0;
  margin-left: 12px;
  color: #222;
}
#checkout .payment-method-item .payment-method-item__icon svg {
  width: 24px;
  height: 24px;
}
#checkout .payment-method-item .payment-method-item__logo {
  flex-shrink: 0;
  margin-left: auto;
  max-height: 24px;
}
#checkout .payment-method-item .payment-method-item__collapse-body {
  padding: 0 0 20px 30px;
}
#checkout .payment-method-item .payment-method-item__collapse {
  padding: 0 0.5rem;
}
#checkout .payment-method-item .payment-method-item__collapse .js-payment-option-form,
#checkout .payment-method-item .payment-method-item__collapse .js-additional-information {
  display: block !important;
}

#cart h1, #checkout h1 {
  font-family: "ThinkLoved", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  text-align: center;
  font-weight: bold;
  display: flex;
  justify-content: start;
  gap: 0.5rem;
  align-items: center;
}
#cart h1 .badge-count, #checkout h1 .badge-count {
  line-height: 1.5rem;
}
@media (max-width: 991px) {
  #cart #cart-summary, #cart .cart-summary, #checkout #cart-summary, #checkout .cart-summary {
    padding: 0 !important;
  }
}
@media (min-width: 992px) {
  #cart .cart-grid, #checkout .cart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 3rem;
    align-items: start;
  }
}
@media (min-width: 1400px) {
  #cart .cart-grid, #checkout .cart-grid {
    grid-template-columns: minmax(0, 1fr) 500px;
    gap: 4rem;
  }
}
#cart .cart-grid-right, #checkout .cart-grid-right {
  border-radius: var(--radius-lg);
  background-color: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  padding: 1rem;
}
@media (min-width: 992px) {
  #cart .cart-grid-right, #checkout .cart-grid-right {
    position: sticky;
    top: calc(78px + 1rem);
    align-self: start;
    z-index: 10;
  }
}
@media (max-width: 991px) {
  #cart .cart-grid-right, #checkout .cart-grid-right {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  }
  #cart .cart-grid-right h2, #checkout .cart-grid-right h2 {
    display: none;
  }
}
#cart .cart-grid-right .cart-summary .card-footer, #checkout .cart-grid-right .cart-summary .card-footer {
  padding: 1rem 0 0;
}
#cart .cart-grid-right .cart-summary, #checkout .cart-grid-right .cart-summary {
  background: none !important;
  padding: 1rem;
}
#cart .cart-grid-right .cart-summary .card-footer, #checkout .cart-grid-right .cart-summary .card-footer {
  background: none !important;
}
#cart .cart-grid-right .cart-summary .checkout-sidebar-recap__savings, #checkout .cart-grid-right .cart-summary .checkout-sidebar-recap__savings {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 15px;
  color: rgb(252, 162, 37);
  padding: 4px;
  background-color: rgba(252, 162, 37, 0.1);
  border-radius: 4px;
}
#cart .cart-grid-right .cart-summary .checkout-sidebar-recap__total, #checkout .cart-grid-right .cart-summary .checkout-sidebar-recap__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  font-size: 17px;
  color: #222;
}
#cart .cart-grid-right .cart-summary .checkout-sidebar-recap__line, #checkout .cart-grid-right .cart-summary .checkout-sidebar-recap__line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  font-size: 15px;
  color: #222;
}
#cart .cart-grid-right .cart-summary .checkout-sidebar-recap__topay, #checkout .cart-grid-right .cart-summary .checkout-sidebar-recap__topay {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  font-weight: 700;
  font-size: 17px;
  color: #222;
}
#cart .condition-list .condition-item, #checkout .condition-list .condition-item {
  display: flex;
  align-items: start;
  gap: 0.5rem;
}
#cart .condition-list .condition-item-text-label, #checkout .condition-list .condition-item-text-label {
  font-weight: 600;
  display: block;
  margin-bottom: 0.25rem;
}

.cart-steps-wrapper {
  margin-bottom: 2rem;
  padding-top: 1rem;
}

.cart-steps__back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 1rem;
  color: #222;
  text-decoration: none;
  margin-bottom: 1rem;
}
.cart-steps__back svg {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  transform: scaleX(-1);
}
.cart-steps__back span {
  text-decoration: underline !important;
}

.cart-steps {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  padding: 0;
  margin: 0;
}
.cart-steps__item {
  padding: 0.75rem 0;
  font-size: 15px;
  color: #898d90;
  position: relative;
  cursor: default;
}
.cart-steps__item + .cart-steps__item {
  margin-left: 0;
}
.cart-steps__item + .cart-steps__item::before {
  content: "";
  display: inline-block;
  width: clamp(30px, 10vw, 80px);
  height: 1.5px;
  background: var(--pds-gris-200);
  vertical-align: middle;
  margin: 0 clamp(0.5rem, 2vw, 1.5rem);
}
.cart-steps__item__label {
  position: relative;
  padding-bottom: 4px;
  color: inherit;
  text-decoration: none;
}
.cart-steps__item__label::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--pds-degrade-principal);
  transform: scaleX(0);
  transition: transform 0.2s ease;
}
.cart-steps__item:hover .cart-steps__item__label::after {
  transform: scaleX(1);
}
.cart-steps__item.active {
  color: #222;
  font-weight: 700;
}
.cart-steps__item.active .cart-steps__item__label::after {
  transform: scaleX(1);
}
.cart-steps__item.completed {
  color: #898d90;
}
.cart-steps__item.disabled {
  color: #ccc;
}
.cart-steps__item.disabled:hover .cart-steps__item__label::after {
  transform: scaleX(0);
}

#cart {
  /* CSS minimal pour reproduire l'aspect */
}
#cart .cart__items hr {
  margin: 0.5rem 0 !important;
}
#cart .cart-summary__totals {
  border-top: none !important;
  margin-top: 0 !important;
  padding: 1rem !important;
}
#cart .cart-summary__savings-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: rgb(252, 162, 37);
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 0.75rem;
}
#cart .cart-summary__savings-value {
  font-weight: 700;
  font-size: 17px;
}
#cart .cart-summary__detail-line {
  display: flex;
  justify-content: space-between;
  color: #898d90;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
#cart .cart-summary__total-line {
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  font-size: 1rem;
  color: #222;
  border-top: 1px solid #eee;
  padding-top: 0.75rem;
  margin-top: 0.25rem;
}
#cart .btn-validate-cart {
  font-weight: 600;
  font-size: 15px;
  padding: 0.75rem 1.5rem;
}
#cart .product-eligibility-badges {
  width: 100% !important;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
#cart .eligibility-badge {
  display: inline-block;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 4px;
  line-height: 1.3;
}
#cart .eligibility-badge svg {
  width: 14px;
  height: 14px;
  vertical-align: -2px;
  stroke: currentColor;
}
#cart .eligibility-badge--carte, #cart .eligibility-badge--cagnotte {
  background: #ebf0ee;
  color: #0d4324;
}
#cart .btn-validate-cart.disabled {
  opacity: 0.5;
  pointer-events: inherit !important;
}
#cart .cart-conditions-global {
  margin-bottom: 16px;
}
#cart .cart-conditions-global .form-check-label {
  font-size: 1rem;
  cursor: pointer;
}
#cart .cart-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 0;
  gap: 10px;
}
#cart .cart-line-left {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  flex: 1;
  min-width: 280px;
}
#cart .cart-line-left .product-thumb {
  width: 65px;
  height: 65px;
  background: #fafafa;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
@media (min-width: 1024px) {
  #cart .cart-line-left .product-thumb {
    width: 95px;
    height: 95px;
  }
}
#cart .cart-line-left .product-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
#cart .cart-line-left .product-info {
  font-size: 0.85rem;
  position: relative;
  flex: 1;
  min-width: 0;
}
#cart .cart-line-left .product-name {
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 6px;
  color: #111;
}
#cart .cart-line-left .product-validity {
  margin-bottom: 10px;
}
#cart .cart-line-left .product-validity .label {
  display: inline-block;
  color: #666;
  margin-right: 6px;
}
#cart .cart-line-left .product-accept .accept-switch {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  font-size: 1rem;
  color: #222;
  margin-top: 6px;
}
#cart .cart-line-left .product-accept .accept-switch input {
  display: none;
}
#cart .cart-line-left .product-accept .switch-track {
  width: 38px;
  height: 22px;
  border-radius: 16px;
  background: #ddd;
  position: relative;
  transition: background 0.2s;
}
#cart .cart-line-left .product-accept .switch-track::after {
  content: "";
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 2px;
  left: 2px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition: left 0.2s;
}
#cart .cart-line-right {
  /*width: 260px;*/
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
#cart .cart-line-right .price-block {
  justify-content: right;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
#cart .cart-line-right .price-block .price-current {
  font-weight: 700;
  font-size: 18px;
  color: #111;
}
#cart .cart-line-right .price-block .public-price {
  color: #bbb;
  text-decoration: line-through;
  font-size: 15px;
  margin-top: 2px;
}
#cart .cart-line-right .price-savings {
  color: rgb(252, 162, 37);
  font-size: 0.85rem;
}
#cart .cart-line-right .price-savings-value {
  font-weight: bold;
  font-size: 1rem;
}
#cart .cart-line-right .quantity-button {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}
#cart .cart-line-right .quantity-button .input-group {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 6px;
}
#cart .cart-line-right .quantity-button .input-group input {
  height: 36px !important;
  width: 50px !important;
  text-align: center;
  border: 1px solid #cbcbcb;
  padding: 4px;
}
@media (max-width: 1023px) {
  #cart .cart-line-right .quantity-button .input-group input {
    height: 28px !important;
    width: 40px !important;
    font-size: 16px !important;
  }
}
#cart .cart-line-right .quantity-button .input-group button {
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbcbcb;
  background: #fff;
  cursor: pointer;
  font-weight: 600;
}
@media (max-width: 1023px) {
  #cart .cart-line-right .quantity-button .input-group button {
    width: 28px !important;
    height: 28px !important;
  }
  #cart .cart-line-right .quantity-button .input-group button i {
    font-size: 13px !important;
  }
}
#cart .cart-line-right .quantity-button .remove-from-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1.5px solid var(--pds-gris-200);
  border-radius: 8px;
  transition: border-color 0.15s ease;
}
@media (hover: hover) {
  #cart .cart-line-right .quantity-button .remove-from-cart:hover {
    border-color: var(--pds-noir);
  }
}
@media (max-width: 1023px) {
  #cart .cart-line-right .quantity-button .remove-from-cart {
    width: 30px;
    height: 30px;
  }
}
#cart .cart-line-right .quantity-button .remove-from-cart img {
  width: 18px;
  height: 18px;
}
@media (max-width: 1023px) {
  #cart .cart-line-right .quantity-button .remove-from-cart img {
    width: 16px;
    height: 16px;
  }
}
#cart .cart-line-right .qty-delete {
  background: #fff;
  border: 1px solid #eee;
  padding: 6px 8px;
  border-radius: 6px;
  cursor: pointer;
}
#cart .cart-line .accept-text {
  font-size: 1rem;
  width: 100%;
  color: #333;
}
#cart .cart-line .accept-text .info {
  display: inline-block;
  margin-left: 6px;
  background: #ffffff !important;
  border: 1px solid #000000;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  text-align: center;
  line-height: 16px;
  font-style: normal;
  color: #666;
  font-size: 12px;
}

.cart-empty-message {
  text-align: center;
  padding: 3rem 1rem;
  font-size: 18px;
  color: #222;
}
.cart-empty-message p {
  margin: 0;
}

#module-rdeticket-eticket .etickets-filter,
#module-rdeticket-detail .etickets-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 16px;
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--pds-gris-100);
}
#module-rdeticket-eticket .etickets-filter strong,
#module-rdeticket-detail .etickets-filter strong {
  color: #222;
}
#module-rdeticket-eticket .etickets-list-empty,
#module-rdeticket-detail .etickets-list-empty {
  color: var(--pds-gris-500);
  text-align: center;
  padding: 2rem 0;
}
#module-rdeticket-eticket .eticket-detail__copy-btn.is-copied,
#module-rdeticket-detail .eticket-detail__copy-btn.is-copied {
  background: var(--pds-jaune-pale);
  border-radius: 6px;
}
#module-rdeticket-eticket .eticket-card,
#module-rdeticket-detail .eticket-card {
  gap: 16px;
  cursor: pointer;
  transition: box-shadow 0.2s, border-left-color 0.2s;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
#module-rdeticket-eticket .eticket-card__chevron,
#module-rdeticket-detail .eticket-card__chevron {
  flex-shrink: 0;
  margin-left: auto;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1.5px solid var(--pds-noir);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}
#module-rdeticket-eticket .eticket-card__chevron svg,
#module-rdeticket-detail .eticket-card__chevron svg {
  width: 15px;
  height: 15px;
}
@media (hover: hover) {
  #module-rdeticket-eticket .eticket-card:hover .eticket-card__chevron,
  #module-rdeticket-detail .eticket-card:hover .eticket-card__chevron {
    background: var(--pds-noir);
  }
  #module-rdeticket-eticket .eticket-card:hover .eticket-card__chevron svg,
  #module-rdeticket-detail .eticket-card:hover .eticket-card__chevron svg {
    filter: invert(1);
  }
}
#module-rdeticket-eticket .eticket-card--used,
#module-rdeticket-detail .eticket-card--used {
  opacity: 0.45;
  border-left-color: #e0e0e0;
}
@media (hover: hover) {
  #module-rdeticket-eticket .eticket-card--used:hover,
  #module-rdeticket-detail .eticket-card--used:hover {
    opacity: 0.6;
    border-left-color: #ccc;
  }
}
#module-rdeticket-eticket .eticket-card--used .eticket-card__name,
#module-rdeticket-eticket .eticket-card--used .eticket-card__meta,
#module-rdeticket-detail .eticket-card--used .eticket-card__name,
#module-rdeticket-detail .eticket-card--used .eticket-card__meta {
  color: #999;
}
#module-rdeticket-eticket .eticket-card--used .eticket-card__price--remaining,
#module-rdeticket-detail .eticket-card--used .eticket-card__price--remaining {
  color: #999;
  font-weight: 400;
}
#module-rdeticket-eticket .eticket-card__image,
#module-rdeticket-detail .eticket-card__image {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9f9f9;
  border-radius: 2px;
  padding: 8px;
}
#module-rdeticket-eticket .eticket-card__image img,
#module-rdeticket-detail .eticket-card__image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
#module-rdeticket-eticket .eticket-card__image-placeholder,
#module-rdeticket-detail .eticket-card__image-placeholder {
  width: 70px;
  height: 70px;
  background: #f9f9f9;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#module-rdeticket-eticket .eticket-card__image-placeholder svg,
#module-rdeticket-detail .eticket-card__image-placeholder svg {
  width: 32px;
  height: 32px;
  opacity: 0.35;
}
#module-rdeticket-eticket .eticket-card__content,
#module-rdeticket-detail .eticket-card__content {
  flex: 1;
  min-width: 0;
}
#module-rdeticket-eticket .eticket-card__name,
#module-rdeticket-detail .eticket-card__name {
  color: #222;
  margin-bottom: 4px;
}
#module-rdeticket-eticket .eticket-card__variant,
#module-rdeticket-detail .eticket-card__variant {
  font-size: 0.85rem;
  color: #222;
  margin-bottom: 4px;
}
#module-rdeticket-eticket .eticket-card__price,
#module-rdeticket-detail .eticket-card__price {
  font-size: 1rem;
  color: #222;
  margin-bottom: 4px;
}
#module-rdeticket-eticket .eticket-card__price--original,
#module-rdeticket-detail .eticket-card__price--original {
  text-decoration: line-through;
  color: #999;
}
#module-rdeticket-eticket .eticket-card__price--separator,
#module-rdeticket-detail .eticket-card__price--separator {
  color: #999;
  margin: 0 4px;
}
#module-rdeticket-eticket .eticket-card__price--remaining,
#module-rdeticket-detail .eticket-card__price--remaining {
  color: #222;
  font-weight: 600;
}
#module-rdeticket-eticket .eticket-card__meta,
#module-rdeticket-detail .eticket-card__meta {
  font-size: 0.85rem;
  color: #666;
  line-height: 1.5;
}
#module-rdeticket-eticket .eticket-detail__header,
#module-rdeticket-detail .eticket-detail__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
#module-rdeticket-eticket .eticket-detail__back,
#module-rdeticket-detail .eticket-detail__back {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  color: #000;
}
#module-rdeticket-eticket .eticket-detail__back svg,
#module-rdeticket-detail .eticket-detail__back svg {
  width: 18px;
  height: 18px;
  transform: scaleX(-1);
}
#module-rdeticket-eticket .eticket-detail__title,
#module-rdeticket-detail .eticket-detail__title {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
}
#module-rdeticket-eticket .eticket-detail__variant,
#module-rdeticket-detail .eticket-detail__variant {
  font-size: 0.9rem;
  color: #222;
  margin-top: 2px;
}
#module-rdeticket-eticket .eticket-detail__card,
#module-rdeticket-detail .eticket-detail__card {
  border: none;
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  padding: 24px;
  margin-bottom: 24px;
  background: #fff;
}
#module-rdeticket-eticket .eticket-detail__ticket-stub,
#module-rdeticket-detail .eticket-detail__ticket-stub {
  position: relative;
  background: #fff;
  margin: 24px -24px -24px;
  padding: 24px;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  border-top: 2px dashed rgba(0, 0, 0, 0.3);
}
#module-rdeticket-eticket .eticket-detail__card-header,
#module-rdeticket-detail .eticket-detail__card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
#module-rdeticket-eticket .eticket-detail__card-image img,
#module-rdeticket-detail .eticket-detail__card-image img {
  max-height: 50px;
  object-fit: contain;
}
@media (min-width: 768px) {
  #module-rdeticket-eticket .eticket-detail__card-image img,
  #module-rdeticket-detail .eticket-detail__card-image img {
    max-height: 100px;
  }
}
#module-rdeticket-eticket .eticket-detail__card-price,
#module-rdeticket-detail .eticket-detail__card-price {
  font-size: 22px;
  font-weight: 700;
}
#module-rdeticket-eticket .eticket-detail__barcode,
#module-rdeticket-detail .eticket-detail__barcode {
  text-align: center;
  margin-bottom: 16px;
}
#module-rdeticket-eticket .eticket-detail__barcode-item,
#module-rdeticket-detail .eticket-detail__barcode-item {
  padding: 8px;
  margin-bottom: 12px;
  display: inline-block;
}
#module-rdeticket-eticket .eticket-detail__barcode-item svg,
#module-rdeticket-detail .eticket-detail__barcode-item svg {
  max-width: 100%;
}
#module-rdeticket-eticket .eticket-detail__download,
#module-rdeticket-detail .eticket-detail__download {
  text-align: center;
}
#module-rdeticket-eticket .eticket-detail__download-link,
#module-rdeticket-detail .eticket-detail__download-link {
  color: #222;
  text-decoration: underline;
  font-size: 1rem;
}
#module-rdeticket-eticket .eticket-detail__usage,
#module-rdeticket-detail .eticket-detail__usage {
  border: none;
  border-radius: var(--radius-lg);
  padding: 20px 24px;
  margin-bottom: 24px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
#module-rdeticket-eticket .eticket-detail__usage-row,
#module-rdeticket-detail .eticket-detail__usage-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
}
#module-rdeticket-eticket .eticket-detail__usage-row span,
#module-rdeticket-detail .eticket-detail__usage-row span {
  font-size: 15px;
}
#module-rdeticket-eticket .eticket-detail__update-btn,
#module-rdeticket-detail .eticket-detail__update-btn {
  width: 100%;
  padding: 12px;
  margin-top: 12px;
  border: 2px solid var(--pds-noir);
  border-radius: 9px;
  background: #fff;
  color: #000;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
@media (hover: hover) {
  #module-rdeticket-eticket .eticket-detail__update-btn:hover,
  #module-rdeticket-detail .eticket-detail__update-btn:hover {
    background: var(--pds-noir);
    color: #fff;
  }
}
#module-rdeticket-eticket .eticket-detail__info,
#module-rdeticket-detail .eticket-detail__info {
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  padding: 20px 24px;
  margin-bottom: 24px;
}
#module-rdeticket-eticket .eticket-detail__info-row,
#module-rdeticket-detail .eticket-detail__info-row {
  font-size: 1rem;
  color: #666;
  line-height: 2;
}
#module-rdeticket-eticket .eticket-detail__info-row strong,
#module-rdeticket-detail .eticket-detail__info-row strong {
  color: #222;
}
#module-rdeticket-eticket .eticket-detail__info-row a,
#module-rdeticket-detail .eticket-detail__info-row a {
  color: #222;
  text-decoration: underline;
  font-weight: 600;
}
#module-rdeticket-eticket .etickets-empty,
#module-rdeticket-detail .etickets-empty {
  text-align: center;
  padding: 60px 20px;
}
#module-rdeticket-eticket .etickets-empty__icon,
#module-rdeticket-detail .etickets-empty__icon {
  margin-bottom: 24px;
}
#module-rdeticket-eticket .etickets-empty__title,
#module-rdeticket-detail .etickets-empty__title {
  font-size: 1rem;
  font-weight: 600;
  color: #222;
  margin-bottom: 12px;
}
#module-rdeticket-eticket .etickets-empty__subtitle,
#module-rdeticket-detail .etickets-empty__subtitle {
  font-size: 1rem;
  color: #666;
  padding: 16px 24px;
  display: inline-block;
  margin-bottom: 24px;
}
#module-rdeticket-eticket .etickets-empty__cta,
#module-rdeticket-detail .etickets-empty__cta {
  display: block;
  max-width: 320px;
  margin: 0 auto;
  padding: 14px 30px;
  background: #000;
  color: #fff;
  border: 2px solid #000;
  border-radius: 9px;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s ease;
}
@media (hover: hover) {
  #module-rdeticket-eticket .etickets-empty__cta:hover,
  #module-rdeticket-detail .etickets-empty__cta:hover {
    background: #000;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  }
}
#module-rdeticket-eticket .eticket-modal-overlay,
#module-rdeticket-detail .eticket-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 60px);
  background: rgba(0, 0, 0, 0.5);
  z-index: 10001;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
@media (min-width: 768px) {
  #module-rdeticket-eticket .eticket-modal-overlay,
  #module-rdeticket-detail .eticket-modal-overlay {
    height: 100%;
    align-items: center;
  }
}
#module-rdeticket-eticket .eticket-modal,
#module-rdeticket-detail .eticket-modal {
  background: #fff;
  border-radius: 16px 16px 0 0;
  padding: 32px 24px;
  width: 100%;
  max-width: 500px;
  position: relative;
  animation: eticketSlideUp 0.3s ease;
}
@media (min-width: 768px) {
  #module-rdeticket-eticket .eticket-modal,
  #module-rdeticket-detail .eticket-modal {
    border-radius: 16px;
    max-width: 420px;
  }
}
#module-rdeticket-eticket .eticket-modal__close,
#module-rdeticket-detail .eticket-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #666;
}
#module-rdeticket-eticket .eticket-modal__title,
#module-rdeticket-detail .eticket-modal__title {
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 24px;
}
#module-rdeticket-eticket .eticket-modal__amount,
#module-rdeticket-detail .eticket-modal__amount {
  text-align: center;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
#module-rdeticket-eticket .eticket-modal__amount,
#module-rdeticket-detail .eticket-modal__amount {
  font-family: "ThinkLoved", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
#module-rdeticket-eticket .eticket-modal__input,
#module-rdeticket-detail .eticket-modal__input {
  font-family: inherit;
  color: inherit;
  line-height: 1;
  height: auto;
  padding: 0;
  font-size: 42px !important;
  text-align: center;
  border: none;
  outline: none;
  width: 180px;
  background: transparent;
  -moz-appearance: textfield;
}
#module-rdeticket-eticket .eticket-modal__input::-webkit-outer-spin-button, #module-rdeticket-eticket .eticket-modal__input::-webkit-inner-spin-button,
#module-rdeticket-detail .eticket-modal__input::-webkit-outer-spin-button,
#module-rdeticket-detail .eticket-modal__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
#module-rdeticket-eticket .eticket-modal__currency,
#module-rdeticket-detail .eticket-modal__currency {
  font-size: 42px;
}
#module-rdeticket-eticket .eticket-modal__remaining,
#module-rdeticket-detail .eticket-modal__remaining {
  text-align: center;
  font-size: 1rem;
  color: #666;
  margin-bottom: 24px;
}
#module-rdeticket-eticket .eticket-modal__validate,
#module-rdeticket-detail .eticket-modal__validate {
  width: 100%;
  padding: 14px;
  background: #222;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
@media (hover: hover) {
  #module-rdeticket-eticket .eticket-modal__validate:hover,
  #module-rdeticket-detail .eticket-modal__validate:hover {
    background: #444;
  }
}
@keyframes eticketSlideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

.eticket-detail__code-section {
  padding: 0 16px;
}

.eticket-detail__code-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
}
.eticket-detail__code-row + .eticket-detail__code-row {
  border-top: 1px solid #eee;
}

.eticket-detail__code-label {
  font-size: 1rem;
  color: #222;
  font-weight: 600;
}

.eticket-detail__code-value-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.eticket-detail__code-value {
  font-size: 1rem;
  color: #222;
}

.eticket-detail__copy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
}
.eticket-detail__copy-btn .material-icons {
  font-size: 18px;
  color: #898d90;
}
.eticket-detail__copy-btn:hover .material-icons {
  color: #222;
}

.eticket-detail__cancelled {
  margin: 0 0 16px;
}

.eticket-detail__card--cancelled {
  opacity: 0.6;
}

.order-detail-modal__tickets {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.875rem;
}

.order-detail-modal__ticket {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 0;
}
.order-detail-modal__ticket + .order-detail-modal__ticket {
  border-top: 1px dashed #eee;
}

.order-detail-modal__ticket-link {
  color: #000;
  text-decoration: underline;
  font-weight: 600;
}

.order-detail-modal__ticket-status {
  color: #898d90;
}

.order-detail-modal__ticket-cancel {
  background: none;
  border: none;
  padding: 0;
  color: #000;
  text-decoration: underline;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.order-detail-modal__cancel-lines {
  list-style: none;
  padding: 0;
  margin: 12px 0;
}
.order-detail-modal__cancel-lines li {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid #eee;
}

.order-detail-modal__cancel-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}

.eticket-detail__actions {
  padding: 0 16px 12px;
}
@media (min-width: 768px) {
  .eticket-detail__actions {
    display: flex;
    gap: 12px;
    justify-content: center;
  }
}

.eticket-detail__action-item {
  margin-bottom: 10px;
  text-align: center;
}
@media (min-width: 768px) {
  .eticket-detail__action-item {
    flex: 0 1 50%;
    margin-bottom: 0;
  }
}

.eticket-detail__last-download {
  margin-top: 6px;
  font-size: 12px;
  color: #898d90;
}

.checkout-address-list__title {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 16px;
}

.checkout-address-list {
  margin-bottom: 8px;
}

.checkout-address-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 0.5px solid #cbcbcb;
  cursor: pointer;
  transition: background-color 0.15s;
}
.checkout-address-item:first-child {
  border-top: 0.5px solid #cbcbcb;
}

.checkout-address-item__radio {
  flex-shrink: 0;
  margin-top: 4px;
  margin-right: 12px !important;
}

.checkout-address-item__content {
  flex: 1;
  min-width: 0;
}

.checkout-address-item__alias {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 4px;
}

.checkout-address-item__details {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 0.85rem;
  color: #222;
  line-height: 1.4;
}
.checkout-address-item__details address {
  font-style: normal;
  display: inline;
}
.checkout-address-item__details br {
  content: ", ";
}
.checkout-address-item__details br::after {
  content: "\a";
  white-space: pre;
}

.checkout-address-item__icon-location {
  flex-shrink: 0;
  margin-top: 2px;
  color: #898d90;
}

.checkout-address-item__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 16px;
  flex-shrink: 0;
}

.checkout-address-item__btn-edit,
.checkout-address-item__btn-delete {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1.5px solid var(--pds-gris-200);
  border-radius: 8px;
  background: #fff;
  color: #222;
  cursor: pointer;
  transition: border-color 0.15s ease;
  text-decoration: none;
}
.checkout-address-item__btn-edit svg,
.checkout-address-item__btn-delete svg {
  width: 20px;
  height: 20px;
}
@media (hover: hover) {
  .checkout-address-item__btn-edit:hover,
  .checkout-address-item__btn-delete:hover {
    border-color: var(--pds-noir);
  }
}

.checkout-address-list__add-link {
  font-size: 1rem;
  color: #222;
  text-decoration: underline;
  font-weight: 600;
}
.checkout-address-list__add-link:hover {
  color: #000;
}

.checkout-address-list__voucher-msg {
  font-size: 0.85rem;
  color: #898d90;
}
.checkout-address-list__voucher-msg a {
  color: #222;
}

.checkout-address-form__buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}

.checkout-address-form__cancel {
  font-size: 1rem;
  color: #222;
  text-decoration: underline;
  font-weight: 600;
}
.checkout-address-form__cancel:hover {
  color: #000;
}

#addressModal .modal-title {
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
#addressModal .modal-body {
  padding: 24px 32px;
}
@media (max-width: 767px) {
  #addressModal .modal-body {
    padding: 16px;
  }
}
#addressModal .address-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}
@media (max-width: 767px) {
  #addressModal .address-form-grid {
    gap: 0 !important;
    grid-template-columns: 1fr;
  }
}
#addressModal .address-form-grid__full {
  grid-column: 1/-1;
}
#addressModal .form-group.row {
  display: block;
  margin: 0;
}
#addressModal .form-group.row .col-md-3.form-control-label,
#addressModal .form-group.row label.col-md-3 {
  width: 100%;
  max-width: 100%;
  flex: none;
  padding: 0;
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 6px;
  text-align: left;
}
#addressModal .form-group.row .col-md-6,
#addressModal .form-group.row .js-input-column {
  width: 100%;
  max-width: 100%;
  flex: none;
  padding: 0;
}
#addressModal .form-group.row > .col-md-3.form-control-comment {
  display: none;
}
#addressModal .form-group.row .form-control {
  border: 1px solid #cbcbcb;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 1rem;
  width: 100%;
}
#addressModal .form-group.row .form-control:focus {
  border-color: #000;
  box-shadow: none;
}
#addressModal .form-control-valign {
  display: flex;
  gap: 16px;
}
#addressModal .form-control-valign .radio-inline {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 1rem;
}

.payment-methods {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.title-payment-maximize-wrapper {
  display: flex;
  justify-content: flex-end;
}
.title-payment-maximize-wrapper #title-maximize-btn {
  background: none;
  border: 0;
  padding: 0;
  font-weight: 600;
  text-decoration: underline;
  color: #222;
  cursor: pointer;
}

.search-overlay {
  position: fixed;
  top: 78px;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.search-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

#_desktop_search #search_widget {
  position: relative;
}
#_desktop_search #search_widget .search-dropdown {
  display: none;
  position: fixed;
  top: calc(78px + 14px);
  left: 50%;
  transform: translateX(-50%);
  width: min(800px, 100%);
  max-height: 80vh;
  overflow-y: auto;
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  z-index: 101;
  padding: 1.5rem 2rem;
}
#_desktop_search #search_widget .search-dropdown.is-open {
  display: block;
}

.search-dropdown__menu h2 {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--pds-gris-500);
  letter-spacing: 0.03em;
  margin-bottom: 0.75rem;
}
.search-dropdown__menu .products-mini {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 1.25rem;
}
.search-dropdown__menu .products-mini > a {
  aspect-ratio: 1;
  min-width: 0;
  padding: 6px;
  background-color: var(--pds-gris-100);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.15s ease;
}
@media (hover: hover) {
  .search-dropdown__menu .products-mini > a:hover {
    background-color: var(--pds-jaune-pale);
    transform: translateY(-2px);
  }
}
.search-dropdown__menu .products-mini > a img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.search-dropdown__menu .menu-link-list {
  display: flex;
  flex-direction: row;
  gap: 10px;
  margin-bottom: 1.25rem;
}
.search-dropdown__menu .menu-link-list-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border-radius: 12px;
  background-color: var(--pds-gris-100);
  gap: 0.75rem;
  flex: 1;
  text-decoration: none;
  color: #222;
  transition: background-color 0.15s ease;
}
@media (hover: hover) {
  .search-dropdown__menu .menu-link-list-item:hover {
    background-color: var(--pds-jaune-pale);
  }
}
.search-dropdown__menu .menu-link-list-item span {
  font-size: 1rem;
  font-weight: 600;
}
.search-dropdown__menu .menu-link-list-item svg {
  height: 20px;
  width: auto;
}
.search-dropdown__menu .menu-link-list-item .chev {
  margin-left: auto;
}
.search-dropdown__menu .section {
  margin-bottom: 1.25rem;
}
.search-dropdown__menu .section h3 {
  font-size: 1rem;
}

.search-dropdown__results {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 1.5rem;
}
.search-dropdown__results--mobile {
  grid-template-columns: 1fr;
}
.search-dropdown__results--mobile .search-dropdown__suggestions {
  border-right: none;
  padding-right: 0;
  border-bottom: 1px solid #cbcbcb;
  padding-bottom: 1rem;
  margin-bottom: 0.5rem;
}
.search-dropdown__results--mobile .search-dropdown__product-grid {
  grid-template-columns: repeat(2, 1fr);
}

.search-dropdown__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.2px;
}

.search-dropdown__suggestion-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.search-dropdown__suggestion-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 6px 10px;
  margin: 0 -10px;
  border-radius: 12px;
  cursor: pointer;
  font-size: 1rem;
  color: #000;
  transition: background-color 0.15s ease;
}
@media (hover: hover) {
  .search-dropdown__suggestion-item:hover {
    background-color: var(--pds-jaune-pale);
    color: #000;
  }
}
.search-dropdown__suggestion-item_picto {
  background-color: var(--pds-gris-100);
  padding: 6px;
  border-radius: 100%;
  width: 32px;
  height: 32px;
  min-width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.search-dropdown__suggestion-item_picto svg,
.search-dropdown__suggestion-item_picto img {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.search-dropdown__suggestion-item svg {
  flex-shrink: 0;
  color: #222;
  width: 20px;
  height: 20px;
}
.search-dropdown__suggestion-item .suggestion-text {
  flex: 1;
}
.search-dropdown__suggestion-item .suggestion-badge {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  background: var(--pds-gris-100);
  color: var(--pds-gris-500);
  padding: 2px 6px;
  border-radius: 6px;
  white-space: nowrap;
}

.search-dropdown__products {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.search-dropdown__products-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}
.search-dropdown__products-header .search-dropdown__title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 0.75rem 0 0;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.search-dropdown__product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.search-dropdown__product-grid .product-miniature {
  width: 100%;
  margin-bottom: 0 !important;
}
.search-dropdown__product-grid .product-miniature_badge {
  height: 60px;
  width: 60px;
  padding: 0.5rem !important;
}
.search-dropdown__product-grid .product-miniature .card {
  border: none;
  box-shadow: none;
  background: none;
}
.search-dropdown__product-grid .product-miniature .thumbnail-container {
  border-radius: 12px;
  overflow: hidden;
  background: var(--pds-gris-100);
}
.search-dropdown__product-grid .product-miniature .card-body {
  padding: 0.4rem 0;
}
.search-dropdown__product-grid .product-miniature__unavailable {
  left: 6px;
  bottom: 6px;
  padding: 2px 7px;
}
.search-dropdown__product-grid .product-miniature__title {
  font-size: 12px;
  font-weight: 600;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.3;
}
.search-dropdown__product-grid .product-miniature__category_name {
  font-size: 11px;
  color: #898d90;
  margin: 2px 0 0;
}

.search-dropdown__no-results {
  font-size: 1rem;
  color: #898d90;
  text-align: center;
  padding: 2rem 0;
  grid-column: 1/-1;
}

.search-dropdown__see-all {
  font-size: 13px;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
}

.search-dropdown__not-found-brand {
  margin: 1rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--pds-gris-100);
  color: #000;
  text-align: center;
}
body.search-dropdown-open {
  overflow: visible !important;
}
body.search-dropdown-open .site-header {
  z-index: 10000;
}

.search-dropdown__panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 1rem 0;
  margin-bottom: 0;
}
.search-dropdown__panel-header .search-dropdown__title {
  margin: 0;
}

.search-dropdown__close {
  background: transparent;
  border: none;
  font-size: 24px;
  line-height: 1;
  color: #222;
  cursor: pointer;
  padding: 0 4px;
}
.search-dropdown__close:hover {
  opacity: 0.7;
}

.search-dropdown__brand-suggest__body {
  text-align: center;
  padding: 1rem 0 0.5rem;
  max-width: 360px;
  margin: 0 auto;
}
.search-dropdown__brand-suggest__icon {
  margin: 0 auto 1.25rem;
  display: flex;
  justify-content: center;
}
.search-dropdown__brand-suggest__text {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 1.25rem 0;
  color: #222;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
.search-dropdown__brand-suggest__cta {
  background: #000;
  color: #fff;
  border: 2px solid #000;
  border-radius: 9px;
  padding: 14px 30px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  display: inline-block;
  transition: all 0.2s ease;
}
@media (hover: hover) {
  .search-dropdown__brand-suggest__cta:hover:not(:disabled) {
    background: #000;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  }
}
.search-dropdown__brand-suggest__cta:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.search-dropdown__brand-suggest__help {
  font-size: 0.8rem;
  color: #898d90;
  margin: 1rem 0 0 0;
  text-align: center;
}
.search-dropdown__brand-suggest__form {
  display: block;
}
.search-dropdown__brand-suggest__field {
  margin-bottom: 1rem;
}
.search-dropdown__brand-suggest__field label {
  display: block;
  font-size: 0.8rem;
  font-weight: 500;
  color: #222;
  margin-bottom: 0.35rem;
}
.search-dropdown__brand-suggest__errors {
  background: var(--pds-orange-pale);
  color: #000;
  font-weight: 600;
  border-radius: 10px;
  padding: 0.6rem 0.85rem;
  font-size: 0.85rem;
  margin: 0 0 1rem 0;
}
.search-dropdown__brand-suggest .search-dropdown__brand-suggest__form .search-dropdown__brand-suggest__cta {
  display: block;
  width: 100%;
  margin-top: 0.5rem;
}

.btn-list {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid #cbcbcb;
  border-radius: 6px;
  background: #fff;
  color: #222;
  cursor: pointer;
}
.btn-list svg {
  width: 19px;
  height: 19px;
}
.btn-list:hover {
  border-color: #222;
}

.proches-list {
  display: flex;
  flex-direction: column;
}

.proche-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #cbcbcb;
}
.proche-row__info {
  display: flex;
  align-items: center;
  gap: 24px;
  flex: 1;
  min-width: 0;
}
@media (max-width: 767px) {
  .proche-row__info {
    gap: 12px;
  }
}

.proches-footer {
  margin-top: 24px;
}
@media (max-width: 1023px) {
  .proches-footer {
    display: none;
  }
}

@media (max-width: 1023px) {
  .proches-add-btn--inline {
    display: none;
  }
}

#procheModal .modal-title {
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
#procheModal .proche-form__errors {
  margin-top: 12px;
}

.identity-form__gender {
  display: flex;
  gap: 20px;
  margin-bottom: 24px;
}
.identity-form__gender .form-check-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.identity-form__gender .form-check-inline .form-check-label {
  font-size: 1rem;
  cursor: pointer;
}
.identity-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .identity-form__row {
    grid-template-columns: 1fr;
  }
}
.identity-form__field .form-label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.85rem;
  color: #898d90;
  font-weight: normal;
}
.identity-form__field .form-control {
  border: 1px solid #cbcbcb;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 1rem;
  width: 100%;
}
.identity-form__field .form-control:focus {
  border-color: #000;
  box-shadow: none;
}
.identity-form__field .form-control[readonly] {
  background-color: #fff;
  color: #898d90;
}
.identity-form__readonly-field {
  position: relative;
}
.identity-form__readonly-field .form-control {
  padding-right: 90px;
}
.identity-form__modify-link {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  font-size: 0.85rem;
  font-weight: 600;
  color: #000;
  text-decoration: none;
}
.identity-form__modify-link:hover {
  text-decoration: underline;
}
.identity-form__optin {
  margin: 20px 0;
}
.identity-form__optin .form-switch {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding-left: 0 !important;
}
.identity-form__optin .form-switch .form-check-input {
  width: 40px;
  min-width: 40px;
  height: 22px;
  margin: 0;
  cursor: pointer;
}
.identity-form__optin .form-switch .form-check-input:checked {
  background-color: #000;
  border-color: #000;
}
.identity-form__optin .form-switch .form-check-input:focus {
  box-shadow: none;
}
.identity-form__optin .form-switch .form-check-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #000;
  cursor: pointer;
}
.identity-form__optin-note {
  font-size: 12px;
  color: #898d90;
  margin-top: 4px;
}
.identity-form__children {
  margin: 24px 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.identity-form__children-title {
  font-size: 1rem;
  font-weight: 700;
  width: 100%;
  margin-bottom: 0;
}
.identity-form__children-list {
  width: 100%;
  overflow-x: auto;
}
.identity-form__children-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}
.identity-form__children-table thead th {
  text-align: left;
  background: #f9f9f9;
  color: #000;
  font-weight: 600;
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid #cbcbcb;
  white-space: nowrap;
}
.identity-form__children-table tbody td {
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid #cbcbcb;
  vertical-align: middle;
}
.identity-form__children-table tbody tr:last-child td {
  border-bottom: none;
}
@media (max-width: 767px) {
  .identity-form__children-table {
    display: block;
  }
  .identity-form__children-table thead {
    display: none;
  }
  .identity-form__children-table tbody,
  .identity-form__children-table tr,
  .identity-form__children-table td {
    display: block;
  }
  .identity-form__children-table tbody {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .identity-form__children-table tbody tr {
    position: relative;
    padding: 12px 14px;
    border: 1px solid #cbcbcb;
    border-radius: 6px;
  }
  .identity-form__children-table tbody td {
    padding: 4px 0;
    border-bottom: none;
  }
  .identity-form__children-table tbody td[data-label]::before {
    content: attr(data-label);
    display: block;
    color: #898d90;
  }
  .identity-form__children-table .identity-form__child-actions-cell {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 0;
  }
}
.identity-form__child-row--rejected {
  opacity: 0.5;
}
.identity-form__child-birth {
  color: #898d90;
}
.identity-form__child-actions {
  display: flex;
  gap: 2px;
  margin-left: auto;
}
.identity-form__child-actions .btn-link {
  padding: 4px;
  color: #898d90;
  border: 1px solid #cbcbcb;
  border-radius: 4px;
  line-height: 1;
}
.identity-form__child-actions .btn-link:hover {
  color: #000;
  border-color: #000;
}
.identity-form__child-actions .btn-link svg {
  width: 20px;
  height: 20px;
}
.identity-form__footer {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .identity-form__submit {
    width: 100%;
  }
}
.identity-form__child-reject-reason {
  display: block;
  font-size: 0.8rem;
  color: #dc3545;
  margin-top: 2px;
}

#childModal .modal-content {
  border-radius: 12px;
  border: none;
}
#childModal .modal-header {
  border-bottom: none;
  padding: 24px 24px 0;
}
#childModal .modal-header .modal-title {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.5px;
}
#childModal .modal-header .btn-close:focus {
  box-shadow: none;
}
#childModal .modal-body {
  padding: 20px 24px;
}
#childModal .modal-body .form-label {
  font-size: 0.85rem;
  color: #898d90;
  font-weight: 600;
}
#childModal .modal-body .form-control {
  border: 1px solid #cbcbcb;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 1rem;
}
#childModal .modal-body .form-control:focus {
  border-color: #000;
  box-shadow: none;
}
#childModal .modal-footer {
  border-top: none;
  padding: 0 24px 24px;
}
#childModal .modal-footer .btn {
  font-weight: 700;
  padding: 12px;
  border-radius: 6px;
}

.changelogin__intro {
  font-size: 1rem;
  color: #898d90;
  margin-bottom: 24px;
  max-width: 600px;
}
.changelogin__request-btn {
  font-size: 1rem;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 6px;
  margin-bottom: 32px;
  display: inline-block;
}
.changelogin__history {
  margin-top: 8px;
}
.changelogin__history-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 16px;
}
.changelogin__table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.changelogin__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}
.changelogin__table thead th {
  font-weight: 700;
  font-size: 0.85rem;
  color: #898d90;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 10px 12px;
  border-bottom: 2px solid #cbcbcb;
  white-space: nowrap;
}
.changelogin__table tbody td {
  padding: 12px;
  border-bottom: 1px solid #cbcbcb;
  vertical-align: middle;
}
.changelogin__table tbody tr:last-child td {
  border-bottom: none;
}
@media (max-width: 767px) {
  .changelogin__table {
    display: block;
  }
  .changelogin__table thead {
    display: none;
  }
  .changelogin__table tbody,
  .changelogin__table tr,
  .changelogin__table td {
    display: block;
  }
  .changelogin__table tbody {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .changelogin__table tbody tr {
    position: relative;
    padding: 12px 14px;
    border: 1px solid #cbcbcb;
    border-radius: 6px;
  }
  .changelogin__table tbody td {
    padding: 4px 0;
    border-bottom: none;
  }
  .changelogin__table tbody td[data-label]::before {
    content: attr(data-label);
    display: block;
    color: #898d90;
  }
  .changelogin__table .identity-form__child-actions-cell {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 0;
  }
}
.changelogin__new-email {
  font-weight: 600;
}
.changelogin__old-email {
  font-size: 12px;
  color: #898d90;
  text-decoration: line-through;
}
.changelogin__no-change {
  color: #898d90;
}
.changelogin__badge {
  display: inline-block;
  font-size: 12px;
  font-weight: normal;
  padding: 2px 10px;
  border-radius: 20px;
}
.changelogin__badge--yes {
  background: #e8f5e9;
  color: #2e7d32;
}
.changelogin__badge--no {
  background: #f9f9f9;
  color: #898d90;
}
.changelogin__status {
  font-size: 0.85rem;
  font-weight: 600;
}
.changelogin__status--done {
  color: #2e7d32;
}
.changelogin__status--pending {
  color: rgb(252, 162, 37);
}
.changelogin__status--expired {
  color: #898d90;
}
.changelogin__empty {
  margin-top: 24px;
  padding: 20px;
  background: #f9f9f9;
  border-radius: 6px;
  text-align: center;
  font-size: 1rem;
  color: #898d90;
}
.changelogin__empty p {
  margin: 0;
}

.changelogin-form__intro {
  font-size: 1rem;
  color: #898d90;
  margin-bottom: 24px;
}
.changelogin-form__field {
  margin-bottom: 16px;
  max-width: 500px;
}
.changelogin-form__field .form-label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.85rem;
  color: #898d90;
  font-weight: 600;
}
.changelogin-form__field .form-control {
  border: 1px solid #cbcbcb;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 1rem;
  width: 100%;
}
.changelogin-form__field .form-control:focus {
  border-color: #000;
  box-shadow: none;
}
.changelogin-form__footer {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
}
.changelogin-form__submit {
  font-size: 1rem;
  font-weight: 700;
  padding: 12px 32px;
  border-radius: 6px;
}
.changelogin-form__cancel {
  font-size: 1rem;
  font-weight: 600;
  color: #898d90;
  text-decoration: none;
}
.changelogin-form__cancel:hover {
  color: #000;
  text-decoration: underline;
}

.etickets-tabs {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  border-bottom: 1.5px solid var(--pds-gris-200);
}
.etickets-tabs__item {
  position: relative;
  flex: 1;
  text-align: center;
  padding: 10px 20px;
  cursor: pointer;
  font-weight: 600;
  color: var(--pds-gris-500);
  transition: color 0.2s;
}
.etickets-tabs__item::after {
  content: "";
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: -1.5px;
  height: 3px;
  background: var(--pds-degrade-principal);
  transform: scaleX(0);
  transition: transform 0.2s ease;
}
.etickets-tabs__item:hover {
  color: #222;
}
.etickets-tabs__item:hover::after {
  transform: scaleX(1);
}
.etickets-tabs__item.active {
  color: #222;
}
.etickets-tabs__item.active::after {
  transform: scaleX(1);
}

.order-history__card {
  gap: 20px;
}
@media (max-width: 767px) {
  .order-history__card {
    flex-wrap: wrap;
    gap: 12px;
  }
}
.order-history__images {
  width: 80px;
  height: 80px;
  background: #f9f9f9;
  border-radius: 2px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 4px;
  overflow: hidden;
}
.order-history__thumb {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #fff;
  border-radius: 100%;
  padding: 3px;
}
.order-history__thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.order-history__info {
  flex: 1;
  min-width: 0;
}
.order-history__product-names {
  color: #000;
  margin-bottom: 2px;
}
.order-history__meta {
  font-size: 0.85rem;
  color: #000;
}
.order-history__status {
  margin-top: 4px;
}
.order-history__badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 23px;
  font-size: 0.85rem;
  font-weight: normal;
}
.order-history__price {
  text-align: right;
  flex-shrink: 0;
  min-width: 120px;
}
@media (max-width: 767px) {
  .order-history__price {
    text-align: left;
    min-width: unset;
  }
}
.order-history__total {
  font-weight: 700;
  color: #000;
}
.order-history__original {
  font-size: 0.85rem;
  color: #898d90;
  text-decoration: line-through;
  margin-left: 6px;
}
.order-history__saving {
  display: block;
  font-size: 0.85rem;
  color: rgb(252, 162, 37);
}
.order-history__saving strong {
  font-weight: bold;
  font-size: 1rem;
}
.order-history__action {
  flex-shrink: 0;
}
.order-history__empty {
  background: #fff;
  border: 1px solid #cbcbcb;
  border-radius: 10px;
  padding: 40px 30px;
}
.order-history__empty-title {
  font-size: 15px;
  font-weight: 700;
  color: #000;
  margin-bottom: 6px;
}
.order-history__empty-text {
  font-size: 1rem;
  color: #898d90;
  margin-bottom: 20px;
}

.order-detail-modal {
  border-radius: 12px;
  border: none;
}
.order-detail-modal .modal-header {
  border-bottom: none;
  padding: 24px 24px 0;
}
.order-detail-modal .modal-header .modal-title {
  font-size: 20px;
  font-weight: 800;
}
.order-detail-modal .modal-header .btn-close:focus {
  box-shadow: none;
}
.order-detail-modal .modal-body {
  padding: 16px 24px 24px;
}
.order-detail-modal__header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}
@media (max-width: 575px) {
  .order-detail-modal__header {
    flex-direction: column;
    gap: 12px;
  }
}
.order-detail-modal__header-left {
  flex: 1;
}
.order-detail-modal__ref {
  font-weight: 700;
  color: #000;
}
.order-detail-modal__date {
  font-size: 0.85rem;
  color: #000;
  margin-bottom: 6px;
}
.order-detail-modal__header-right {
  text-align: right;
}
@media (max-width: 575px) {
  .order-detail-modal__header-right {
    text-align: left;
  }
}
.order-detail-modal__payment-label {
  font-size: 1rem;
  font-weight: 700;
  color: #000;
  margin-bottom: 2px;
}
.order-detail-modal__payment-line {
  font-size: 0.85rem;
  color: #000;
}
.order-detail-modal__actions {
  margin-bottom: 20px;
}
.order-detail-modal__invoice {
  margin-top: -8px;
  margin-bottom: 20px;
}
.order-detail-modal__products-header {
  font-size: 1rem;
  font-weight: 600;
  color: #000;
  margin-bottom: 12px;
}
.order-detail-modal__products {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.order-detail-modal__product {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
}
.order-detail-modal__product-img {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #cbcbcb;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.order-detail-modal__product-img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.order-detail-modal__product-info {
  flex: 1;
  min-width: 0;
}
.order-detail-modal__product-name {
  font-size: 1rem;
  font-weight: 700;
  color: #000;
}
.order-detail-modal__product-unit-price {
  font-size: 0.85rem;
  color: #000;
}
.order-detail-modal__product-qty {
  font-size: 0.85rem;
  color: #000;
}
.order-detail-modal__product-price {
  text-align: right;
  flex-shrink: 0;
}
.order-detail-modal__product-total {
  font-size: 15px;
  font-weight: 700;
  color: #000;
}
.order-detail-modal__product-original {
  font-size: 0.85rem;
  color: #898d90;
  text-decoration: line-through;
  margin-left: 4px;
}
.order-detail-modal__product-saving {
  display: block;
  font-size: 0.85rem;
  color: rgb(252, 162, 37);
}
.order-detail-modal__totals {
  margin-top: 12px;
  padding-top: 12px;
}
.order-detail-modal__totals-row {
  display: flex;
  justify-content: space-between;
  font-size: 1rem;
  padding: 4px 0;
}
.order-detail-modal__totals-row--saving {
  color: rgb(252, 162, 37);
  padding: 4px;
  background-color: rgba(252, 162, 37, 0.1);
  border-radius: 4px;
}
.order-detail-modal__totals-row--total {
  font-size: 1rem;
  font-weight: 800;
  color: #000;
  padding-top: 8px;
  margin-top: 4px;
}
.order-detail-modal__reorder {
  margin-top: 20px;
}
.order-detail-modal__help {
  text-align: center;
  margin-top: 14px;
}
.order-detail-modal__help a {
  text-decoration: underline;
}

.form-control.is-invalid,
.form-select.is-invalid,
.form-check-input.is-invalid {
  border-color: #dc3545;
}

.invalid-feedback {
  display: block;
  margin-top: 4px;
  color: #dc3545;
}

.form-check .form-check-input.is-invalid ~ .form-check-label {
  color: inherit;
}

.rdtitle-refund .form-control.is-invalid,
.rdtitle-refund .form-select.is-invalid {
  border-color: #dc3545;
}
.rdtitle-refund__title {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 24px;
}
.rdtitle-refund__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 16px;
}
.rdtitle-refund__filter select {
  min-width: 160px;
}
.rdtitle-refund__back-arrow {
  color: inherit;
  text-decoration: none;
  margin-right: 8px;
  display: inline-flex;
  vertical-align: middle;
}
.rdtitle-refund__filters {
  margin-bottom: 24px;
  overflow: hidden;
}
.rdtitle-refund__filters .swiper-wrapper {
  display: flex;
}
.rdtitle-refund__filter-slide {
  width: auto !important;
}
.rdtitle-refund__filter-pill {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #cbcbcb;
  border-radius: 0;
  font-size: 0.85rem;
  color: #222;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s, border-color 0.2s;
}
.rdtitle-refund__filter-pill:hover {
  border-color: #000;
  color: #000;
  text-decoration: none;
}
.rdtitle-refund__filter-pill--active {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.rdtitle-refund__filter-pill--active:hover {
  color: #fff;
}
.rdtitle-refund__card {
  align-items: start;
  gap: 25px;
}
@media (max-width: 1023px) {
  .rdtitle-refund__card {
    align-items: center;
  }
}
.rdtitle-refund__card-icon {
  width: 80px;
  height: 80px;
  background: #f9f9f9;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rdtitle-refund__card-picto {
  width: 50px;
  height: 50px;
  background-color: #fff;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rdtitle-refund__card-picto svg {
  width: 26px;
  height: 26px;
}
.rdtitle-refund__card-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.rdtitle-refund__empty-card .card-body {
  text-align: center;
}
.rdtitle-refund__field-help {
  margin: 6px 0 0;
}
.rdtitle-refund__field-help-link {
  color: #000;
  font-weight: 700;
  text-decoration: underline;
}
.rdtitle-refund__card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 2px;
}
.rdtitle-refund__card-name {
  color: #000;
}
.rdtitle-refund__card-meta {
  font-size: 0.85rem;
}
.rdtitle-refund__card-status {
  flex-shrink: 0;
  text-align: right;
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.badge:has(.rdtitle-refund__info-btn), .rdtitle-refund__detail-badge {
  cursor: pointer;
}
.rdtitle-refund__sticky-footer {
  position: fixed;
  bottom: 60px;
  left: 0;
  right: 0;
  padding: 12px 16px;
  background: #fff;
  z-index: 100;
}
.rdtitle-refund__sticky-btn {
  display: block;
  width: 100%;
}
.rdtitle-refund__badge {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 23px;
  font-size: 0.85rem;
  font-weight: normal;
}
.rdtitle-refund__badge--danger {
  background-color: rgba(220, 53, 69, 0.15);
  color: #dc3545;
}
.rdtitle-refund__badge--success {
  background-color: rgba(40, 167, 69, 0.15);
  color: #28a745;
}
.rdtitle-refund__badge--warning {
  background-color: rgba(252, 162, 37, 0.15);
  color: rgb(252, 162, 37);
}
.rdtitle-refund__badge--muted {
  background-color: #f0f0f0;
  color: #898d90;
}
.rdtitle-refund__badge--complement {
  background-color: rgba(252, 162, 37, 0.15);
  color: rgb(252, 162, 37);
}
.rdtitle-refund__info-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: inherit;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-left: 3px;
  position: relative;
  z-index: 2;
}
.rdtitle-refund__info-btn svg {
  width: 14px;
  height: 14px;
}
.rdtitle-refund__modal-content {
  text-align: center;
}
.rdtitle-refund__modal-content .modal-header {
  justify-content: center;
  border-bottom: none;
  padding-bottom: 0;
}
.rdtitle-refund__modal-content .modal-body {
  padding-top: 8px;
}
.rdtitle-refund__modal-content .modal-footer {
  border-top: none;
  justify-content: center;
}
.rdtitle-refund__modal-content .modal-footer .btn {
  width: 100%;
}
.rdtitle-refund__modal-dialog {
  max-width: 600px;
}
.rdtitle-refund__stepper {
  display: flex;
  align-items: flex-start;
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.rdtitle-refund__step {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}
.rdtitle-refund__step:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 14px;
  left: -50%;
  right: 50%;
  height: 2px;
  background: #e0e0e0;
  z-index: 0;
}
.rdtitle-refund__step-marker {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f0f0f0;
  color: #898d90;
  margin-bottom: 8px;
}
.rdtitle-refund__step-num {
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1;
}
.rdtitle-refund__step-check {
  display: none;
  width: 18px;
  height: 18px;
}
.rdtitle-refund__step--done .rdtitle-refund__step-marker {
  background: var(--pds-degrade-fond);
  color: #000;
}
.rdtitle-refund__step--done .rdtitle-refund__step-num {
  display: none;
}
.rdtitle-refund__step--done .rdtitle-refund__step-check {
  display: block;
}
.rdtitle-refund__step-label {
  font-size: 0.75rem;
  line-height: 1.3;
  color: #000;
  padding: 0 4px;
}
.rdtitle-refund__modal-actions {
  flex-wrap: wrap;
  gap: 0.5rem;
}
.rdtitle-refund__modal-actions .btn {
  flex: 1 1 220px;
  margin: 0;
}
.rdtitle-refund__modal-badge {
  margin-bottom: 16px;
}
.rdtitle-refund__modal-body {
  font-size: 0.9rem;
  line-height: 1.6;
}
.rdtitle-refund__empty {
  text-align: center;
  padding: 48px 16px;
  color: #898d90;
}
.rdtitle-refund__empty p {
  margin-bottom: 8px;
}
.rdtitle-refund__empty .btn {
  margin-top: 16px;
}
.rdtitle-refund__form {
  max-width: 100%;
}
.rdtitle-refund__info-text {
  background-color: #f9f9f9;
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 20px;
  font-size: 0.9rem;
  color: #222;
}
.rdtitle-refund__info-note {
  margin-top: 12px;
  font-size: 0.85rem;
}
.rdtitle-refund__info-note > svg {
  width: 14px;
  height: 14px;
  vertical-align: -2px;
}
.rdtitle-refund__info-note .list-styled {
  margin: 6px 0 0;
  padding-left: 20px;
  list-style-type: disc;
}
.rdtitle-refund__info-note .list-styled li {
  margin-bottom: 4px;
}
.rdtitle-refund__form-grid {
  display: flex;
  gap: 40px;
}
@media (max-width: 991px) {
  .rdtitle-refund__form-grid {
    flex-direction: column;
    gap: 24px;
  }
}
.rdtitle-refund__form-fields {
  flex: 1;
  min-width: 0;
}
.rdtitle-refund__form-upload {
  flex: 0 0 33.333%;
  max-width: 33.333%;
}
@media (max-width: 991px) {
  .rdtitle-refund__form-upload {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.rdtitle-refund__form-row {
  display: flex;
  gap: 16px;
}
@media (max-width: 575px) {
  .rdtitle-refund__form-row {
    flex-direction: column;
    gap: 0;
  }
}
.rdtitle-refund__form-half {
  flex: 1;
}
.rdtitle-refund__cgu {
  margin-top: 8px;
  margin-bottom: 24px;
  padding-left: 0 !important;
}
.rdtitle-refund__cgu .form-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 0.85rem;
}
.rdtitle-refund__cgu .form-check a {
  text-decoration: underline;
}
.rdtitle-refund__cgu .form-check-input {
  margin-top: 3px;
  flex-shrink: 0;
}
.rdtitle-refund__upload-zone {
  position: relative;
  border: 0.5px solid #cbcbcb;
  border-radius: 8px;
  padding: 24px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transition: border-color 0.2s;
}
.rdtitle-refund__upload-zone--dragover {
  border-color: #000;
  background-color: #fafafa;
}
.rdtitle-refund__upload-zone--invalid {
  border-color: #dc3545;
}
.rdtitle-refund__upload-error {
  color: #dc3545;
  font-size: 0.8rem;
  margin: 8px 0 0;
}
.rdtitle-refund__upload-icon {
  margin-bottom: 4px;
}
.rdtitle-refund__upload-text {
  font-weight: 600;
  margin: 0;
}
.rdtitle-refund__upload-current {
  font-size: 0.8rem;
  color: #898d90;
  margin: 0;
}
.rdtitle-refund__upload-or {
  font-size: 0.85rem;
  color: #898d90;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 1rem 0;
}
.rdtitle-refund__upload-or::before, .rdtitle-refund__upload-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #cbcbcb;
}
.rdtitle-refund__upload-btn {
  cursor: pointer;
}
@media (max-width: 991px) {
  .rdtitle-refund__upload-btn {
    background-color: transparent;
    color: #000;
    border: 1px solid #000;
  }
  .rdtitle-refund__upload-btn:active {
    background-color: #000;
    color: #fff;
  }
  .rdtitle-refund__upload-btn:active .rdtitle-refund__upload-btn-icon svg,
  .rdtitle-refund__upload-btn:active .rdtitle-refund__upload-btn-icon svg path {
    fill: #fff;
    stroke: #fff;
  }
}
@media (max-width: 991px) and (hover: hover) {
  .rdtitle-refund__upload-btn:hover {
    background-color: #000;
    color: #fff;
  }
  .rdtitle-refund__upload-btn:hover .rdtitle-refund__upload-btn-icon svg,
  .rdtitle-refund__upload-btn:hover .rdtitle-refund__upload-btn-icon svg path {
    fill: #fff;
    stroke: #fff;
  }
}
.rdtitle-refund__upload-btn-icon {
  display: inline-flex;
  vertical-align: middle;
  margin-right: 6px;
}
.rdtitle-refund__upload-btn-icon svg {
  width: 20px;
  height: 20px;
}
@media (max-width: 991px) {
  .rdtitle-refund__desktop-only {
    display: none !important;
  }
}
.rdtitle-refund__mobile-only {
  display: none !important;
}
@media (max-width: 991px) {
  .rdtitle-refund__mobile-only {
    display: inline-flex !important;
  }
}
.rdtitle-refund__upload-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.rdtitle-refund__upload-hint {
  font-size: 0.75rem;
  color: #898d90;
  margin: 4px 0 0;
  font-style: italic;
}
.rdtitle-refund__upload-preview {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 8px;
  border: 1px solid #cbcbcb;
  border-radius: 6px;
}
.rdtitle-refund__upload-preview img {
  max-width: 60px;
  max-height: 60px;
  object-fit: contain;
  border-radius: 4px;
}
.rdtitle-refund__upload-preview-name {
  font-size: 0.8rem;
  color: #898d90;
  word-break: break-all;
}
.rdtitle-refund__detail-grid {
  display: flex;
  gap: 40px;
}
@media (max-width: 991px) {
  .rdtitle-refund__detail-grid {
    flex-direction: column;
    gap: 24px;
  }
}
.rdtitle-refund__detail-main {
  flex: 1;
  min-width: 0;
}
.rdtitle-refund__detail-aside {
  flex: 0 0 33.333%;
  max-width: 33.333%;
}
@media (max-width: 991px) {
  .rdtitle-refund__detail-aside {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.rdtitle-refund__detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.rdtitle-refund__detail-title {
  font-weight: 700;
  font-size: 1rem;
  margin: 0;
}
.rdtitle-refund__detail-balances {
  font-size: 0.9rem;
  margin-bottom: 24px;
  line-height: 1.6;
}
.rdtitle-refund__detail-block {
  background: #f9f9f9;
  border-radius: 8px;
  padding: 10px;
  margin-bottom: 12px;
}
.rdtitle-refund__detail-block-title {
  font-weight: 600;
  margin-bottom: 2px;
}
.rdtitle-refund__detail-block-meta {
  font-size: 0.9rem;
}
.rdtitle-refund__detail-rejection {
  padding: 12px 16px;
  background-color: rgba(220, 53, 69, 0.08);
  border-radius: 6px;
  color: #dc3545;
  font-size: 0.9rem;
  margin-top: 16px;
}
.rdtitle-refund__detail-collapse {
  margin-top: 24px;
  border-top: 0.5px solid #cbcbcb;
}
.rdtitle-refund__detail-collapse-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  background: none;
  border: none;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.95rem;
  color: #000;
}
.rdtitle-refund__detail-collapse-toggle--open .rdtitle-refund__detail-collapse-chevron {
  transform: rotate(180deg);
}
.rdtitle-refund__detail-collapse-chevron {
  transition: transform 0.2s;
}
.rdtitle-refund__detail-collapse-content {
  padding-bottom: 16px;
}
.rdtitle-refund__detail-receipt {
  border: 0.5px solid #cbcbcb;
  border-radius: 8px;
  overflow: hidden;
}
.rdtitle-refund__detail-receipt-label {
  padding: 12px 16px;
  font-weight: 600;
  border-bottom: 0.5px solid #cbcbcb;
}
.rdtitle-refund__detail-receipt-preview {
  padding: 16px;
  text-align: center;
}
.rdtitle-refund__detail-receipt-preview img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}
.rdtitle-refund__detail-receipt-preview a {
  color: #000;
  text-decoration: none;
}
.rdtitle-refund__detail-receipt-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.rdtitle-refund__detail-complement {
  margin-top: 24px;
}
.rdtitle-refund__complement-request {
  margin: 8px 0 0;
}
.rdtitle-refund__thread {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.rdtitle-refund__msg {
  border-radius: 10px;
  padding: 12px 16px;
  background: #f9f9f9;
}
.rdtitle-refund__msg--customer {
  background: rgba(56, 125, 255, 0.08);
}
.rdtitle-refund__msg-author {
  margin-bottom: 4px;
}
.rdtitle-refund__msg-text {
  margin: 0;
  white-space: pre-line;
}
.rdtitle-refund__msg-file {
  margin: 4px 0 0;
}
.rdtitle-refund__msg-file a {
  color: #000;
  text-decoration: underline;
}
.rdtitle-refund__detail-complement-form {
  margin-top: 16px;
}
.rdtitle-refund__detail-complement-form .form-group {
  margin-top: 16px;
}
.rdtitle-refund__form-footer {
  margin-top: 24px;
}
.rdtitle-refund__submit {
  min-width: 200px;
}
@media (max-width: 991px) {
  .rdtitle-refund__submit {
    width: 100%;
    min-width: 0;
  }
}

.customer-page__title {
  display: flex;
  align-items: center;
  gap: 8px;
}
.customer-page__subtitle {
  color: var(--pds-gris-500);
  margin: -0.5rem 0 1.5rem;
}
.customer-page__title-back {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.customer-page__title-back:hover {
  opacity: 0.7;
}
@media (max-width: 1023px) {
  .customer-page__title {
    position: relative;
    justify-content: center;
    text-align: center;
  }
  .customer-page__subtitle {
    text-align: center;
  }
  .customer-page__title-back {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}

.account-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.account-list__item {
  padding: 1.25rem 0;
  border-bottom: 0.5px solid #cbcbcb;
  display: flex;
  gap: 2rem;
}
.account-list__item:last-child {
  border-bottom: none;
}
@media (max-width: 1023px) {
  .account-list__item {
    position: relative;
    padding: 1rem 0;
    gap: 1rem;
  }
}
.account-list__leading {
  flex: 0 0 auto;
}
@media (max-width: 1023px) {
  .account-list__leading {
    display: none;
  }
}
.account-list__title {
  font-size: 1rem;
  font-weight: 700;
  color: #000;
  line-height: 1.3;
  margin: 0;
}
.account-list__action {
  flex: 0 0 auto;
}
@media (max-width: 1023px) {
  .account-list__action.btn {
    padding: 0.5rem;
    font-size: 0 !important;
    background: transparent;
    color: #000;
    border: none;
    min-width: 0;
    box-shadow: none !important;
  }
  .account-list__action.btn::after {
    content: "›";
    font-size: 1.75rem;
    line-height: 1;
    color: #000;
  }
  .account-list__action.btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  .account-list__action.btn:hover, .account-list__action.btn:focus, .account-list__action.btn:active, .account-list__action.btn:focus-visible {
    background-color: transparent !important;
    color: #000;
    outline: none;
    box-shadow: none !important;
  }
}

.order-confirmation__message p {
  margin-bottom: 1rem;
}
.order-confirmation__note {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-top: 1.5rem;
  color: #000;
}
.order-confirmation__note-icon {
  flex-shrink: 0;
  margin-top: 0.15em;
}
.order-confirmation__aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  padding: 3rem 2rem;
  border-radius: 10px;
  height: 100%;
  justify-content: center;
}
@media (max-width: 991px) {
  .order-confirmation__aside {
    margin-top: 2rem;
    padding: 2rem 1.5rem;
    height: auto;
  }
}
.order-confirmation__history {
  color: #000;
}

.wire-instructions__ref, .wire-instructions__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
}
.wire-instructions__amount {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.wire-instructions__ref {
  border: 1px dashed #cbcbcb;
  border-radius: 10px;
  background: #f9f9f9;
  margin-bottom: 1rem;
}
.wire-instructions__bank {
  border: 1px solid #cbcbcb;
  border-radius: 10px;
  background: #f9f9f9;
  margin-bottom: 1.5rem;
}
.wire-instructions__bank .wire-instructions__row + .wire-instructions__row {
  border-top: 1px solid #cbcbcb;
}
.wire-instructions__label {
  color: #898d90;
}
.wire-instructions__iban {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.wire-instructions__copy {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0;
  border: 0;
  background: none;
  font-weight: 700;
  color: #000;
}
.wire-instructions__rib {
  margin-bottom: 1.5rem;
  text-align: center;
}
.wire-instructions__rib-ico {
  display: inline-block;
  line-height: 0;
  vertical-align: -4px;
  margin-right: 8px;
}
.wire-instructions__rib-ico svg {
  width: 20px;
  height: 20px;
}
.wire-instructions__rib-ico svg path {
  fill: currentColor;
}

.js-lazy-slider {
  min-height: 340px;
}

.home-disconnected {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
}

.help-popin {
  position: fixed;
  right: 1.5rem;
  bottom: 30px;
  z-index: 1030;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
}
@media (max-width: 1023px) {
  .help-popin {
    display: none;
  }
}
.help-popin__panel {
  display: none;
  width: 450px;
  max-width: calc(100vw - 2rem);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.16);
  overflow: hidden;
  text-align: left;
}
.help-popin.is-open .help-popin__panel {
  display: block;
}
.help-popin__header {
  position: relative;
  padding: 1.5rem 3.25rem 1rem 1.5rem;
  background: #f9f9f9;
  border-bottom: 1px solid #f2f2f2;
}
.help-popin__title {
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}
.help-popin__subtitle {
  margin-bottom: 0;
}
.help-popin__close {
  position: absolute;
  top: 1.4rem;
  right: 1.25rem;
}
.help-popin__body {
  padding: 1.5rem;
}
.help-popin__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1rem;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
  font-weight: 400;
}
.help-popin__item + .help-popin__item {
  margin-top: 0.75rem;
}
.help-popin__item::after {
  margin-left: auto;
}
.help-popin__item-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #000;
  color: #fff;
  font-weight: 600;
  font-size: 24px;
  line-height: 1;
}
.help-popin__item-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.help-popin__all {
  margin: 1.25rem 0 0;
  text-align: center;
}
.help-popin__urgent {
  padding: 1.25rem 1.5rem 1.5rem;
  background: #f9f9f9;
  text-align: center;
}
.help-popin__urgent-label {
  color: #898d90;
  margin-bottom: 0.75rem;
}
.help-popin__phone {
  display: inline-block;
  background: #fff;
  border-radius: 50rem;
  padding: 0.65rem 1.75rem;
  font-weight: 600;
  color: #000;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.help-popin__phone:hover {
  color: #000;
}
.help-popin__urgent-hours {
  color: #898d90;
  margin: 0.75rem 0 0;
}
.help-popin__toggle {
  flex-direction: row-reverse;
  border: 0;
  border-radius: 16px;
  padding: 0.85rem 1.5rem;
  background: var(--pds-degrade-fond);
  color: #000;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
.help-popin__toggle::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url("../../../img/svg/picto_aide.svg") center/contain no-repeat;
  transform: none;
}
.help-popin__toggle-label--close {
  display: none;
}
.help-popin.is-open .help-popin__toggle::after {
  display: none;
}
.help-popin.is-open .help-popin__toggle-label--open {
  display: none;
}
.help-popin.is-open .help-popin__toggle-label--close {
  display: inline;
}

.reward-member-since {
  display: inline-block;
  vertical-align: middle;
  margin-left: 1rem;
  padding: 0.2rem 0.75rem;
  border-radius: var(--radius-pill, 999px);
  background: rgba(252, 162, 37, 0.25);
  font-family: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #000;
  white-space: nowrap;
}
@media (max-width: 1023px) {
  .reward-member-since {
    margin: 0.5rem 0 0;
  }
}

@media (max-width: 1023px) {
  .customer-page__title:has(.reward-member-since) {
    flex-direction: column;
    white-space: nowrap;
  }
}

.reward-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 450px;
  gap: 2rem;
  align-items: start;
}
@media (max-width: 1279px) {
  .reward-page__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.reward-page .reward-hero {
  display: flex;
  align-items: center;
  gap: 2rem;
  background: #f9f9f9;
  border-radius: 16px;
  padding: 1.25rem 2rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .reward-page .reward-hero {
    flex-wrap: wrap;
    gap: 1.25rem;
    padding: 1.25rem;
  }
}
.reward-page .reward-hero__block {
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 767px) {
  .reward-page .reward-hero__block {
    flex-basis: 100%;
  }
}
.reward-page .reward-hero__label {
  margin-bottom: 0.25rem;
}
.reward-page .reward-hero__value {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 2.5rem;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}
@media (max-width: 1023px) {
  .reward-page .reward-hero__value {
    font-size: 1.75rem;
  }
}
.reward-page .reward-hero__sub {
  margin-bottom: 0;
}
.reward-page .reward-hero__illu {
  width: 120px;
  height: auto;
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  .reward-page .reward-hero__illu {
    display: none;
  }
}
.reward-page .reward-intro {
  margin-bottom: 1.5rem;
}
.reward-page .reward-intro__steps {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}
.reward-page .reward-intro__steps li {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  margin-bottom: 0.5rem;
}
.reward-page .reward-intro__step-num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgb(252, 162, 37);
  color: #000;
  font-weight: 600;
  font-size: 0.8rem;
  transform: translateY(3px);
}
.reward-page .reward-intro__cta {
  text-align: center;
  margin: 1.5rem 0;
}
.reward-page .reward-progress {
  margin-bottom: 2rem;
}
.reward-page .reward-progress__bar-wrap {
  padding: 2.4rem 0 3.2rem;
}
.reward-page .reward-progress__bar {
  position: relative;
  height: 10px;
  border-radius: 10px;
  background: #f2f2f2;
  margin: 0 1rem;
}
.reward-page .reward-progress__fill {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: 10px;
  background: var(--pds-degrade-fond);
}
.reward-page .reward-progress__mark {
  position: absolute;
  top: 50%;
  width: 0;
}
.reward-page .reward-progress__mark-tick {
  position: absolute;
  left: -2px;
  top: -14px;
  width: 4px;
  height: 28px;
  border-radius: 2px;
  background: #000;
}
.reward-page .reward-progress__mark-pts {
  position: absolute;
  top: -38px;
  left: 0;
  transform: translateX(-50%);
  white-space: nowrap;
  color: #000;
}
.reward-page .reward-progress__mark-amount {
  position: absolute;
  top: 22px;
  left: 0;
  transform: translateX(-50%);
  background: rgb(252, 162, 37);
  border-radius: 6px;
  padding: 0.15rem 0.6rem;
  font-weight: 700;
  white-space: nowrap;
}
.reward-page .reward-claim {
  border: 1px solid #f2f2f2;
  border-radius: 16px;
  padding: 1.5rem;
  text-align: center;
  margin-bottom: 2rem;
}
.reward-page .reward-claim__card {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  width: 260px;
  height: 130px;
  border-radius: 12px;
  background: #f9f9f9;
  color: #000;
  text-align: left;
  padding: 0.75rem 1rem;
  margin: 0.5rem 0 1rem;
  text-transform: uppercase;
}
.reward-page .reward-claim__card-logo {
  position: absolute;
  top: 0.75rem;
  right: 1rem;
  width: 64px;
  height: auto;
}
.reward-page .reward-claim__card-brand {
  font-size: 0.7rem;
  letter-spacing: 0.04em;
}
.reward-page .reward-claim__card-amount {
  font-family: "ThinkLoved", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 2rem;
}
.reward-page .reward-claim__cta {
  margin-bottom: 0;
}
.reward-page .reward-history {
  border: 1px solid #f2f2f2;
  border-radius: 12px;
}
.reward-page .reward-history__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: 0;
  padding: 1rem 1.25rem;
  cursor: pointer;
  font-weight: 600;
}
.reward-page .reward-history__toggle svg {
  transition: transform 0.2s ease;
}
.reward-page .reward-history__toggle.is-collapsed svg {
  transform: rotate(-90deg);
}
.reward-page .reward-history__scroll {
  overflow: auto;
  max-height: 320px;
  scrollbar-width: thin;
  scrollbar-color: #cbcbcb transparent;
}
.reward-page .reward-history__scroll::-webkit-scrollbar {
  display: block;
  width: 6px;
  height: 6px;
}
.reward-page .reward-history__scroll::-webkit-scrollbar-thumb {
  background: #cbcbcb;
  border-radius: 3px;
}
.reward-page .reward-history__scroll::-webkit-scrollbar-track {
  background: transparent;
}
.reward-page .reward-history__table {
  width: 100%;
  border-collapse: collapse;
}
.reward-page .reward-history__table th,
.reward-page .reward-history__table td {
  padding: 0.5rem 1rem;
  text-align: center;
  white-space: nowrap;
}
.reward-page .reward-history__table th {
  font-weight: 600;
  position: sticky;
  top: 0;
  background: #fff;
}

.reward-boost {
  background: #f9f9f9;
  border-radius: 16px;
  padding: 1.5rem;
}
.reward-boost__title {
  margin-bottom: 0.5rem;
}
.reward-boost__list {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0;
}
.reward-boost__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: #fff;
  border-radius: 10px;
  padding: 0.85rem 1rem;
  margin-bottom: 0.75rem;
}
.reward-boost__item--done .reward-boost__item-text > span:first-child {
  color: #898d90;
}
.reward-boost__recurring {
  position: absolute;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
  color: #898d90;
  background: #f9f9f9;
  border-radius: 50%;
  line-height: 0;
  padding: 2px;
}
.reward-boost__item-text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1;
}
.reward-boost__pts {
  color: rgb(252, 162, 37);
  font-weight: 700;
}
.reward-boost__btn {
  flex: 0 0 130px;
  padding-inline: 0.5rem;
  white-space: nowrap;
}
.reward-boost__all {
  text-align: center;
  margin: 1.25rem 0 0;
}
.reward-boost__all a {
  font-weight: 600;
  text-decoration: underline;
  color: #000;
}

.reward-badge {
  flex: 0 0 auto;
  border-radius: 50rem;
  padding: 0.35rem 1rem;
  font-weight: 600;
  white-space: nowrap;
}
.reward-badge--pending {
  background: rgba(252, 162, 37, 0.16);
  color: rgb(252, 162, 37);
}
.reward-badge--validated {
  background: #ddf3e4;
  color: #2e9e4f;
}
.reward-badge--rejected {
  background: #fbe2e2;
  color: #cc3a3a;
}

.reward-modal .modal-content {
  border-radius: 16px;
  padding: 0.5rem 1rem 1rem;
}
.reward-modal .modal-header {
  border-bottom: 0;
  align-items: flex-start;
}
.reward-modal__icon-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}
.reward-modal__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #f9f9f9;
}
.reward-modal__icon svg {
  width: 32px;
  height: 32px;
}
.reward-modal__pts {
  background: rgba(252, 162, 37, 0.16);
  color: rgb(252, 162, 37);
  font-weight: 700;
  border-radius: 50rem;
  padding: 0.1rem 0.7rem;
  white-space: nowrap;
}
.reward-modal__recurring {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-left: auto;
  margin-right: 0.75rem;
  background: #f9f9f9;
  border-radius: 50rem;
  padding: 0.3rem 0.9rem;
  font-weight: 600;
}
.reward-modal__title {
  text-transform: uppercase;
  text-align: center;
  margin: -2rem 0 0.75rem;
}
.reward-modal__text {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 1rem;
}
.reward-modal__cta {
  text-align: center;
  margin: 1rem 0 0.5rem;
}
.reward-modal__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  text-align: left;
}
@media (max-width: 767px) {
  .reward-modal__cols {
    grid-template-columns: 1fr;
  }
}
.reward-modal__col-preview {
  background: #f9f9f9;
  border-radius: 12px;
  padding: 1rem;
}

.reward-dropzone {
  border: 1px solid #cbcbcb;
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
  cursor: pointer;
  max-width: 560px;
  margin: 0 auto 1rem;
}
.reward-dropzone.is-dragover {
  border-color: #000;
  background: #f9f9f9;
}
.reward-dropzone--photo {
  border-style: dashed;
  background: #f9f9f9;
  max-width: none;
  margin: 0;
}
.reward-dropzone__label {
  margin: 0.75rem 0 0.5rem;
}
.reward-dropzone__or {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #898d90;
  margin-bottom: 0.75rem;
}
.reward-dropzone__or span {
  flex: 1;
  height: 1px;
  background: #cbcbcb;
}
.reward-dropzone__hint {
  color: #898d90;
  margin: 0.5rem 0 0;
}
.reward-dropzone__filename {
  font-weight: 600;
  margin: 0.5rem 0 0;
  word-break: break-all;
}

.reward-preview {
  background: #fff;
  border-radius: 12px;
  padding: 0.75rem;
  margin-top: 0.5rem;
}
.reward-preview__photo {
  width: 100%;
  border-radius: 8px;
  margin-bottom: 0.75rem;
  max-height: 260px;
  object-fit: cover;
}
.reward-preview__body em {
  color: #222;
}

.reward-done-list {
  list-style: none;
  padding: 0 0 0 8px;
  margin: 0;
  max-height: 50vh;
  overflow-y: auto;
}
.reward-done-list__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #f9f9f9;
  border-radius: 10px;
  padding: 0.85rem 1rem;
  margin-bottom: 0.75rem;
}
.reward-done-list__item .reward-boost__recurring {
  background: #fff;
}
.reward-done-list__date {
  flex: 0 0 90px;
  text-align: center;
  white-space: nowrap;
}
.reward-done-list .reward-badge {
  flex-basis: 120px;
  text-align: center;
  padding-inline: 0.5rem;
}

/* Produit daté : items sans bordure haute (override hummingbird) */
.product-customization__item {
  border-block-start: none;
}

:root {
  --pds-noir: #000000;
  --pds-blanc: #FFFFFF;
  --pds-jaune: #FDEA83;
  --pds-rose: #FCB9DF;
  --pds-orange: #FCA225;
  --pds-jaune-pale: #FEF6C9;
  --pds-rose-pale: #FEE3F2;
  --pds-orange-pale: #FEE0B4;
  --pds-orange-fonce: #E08608;
  --pds-vert: #0b882a;
  --pds-vert-pale: rgba(11, 136, 42, .1);
  --pds-gris-100: #F5F5F5;
  --pds-gris-200: #E6E6E6;
  --pds-gris-500: #8C8C8C;
  --pds-encre: #1A1A1A;
  --pds-degrade-principal: linear-gradient(90deg, #FDEA83 0%, #FCA225 50%, #FCB9DF 100%);
  --pds-degrade-secondaire: linear-gradient(90deg, #FCB9DF 0%, #FDEA83 100%);
  --pds-degrade-fond: linear-gradient(135deg, #FCA225, #FCB9DF, #FDEA83);
  --pds-voile-image: rgba(0, 0, 0, .3);
  --pds-voile-couverture: rgba(0, 0, 0, .5);
  --font-display: "ThinkLoved", sans-serif;
  --font-body: "Archivo", sans-serif;
  --text-display-xl: clamp(48px, 6vw, 88px);
  --text-display-lg: clamp(36px, 4.5vw, 60px);
  --text-display-md: clamp(28px, 3vw, 40px);
  --text-display-sm: 24px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --shadow-card: 0 2px 12px rgba(0, 0, 0, .08);
  --shadow-pop: 0 8px 24px rgba(0, 0, 0, .12);
  --transition-fast: 150ms ease;
  --transition-med: 250ms ease;
}

.display {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1.04;
  letter-spacing: 0.2px;
}

.section-title {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.08;
}

.section-sub {
  color: var(--pds-gris-500);
  font-size: 17px;
  margin-top: 12px;
  font-weight: 300;
}

.grad-hl,
.hl-j {
  background: var(--pds-jaune);
  padding: 0.02em 0.14em;
  border-radius: 0.16em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.hl-r {
  background: var(--pds-rose);
  padding: 0.02em 0.14em;
  border-radius: 0.16em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.hl-o {
  background: var(--pds-orange);
  padding: 0.02em 0.14em;
  border-radius: 0.16em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

h1 .grad-hl, h1 .hl-j, h1 .hl-r, h1 .hl-o,
h2 .grad-hl, h2 .hl-j, h2 .hl-r, h2 .hl-o,
h3 .grad-hl, h3 .hl-j, h3 .hl-r, h3 .hl-o {
  background: transparent;
  padding: 0;
  border-radius: 0;
}

.pds-tag {
  background: var(--pds-jaune);
  padding: 0.1em 0.35em;
  border-radius: 0.18em;
  display: inline-block;
  transform: rotate(-2deg);
  white-space: nowrap;
}
.pds-tag--rose {
  background: var(--pds-rose);
}
.pds-tag--orange {
  background: var(--pds-orange);
}

.uline-j {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 20" preserveAspectRatio="none"><path d="M5 12 C 50 4, 120 4, 195 9" fill="none" stroke="%23FDEA83" stroke-width="13" stroke-linecap="round"/></svg>') no-repeat bottom left/100% 0.24em;
  padding-bottom: 0.12em;
}

.uline-y {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 20" preserveAspectRatio="none"><path d="M5 12 C 50 4, 120 4, 195 9" fill="none" stroke="%23FDEA83" stroke-width="15" stroke-linecap="round"/></svg>') no-repeat left 96%/100% 0.18em;
  padding-bottom: 0.12em;
}

.uline-rose {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 20" preserveAspectRatio="none"><path d="M5 12 C 50 4, 120 4, 195 9" fill="none" stroke="%23FCB9DF" stroke-width="15" stroke-linecap="round"/></svg>') no-repeat left 96%/100% 0.18em;
  padding-bottom: 0.12em;
}

.uline-w {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 20" preserveAspectRatio="none"><path d="M5 12 C 50 4, 120 4, 195 9" fill="none" stroke="white" stroke-width="13" stroke-linecap="round"/></svg>') no-repeat bottom left/100% 0.24em;
  padding-bottom: 0.12em;
}

.link-arrow, .swiper-custom-buttons-link, .search-dropdown__see-all {
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  user-select: none;
}
.link-arrow::after, .swiper-custom-buttons-link::after, .search-dropdown__see-all::after {
  content: "";
  width: 15px;
  height: 15px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2 8h11M9 3.5 13.5 8 9 12.5' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2 8h11M9 3.5 13.5 8 9 12.5' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: transform 0.2s;
}
@media (hover: hover) {
  .link-arrow:hover::after, .swiper-custom-buttons-link:hover::after, .search-dropdown__see-all:hover::after {
    transform: translateX(4px);
  }
}

.btn-white {
  background: #fff;
  color: #000;
  border: 2px solid #000;
}
@media (hover: hover) {
  .btn-white:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    background: #fff;
    color: #000;
  }
}

.pds-card {
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  padding: 28px 24px;
  transition: all 0.22s ease;
}
@media (hover: hover) {
  .pds-card--hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  }
}

.cta-band {
  background: #000;
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 44px 36px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.cta-band h2 {
  font-family: var(--font-display);
  text-transform: uppercase;
  font-weight: 400;
  font-size: 28px;
  margin: 0;
  color: #fff;
}
.cta-band p {
  margin: 6px 0 0;
  color: #fff;
  opacity: 0.85;
}

.cta-final {
  color: #000;
  text-align: center;
  position: relative;
  background: var(--pds-jaune);
  background-image: radial-gradient(90% 130% at 0% 0%, var(--pds-jaune) 0%, rgba(253, 234, 131, 0) 60%), radial-gradient(80% 130% at 8% 100%, var(--pds-orange) 0%, rgba(252, 162, 37, 0) 65%), radial-gradient(90% 140% at 100% 40%, var(--pds-rose) 0%, rgba(252, 185, 223, 0) 70%), linear-gradient(105deg, var(--pds-jaune) 0%, var(--pds-orange) 45%, var(--pds-rose) 100%);
}
.cta-final h2 {
  font-size: clamp(28px, 3.6vw, 42px);
}
.cta-final p {
  margin: 14px 0 28px;
  font-size: 18px;
}

.pds-liseret {
  height: 3px;
  background: var(--pds-degrade-principal);
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 991px) {
  .news-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .news-grid {
    grid-template-columns: 1fr;
  }
}

.news-card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.22s;
  color: inherit;
  text-decoration: none;
}
@media (hover: hover) {
  .news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    color: inherit;
  }
}
.news-card h3 {
  font-family: var(--font-body);
  text-transform: none;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.35;
  margin: 0;
}

.news-thumb {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--pds-degrade-principal);
}
.news-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.news-body p {
  font-size: 14.5px;
  color: var(--pds-gris-500);
  flex: 1;
  margin: 0;
}

.news-date {
  font-size: 13px;
  color: var(--pds-gris-500);
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 34px 0;
}

.chip {
  background: var(--pds-jaune);
  color: #000;
  border-radius: 999px;
  padding: 11px 24px;
  font-weight: 600;
  font-size: 15px;
}

.chips .chip:nth-child(3n+2) {
  background: var(--pds-rose);
}

.chips .chip:nth-child(3n) {
  background: var(--pds-orange);
}

@media (hover: hover) {
  .chips a.chip:hover {
    transform: translateY(-2px);
  }
}
.article-meta {
  margin-top: 14px;
  font-size: 14px;
  color: var(--pds-gris-500);
}

.article-content {
  max-width: 820px;
  margin: 0 auto;
}
.article-content h2 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(20px, 2.4vw, 27px);
  line-height: 1.15;
  margin: 36px 0 14px;
}
.article-content h3 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.2;
  margin: 28px 0 12px;
}
.article-content h4 {
  font-weight: 700;
  font-size: 17px;
  margin: 22px 0 10px;
}
.article-content p {
  margin: 0 0 14px;
}
.article-content ul,
.article-content ol {
  padding-left: 24px;
  margin: 0 0 16px;
}
.article-content ul {
  list-style: disc;
}
.article-content ol {
  list-style: decimal;
}
.article-content li {
  margin: 6px 0;
}
.article-content a {
  font-weight: 600;
  text-decoration: underline;
}
.article-content img {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
  margin: 12px 0;
}
.article-content iframe {
  max-width: 100%;
  border-radius: 16px;
}
.article-content blockquote {
  border-left: 4px solid var(--pds-jaune);
  padding: 8px 0 8px 18px;
  margin: 18px 0;
  font-style: italic;
}
.article-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0;
  font-size: 15px;
  display: block;
  overflow-x: auto;
}
.article-content th {
  background: #000;
  color: #fff;
  padding: 10px 14px;
  text-align: left;
}
.article-content td {
  padding: 10px 14px;
  border-bottom: 1.5px solid var(--pds-gris-200);
}

.article-cover {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  margin-bottom: 30px;
}

.article-lead {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 18px;
}

.article-gate {
  background: var(--pds-jaune-pale);
  border-radius: var(--radius-lg);
  padding: 32px 28px;
  margin: 34px 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
}
.article-gate h3 {
  margin-top: 0;
}
.article-gate form {
  max-width: 520px;
}
.article-gate .gate-code-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.article-gate .gate-code-row .btn {
  flex: none;
}
.article-gate .gate-code-row input {
  flex: 1;
  min-width: 180px;
  width: auto;
}
.article-gate small {
  display: block;
  margin-top: 8px;
  color: var(--pds-gris-500);
}
.article-gate .gate-rgpd {
  font-size: 13px;
  color: var(--pds-gris-500);
  margin: 14px 0 0;
}
.article-gate #private-content-msg {
  font-weight: 600;
  margin: 10px 0 0;
}

.art-hero {
  padding: 56px 0 48px;
  background: radial-gradient(70% 120% at 85% -20%, var(--pds-jaune-pale) 0%, rgba(253, 244, 196, 0) 60%), radial-gradient(60% 120% at 10% -30%, var(--pds-rose-pale) 0%, rgba(254, 227, 242, 0) 55%);
}

.art-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.art-tag {
  background: #000;
  color: #fff;
  border-radius: 100px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
}

.art-meta span {
  font-size: 13.5px;
  color: #000;
}

.art-meta span.art-tag {
  color: #fff;
}

.art-hero h1 {
  font-size: clamp(28px, 3.6vw, 42px);
  max-width: 26ch;
}

.art-hero .lead {
  margin-top: 16px;
  font-size: 17.5px;
  max-width: 62ch;
  font-weight: 300;
}

.article-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}

.toc {
  position: sticky;
  top: 96px;
  border: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  border-radius: 20px;
  padding: 24px 22px;
  background: #fff;
}

.toc h4 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 15px;
  margin-bottom: 12px;
}

.toc ol {
  list-style: none;
  display: flex;
  flex-direction: column;
}

.toc a {
  display: block;
  font-size: 13.5px;
  color: var(--pds-gris-500);
  padding: 6px 0 6px 14px;
  border-left: 2.5px solid var(--pds-gris-200);
  line-height: 1.35;
}

.toc a:hover {
  color: #000;
}

.toc a.on {
  color: #000;
  font-weight: 600;
  border-left-color: var(--pds-orange);
}

.prose {
  max-width: 720px;
}

.prose > h2 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.12;
  margin: 56px 0 18px;
  scroll-margin-top: 90px;
  display: flex;
  gap: 14px;
  align-items: baseline;
}

.prose > h2 .no {
  color: #000;
  flex: 0 0 auto;
}

.prose h3 {
  font-size: 17.5px;
  font-weight: 700;
  margin: 26px 0 10px;
}

.prose h4 {
  font-size: 16px;
  font-weight: 700;
  margin: 22px 0 8px;
}

.prose h5 {
  font-size: 15.5px;
  font-weight: 700;
  margin: 18px 0 6px;
  color: #000;
}

.prose ul, .prose ol {
  margin: 0 0 14px 22px;
  padding: 0;
  font-size: 15.5px;
  color: var(--pds-gris-600, #3d3d3d);
}

.prose ul {
  list-style: disc;
}

.prose ol {
  list-style: decimal;
}

.prose ol[type=A] {
  list-style: upper-alpha;
}

.prose li {
  margin-bottom: 6px;
}

.prose li ul, .prose li ol {
  margin-top: 6px;
  margin-bottom: 0;
}

.prose blockquote {
  margin: 0 0 14px;
  padding: 4px 0 4px 18px;
  border-left: 3px solid var(--pds-gris-200, #e6e6e6);
}

.prose blockquote p {
  font-style: italic;
}

.prose p {
  font-size: 15.5px;
  color: var(--pds-gris-600, #3d3d3d);
  margin-bottom: 14px;
  text-wrap: pretty;
}

.prose p strong {
  color: #000;
}

.prose .check-list li {
  font-size: 15px;
}

.art-photo {
  margin: 26px 0;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

.art-photo img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}

.art-photo figcaption {
  font-size: 14px;
  font-weight: 600;
  padding: 12px 18px;
  background: #fff;
}

.callout {
  border-radius: 18px;
  padding: 20px 22px;
  margin: 22px 0;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.callout .co-ico {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.callout .co-ico svg {
  width: 17px;
  height: 17px;
}

.callout p {
  margin: 0;
  font-size: 15px;
}

.callout.jaune {
  background: var(--pds-jaune-pale);
}

.callout.rose {
  background: var(--pds-rose-pale);
}

.callout .co-title {
  display: block;
  font-weight: 700;
  font-size: 15.5px;
  margin-bottom: 4px;
  color: #000;
}

.duo-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 22px 0;
}

.duo-card {
  border: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.13);
  border-radius: 20px;
  padding: 24px 22px;
  background: #fff;
}

.duo-card .dc-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 14px;
  background: var(--pds-jaune);
  border-radius: 0.16em;
  padding: 0.14em 0.4em;
  margin-bottom: 12px;
}

.duo-card.alt .dc-tag {
  background: var(--pds-rose);
}

.duo-card h3 {
  margin: 0 0 8px;
  font-size: 16.5px;
}

.duo-card p, .duo-card li {
  font-size: 14.5px;
  color: var(--pds-gris-500);
}

.ecriture {
  border-radius: 20px;
  background: var(--pds-gris-100);
  padding: 22px 24px;
  margin: 22px 0;
}

.ecriture .row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1.5px dashed var(--pds-gris-300, #d9d9d9);
  font-size: 15px;
}

.ecriture .row:last-child {
  border-bottom: none;
}

.ecriture .row strong {
  font-variant-numeric: tabular-nums;
}

.steps-flow {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 22px 0;
}

.step-card {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  border: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.13);
  border-radius: 20px;
  padding: 22px 24px;
  background: #fff;
}

.step-card .st-no {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--pds-jaune);
  font-family: var(--font-display);
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.step-card h3 {
  margin: 2px 0 6px;
  font-size: 16px;
}

.step-card p {
  margin: 0;
  font-size: 14.5px;
  color: var(--pds-gris-500);
}

.fisc-band {
  background: #000;
  color: #fff;
  border-radius: 24px;
  padding: 32px 30px;
  margin: 26px 0;
}

.fisc-band p {
  color: #fff;
  margin: 0 0 8px;
  font-size: 15px;
}

.fisc-nums {
  display: flex;
  gap: 34px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.fisc-nums .fn strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 26px;
  color: var(--pds-jaune);
}

.fisc-nums .fn span {
  font-size: 13.5px;
  color: #cfcfcf;
}

.case-card ul {
  margin: 0;
  list-style: none;
}

.case-card li {
  display: flex;
  gap: 10px;
  font-size: 14.5px;
  color: var(--pds-gris-500);
  padding: 5px 0;
}

.case-card li::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 6 9 17l-5-5" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center/contain;
}

.case-eco {
  margin-top: 14px;
  background: var(--pds-jaune-pale);
  border-radius: 14px;
  padding: 12px 16px;
  font-size: 14px;
}

.case-eco strong {
  font-variant-numeric: tabular-nums;
}

.size-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 22px 0;
}

.size-tile {
  border: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.13);
  border-radius: 20px;
  padding: 22px 20px;
  background: #fff;
}

.size-tile .sz {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 19px;
  display: block;
  margin-bottom: 8px;
}

.size-tile p {
  margin: 0;
  font-size: 14px;
  color: var(--pds-gris-500);
}

.sources {
  margin: 20px 0 0;
  border-top: 1.5px solid var(--pds-gris-200);
  padding-top: 18px;
}

.sources li {
  font-size: 13.5px;
  color: var(--pds-gris-500);
  padding: 3px 0;
}

.sources a {
  text-decoration: underline;
}

@media (max-width: 992px) {
  .article-layout {
    grid-template-columns: 1fr;
  }
  .toc {
    position: static;
    order: -1;
  }
  .duo-cards, .size-tiles {
    grid-template-columns: 1fr;
  }
}
.art-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 991px) {
  .art-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .art-grid {
    grid-template-columns: 1fr;
  }
}

.art-card {
  border: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  padding: 0 0 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: flex-start;
  transition: all 0.22s;
  background: #fff;
  color: inherit;
}
@media (hover: hover) {
  .art-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    color: inherit;
  }
}
.art-card h3 {
  font-family: var(--font-body);
  text-transform: none;
  font-size: 16.5px;
  font-weight: 600 !important;
  line-height: 1.35;
  padding: 0 22px;
  flex: 1;
  margin: 0;
}
.art-card .link-arrow, .art-card .swiper-custom-buttons-link, .art-card .search-dropdown__see-all {
  padding: 0 22px;
}

.art-visual {
  width: 100%;
  height: 140px;
  object-fit: cover;
  display: block;
}

.check-list {
  margin: 14px 0;
  list-style: none;
  padding-left: 0;
}
.check-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 7px 0;
  font-size: 15.5px;
  color: var(--pds-gris-500);
}
.check-list li .check {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 6 9 17l-5-5" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center/contain;
  color: transparent;
  overflow: hidden;
}
.check-list li strong {
  color: #000;
}

.quote-band {
  background: #000;
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 36px 34px;
  text-align: center;
  margin-top: 44px;
}
.quote-band p {
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: clamp(17px, 2.2vw, 23px);
}
.quote-band .hl {
  color: var(--pds-jaune);
}
.quote-band.light {
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  color: #000;
}

.art-hero--center {
  text-align: center;
}
.art-hero--center .breadcrumb {
  text-align: left;
}
.art-hero--center .art-meta {
  justify-content: center;
}
.art-hero--center h1,
.art-hero--center .lead {
  margin-left: auto;
  margin-right: auto;
}

#cms .cms-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
#cms .art-hero {
  width: 100vw;
  margin: -25px 0 0 calc(50% - 50vw);
  padding: 56px 0 48px;
  background: radial-gradient(70% 120% at 85% -20%, var(--pds-jaune-pale) 0%, rgba(253, 244, 196, 0) 60%), radial-gradient(60% 120% at 10% -30%, var(--pds-rose-pale) 0%, rgba(254, 227, 242, 0) 55%);
}
#cms .art-hero .breadcrumb {
  display: block;
  padding: 0;
  margin-bottom: 24px;
  font-size: 13.5px;
  color: var(--pds-gris-500);
  text-align: left;
}
#cms .art-hero .breadcrumb a:hover {
  text-decoration: underline;
}
#cms .art-hero h1 {
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 400 !important;
  margin-bottom: 0;
  text-align: left;
}
#cms .art-hero--center {
  text-align: center;
}
#cms .art-hero--center h1 {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
#cms .cms-body {
  padding: 44px 0 52px;
}
#cms .article-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}
#cms .toc {
  position: sticky;
  top: 96px;
  border-radius: 20px;
  padding: 24px 22px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
}
#cms .toc h4 {
  font-family: var(--font-display);
  font-weight: 400 !important;
  text-transform: uppercase;
  font-size: 15px;
  margin-bottom: 12px;
}
#cms .toc ol {
  list-style: none;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}
#cms .toc a {
  display: block;
  font-size: 13.5px;
  color: var(--pds-gris-500);
  padding: 6px 0 6px 14px;
  border-left: 2.5px solid var(--pds-gris-200);
  line-height: 1.35;
}
#cms .toc a:hover {
  color: #000;
}
#cms .toc a.on {
  color: #000;
  font-weight: 600;
  border-left-color: var(--pds-orange);
}
#cms .prose {
  max-width: 720px;
}
#cms .prose > h2 {
  font-family: var(--font-display);
  font-weight: 400 !important;
  text-transform: uppercase;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.12;
  margin: 56px 0 18px;
  scroll-margin-top: 90px;
  display: flex;
  gap: 14px;
  align-items: baseline;
  text-align: left;
}
#cms .prose > h2 .no {
  color: #000;
  flex: 0 0 auto;
}
#cms .prose > h2:first-child {
  margin-top: 0;
}
#cms .prose h3 {
  font-family: inherit;
  font-size: 17.5px;
  font-weight: 700 !important;
  margin: 26px 0 10px;
}
#cms .prose p {
  font-size: 15.5px;
  color: var(--pds-gris-600, #3d3d3d);
  margin-bottom: 14px;
  text-wrap: pretty;
}
#cms .prose p strong {
  color: #000;
}
#cms .prose ul,
#cms .prose ol {
  padding-left: 24px;
  margin: 0 0 16px;
}
#cms .prose li {
  font-size: 15.5px;
  color: var(--pds-gris-600, #3d3d3d);
  margin-bottom: 6px;
}
@media (max-width: 992px) {
  #cms .article-layout {
    grid-template-columns: 1fr;
  }
  #cms .toc {
    position: static;
    order: -1;
  }
}

@media screen and (max-width: 600px) {
  #CookiebotWidget:not(.CookiebotWidget-inactive) {
    bottom: 65px !important;
  }
}
