/* LotoAssociatif responsive overrides - 2026-07-29 */
@media (max-width:1199.98px){
#mobileMenu.ps-mainmenu--mobile{width:min(78vw,310px)!important;max-width:310px!important;border:0!important;border-radius:0 20px 20px 0!important;background:#fff!important;box-shadow:18px 0 48px rgba(24,39,75,.18)!important}
#mobileMenu .offcanvas-header{min-height:74px!important;padding:15px 18px!important;border-bottom:1px solid #e8edf5!important;background:#f8faff!important}
#mobileMenu .btn-close{width:36px!important;height:36px!important;margin:0 0 0 auto!important;padding:0!important;border-radius:50%!important;background-color:#fff!important;box-shadow:0 4px 14px rgba(40,58,107,.12)!important;opacity:.78!important}
#mobileMenu .ps-mainmenu__mobile{padding:14px 12px 22px!important}
#mobileMenu .menu__list{margin:0!important;padding:0!important}
#mobileMenu .menu__list>li{margin:4px 0!important}
#mobileMenu .menu__link{display:flex!important;align-items:center!important;min-height:48px!important;padding:10px 13px!important;border-radius:12px!important;color:#283a6b!important;font-size:.96rem!important;font-weight:700!important;line-height:1.25!important;transition:background-color .18s,color .18s!important}
#mobileMenu .menu__list>li.current>.menu__link,#mobileMenu .menu__link:focus-visible{background:#eaf1ff!important;color:#0364ff!important}
.offcanvas-backdrop.show{background:#18264a!important;opacity:.42!important}
}

/* Erreur 404 : orientation utile sans modifier le statut HTTP de la page. */
body:has(.error404-page) #wrapper {
  padding-top: 38px;
  padding-bottom: 65px;
  background:
    radial-gradient(circle at 12% 8%, rgba(3, 100, 255, .09), transparent 26%),
    linear-gradient(180deg, #f7faff 0, #fff 520px);
}

.error404-page {
  max-width: 1160px;
}

.error404-card {
  display: grid;
  grid-template-columns: minmax(330px, .9fr) minmax(420px, 1.1fr);
  overflow: hidden;
  border: 1px solid #dce7f7;
  border-top: 6px solid #0364ff;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(18, 49, 101, .1);
}

.error404-card__visual {
  display: flex;
  min-height: 350px;
  align-items: center;
  justify-content: center;
  padding: 42px 30px;
  background:
    radial-gradient(circle at 73% 22%, rgba(255, 255, 255, .85) 0 3px, transparent 4px),
    radial-gradient(circle at 24% 75%, rgba(255, 255, 255, .7) 0 4px, transparent 5px),
    linear-gradient(145deg, #e6f1ff 0, #f6f9ff 70%);
}

.error404-card__ball {
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  border: 8px solid #fff;
  border-radius: 50%;
  box-shadow: 0 16px 32px rgba(22, 62, 124, .16);
  font-size: 3.4rem;
  font-weight: 900;
}

.error404-card__ball--one,
.error404-card__ball--two {
  background: #0364ff;
  color: #fff;
}

.error404-card__ball--zero {
  z-index: 2;
  margin: 0 -12px;
  background: #fff;
  color: #183263;
  transform: translateY(-18px);
}

.error404-card__ball--one {
  transform: rotate(-8deg) translateY(12px);
}

.error404-card__ball--two {
  transform: rotate(8deg) translateY(12px);
}

.error404-card__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 54px 52px;
}

.error404-eyebrow {
  margin: 0 0 9px;
  color: #0364ff;
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .085em;
  text-transform: uppercase;
}

.error404-card h1 {
  max-width: 570px;
  margin: 0 0 18px;
  color: #183263;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 850;
  letter-spacing: -.025em;
  line-height: 1.1;
}

.error404-card__intro {
  max-width: 620px;
  margin: 0;
  color: #59677e;
  font-size: 1.05rem;
  line-height: 1.65;
}

.error404-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 27px;
}

.error404-card__actions .btn {
  min-height: 50px;
  padding: 12px 23px;
  border-radius: 12px;
  font-weight: 800;
}

.error404-card__primary {
  border-color: #0364ff;
  background: #0364ff;
  box-shadow: 0 9px 21px rgba(3, 100, 255, .22);
}

.error404-card__secondary {
  border-color: #bfd2f2;
  background: #f5f9ff;
  color: #0364ff;
}

.error404-suggestions {
  margin-top: 34px;
}

.error404-suggestions__heading {
  margin-bottom: 18px;
  text-align: center;
}

.error404-suggestions__heading h2 {
  margin: 0;
  color: #203967;
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  font-weight: 800;
}

.error404-suggestions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.error404-suggestion {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 28px;
  gap: 15px;
  align-items: center;
  min-height: 98px;
  padding: 19px 21px;
  border: 1px solid #dce6f4;
  border-radius: 16px;
  background: #fff;
  color: #23395f;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(18, 49, 101, .06);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.error404-suggestion:hover,
.error404-suggestion:focus {
  border-color: #a9c9fb;
  color: #183263;
  text-decoration: none;
  box-shadow: 0 13px 30px rgba(18, 49, 101, .11);
  transform: translateY(-2px);
}

.error404-suggestion__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  background: #eaf2ff;
  color: #0364ff;
  font-size: 1.15rem;
  font-weight: 900;
}

.error404-suggestion strong,
.error404-suggestion small {
  display: block;
}

.error404-suggestion strong {
  margin-bottom: 3px;
  color: #203967;
  font-size: 1rem;
}

.error404-suggestion small {
  color: #6b778c;
  line-height: 1.4;
}

.error404-suggestion__arrow {
  color: #0364ff;
  font-size: 1.35rem;
  font-weight: 800;
  transition: transform .2s ease;
}

.error404-suggestion:hover .error404-suggestion__arrow,
.error404-suggestion:focus .error404-suggestion__arrow {
  transform: translateX(3px);
}

@media (max-width: 991.98px) {
  .error404-card {
    grid-template-columns: 1fr;
  }

  .error404-card__visual {
    min-height: 250px;
  }

  .error404-card__content {
    padding: 38px;
    text-align: center;
  }

  .error404-card h1,
  .error404-card__intro {
    margin-right: auto;
    margin-left: auto;
  }

  .error404-card__actions {
    justify-content: center;
  }
}

@media (max-width: 767.98px) {
  body:has(.error404-page) #wrapper {
    padding-top: 20px;
    padding-bottom: 42px;
  }

  .error404-page {
    padding-right: 14px;
    padding-left: 14px;
  }

  .error404-card {
    border-radius: 18px;
  }

  .error404-card__visual {
    min-height: 205px;
    padding: 30px 13px;
  }

  .error404-card__ball {
    width: 82px;
    height: 82px;
    border-width: 6px;
    font-size: 2.45rem;
  }

  .error404-card__content {
    padding: 30px 21px 32px;
  }

  .error404-card__actions {
    display: grid;
    width: 100%;
  }

  .error404-card__actions .btn {
    width: 100%;
  }

  .error404-suggestions__grid {
    grid-template-columns: 1fr;
  }

  .error404-suggestion {
    grid-template-columns: 44px minmax(0, 1fr) 22px;
    padding: 17px;
  }

  .error404-suggestion__icon {
    width: 44px;
    height: 44px;
  }
}

.la-sitemap__guides {
  margin-top: 28px;
  overflow: hidden;
  border: 1px solid #d7e4f7;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(18, 49, 101, .075);
}

.la-sitemap__guides-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 25px 28px;
  border-bottom: 1px solid #dce7f7;
  background: linear-gradient(135deg, #f2f7ff 0, #fff 72%);
}

.la-sitemap__guides-heading h2 {
  margin: 0 0 6px;
  color: #20386c;
  font-size: 1.45rem;
  font-weight: 800;
}

.la-sitemap__guides-heading p {
  margin: 0;
  color: #5b6c89;
  line-height: 1.55;
}

.la-sitemap__guides-home {
  flex: 0 0 auto;
  padding: 11px 18px;
  border: 1px solid #b9cff3;
  border-radius: 999px;
  background: #fff;
  color: #0364ff;
  font-weight: 800;
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.la-sitemap__guides-home:hover,
.la-sitemap__guides-home:focus-visible {
  background: #0364ff;
  color: #fff;
  transform: translateY(-1px);
}

body#sitemap .sitemap__list--guides {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px 18px;
  margin: 0;
  padding: 19px 22px 23px;
  border: 0;
}

body#sitemap .sitemap__list--guides .sitemap__link {
  height: 100%;
  padding: 11px 12px 11px 28px;
  border: 1px solid transparent;
}

body#sitemap .sitemap__list--guides .sitemap__link:hover,
body#sitemap .sitemap__list--guides .sitemap__link:focus-visible {
  border-color: #d7e5fa;
}

@media (max-width: 991.98px) {
  body#sitemap .sitemap__list--guides {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .la-sitemap__guides {
    margin-top: 20px;
    border-radius: 18px;
  }

  .la-sitemap__guides-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
    padding: 22px 20px;
  }

  .la-sitemap__guides-home {
    width: 100%;
    text-align: center;
  }

  body#sitemap .sitemap__list--guides {
    grid-template-columns: 1fr;
    padding: 14px;
  }
}

/* Cartons Bingo: architectural parity with Cartons Loto - 2026-07-29 */
body.category-id-5 #left-column{display:none!important}
body.category-id-5 #center-column{flex:0 0 100%!important;min-width:0!important;max-width:100%!important;width:100%!important}
body.category-id-5 .columns-container>.row{justify-content:center!important}
body.category-id-5 .columns-container.container{max-width:1320px!important}
body.category-id-5 #product-list-header .category__header{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(220px,.48fr) minmax(0,1.52fr)!important;align-items:center!important;gap:12px 28px!important;max-width:100%!important;position:relative!important;overflow:hidden!important;margin:0!important;padding:18px 22px 16px!important;background:#fff!important;background-image:none!important;border:1px solid #e4e9f2!important;border-top:4px solid #0364ff!important;border-radius:18px 18px 0 0!important;box-shadow:0 8px 22px rgba(40,58,107,.045)!important}
body.category-id-5 #product-list-header .page-title-section{max-width:900px!important;margin:0!important;color:#283a6b!important;font-size:clamp(1.9rem,3.5vw,2.8rem)!important;font-weight:600!important;line-height:1.06!important;letter-spacing:-.035em!important}
body.category-id-5 .category__description,body.category-id-5 .category__description .elementor-section,body.category-id-5 .category__description .elementor-widget-container{margin:0!important}
body.category-id-5 .la-bingo-lead{max-width:900px!important;margin:0!important;color:#212529!important;font-size:clamp(.98rem,1.35vw,1.12rem)!important;font-weight:400!important;line-height:1.48!important}
body.category-id-5 .la-bingo-benefits{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:11px 0 0!important;padding:0!important;list-style:none!important}
body.category-id-5 .la-bingo-benefits li{display:inline-flex!important;align-items:center!important;gap:0!important;min-height:34px!important;margin:0!important;padding:5px 11px 5px 6px!important;border:1px solid #dfe7f3!important;border-radius:999px!important;background:#f7f9fc!important;color:#283a6b!important;font-size:.84rem!important;font-weight:700!important;line-height:1.2!important;list-style:none!important}
body.category-id-5 .la-bingo-benefits li::before{display:grid!important;place-items:center!important;flex:0 0 24px!important;width:24px!important;height:24px!important;margin-right:7px!important;border-radius:50%!important;background:#e7f0ff!important;color:#0364ff!important;font-size:.68rem!important;font-weight:900!important;line-height:1!important;content:""!important}
body.category-id-5 .la-bingo-benefits li:nth-child(1)::before{content:"75"!important}
body.category-id-5 .la-bingo-benefits li:nth-child(2)::before{content:"5×5"!important}
body.category-id-5 .la-bingo-benefits li:nth-child(3)::before{content:"15"!important}
body.category-id-5 #js-product-list-top .products__selection{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:center!important;gap:8px 12px!important;margin:0 0 12px!important;padding:9px 12px!important;background:#fff!important;border:1px solid #e4e9f2!important;border-top:0!important;border-radius:0 0 14px 14px!important;box-shadow:0 10px 24px rgba(40,58,107,.045)!important}
body.category-id-5 #js-product-list-top .products__count{margin:0!important}
body.category-id-5 #js-product-list-top .products__sort{min-width:0!important}

@media (min-width:992px){
body.category-id-5 #product-list-header .category__header{grid-template-columns:minmax(310px,.55fr) minmax(0,1.45fr)!important}
body.category-id-5 #product-list-header .page-title-section{white-space:nowrap!important}
}

@media (max-width:767.98px){
body.category-id-5 .columns-container.container{padding-left:14px!important;padding-right:14px!important}
body.category-id-5 #product-list-header .category__header{display:block!important;margin-top:4px!important;padding:10px 12px 9px!important;border-top-width:3px!important;border-radius:14px 14px 0 0!important;box-shadow:none!important}
body.category-id-5 #product-list-header .page-title-section{margin:0 0 5px!important;font-size:1.55rem!important;line-height:1.1!important}
body.category-id-5 .la-bingo-lead{font-size:.86rem!important;line-height:1.36!important}
body.category-id-5 .la-bingo-benefits{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin-top:7px!important;width:100%!important}
body.category-id-5 .la-bingo-benefits li{justify-content:center!important;min-width:0!important;min-height:30px!important;padding:4px 6px!important;border-radius:12px!important;font-size:.68rem!important;line-height:1.15!important;text-align:center!important;overflow-wrap:anywhere!important}
body.category-id-5 .la-bingo-benefits li::before{flex-basis:20px!important;width:20px!important;height:20px!important;margin-right:5px!important;font-size:.58rem!important}
body.category-id-5 #js-product-list-top .products__selection{grid-template-columns:minmax(0,1fr) auto!important;gap:8px 12px!important;margin-bottom:12px!important;padding:9px 12px!important}
body.category-id-5 #js-product-list-top .products__sort{order:1!important}
body.category-id-5 #js-product-list-top .products__count{order:2!important}
body.category-id-5 #js-product-list-top .products__sort-label{display:none!important}
body.category-id-5 #js-product-list-top .products__sort-dropdown,body.category-id-5 #js-product-list-top .products__sort-dropdown-button{min-width:0!important;width:100%!important}
}

/* LotoAssociatif.fr — logo légèrement agrandi sur ordinateur, 2026-07-30 */
@media (min-width: 992px) {
  .header-bottom .navbar-brand .logo {
    max-width: 9.75rem;
    max-height: 3.25rem;
  }
}

/* En-tête tablette et ordinateur sur une ligne fonctionnelle, 2026-07-30 */
@media (min-width: 768px) {
  #header {
    position: relative;
    background: #fff;
  }

  .header-top {
    position: relative;
    min-height: 68px;
    border-bottom: 1px solid #e4e9f2;
    background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
  }

  .header-top > .container-md,
  .header-top > .container-md > .row {
    min-height: 68px;
  }

  .header-top > .container-md > .row {
    align-items: center;
  }

  .header-top__left {
    display: none;
  }

  .header-top__right {
    width: auto !important;
    margin-left: auto;
    gap: 8px;
    align-items: center;
  }

  .header-top__right .header-block__action-btn {
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid #e0e7f1;
    border-radius: 12px;
    background: #fff;
    color: #283a6b;
    box-shadow: 0 3px 12px rgba(40, 58, 107, 0.06);
    transition:
      border-color 0.18s,
      background-color 0.18s,
      color 0.18s,
      box-shadow 0.18s;
  }

  .header-top__right .header-block__action-btn:hover,
  .header-top__right .header-block__action-btn:focus-visible {
    border-color: #bfd2f2;
    background: #f4f8ff;
    color: #0364ff;
    box-shadow: 0 5px 16px rgba(40, 58, 107, 0.1);
  }

  .header-top__right .header-block__badge {
    background: #0364ff;
    color: #fff;
  }

  .header-bottom__container {
    position: relative;
  }

  #_desktop_ps_searchbar {
    position: absolute;
    z-index: 4;
    top: -60px;
    left: 12px;
    width: min(440px, calc(100% - 285px));
    height: 52px;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
  }

  #_desktop_ps_searchbar #ps_searchbar,
  #_desktop_ps_searchbar .ps-searchbar__form {
    width: 100%;
  }

  #_desktop_ps_searchbar .ps-searchbar__input {
    height: 44px;
    padding-left: 44px;
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    background: #f8faff;
    color: #283a6b;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      0 3px 12px rgba(40, 58, 107, 0.04);
  }

  #_desktop_ps_searchbar .ps-searchbar__input:focus {
    border-color: #8fb5ee;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(3, 100, 255, 0.1);
  }

  #_desktop_ps_searchbar .ps-searchbar__magnifier {
    left: 14px;
    color: #0364ff;
  }

  .header-bottom__row {
    min-height: 68px;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .header-top__right .header-block__title {
    font-size: 0.92rem;
  }

  #_desktop_ps_searchbar {
    width: calc(100% - 270px);
  }
}

/* Guides : conserver le H1 natif pour la structure SEO et l'accessibilité,
   sans afficher le titre redondant avant le véritable contenu éditorial. */
body#cms.cms-id-6 .page-header {
  height: 0;
  margin: 0;
}

body#cms.cms-id-6 .page-header .page-title-section {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Accueil mobile : conserver le point d’interrogation avec le titre Promotions. */
@media (max-width: 479.98px) {
  body#index .elementor-element-9369500,
  body#index .elementor-element-9369500 .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  body#index .elementor-element-9369500 .elementor-heading-title {
    width: auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    font-size: clamp(28px, 8.5vw, 36px) !important;
    letter-spacing: -.045em !important;
  }
}

/* Prolonger le fond sombre du footer jusque dans la zone de sécurité iOS. */
html {
  background-color: #212529;
}

body,
#wrapper {
  background-color: #fff;
}

footer.footer {
  background-color: #212529;
  padding-bottom: env(safe-area-inset-bottom);
}

/* Plan du site : présentation sobre, lisible et toujours alimentée par PrestaShop. */
body#sitemap #wrapper {
  padding-top: 32px;
  padding-bottom: 64px;
  background:
    radial-gradient(circle at 8% 6%, rgba(3, 100, 255, .08), transparent 28%),
    linear-gradient(180deg, #f7faff 0, #fff 470px);
}

body#sitemap .page-title-section {
  margin-bottom: 24px;
}

.la-sitemap {
  max-width: 1320px;
  margin: 0 auto;
}

.la-sitemap__intro {
  margin-bottom: 24px;
  padding: 30px 34px;
  border: 1px solid #dce7f7;
  border-top: 5px solid #0364ff;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(18, 49, 101, .08);
}

.la-sitemap__eyebrow {
  display: inline-flex;
  margin-bottom: 9px;
  color: #0364ff;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.la-sitemap__intro h2 {
  margin: 0 0 9px;
  color: #20386c;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: 800;
}

.la-sitemap__intro p {
  max-width: 860px;
  margin: 0;
  color: #52627f;
  font-size: 1.02rem;
  line-height: 1.65;
}

.la-sitemap__grid {
  row-gap: 24px;
}

body#sitemap .sitemap__block {
  display: flex;
  flex-direction: column;
}

body#sitemap .sitemap__block > h2 {
  margin: 0;
  padding: 20px 22px 14px;
  border: 1px solid #dce7f7;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  background: #f5f8ff;
  color: #20386c;
  font-size: 1.1rem;
  font-weight: 800;
}

body#sitemap .sitemap__block > .sitemap__list {
  flex: 1;
  margin: 0;
  padding: 9px 14px 15px;
  border: 1px solid #dce7f7;
  border-top: 0;
  border-radius: 0 0 18px 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(18, 49, 101, .065);
}

body#sitemap .sitemap__item {
  margin: 0;
  list-style: none;
}

body#sitemap .sitemap__link {
  position: relative;
  display: block;
  padding: 10px 11px 10px 27px;
  border-radius: 10px;
  color: #35486f;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

body#sitemap .sitemap__link::before {
  position: absolute;
  top: 17px;
  left: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0364ff;
  content: '';
}

body#sitemap .sitemap__link:hover,
body#sitemap .sitemap__link:focus-visible {
  background: #edf4ff;
  color: #0364ff;
  transform: translateX(2px);
}

body#sitemap .sitemap__list--nested {
  margin: 0 0 6px 18px;
  padding: 0 0 0 11px;
  border-left: 2px solid #dbe7fa;
}

body#sitemap .sitemap__list--nested .sitemap__link {
  padding-top: 8px;
  padding-bottom: 8px;
  font-size: .94rem;
  font-weight: 550;
}

body#sitemap .sitemap__list--nested .sitemap__link::before {
  top: 14px;
  width: 5px;
  height: 5px;
  background: #7a9bd5;
}

body#sitemap .sitemap__block hr {
  display: none !important;
}

@media (max-width: 767.98px) {
  body#sitemap #wrapper {
    padding-top: 20px;
    padding-bottom: 42px;
  }

  .la-sitemap__intro {
    padding: 24px 21px;
    border-radius: 18px;
  }

  .la-sitemap__grid {
    row-gap: 18px;
  }
}

/* Page Contact : présentation moderne sans modifier le formulaire natif. */
body#contact #wrapper {
  padding-top: 30px;
  padding-bottom: 72px;
  background:
    radial-gradient(circle at 92% 8%, rgba(3, 100, 255, .10), transparent 28rem),
    linear-gradient(180deg, #f7faff 0, #fff 28rem);
}

body#contact .columns-container > .row {
  align-items: stretch;
  row-gap: 28px;
}

@media (min-width: 992px) {
  body#contact .columns-container > .row {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    column-gap: 28px;
    margin-right: 0;
    margin-left: 0;
  }

  body#contact #left-column,
  body#contact #center-column {
    width: auto;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }
}

body#contact #left-column,
body#contact #center-column {
  display: flex;
}

body#contact #center-column #content {
  width: 100%;
}

body#contact .ps-contactinfo,
body#contact .contact-form {
  width: 100%;
  border: 1px solid #dce6f4;
  border-top: 6px solid #0364ff;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(20, 55, 110, .09);
}

body#contact .ps-contactinfo {
  padding: 30px 26px;
}

body#contact .ps-contactinfo__title {
  margin: 0 0 22px;
  color: #283a6b;
  font-size: 1.45rem;
  font-weight: 800;
}

body#contact .ps-contactinfo__item {
  position: relative;
  gap: 14px;
  margin: 0;
  padding: 19px 0;
  border-bottom: 1px solid #e3ebf7;
  color: #334461;
}

body#contact .ps-contactinfo__item:last-child {
  border-bottom: 0;
}

body#contact .ps-contactinfo__item > i,
body#contact .ps-contactinfo__item > .material-icons {
  display: inline-flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #eaf2ff;
  color: #0364ff;
}

body#contact .ps-contactinfo__info,
body#contact .ps-contactinfo__item a {
  color: #334461;
  line-height: 1.65;
}

body#contact .ps-contactinfo__item a {
  font-weight: 700;
  text-decoration: none;
}

body#contact .ps-contactinfo__item a:hover {
  color: #0364ff;
}

body#contact .contact-form {
  padding: 36px 40px 40px;
}

body#contact .contact-form .page-title-section {
  position: relative;
  margin: 0 0 34px;
  padding-bottom: 18px;
  color: #283a6b;
  font-size: clamp(2rem, 3.2vw, 2.65rem);
  font-weight: 800;
  letter-spacing: -.025em;
}

body#contact .contact-form .page-title-section::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 72px;
  height: 5px;
  border-radius: 999px;
  background: #0364ff;
  content: "";
}

body#contact .contact-form .mb-3 {
  margin-bottom: 22px !important;
}

body#contact .contact-form label,
body#contact .contact-form .form-control-label {
  margin-bottom: 9px;
  color: #283a6b;
  font-weight: 750;
}

body#contact .contact-form .form-control,
body#contact .contact-form .form-select,
body#contact .contact-form input[type="file"] {
  min-height: 52px;
  border: 1px solid #ccd9eb;
  border-radius: 12px;
  background-color: #fbfdff;
  color: #25395e;
  box-shadow: none;
}

body#contact .contact-form textarea.form-control {
  min-height: 160px;
  padding: 15px 16px;
  line-height: 1.55;
  resize: vertical;
}

body#contact .contact-form .form-control:focus,
body#contact .contact-form .form-select:focus,
body#contact .contact-form input[type="file"]:focus {
  border-color: #0364ff;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(3, 100, 255, .12);
}

body#contact .contact-form input[type="file"]::file-selector-button {
  height: 50px;
  margin: -1px 14px -1px -1px;
  padding: 0 18px;
  border: 0;
  border-right: 1px solid #ccd9eb;
  background: #edf4ff;
  color: #17427c;
  font-weight: 700;
  cursor: pointer;
}

body#contact .contact-form small,
body#contact .contact-form .form-text {
  color: #6a7890;
}

body#contact .contact-form button[type="submit"] {
  min-height: 52px;
  padding: 13px 26px;
  border: 0;
  border-radius: 12px;
  background: #0364ff;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(3, 100, 255, .22);
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

body#contact .contact-form button[type="submit"]:hover {
  background: #0055d8;
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(3, 100, 255, .28);
}

body#contact .contact-form button[type="submit"]:focus-visible {
  outline: 3px solid rgba(3, 100, 255, .28);
  outline-offset: 3px;
}

@media (max-width: 991.98px) {
  body#contact #left-column,
  body#contact #center-column {
    flex: 0 0 100%;
    max-width: 100%;
  }

  body#contact .ps-contactinfo {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 22px;
  }

  body#contact .ps-contactinfo__title {
    grid-column: 1 / -1;
  }

  body#contact .ps-contactinfo__item {
    border-bottom: 0;
  }
}

@media (max-width: 767.98px) {
  body#contact #wrapper {
    padding-top: 20px;
    padding-bottom: 48px;
  }

  body#contact .columns-container > .row {
    row-gap: 20px;
  }

  body#contact .ps-contactinfo,
  body#contact .contact-form {
    border-radius: 18px;
  }

  body#contact .ps-contactinfo {
    display: block;
    padding: 25px 20px;
  }

  body#contact .ps-contactinfo__item {
    border-bottom: 1px solid #e3ebf7;
  }

  body#contact .contact-form {
    padding: 28px 20px 30px;
  }

  body#contact .contact-form .page-title-section {
    margin-bottom: 28px;
    font-size: 2rem;
  }

  body#contact .contact-form button[type="submit"] {
    width: 100%;
  }
}

/* Correction : tous les éléments du bandeau sur la ligne du logo */
@media (min-width: 768px) {
  #header {
    min-height: 72px;
  }

  .header-top {
    position: absolute;
    z-index: 6;
    inset: 0 0 auto;
    min-height: 0;
    border: 0;
    background: transparent;
    pointer-events: none;
  }

  .header-top > .container-md,
  .header-top > .container-md > .row {
    position: relative;
    min-height: 0;
  }

  .header-top__right {
    position: absolute;
    top: 12px;
    right: 12px;
    width: auto !important;
    pointer-events: auto;
  }

  .header-bottom {
    min-height: 72px;
    border-bottom: 1px solid #e4e9f2;
    background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
  }

  .header-bottom__row {
    min-height: 72px;
    padding-right: 520px;
  }

  #_desktop_ps_searchbar {
    top: 10px;
    right: 260px;
    left: auto;
    width: 250px;
    height: 52px;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .header-bottom__row {
    padding-right: 470px;
  }

  #_desktop_ps_searchbar {
    right: 250px;
    width: 210px;
  }

  .header-top__right .header-block__action-btn {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .header-bottom__row {
    padding-right: 510px;
  }

  #_desktop_ps_searchbar {
    width: 240px;
  }

  .ps-mainmenu__tree {
    gap: 12px;
  }
}

@media (min-width: 1400px) {
  .header-bottom__row {
    padding-right: 560px;
  }

  #_desktop_ps_searchbar {
    width: 290px;
  }
}

/* Empêcher tout retour à la ligne du logo et de la navigation */
@media (min-width: 768px) {
  .header-bottom__row {
    flex-wrap: nowrap;
    padding-right: 0;
  }

  .header-bottom__logo,
  .ps-mainmenu--desktop {
    flex-shrink: 0;
  }
}

/* Finitions du bandeau global : logo, alignement et absence de chevauchement */
@media (min-width: 768px) {
  .header-bottom .navbar-brand .logo {
    max-width: 10.5rem;
    max-height: 3.5rem;
  }

  .ps-mainmenu__desktop {
    transform: translateY(5px);
  }

  #_desktop_ps_searchbar,
  #_desktop_ps_searchbar #ps_searchbar,
  #_desktop_ps_searchbar .ps-searchbar__form,
  #_desktop_ps_searchbar .ps-searchbar__input {
    min-width: 0 !important;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  .ps-mainmenu__tree-link:active,
  .ps-mainmenu__tree-link:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
  }
}

@media (min-width: 1400px) {
  #_desktop_ps_searchbar {
    right: 275px;
    width: 320px;
  }
}

/* Largeur finale explicite du conteneur de recherche */
@media (min-width: 768px) {
  #_desktop_ps_searchbar {
    right: 285px;
    width: 250px;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  #_desktop_ps_searchbar {
    width: 210px;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  #_desktop_ps_searchbar {
    width: 210px;
  }
}

@media (min-width: 1400px) {
  #_desktop_ps_searchbar {
    right: 285px;
    width: 320px;
  }
}

/* En-tête suiveur sur l’ensemble du site */
#header {
  position: sticky !important;
  z-index: 1030;
  top: 0;
  box-shadow: 0 6px 20px rgba(40, 58, 107, 0.08);
}

/* Bandeau plus généreux et logo plus grand uniquement sur ordinateur */
@media (min-width: 1200px) {
  #header,
  .header-bottom,
  .header-bottom__row {
    min-height: 96px;
  }

  .header-bottom .navbar-brand .logo {
    max-width: 12rem;
    max-height: 4rem;
  }

  .ps-mainmenu__desktop {
    transform: translateY(6px);
  }

  .header-top__right {
    top: 22px;
  }

  #_desktop_ps_searchbar {
    top: 18px;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  #_desktop_ps_searchbar {
    width: 190px;
  }
}

/* Utiliser toute la largeur et aligner la base visuelle logo / catégories */
@media (min-width: 1200px) {
  .header-bottom__container.container-md,
  .header-top > .container-md {
    width: 100%;
    max-width: none;
    padding-right: clamp(24px, 3vw, 64px);
    padding-left: clamp(24px, 3vw, 64px);
  }

  .ps-mainmenu__desktop {
    transform: translateY(21px);
  }

  #_desktop_ps_searchbar {
    right: 320px;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  #_desktop_ps_searchbar {
    width: 260px;
  }
}

@media (min-width: 1400px) {
  #_desktop_ps_searchbar {
    width: clamp(320px, 22vw, 420px);
  }
}

/* Page de connexion harmonisée avec l’identité LotoAssociatif.fr */
body#authentication #wrapper {
  padding-bottom: 56px;
  background: linear-gradient(180deg, #f7faff 0%, #fff 72%);
}

body#authentication #wrapper > .container--limited-sm {
  max-width: 660px;
  padding-right: 20px;
  padding-left: 20px;
}

body#authentication #center-column {
  position: relative;
  overflow: hidden;
  margin-top: 20px;
  padding: 34px 40px 36px;
  border: 1px solid #e1e8f2;
  border-top: 4px solid #0364ff;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(40, 58, 107, 0.1);
}

body#authentication #center-column::before {
  display: none;
}

body#authentication #center-column > * {
  position: relative;
  z-index: 1;
}

body#authentication .page-header {
  margin-bottom: 26px;
  text-align: center;
}

body#authentication .page-title-section {
  margin: 0;
  color: #283a6b;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.03em;
}

body#authentication .page-title-section::after {
  display: block;
  width: 48px;
  height: 4px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: #0364ff;
  content: "";
}

body#authentication #login-form .mb-3 {
  margin-bottom: 20px !important;
}

body#authentication #login-form .form-label {
  margin-bottom: 8px;
  color: #283a6b;
  font-size: 0.95rem;
  font-weight: 700;
}

body#authentication #login-form .form-control {
  height: 52px;
  border: 1px solid #d7e0ec;
  border-radius: 12px;
  background: #f8faff;
  color: #212529;
  box-shadow: none;
  transition:
    border-color 0.18s,
    background-color 0.18s,
    box-shadow 0.18s;
}

body#authentication #login-form .form-control:focus {
  border-color: #6ca5ff;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(3, 100, 255, 0.1);
}

body#authentication #login-form .password-field .form-control {
  border-radius: 12px 0 0 12px;
}

body#authentication
  #login-form
  .password-field
  > [data-ps-action="toggle-password"] {
  width: 52px;
  border: 1px solid #0364ff;
  border-radius: 0 12px 12px 0;
  background: #0364ff;
  color: #fff;
  box-shadow: none;
}

body#authentication #login-form .buttons-wrapper {
  align-items: center;
  gap: 14px;
  margin-top: 8px;
}

body#authentication #login-form .btn-basic {
  padding-right: 0;
  padding-left: 0;
  color: #43567e;
  text-decoration: none;
}

body#authentication #login-form .btn-basic:hover {
  color: #0364ff;
  text-decoration: underline;
}

body#authentication #submit-login {
  min-height: 48px;
  padding: 11px 26px;
  border-color: #0364ff;
  border-radius: 12px;
  background: #0364ff;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(3, 100, 255, 0.2);
}

body#authentication #submit-login:hover {
  border-color: #0256da;
  background: #0256da;
  transform: translateY(-1px);
}

body#authentication .login > hr {
  margin: 30px 0;
  border-color: #e4e9f2;
  opacity: 1;
}

body#authentication .login__register-prompt {
  text-align: center;
}

body#authentication .login__register-prompt .h4 {
  margin-bottom: 14px;
  color: #283a6b;
  font-size: 1.05rem;
  font-weight: 700;
}

body#authentication .login__register-prompt .btn-outline-primary {
  min-height: 48px;
  padding: 11px 22px;
  border: 1px solid #bfd2f2;
  border-radius: 12px;
  background: #f4f8ff;
  color: #0364ff;
  font-weight: 700;
}

body#authentication .login__register-prompt .btn-outline-primary:hover {
  border-color: #0364ff;
  background: #eaf2ff;
  color: #0256da;
}

@media (max-width: 767.98px) {
  body#authentication #wrapper {
    padding-bottom: 28px;
  }

  body#authentication #wrapper > .container--limited-sm {
    padding-right: 14px;
    padding-left: 14px;
  }

  body#authentication #center-column {
    margin-top: 8px;
    padding: 26px 20px 28px;
    border-radius: 16px;
  }

  body#authentication .page-header {
    margin-bottom: 22px;
  }

  body#authentication #login-form .buttons-wrapper {
    align-items: stretch;
    gap: 10px;
  }

  body#authentication #login-form .btn-basic {
    text-align: center;
  }

  body#authentication #submit-login {
    width: 100%;
  }
}

/* Inscription : formulaire natif conservé dans une présentation rassurante. */
body:has(.registration-page) #wrapper {
  padding-top: 26px;
  padding-bottom: 62px;
  background: linear-gradient(180deg, #f5f9ff 0, #fff 520px);
}

.registration-page {
  max-width: 1180px;
}

.registration-page .page-header {
  margin-bottom: 26px;
  text-align: center;
}

.registration-page .page-header h1,
.registration-page .page-header .h1 {
  margin-bottom: 0;
  color: #183263;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.025em;
}

.registration-layout {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(440px, 1.18fr);
  overflow: hidden;
  border: 1px solid #dce7f7;
  border-top: 6px solid #0364ff;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(18, 49, 101, .1);
}

.registration-benefits {
  display: flex;
  flex-direction: column;
  padding: 46px 40px;
  background:
    radial-gradient(circle at 90% 10%, rgba(3, 100, 255, .12), transparent 32%),
    linear-gradient(150deg, #eaf3ff 0, #f7faff 60%, #fff 100%);
}

.registration-benefits__icon {
  display: grid;
  width: 58px;
  height: 58px;
  margin-bottom: 25px;
  place-items: center;
  border-radius: 17px;
  background: #0364ff;
  box-shadow: 0 10px 24px rgba(3, 100, 255, .25);
  color: #fff;
  font-size: 28px;
  font-weight: 800;
}

.registration-eyebrow {
  margin: 0 0 8px;
  color: #0364ff;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .085em;
  text-transform: uppercase;
}

.registration-benefits h2,
.register-form__heading h2 {
  margin: 0 0 14px;
  color: #183263;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 800;
  line-height: 1.16;
}

.registration-benefits__intro,
.register-form__heading > p:last-child {
  margin: 0;
  color: #58667d;
  line-height: 1.65;
}

.registration-benefits__list {
  display: grid;
  gap: 19px;
  margin: 34px 0;
  padding: 0;
  list-style: none;
}

.registration-benefits__list li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
}

.registration-benefits__list li > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #0364ff;
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(25, 50, 100, .1);
}

.registration-benefits__list strong,
.registration-benefits__list small {
  display: block;
}

.registration-benefits__list strong {
  margin: 2px 0 3px;
  color: #203967;
  font-size: 1rem;
}

.registration-benefits__list small {
  color: #66748a;
  font-size: .9rem;
  line-height: 1.45;
}

.registration-benefits__help {
  margin: auto 0 0;
  padding-top: 23px;
  border-top: 1px solid #d7e5f7;
  color: #4e5e78;
}

.registration-benefits__help a {
  color: #0364ff;
  font-weight: 700;
  text-decoration: none;
}

.register-form {
  padding: 45px 48px 40px;
  background: #fff;
}

.register-form__heading {
  margin-bottom: 29px;
  padding-bottom: 23px;
  border-bottom: 1px solid #e5ebf4;
}

.register-form #customer-form .form-group {
  margin-bottom: 20px;
}

.register-form #customer-form label,
.register-form #customer-form .form-control-label {
  color: #2f4162;
  font-weight: 700;
}

.register-form #customer-form .form-control {
  min-height: 50px;
  border: 1px solid #cbd8e9;
  border-radius: 12px;
  background: #fbfdff;
  color: #172033;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.register-form #customer-form .form-control:focus {
  border-color: #0364ff;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(3, 100, 255, .1);
}

.register-form #customer-form .password-field .form-control {
  border-radius: 12px 0 0 12px;
}

.register-form #customer-form .password-field > [data-ps-action="toggle-password"] {
  width: 52px;
  border: 1px solid #0364ff;
  border-radius: 0 12px 12px 0;
  background: #0364ff;
  color: #fff;
}

.register-form #customer-form .form-control-comment,
.register-form #customer-form .form-text {
  color: #748198;
  font-size: .83rem;
  line-height: 1.4;
}

.register-form #customer-form .custom-radio,
.register-form #customer-form .custom-checkbox {
  border-color: #aebfd7;
}

.register-form #customer-form a {
  color: #0364ff;
  font-weight: 650;
}

.register-form__footer {
  margin-top: 27px;
  padding-top: 0;
}

.register-form__submit {
  width: 100%;
  min-height: 52px;
  border-color: #0364ff;
  border-radius: 12px;
  background: #0364ff;
  font-size: 1rem;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(3, 100, 255, .22);
}

.register-form__submit:hover,
.register-form__submit:focus {
  border-color: #0256da;
  background: #0256da;
  transform: translateY(-1px);
}

.register-form__login-prompt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid #e5ebf4;
  color: #526079;
  text-align: center;
}

.register-form__login-prompt a {
  color: #0364ff;
  font-weight: 800;
  text-decoration: none;
}

.register-form__login-prompt a:hover,
.registration-benefits__help a:hover {
  text-decoration: underline;
}

@media (max-width: 991.98px) {
  .registration-layout {
    grid-template-columns: 1fr;
  }

  .registration-benefits {
    padding: 34px;
  }

  .registration-benefits__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
  }

  .registration-benefits__list li {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  body:has(.registration-page) #wrapper {
    padding-top: 15px;
    padding-bottom: 38px;
  }

  .registration-page {
    padding-right: 14px;
    padding-left: 14px;
  }

  .registration-page .page-header {
    margin-bottom: 19px;
  }

  .registration-layout {
    border-radius: 18px;
  }

  .registration-benefits,
  .register-form {
    padding: 27px 21px;
  }

  .registration-benefits__icon {
    width: 50px;
    height: 50px;
    margin-bottom: 20px;
    font-size: 24px;
  }

  .registration-benefits__list {
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 25px 0;
  }

  .registration-benefits__list li {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .register-form__heading {
    margin-bottom: 24px;
  }

  .register-form__login-prompt {
    flex-direction: column;
    gap: 4px;
  }
}

/* Compte client long : conserver des outils séparés dans le bandeau ordinateur */
@media (min-width: 1200px) {
  .header-top__right .header-block__title {
    display: block;
    overflow: hidden;
    max-width: 110px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  #_desktop_ps_searchbar {
    right: 355px;
    width: 215px;
  }
}

@media (min-width: 1400px) and (max-width: 1599.98px) {
  #_desktop_ps_searchbar {
    right: 360px;
    width: 260px;
  }
}

@media (min-width: 1600px) {
  #_desktop_ps_searchbar {
    right: 380px;
    width: clamp(320px, 22vw, 420px);
  }
}

/* Confirmation de commande : réassurance, lisibilité et récapitulatif final */
body:has(.order-confirmation__hero) #wrapper {
  padding-top: 32px;
  padding-bottom: 64px;
  background: linear-gradient(180deg, #f5f9ff 0, #fff 420px);
}

.order-confirmation__hero {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 24px;
  padding: 36px 40px;
  border: 1px solid #dce8fa;
  border-top: 6px solid #0364ff;
  border-radius: 22px;
  background: linear-gradient(135deg, #fff 45%, #edf5ff 100%);
  box-shadow: 0 18px 45px rgba(15, 47, 99, .09);
  color: #172033;
}

.order-confirmation__hero:focus-visible {
  outline: 3px solid rgba(3, 100, 255, .3);
  outline-offset: 4px;
}

.order-confirmation__hero-icon {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border-radius: 50%;
  background: #0364ff;
  box-shadow: 0 10px 24px rgba(3, 100, 255, .25);
  color: #fff;
  font-size: 36px;
  font-weight: 800;
}

.order-confirmation__eyebrow {
  margin: 0 0 7px;
  color: #0364ff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.order-confirmation__hero-title {
  margin: 0 0 14px;
  color: #193264;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
}

.order-confirmation__hero-intro,
.order-confirmation__hero-email {
  max-width: 780px;
  margin: 0 0 9px;
  color: #44516a;
  font-size: 1.05rem;
  line-height: 1.65;
}

.order-confirmation__hero-email strong {
  color: #193264;
  overflow-wrap: anywhere;
}

.order-confirmation__invoice-link {
  margin-top: 14px;
  border-radius: 11px;
  font-weight: 700;
}

.order-confirmation__next-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0 30px;
}

.order-confirmation__next-step {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 82px;
  padding: 16px 18px;
  border: 1px solid #dfe8f6;
  border-radius: 15px;
  background: #fff;
  color: #263756;
}

.order-confirmation__next-step--active {
  border-color: #b9d3ff;
  background: #f0f6ff;
}

.order-confirmation__next-step-number {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #eaf2ff;
  color: #0364ff;
  font-weight: 800;
}

.order-confirmation__next-step--active .order-confirmation__next-step-number {
  background: #0364ff;
  color: #fff;
}

.order-confirmation__next-step strong,
.order-confirmation__next-step small {
  display: block;
}

.order-confirmation__next-step small {
  margin-top: 3px;
  color: #68758c;
  line-height: 1.35;
}

.order-confirmation__details {
  overflow: hidden;
  border: 1px solid #dce6f4 !important;
  border-top: 5px solid #0364ff !important;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 15px 38px rgba(15, 47, 99, .08);
}

.order-confirmation__details > .card-body {
  padding: 32px;
}

.order-confirmation__details-heading .h2 {
  margin: 0 0 20px;
  color: #172b52;
  font-size: clamp(1.55rem, 3vw, 2rem);
  font-weight: 800;
}

.order-confirmation__details-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}

.order-confirmation__details-list li {
  padding: 14px 16px;
  border: 1px solid #e1e9f5;
  border-radius: 12px;
  background: #f7faff;
  color: #33445f;
  line-height: 1.45;
}

.order-confirmation__product {
  padding: 22px 0;
}

.order-confirmation__product-image {
  overflow: hidden;
  border: 1px solid #e3ebf5;
  border-radius: 13px;
  background: #fff;
}

.order-confirmation__product-title,
.order-confirmation__product-total {
  color: #1b2c4d;
  font-weight: 750;
}

.order-confirmation__subtotals {
  padding: 18px 22px;
  border-radius: 14px 14px 0 0;
  background: #f7faff;
}

.order-confirmation__line {
  gap: 20px;
  padding: 7px 0;
}

.order-confirmation__line-value {
  text-align: right;
}

.order-confirmation__totals {
  padding: 18px 22px;
  border: 1px solid #cfe0fa;
  border-radius: 14px;
  background: #edf5ff;
}

.order-confirmation__totals .order-confirmation__line--bold {
  color: #142c59;
  font-size: 1.25rem;
  font-weight: 800;
}

.order-confirmation__account-transformation {
  border: 1px solid #dce6f4;
  border-radius: 18px;
}

/* Bloc retourné par la plateforme de paiement, placé entre le suivi et le récapitulatif. */
.order-confirmation__next-steps + .card,
.order-confirmation__next-steps + section,
.order-confirmation__next-steps + div:not(.order-confirmation__details) {
  margin-bottom: 26px;
  padding: 28px 30px;
  border: 1px solid #dce6f4;
  border-left: 5px solid #0364ff;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 47, 99, .07);
}

.order-confirmation__next-steps + .card h2,
.order-confirmation__next-steps + section h2,
.order-confirmation__next-steps + div:not(.order-confirmation__details) h2 {
  margin-bottom: 18px;
  color: #193264;
  font-weight: 800;
}

.order-confirmation__next-steps + .card a,
.order-confirmation__next-steps + section a,
.order-confirmation__next-steps + div:not(.order-confirmation__details) a {
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .order-confirmation__details-list {
    grid-template-columns: 1fr;
  }

  .order-confirmation__next-steps {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  body:has(.order-confirmation__hero) #wrapper {
    padding-top: 18px;
    padding-bottom: 40px;
  }

  .order-confirmation__hero {
    grid-template-columns: 1fr;
    gap: 17px;
    padding: 26px 21px;
    border-radius: 18px;
  }

  .order-confirmation__hero-icon {
    width: 58px;
    height: 58px;
    font-size: 29px;
  }

  .order-confirmation__hero-title {
    font-size: 2rem;
  }

  .order-confirmation__hero-intro,
  .order-confirmation__hero-email {
    font-size: 1rem;
  }

  .order-confirmation__details > .card-body {
    padding: 24px 18px;
  }

  .order-confirmation__subtotals,
  .order-confirmation__totals {
    padding: 15px;
  }

  .order-confirmation__next-steps + .card,
  .order-confirmation__next-steps + section,
  .order-confirmation__next-steps + div:not(.order-confirmation__details) {
    padding: 23px 19px;
    border-left-width: 4px;
  }
}

/* Header tablette : réserver un espace réel entre le logo et la recherche. */
@media (min-width: 768px) and (max-width: 991.98px) {
  .header-bottom .navbar-brand,
  .header-bottom .navbar-brand .logo {
    width: auto !important;
    max-width: 8.25rem !important;
  }
}
/* LA_ARTICLE_LOTO_STYLE_BINGO_START */
.elementor-12070101{color:#39445A;font-size:18px;line-height:1.7;overflow:hidden}
.elementor-12070101>.elementor-element{padding:50px 24px!important;background:#fff}
.elementor-12070101>.elementor-element:nth-child(3n+1){background:#F3F7FF}
.elementor-12070101>.elementor-element:nth-child(3n){background:#F9FBFF}
.elementor-12070101>.elementor-element>.elementor-container{max-width:1120px!important;margin:auto}
.elementor-12070101 h1,.elementor-12070101 h2,.elementor-12070101 h3,.elementor-12070101 .elementor-heading-title{font-family:inherit;color:#283A6B}
.elementor-12070101 h2,.elementor-12070101 .elementor-widget-heading h2{font-size:clamp(28px,3.3vw,42px);line-height:1.15;margin-bottom:20px}
.elementor-12070101 .elementor-element-a100001{background:#F3F7FF!important;padding-top:58px!important;padding-bottom:58px!important}
.elementor-12070101 .elementor-element-a100001 .elementor-heading-title{font-size:clamp(38px,5vw,64px)!important;line-height:1.06!important;font-weight:800!important}
.elementor-12070101 .elementor-element-a100001 .elementor-widget-text-editor{font-size:20px}
.elementor-12070101 .elementor-element-a100001 img{border-radius:22px!important}
.elementor-12070101 .elementor-element-a110001>.elementor-container{background:#fff;border:1px solid #D9E5F6;border-left:5px solid #0364FF;border-radius:18px;padding:28px}
.elementor-12070101 .elementor-element-a120001>.elementor-container{background:#F3F7FF;border-radius:16px;padding:26px}
.elementor-12070101 .elementor-widget-text-editor a{color:#035BD6;text-decoration:underline;text-underline-offset:2px}
.elementor-12070101 .elementor-button{border-radius:12px!important;font-weight:750!important;padding:13px 18px!important}
.elementor-12070101 .elementor-widget-image img,.elementor-12070101 figure img{border-radius:22px!important}
.elementor-12070101 .elementor-accordion-item,.elementor-12070101 .elementor-toggle-item{background:#fff;border:1px solid #D9E5F6!important;border-radius:14px;margin:12px 0;overflow:hidden}
.elementor-12070101 .elementor-tab-title{font-weight:750;color:#283A6B;padding:18px 20px!important}
.elementor-12070101 .elementor-tab-content{padding:0 20px 20px!important;border:0!important}
.elementor-12070101 table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #D9E5F6;border-radius:16px;overflow:hidden;background:#fff}
.elementor-12070101 th{background:#283A6B!important;color:#fff!important;text-align:left}
.elementor-12070101 th,.elementor-12070101 td{padding:15px!important;border-bottom:1px solid #E6EDF7!important;vertical-align:top}
.elementor-12070101 .elementor-inner-column>.elementor-element-populated{background:#fff;border:1px solid #D9E5F6;border-radius:16px;padding:22px!important}
@media(max-width:1024px){.elementor-12070101>.elementor-element{padding:42px 20px!important}}
@media(max-width:767px){.elementor-12070101{font-size:16px}.elementor-12070101>.elementor-element{padding:32px 15px!important}.elementor-12070101 .elementor-element-a100001{padding-top:36px!important;padding-bottom:36px!important}.elementor-12070101 .elementor-element-a100001 .elementor-widget-text-editor{font-size:18px}.elementor-12070101 .elementor-element-a110001>.elementor-container,.elementor-12070101 .elementor-element-a120001>.elementor-container{padding:20px}.elementor-12070101 th,.elementor-12070101 td{padding:11px!important;font-size:14px}}
/* LA_ARTICLE_LOTO_STYLE_BINGO_END */

/* Mini Spécial : conserver la fiche technique sans le bloc détails vide */
body#product.product-id-6 #product_details{display:none!important}
