.elementor-4838 .elementor-element.elementor-element-783e599{--display:flex;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-4838 .elementor-element.elementor-element-783e599:not(.elementor-motion-effects-element-type-background), .elementor-4838 .elementor-element.elementor-element-783e599 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #09385D 0%, #002B49 100%);}.elementor-4838 .elementor-element.elementor-element-783e599.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-4838 .elementor-element.elementor-element-80da01c > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-4838 .elementor-element.elementor-element-80da01c.elementor-element{--align-self:flex-end;}.elementor-4838 .elementor-element.elementor-element-2a2f16c{--display:flex;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-4838 .elementor-element.elementor-element-b11a2e1{text-align:center;}.elementor-4838 .elementor-element.elementor-element-b11a2e1 img{max-width:74%;}.elementor-4838 .elementor-element.elementor-element-45428cd > .elementor-widget-container{margin:15px 0px 0px 0px;padding:30px 0px 20px 0px;}.elementor-4838 .elementor-element.elementor-element-45428cd .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:60px;font-weight:800;line-height:1.2em;-webkit-text-stroke-color:#FFFFFF;stroke:#FFFFFF;color:#FFFFFFF2;}.elementor-4838 .elementor-element.elementor-element-b1b72a2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-4838 .elementor-element.elementor-element-b1b72a2:not(.elementor-motion-effects-element-type-background), .elementor-4838 .elementor-element.elementor-element-b1b72a2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#002B49;}.elementor-4838 .elementor-element.elementor-element-713aef7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-4838 .elementor-element.elementor-element-7addf55{width:var( --container-widget-width, 31.44% );max-width:31.44%;--container-widget-width:31.44%;--container-widget-flex-grow:0;text-align:end;}.elementor-4838 .elementor-element.elementor-element-7addf55.elementor-element{--align-self:center;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-4838 .elementor-element.elementor-element-7addf55 img{max-width:52%;height:240;}.elementor-4838 .elementor-element.elementor-element-6badb52 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 30px;border-style:solid;border-width:0px 0px 0px 3px;}.elementor-4838 .elementor-element.elementor-element-6badb52.elementor-element{--align-self:center;--order:-99999 /* order start hack */;}.elementor-4838 .elementor-element.elementor-element-6badb52{text-align:start;font-weight:600;line-height:1.3em;letter-spacing:0px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-4838 .elementor-element.elementor-element-5948c02 > .elementor-widget-container{margin:50px 0px 50px 0px;}.elementor-4838 .elementor-element.elementor-element-5948c02{text-align:center;}@media(max-width:1024px){.elementor-4838 .elementor-element.elementor-element-b11a2e1 img{max-width:96%;}}@media(max-width:767px){.elementor-4838 .elementor-element.elementor-element-2a2f16c{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4838 .elementor-element.elementor-element-b11a2e1 img{width:100%;max-width:100%;}.elementor-4838 .elementor-element.elementor-element-45428cd .elementor-heading-title{font-size:40px;}.elementor-4838 .elementor-element.elementor-element-b1b72a2{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-4838 .elementor-element.elementor-element-713aef7{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-4838 .elementor-element.elementor-element-7addf55{text-align:center;}.elementor-4838 .elementor-element.elementor-element-7addf55 img{width:100%;max-width:100%;}.elementor-4838 .elementor-element.elementor-element-6badb52 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-4838 .elementor-element.elementor-element-6badb52{text-align:start;font-size:17px;line-height:1.5;}.elementor-4838 .elementor-element.elementor-element-6badb52 p{margin-block-end:0px;}}/* Start custom CSS for container, class: .elementor-element-783e599 */.elementor-4838 .elementor-element.elementor-element-783e599{background:radial-gradient(1200px 600px at 80% -10%, rgba(101,145,241,.35), transparent 60%),
                radial-gradient(900px 500px at 10% 0%, rgba(86,188,124,.18), transparent 55%),
                var(--rd-blue)}/* End custom CSS */
/* Start custom CSS */.elementor-message {
    /* font-size: 1em; */
    /* line-height: 1; */
    margin: 10px 0;
    /* border-radius: 8px; */
    /* background: green; */
    display: inline-block;
    max-width: 100%;
    padding: 14px 18px;
    background: rgba(22, 134, 76, 0.92);
    backdrop-filter: blur(4px);
    color: #ffffff;
    border-radius: 14px;
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.25);
    font-family: "Inter", system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.4;
    opacity: 0;
    transform: translateY(12px);
    animation: fadeInMessage 0.45s 
ease-out forwards;
}

@keyframes fadeInMessage {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* =====================
   SECTION & TITRES
===================== */

.rd-gift-section {
  max-width: 1100px;
  margin: 40px auto 60px;
  padding: 32px 28px 32px;
  border-radius: 24px;
  background: #10324b;
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.45);
  color: #0b1726;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.rd-gift-title {
  font-size: 25px;
  font-weight: 600;
  margin: 0 0 8px;
  color: #ffffff;
}

.rd-gift-title span {
  font-size: 24px;
  color: #ffffff;
}

.rd-gift-subtext {
  font-size: 17px;
  opacity: 0.9;
  margin: 0 0 22px;
  color: #ffffff;
}

/* titres & description des cartes */

.rd-gift-title-small {
  font-size: 22px !important;
  font-weight: 800;
  margin-top: 20px;
  color: #ffffff;
}

.rd-gift-desc {
  font-size: 14px;
  opacity: 0.9;
  margin: 0;
}

/* =====================
   GRID
===================== */

.rd-gift-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

/* =====================
   CARDS
===================== */

.rd-gift-card {
  position: relative;
  border-radius: 22px;
  padding: 16px 16px 18px;
  background: #00324f;
  color: #f6fbff;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.55);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    border 0.18s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);
  overflow: hidden;
}

.rd-gift-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: radial-gradient(
    circle at top left,
    rgba(126, 200, 233, 0.4),
    transparent 55%
  );
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

/* HOVER / SELECTED UNIQUEMENT SI NON DISABLED */
.rd-gift-card:not(.rd-disabled):hover,
.rd-gift-card.rd-selected:not(.rd-disabled) {
  transform: translateY(-4px);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.65);
  background: #003d60;
  border-color: rgba(126, 200, 233, 0.8);
}

.rd-gift-card:not(.rd-disabled):hover::before,
.rd-gift-card.rd-selected:not(.rd-disabled)::before {
  opacity: 1;
}

/* ÉTAT DÉSACTIVÉ (0 dispo) */
.rd-gift-card.rd-disabled {
  position: relative;
  cursor: default;
  pointer-events: none;
}

.rd-gift-card.rd-disabled::after {
 
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* on désature un peu le contenu sous l’overlay */
.rd-gift-card.rd-disabled .rd-gift-header,
.rd-gift-card.rd-disabled .rd-gift-count-wrapper {
  filter: grayscale(1);
  opacity: 0.6;
}

/* header carte : icône + bloc texte */

.rd-gift-header {
  display: inline-block; /* ton hack qui marche bien */
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}

.rd-gift-icon-wrap img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
  opacity: 1;
  will-change: transform;
}

/* secousse du cadeau au hover - UNIQUEMENT si non disabled */

@keyframes rd-shake {
  0%   { transform: translate3d(0, 0, 0) rotate(0); }
  20%  { transform: translate3d(-1px, -2px, 0) rotate(-2deg); }
  40%  { transform: translate3d(2px, 1px, 0) rotate(2deg); }
  60%  { transform: translate3d(-2px, 1px, 0) rotate(-2deg); }
  80%  { transform: translate3d(1px, -1px, 0) rotate(1deg); }
  100% { transform: translate3d(0, 0, 0) rotate(0); }
}

.rd-gift-card:not(.rd-disabled):hover .rd-gift-icon-wrap img,
.rd-gift-card.rd-selected:not(.rd-disabled) .rd-gift-icon-wrap img {
  opacity: 1;
  animation: rd-shake 0.4s ease-in-out;
}

/* =====================
   COMPTEUR / STOCK
===================== */

.rd-gift-count-wrapper {
  margin-top: 16px;
  display: flex;
  justify-content: center;
}

.rd-gift-count {
  min-width: 155px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #ffffff;
  border-radius: 999px;
  background: rgba(5, 83, 122, 0.9);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.55);
}

.rd-gift-count .dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #33d17a;
  box-shadow: 0 0 0 4px rgba(51, 209, 122, 0.25);
}

.rd-gift-count strong {
  font-weight: 700;
}

.rd-gift-count span {
  white-space: nowrap;
}

/* =====================
   FOOTER / PDF
===================== */

.rd-gift-footer {
  margin-top: 26px;
  padding: 16px 18px;
  border-radius: 16px;
  background: linear-gradient(90deg, #00508a, #007dd6);
  color: #f6fbff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-size: 14px;
}

.rd-gift-footer-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.rd-gift-footer-badge {
  padding: 4px 12px;
  border-radius: 999px;
  background: #ffffff;
  color: #00324f;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.rd-gift-footer-text {
  flex: 1 1 100%;
  font-size: 16px;
}

.rd-gift-footer strong {
  font-weight: 600;
}

/* =====================
   BADGE EARLY (#rd-early)
===================== */

#rd-early .promo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  font-size: 14px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  white-space: nowrap;
}

#rd-early .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

#rd-early .dot1 {
  background: #1984b0;
  box-shadow: 0 0 0 4px rgba(25, 132, 176, 0.18);
}

#rd-early .dot2 {
  background: #53bd7d;
  box-shadow: 0 0 0 4px rgba(83, 189, 125, 0.18);
}

#rd-early .dot3 {
  background: #f9b84d;
  box-shadow: 0 0 0 4px rgba(249, 184, 77, 0.18);
}

#rd-early .dot4 {
  background: #ed499b;
  box-shadow: 0 0 0 4px rgba(237, 73, 155, 0.18);
}

#rd-early .tickets {
  font-variant-numeric: tabular-nums;
}

/* =====================
   CTA : "SCEGLI QUESTO REGALO"
===================== */

.rd-gift-cta {
  margin-top: 120px;
  display: flex;
  justify-content: center;
}

.rd-gift-cta-btn {
  --fill: #92c1e9;
  margin-top: 50px;
  margin-bottom: 80px;
  position: relative;
  padding: 18px 46px;
  min-width: 260px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, .12);
  background: #f1f4f8;
  color: #9aa3b5;
  font-weight: 800;
  font-size: 16px;
  letter-spacing: .3px;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    opacity .2s ease,
    background .2s ease,
    color .2s ease;
  cursor: not-allowed;
  opacity: .6;
}

.rd-gift-cta-label {
  position: relative;
  z-index: 2;
}

.rd-gift-cta-label::before {
  content: "✨";
  margin-right: .5em;
}

.rd-gift-cta-btn::after {
  content: "";
  position: absolute;
  left: -2%;
  right: -2%;
  bottom: 0;
  height: 0%;
  background: transparent;
  z-index: 1;
  transition: height .5s ease, background .2s ease;
  -webkit-mask: url('data:image/svg+xml;utf8,\
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 24" preserveAspectRatio="none">\
      <path d="M0,24 C15,16 30,16 45,20 C60,24 75,24 90,20 C105,16 115,16 120,24 V0 H0 Z" fill="black"/>\
    </svg>') center top / 100% 24px no-repeat,
    linear-gradient(#000,#000);
  mask: url('data:image/svg+xml;utf8,\
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 24" preserveAspectRatio="none">\
      <path d="M0,24 C15,16 30,16 45,20 C60,24 75,24 90,20 C105,16 115,16 120,24 V0 H0 Z" fill="black"/>\
    </svg>') center top / 100% 24px no-repeat,
    linear-gradient(#000,#000);
}

/* ÉTAT ACTIF */

.rd-gift-cta-btn.rd-active {
  background: #ffffff;
  color: #0E2A47;
  cursor: pointer;
  opacity: 1;
}

.rd-gift-cta-btn.rd-active::after {
  background: var(--fill);
}

.rd-gift-cta-btn.rd-active:hover {
  transform: scale(1.02);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .24);
}

.rd-gift-cta-btn.rd-active:hover::after {
  height: 105%;
}

/* Bouton réellement disabled */
.rd-gift-cta-btn[disabled] {
  pointer-events: none;
}

/* Responsive : full width sur mobile */
@media (max-width: 560px) {
  .rd-gift-cta-btn {
    width: 100%;
    max-width: 420px;
    font-size: 15px;
  }
}

/* =====================
   RESPONSIVE GRID CADEAUX
===================== */

@media (max-width: 1024px) {
  .rd-gift-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .rd-gift-grid {
    grid-template-columns: 1fr;
  }

  .rd-gift-section {
    padding: 24px 18px 26px;
    border-radius: 18px;
  }

  .rd-gift-title {
    font-size: 20px;
  }

  .rd-gift-title-small {
    font-size: 20px !important;
    text-align: center;
  }

  .rd-gift-desc {
    font-size: 14px;
    text-align: center;
  }

  .rd-gift-header {
    text-align: center;
  }

  .rd-gift-footer-text {
    font-size: 13px;
  }

  .rd-gift-cta-btn {
    width: 100%;
    max-width: 420px;
  }
}

/* TABLES Elementor global fix */
table td, table tr, table th, table, tbody {
  background-color: transparent;
  border: none;
}

table td:hover, table tr:hover, table th:hover, table:hover, tbody:hover {
  background-color: transparent;
  border: none;
}/* End custom CSS */