.elementor-4374 .elementor-element.elementor-element-1af295c{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-end;--padding-top:200px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-4374 .elementor-element.elementor-element-1af295c:not(.elementor-motion-effects-element-type-background), .elementor-4374 .elementor-element.elementor-element-1af295c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(90deg, #FF6B81 0%, #FFC300 100%);}.elementor-4374 .elementor-element.elementor-element-d8b3ee1{--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;}.elementor-4374 .elementor-element.elementor-element-fd20296 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:800;color:var( --e-global-color-blocksy_palette_7 );}.elementor-4374 .elementor-element.elementor-element-6532974{--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;}.elementor-4374 .elementor-element.elementor-element-d09c2d0 > .elementor-widget-container{margin:20px 0px 30px 0px;}.elementor-4374 .elementor-element.elementor-element-d09c2d0{text-align:center;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;color:#1D1F4BCF;}.elementor-4374 .elementor-element.elementor-element-ec64bf1 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-4374 .elementor-element.elementor-element-ec64bf1{margin-top:0px;margin-bottom:0px;}.elementor-4374 .elementor-element.elementor-element-ee5b9b8 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-4374 .elementor-element.elementor-element-ee5b9b8{padding:0px 0px 0px 0px;}.elementor-4374 .elementor-element.elementor-element-b1bbf24 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-4374 .elementor-element.elementor-element-e7c76ea.elementor-element{--align-self:center;}.elementor-4374 .elementor-element.elementor-element-5a6ee46{--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;--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-4374 .elementor-element.elementor-element-5a6ee46:not(.elementor-motion-effects-element-type-background), .elementor-4374 .elementor-element.elementor-element-5a6ee46 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8F4EC;}.elementor-4374 .elementor-element.elementor-element-55db531 > .elementor-widget-container{margin:20px 0px 30px 0px;}.elementor-4374 .elementor-element.elementor-element-55db531{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;color:#1D1F4BCF;}.elementor-4374 .elementor-element.elementor-element-3793c47 > .elementor-widget-container{padding:0px 0px 6px 0px;border-radius:20px 20px 20px 20px;}@media(min-width:768px){.elementor-4374 .elementor-element.elementor-element-d8b3ee1{--width:100%;}.elementor-4374 .elementor-element.elementor-element-5a6ee46{--content-width:80%;}}@media(max-width:1024px){.elementor-4374 .elementor-element.elementor-element-fd20296 .elementor-heading-title{font-size:42px;}}@media(max-width:767px){.elementor-4374 .elementor-element.elementor-element-5a6ee46{--content-width:90%;}}/* Start custom CSS for tec_et_elementor_widget_tec-tickets, class: .elementor-element-e7c76ea *//* =====================================================
   CANIDEPLOUF – Billetterie : 1 ticket par ligne (CLEAN)
   Scope : .cp-tickets
===================================================== */



.cp-tickets{
  --cp-page-bg: #f6f0e6;
  --cp-card-bg: #fbf9f5;
  --cp-shadow: 0 16px 40px rgba(0,0,0,.10);
  --cp-radius: 18px;

  --cp-text: #1D1F4B;
  --cp-muted: #1D1F4B;

  --cp-inner-pad: 26px;
  --cp-gap: 26px;
  --cp-right-col: 320px;

  --cp-accent: #FF6B81; /* override par type */
}

/* =====================================================
   TYPO (force TEC/Tribe)
===================================================== */
.cp-tickets,
.cp-tickets *{
  font-family: "Poppins", sans-serif !important;
}

.cp-tickets .tribe-tickets__tickets-item-content-title,
.cp-tickets .tribe-tickets__tickets-item-extra-price,
.cp-tickets .tribe-tickets__tickets-item-extra-price *{
  font-family: "Montserrat", sans-serif !important;
  font-weight: 800 !important;
}

/* TEC “common” headings */
.cp-tickets .tribe-common-h1,
.cp-tickets .tribe-common-h2,
.cp-tickets .tribe-common-h3,
.cp-tickets .tribe-common-h4,
.cp-tickets .tribe-common-h5,
.cp-tickets .tribe-common-h6,
.cp-tickets .tribe-common-h7{
  font-family: "Montserrat", sans-serif !important;
  font-weight: 800 !important;
}

/* =====================================================
   Layout : pas de grille multi-colonnes
===================================================== */
.cp-tickets .tribe-tickets__tickets-form{
  display: block !important;
}

/* =====================================================
   Carte (ticket)
===================================================== */
.cp-tickets .tribe-tickets__tickets-item{
  position: relative;
  background: var(--cp-card-bg) !important;
  border-radius: var(--cp-radius) !important;

  /* liseré + bande gauche */
  border: 2px solid var(--cp-accent) !important;
  box-shadow: inset 12px 0 0 var(--cp-accent), var(--cp-shadow);

  padding: var(--cp-inner-pad) !important;
  margin: 0 0 0px 0 !important;

  display: grid !important;
  grid-template-columns: 1fr var(--cp-right-col);
  grid-template-areas:
    "title  right"
    "details right";
  column-gap: var(--cp-gap);
  row-gap: 10px;

  align-items: stretch;

  /* position du séparateur */
  --cp-sep-x: calc(100% - var(--cp-right-col) - var(--cp-inner-pad) - (var(--cp-gap)/2));

}

/* trait séparateur vertical */
.cp-tickets .tribe-tickets__tickets-item::after{
  content:"";
  position:absolute;
  top: 18px;
  bottom: 18px;
  left: var(--cp-sep-x);
  width: 1px;
  background: rgba(0,0,0,.10);
  pointer-events:none;
}

/* zones gauche */
.cp-tickets .tribe-tickets__tickets-item-content-title-container{
  grid-area: title;
  padding-left: 12px;
  margin: 0 !important;
}

.cp-tickets .tribe-tickets__tickets-item-details-content{
  grid-area: details;
  margin: 0 !important;
  white-space: pre-line;
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--cp-muted) !important;
  padding-left: 12px;

}

/* titre */
.cp-tickets .tribe-tickets__tickets-item-content-title{
  font-size: 26px !important;
  line-height: 1.1 !important;
  color: var(--cp-text) !important;
}

/* =====================================================
   Colonne droite : stable (label -> prix -> stepper)
===================================================== */

.cp-tickets .tribe-tickets__tickets-item-extra,
.cp-tickets .tribe-tickets__tickets-item-quantity{
  grid-column: 2;
}

.cp-tickets .tribe-tickets__tickets-item-extra{
  grid-area: right;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 10px !important;

  /* IMPORTANT : on neutralise les “pill”/fonds du plugin */
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  /* layout verrouillé */
  display: grid !important;
  grid-template-rows: auto auto auto;
  justify-items: center;
  align-content: center;
  gap: 12px;

  text-align: center;
}

/* label : Tarif / Chien */
.cp-tickets .tribe-tickets__tickets-item-extra-price::before{
  content: "Tarif / Chien" !important;
  display: block !important;
  font-weight: 600 !important; /* Poppins */
  font-size: 14px !important;
  color: rgba(20,58,56,.55) !important;
  margin-bottom: 6px !important;
}

/* prix */
.cp-tickets .tribe-tickets__tickets-item-extra-price{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

.cp-tickets .tribe-tickets__tickets-item-extra-price .tribe-amount{
  font-size: 56px !important;
  font-weight: 800 !important;
  letter-spacing: -0.8px;
  color: #1D1F4B !important;
}

.cp-tickets .tribe-tickets__tickets-item-extra-price .tribe-currency-symbol{
  font-size: 20px !important;
  font-weight: 800 !important;
  margin-left: 4px;
  color: #1D1F4B !important;
}

/* hide "Illimité" */
.cp-tickets .tribe-tickets__tickets-item-extra-available{
  display: none !important;
}

/* stepper */
.cp-tickets .tribe-tickets__tickets-item-quantity{

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;

  background: transparent !important;
  border: 1px !important;
  box-shadow: none !important;
}

/* neutralise wrappers du plugin */
.cp-tickets .tribe-tickets__tickets-item-quantity-number,
.cp-tickets .tribe-tickets__tickets-item-quantity-number *{
  background: transparent !important;
  box-shadow: none !important;
}

/* boutons - et + */
.cp-tickets .tribe-tickets__tickets-item-quantity-remove,
.cp-tickets .tribe-tickets__tickets-item-quantity-add{
  position: static !important;
  float: none !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 54px !important;
  height: 54px !important;
  border-radius: 14px !important;

  font-family: "Montserrat", sans-serif !important;
  font-weight: 800 !important;
  font-size: 22px !important;

  background: #fff !important;
  color: var(--cp-text) !important;

  box-shadow: 0 10px 22px rgba(0,0,0,.10) !important;
}

/* + jaune */
.cp-tickets .tribe-tickets__tickets-item-quantity-add{
  background: #F7B500 !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 14px 30px rgba(247,181,0,.35) !important;
}

/* input quantité */
.cp-tickets .tribe-tickets__tickets-item-quantity-number-input{
  width: 74px !important;
  height: 54px !important;
  border-radius: 14px !important;

  border: 2px solid rgba(20,58,56,.12) !important;
  background: #fff !important;

  text-align: center !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  color: var(--cp-text) !important;

  box-shadow: none !important;
}

/* =====================================================
   Responsive : empile
===================================================== */
@media (max-width: 860px){
  .cp-tickets .tribe-tickets__tickets-item{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "details"
      "right";
  }

  .cp-tickets .tribe-tickets__tickets-item::before,
  .cp-tickets .tribe-tickets__tickets-item::after{
    display: none !important;
  }

  .cp-tickets .tribe-tickets__tickets-item{
    background-image: none !important;
  }

  .cp-tickets .tribe-tickets__tickets-item-extra{
    padding-left: 0 !important;
    justify-items: start !important;
    text-align: left !important;
    border-top: 1px solid rgba(0,0,0,.08);
    padding-top: 14px !important;
    margin-top: 10px !important;
  }

  .cp-tickets .tribe-tickets__tickets-item-quantity{
    justify-content: flex-start !important;
  }
}

/* =====================================================
   Couleurs par type
===================================================== */
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4369"],
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4372"]{
  --cp-accent:#FF8C42; /* Pass journée groupe */
}

/* =========================================
   FIX COLONNE DROITE : empiler proprement
   ========================================= */

/* On transforme la colonne droite en “pile” stable */
.cp-tickets .tribe-tickets__tickets-item-extra{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;

  /* ultra important : sinon TEC pousse le contenu */
  min-height: 80% !important;
}

/* Le prix doit rester au centre, jamais écrasé */
.cp-tickets .tribe-tickets__tickets-item-extra-price{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  /* coupe les surprises */
  position: static !important;
  transform: none !important;
}

/* =========================================
   SUPPRESSION DES COINS GRIS DU WRAPPER
   ========================================= */

.cp-tickets .tribe-tickets__tickets-item-quantity-number{
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

/* supprime aussi les pseudo-éléments éventuels */
.cp-tickets .tribe-tickets__tickets-item-quantity-number::before,
.cp-tickets .tribe-tickets__tickets-item-quantity-number::after{
  display: none !important;
  content: none !important;
}

/* Le stepper : on le force à être sous le prix */
.cp-tickets .tribe-tickets__tickets-item-quantity{
  grid-column: 2 !important;
  grid-row: auto !important;

  width: 100% !important;
  margin-top: -10% !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;

  /* annule les styles plugin qui font n'importe quoi */
  position: static !important;
  inset: auto !important;
  float: none !important;
  transform: none !important;
  max-width: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  z-index: 1 !important;
}

/* Empêche les boutons de “flotter” au-dessus du prix */
.cp-tickets .tribe-tickets__tickets-item-quantity-remove,
.cp-tickets .tribe-tickets__tickets-item-quantity-add,
.cp-tickets .tribe-tickets__tickets-item-quantity-number{
  position: static !important;
  transform: none !important;
}

/* Input au centre, stable */
.cp-tickets .tribe-tickets__tickets-item-quantity-number{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cp-tickets .tribe-tickets__tickets-item-quantity-number-input{
  display: block !important;
  margin: 0 !important;
}

/* OPTIONNEL : si tu veux que “Tarif / …” soit collé au prix, pas au stepper */
.cp-tickets .tribe-tickets__tickets-item-extra-price::before{
  margin-bottom: 04px !important;
}


.tribe-modal-cart .tribe-modal__cart .tribe-common .event-tickets{
    display:none;
}    

/* =====================================================
   CANIDEPLOUF – Billetterie : 1 ticket par ligne (CLEAN)
   Scope : .cp-tickets
===================================================== */



.cp-tickets{
  --cp-page-bg: #f6f0e6;
  --cp-card-bg: #fbf9f5;
  --cp-shadow: 0 16px 40px rgba(0,0,0,.10);
  --cp-radius: 18px;

  --cp-text: #1D1F4B;
  --cp-muted: #1D1F4B;

  --cp-inner-pad: 26px;
  --cp-gap: 26px;
  --cp-right-col: 320px;

  --cp-accent: #FF6B81; /* override par type */
}

/* =====================================================
   TYPO (force TEC/Tribe)
===================================================== */
.cp-tickets,
.cp-tickets *{
  font-family: "Poppins", sans-serif !important;
}

.cp-tickets .tribe-tickets__tickets-item-content-title,
.cp-tickets .tribe-tickets__tickets-item-extra-price,
.cp-tickets .tribe-tickets__tickets-item-extra-price *{
  font-family: "Montserrat", sans-serif !important;
  font-weight: 800 !important;
}

/* TEC “common” headings */
.cp-tickets .tribe-common-h1,
.cp-tickets .tribe-common-h2,
.cp-tickets .tribe-common-h3,
.cp-tickets .tribe-common-h4,
.cp-tickets .tribe-common-h5,
.cp-tickets .tribe-common-h6,
.cp-tickets .tribe-common-h7{
  font-family: "Montserrat", sans-serif !important;
  font-weight: 800 !important;
}

/* =====================================================
   Layout : pas de grille multi-colonnes
===================================================== */
.cp-tickets .tribe-tickets__tickets-form{
  display: block !important;
}

/* =====================================================
   Carte (ticket)
===================================================== */
.cp-tickets .tribe-tickets__tickets-item{
  position: relative;
  background: var(--cp-card-bg) !important;
  border-radius: var(--cp-radius) !important;

  /* liseré + bande gauche */
  border: 2px solid var(--cp-accent) !important;
  box-shadow: inset 12px 0 0 var(--cp-accent), var(--cp-shadow);

  padding: var(--cp-inner-pad) !important;
  margin: 0 0 18px 0 !important;

  display: grid !important;
  grid-template-columns: 1fr var(--cp-right-col);
  grid-template-areas:
    "title  right"
    "details right";
  column-gap: var(--cp-gap);
  row-gap: 10px;

  align-items: stretch;

  /* position du séparateur */
  --cp-sep-x: calc(100% - var(--cp-right-col) - var(--cp-inner-pad) - (var(--cp-gap)/2));

}

/* trait séparateur vertical */
.cp-tickets .tribe-tickets__tickets-item::after{
  content:"";
  position:absolute;
  top: 18px;
  bottom: 18px;
  left: var(--cp-sep-x);
  width: 1px;
  background: rgba(0,0,0,.10);
  pointer-events:none;
}

/* zones gauche */
.cp-tickets .tribe-tickets__tickets-item-content-title-container{
  grid-area: title;
  padding-left: 12px;
  margin: 0 !important;
}

.cp-tickets .tribe-tickets__tickets-item-details-content{
  grid-area: details;
  margin: 0 !important;
  white-space: pre-line;
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--cp-muted) !important;
  padding-left: 12px;

}

/* titre */
.cp-tickets .tribe-tickets__tickets-item-content-title{
  font-size: 26px !important;
  line-height: 1.1 !important;
  color: var(--cp-text) !important;
}

/* =====================================================
   Colonne droite : stable (label -> prix -> stepper)
===================================================== */

.cp-tickets .tribe-tickets__tickets-item-extra,
.cp-tickets .tribe-tickets__tickets-item-quantity{
  grid-column: 2;
}

.cp-tickets .tribe-tickets__tickets-item-extra{
  grid-area: right;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 10px !important;

  /* IMPORTANT : on neutralise les “pill”/fonds du plugin */
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  /* layout verrouillé */
  display: grid !important;
  grid-template-rows: auto auto auto;
  justify-items: center;
  align-content: center;
  gap: 12px;

  text-align: center;
}

/* label : Tarif / Chien */
.cp-tickets .tribe-tickets__tickets-item-extra-price::before{
  content: "Tarif / Chien" !important;
  display: block !important;
  font-weight: 600 !important; /* Poppins */
  font-size: 14px !important;
  color: rgba(20,58,56,.55) !important;
  margin-bottom: 6px !important;
}

/* prix */
.cp-tickets .tribe-tickets__tickets-item-extra-price{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

.cp-tickets .tribe-tickets__tickets-item-extra-price .tribe-amount{
  font-size: 56px !important;
  font-weight: 800 !important;
  letter-spacing: -0.8px;
  color: #1D1F4B !important;
}

.cp-tickets .tribe-tickets__tickets-item-extra-price .tribe-currency-symbol{
  font-size: 20px !important;
  font-weight: 800 !important;
  margin-left: 4px;
  color: #1D1F4B !important;
}

/* hide "Illimité" */
.cp-tickets .tribe-tickets__tickets-item-extra-available{
  display: none !important;
}

/* stepper */
.cp-tickets .tribe-tickets__tickets-item-quantity{

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;

  background: transparent !important;
  border: 1px !important;
  box-shadow: none !important;
}

/* neutralise wrappers du plugin */
.cp-tickets .tribe-tickets__tickets-item-quantity-number,
.cp-tickets .tribe-tickets__tickets-item-quantity-number *{
  background: transparent !important;
  box-shadow: none !important;
}

/* boutons - et + */
.cp-tickets .tribe-tickets__tickets-item-quantity-remove,
.cp-tickets .tribe-tickets__tickets-item-quantity-add{
  position: static !important;
  float: none !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 54px !important;
  height: 54px !important;
  border-radius: 14px !important;

  font-family: "Montserrat", sans-serif !important;
  font-weight: 800 !important;
  font-size: 22px !important;

  background: #fff !important;
  color: var(--cp-text) !important;

  box-shadow: 0 10px 22px rgba(0,0,0,.10) !important;
}

/* + jaune */
.cp-tickets .tribe-tickets__tickets-item-quantity-add{
  background: #F7B500 !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 14px 30px rgba(247,181,0,.35) !important;
}

/* input quantité */
.cp-tickets .tribe-tickets__tickets-item-quantity-number-input{
  width: 74px !important;
  height: 54px !important;
  border-radius: 14px !important;

  border: 2px solid rgba(20,58,56,.12) !important;
  background: #fff !important;

  text-align: center !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  color: var(--cp-text) !important;

  box-shadow: none !important;
}

/* =====================================================
   Responsive : empile
===================================================== */
@media (max-width: 860px){
  .cp-tickets .tribe-tickets__tickets-item{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "details"
      "right";
  }

  .cp-tickets .tribe-tickets__tickets-item::before,
  .cp-tickets .tribe-tickets__tickets-item::after{
    display: none !important;
  }

  .cp-tickets .tribe-tickets__tickets-item{
    background-image: none !important;
  }

  .cp-tickets .tribe-tickets__tickets-item-extra{
    padding-left: 0 !important;
    justify-items: start !important;
    text-align: left !important;
    border-top: 1px solid rgba(0,0,0,.08);
    padding-top: 14px !important;
    margin-top: 10px !important;
  }

  .cp-tickets .tribe-tickets__tickets-item-quantity{
    justify-content: flex-start !important;
  }
}

/* =====================================================
   Couleurs par type
===================================================== */
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="2951"],
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="2952"]{
  --cp-accent:#FF6B81;
}

.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="2953"],
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="2954"]{
  --cp-accent:#FF8C42;
}

.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="2955"]{
  --cp-accent:#FFC300;
}

/* =========================================
   FIX COLONNE DROITE : empiler proprement
   ========================================= */

/* On transforme la colonne droite en “pile” stable */
.cp-tickets .tribe-tickets__tickets-item-extra{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;

  /* ultra important : sinon TEC pousse le contenu */
  min-height: 80% !important;
}

/* Le prix doit rester au centre, jamais écrasé */
.cp-tickets .tribe-tickets__tickets-item-extra-price{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  /* coupe les surprises */
  position: static !important;
  transform: none !important;
}

/* =========================================
   SUPPRESSION DES COINS GRIS DU WRAPPER
   ========================================= */

.cp-tickets .tribe-tickets__tickets-item-quantity-number{
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

/* supprime aussi les pseudo-éléments éventuels */
.cp-tickets .tribe-tickets__tickets-item-quantity-number::before,
.cp-tickets .tribe-tickets__tickets-item-quantity-number::after{
  display: none !important;
  content: none !important;
}

/* Le stepper : on le force à être sous le prix */
.cp-tickets .tribe-tickets__tickets-item-quantity{
  grid-column: 2 !important;
  grid-row: auto !important;

  width: 100% !important;
  margin-top: -10% !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;

  /* annule les styles plugin qui font n'importe quoi */
  position: static !important;
  inset: auto !important;
  float: none !important;
  transform: none !important;
  max-width: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  z-index: 1 !important;
}

/* Empêche les boutons de “flotter” au-dessus du prix */
.cp-tickets .tribe-tickets__tickets-item-quantity-remove,
.cp-tickets .tribe-tickets__tickets-item-quantity-add,
.cp-tickets .tribe-tickets__tickets-item-quantity-number{
  position: static !important;
  transform: none !important;
}

/* Input au centre, stable */
.cp-tickets .tribe-tickets__tickets-item-quantity-number{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cp-tickets .tribe-tickets__tickets-item-quantity-number-input{
  display: block !important;
  margin: 0 !important;
}

/* OPTIONNEL : si tu veux que “Tarif / …” soit collé au prix, pas au stepper */
.cp-tickets .tribe-tickets__tickets-item-extra-price::before{
  margin-bottom: 04px !important;
}


.tribe-modal-cart .tribe-modal__cart .tribe-common .event-tickets{
    display:none;
}    

/* =====================================================
   MOBILE/TABLET (<860px) – Prix ligne 1 / Stepper ligne 2
   (override ONLY, ne touche pas au desktop)
===================================================== */
@media (max-width: 860px){

  /* 1) Ticket en 1 colonne (tu l’as déjà, on le consolide) */
  .cp-tickets .tribe-tickets__tickets-item{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "details"
      "price"
      "qty" !important;
    row-gap: 12px !important;
  }

  /* 2) On supprime le séparateur vertical */
  .cp-tickets .tribe-tickets__tickets-item::after{
    display: none !important;
  }

  /* 3) Titre / Détails */
  .cp-tickets .tribe-tickets__tickets-item-content-title-container{
    grid-area: title !important;
  }
  .cp-tickets .tribe-tickets__tickets-item-details-content{
    grid-area: details !important;
  }

  /* 4) PRIX = ligne 1 */
  .cp-tickets .tribe-tickets__tickets-item-extra{
    grid-area: price !important;

    /* annule les comportements desktop */
    grid-column: 1 / -1 !important;

    width: 100% !important;
    margin: 0 !important;

    /* ton style mobile (barre + spacing) */
    border-top: 1px solid rgba(0,0,0,.08) !important;
    padding-top: 14px !important;
    margin-top: 10px !important;

    text-align: left !important;
    padding-left: 12px !important;
  }

  /* 5) STEPPER = ligne 2 */
  .cp-tickets .tribe-tickets__tickets-item-quantity{
    grid-area: qty !important;

    /* annule les hacks desktop qui cassent tout */
    grid-column: 1 / -1 !important;   /* au lieu de 2 */
    margin-top: 0 !important;         /* annule le -10% */
    grid-row: auto !important;        /* coupe les effets de bord */

    width: 100% !important;

    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;

    padding-left: 12px !important;
  }
}

/* =====================================================
   PATCH (<860px) – Centrer PRIX + STEPPER (mobile/tablette)
   (sans toucher au desktop)
===================================================== */
@media (max-width: 860px){

  /* PRIX centré */
  .cp-tickets .tribe-tickets__tickets-item-extra{
    align-items: center !important;
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .cp-tickets .tribe-tickets__tickets-item-extra-price{
    width: auto !important;
    align-items: center !important;
    text-align: center !important;
  }

  .cp-tickets .tribe-tickets__tickets-item-extra-price::before{
    align-self: center !important;
    text-align: center !important;
  }

  /* STEPPER centré */
  .cp-tickets .tribe-tickets__tickets-item-quantity{
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* =====================================================
   PATCH MOBILE (<860px) – PRIX AVANT STEPPER
   (verrouille les 2 blocs dans la grille)
===================================================== */
@media (max-width: 860px){

  /* On impose l’ordre des zones */
  .cp-tickets .tribe-tickets__tickets-item{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "details"
      "price"
      "qty" !important;
  }

  /* Prix = zone price */
  .cp-tickets .tribe-tickets__tickets-item-extra{
    grid-area: price !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  /* Stepper = zone qty (APRÈS le prix) */
  .cp-tickets .tribe-tickets__tickets-item-quantity{
    grid-area: qty !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;

    /* au cas où un vieux hack traîne */
    margin-top: 0 !important;
  }
}


/* =====================================================
   BADGE PRÉVENTES – version mobile visible
===================================================== */

/* Desktop */
.cp-tickets .tribe-tickets__tickets-item{
  position: relative !important;
}

.cp-tickets .tribe-tickets__tickets-item::before{
  content: "Préventes" !important;
  position: absolute !important;
  top: -12px !important;
  right: 18px !important;
  z-index: 30 !important;

  background: #FF6B81 !important;
  color: #fff !important;

  font-family: "Montserrat", sans-serif !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;

  padding: 8px 12px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  box-shadow: 0 10px 22px rgba(255,107,129,.28) !important;
}

/* Mobile : on l'intègre dans la card pour éviter qu'il soit coupé */
@media (max-width: 860px){

  .cp-tickets .tribe-tickets__tickets-item{
    overflow: visible !important;
    padding-top: 18px !important; /* on crée la place pour le badge */
  }

  .cp-tickets .tribe-tickets__tickets-item::before{
    top: 14px !important;
    right: 14px !important;
    left: auto !important;

    font-size: 10px !important;
    padding: 7px 10px !important;
  }

  /* wrappers TEC qui coupent parfois les pseudo-éléments */
  .cp-tickets .tribe-tickets__tickets-form,
  .cp-tickets .tribe-tickets__tickets-item-content,
  .cp-tickets .tribe-tickets__tickets-item-content-title-container{
    overflow: visible !important;
  }
}

@media (max-width: 860px){
  .cp-tickets .tribe-tickets__tickets-item-content-title-container{
    position: relative !important;
    padding-top: 36px !important;
  }

  .cp-tickets .tribe-tickets__tickets-item-content-title-container::before{
    content: "Préventes" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 40 !important;

    background: #FF6B81 !important;
    color: #fff !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 800 !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: .4px !important;

    padding: 7px 10px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   PRIX BARRÉS – PRÉVENTES
===================================================== */

.cp-tickets .tribe-tickets__tickets-item-extra-price{
  position: relative !important;
}

/* Entrée simple samedi + dimanche : 10€ barré */
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3621"] .tribe-tickets__tickets-item-extra-price,
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3624"] .tribe-tickets__tickets-item-extra-price{
  padding-top: 36px !important;
}

.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3621"] .tribe-tickets__tickets-item-extra-price::after,
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3624"] .tribe-tickets__tickets-item-extra-price::after{
  content: "10€";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);

  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: rgba(29,31,75,.38) !important;

  text-decoration: line-through !important;
  text-decoration-color: #FF6B81 !important;
  text-decoration-thickness: 2px !important;

  white-space: nowrap;
}

/* Pass journée samedi + dimanche : 50€ barré */
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3623"] .tribe-tickets__tickets-item-extra-price,
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3625"] .tribe-tickets__tickets-item-extra-price{
  padding-top: 36px !important;
}

.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3623"] .tribe-tickets__tickets-item-extra-price::after,
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3625"] .tribe-tickets__tickets-item-extra-price::after{
  content: "50€";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);

  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: rgba(29,31,75,.38) !important;

  text-decoration: line-through !important;
  text-decoration-color: #FF6B81 !important;
  text-decoration-thickness: 2px !important;

  white-space: nowrap;
}

/* Pass week-end : 70€ barré */
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3626"] .tribe-tickets__tickets-item-extra-price{
  padding-top: 36px !important;
}

.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="3626"] .tribe-tickets__tickets-item-extra-price::after{
  content: "70€";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);

  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: rgba(29,31,75,.38) !important;

  text-decoration: line-through !important;
  text-decoration-color: #FF6B81 !important;
  text-decoration-thickness: 2px !important;

  white-space: nowrap;
}

/* =====================================================
   MOBILE – Réafficher le détail des tickets
===================================================== */
@media (max-width: 860px){

  .cp-tickets .tribe-tickets__tickets-item-details-content{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    height: auto !important;
    max-height: none !important;
    overflow: visible !important;

    grid-area: details !important;
    grid-column: 1 / -1 !important;

    margin: 0 !important;
    padding-left: 12px !important;
  }

}

/* =====================================================
   WRAPPER BILLETTERIE – largeur et centrage
===================================================== */

.cp-tickets{
  width: 100% !important;
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =====================================================
   MOBILE – billetterie plus large
===================================================== */
@media (max-width: 860px){

  .cp-tickets{
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .cp-tickets > .elementor-container{
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .cp-tickets .elementor-container{
    width: 100% !important;
  }

  .cp-tickets .tribe-tickets__tickets-wrapper,
  .cp-tickets .tribe-tickets__tickets-form{
    width: 100% !important;
    max-width: 100% !important;
  }

  .cp-tickets .tribe-tickets__tickets-item{
    width: 100% !important;
  }
}

/* =====================================================
   SUPPRIMER TITRE "BILLETS"
===================================================== */

.cp-tickets .tribe-tickets__tickets-title{
  display: none !important;
}

/* =====================================================
   BILLETTERIE – réduire espace au dessus
===================================================== */

/* section Elementor */
.cp-tickets{
  padding-top: 10px !important;
}

/* widget container */
.cp-tickets .elementor-widget-container{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* wrapper TEC */
.cp-tickets .tribe-tickets__tickets-wrapper{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* form TEC */
.cp-tickets .tribe-tickets__tickets-form{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* =====================================================
   BILLETTERIE GROUPE – version custom du prix barré
===================================================== */

/* 1) Masquer le badge natif "En promotion" */
.cp-tickets .tribe-tickets__tickets-item-content-sale-label-container,
.cp-tickets .tribe-tickets__tickets-item-content-sale-label{
  display: none !important;
}

/* 2) Masquer l'ancien prix natif du plugin */
.cp-tickets .tribe-tickets__tickets-original-price{
  display: none !important;
}

/* 3) Couleur de liseré pour les 2 tickets groupe */
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4369"],
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4372"]{
  --cp-accent:#FF8C42 !important;
}

/* 4) Notre prix barré custom */
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4369"] .tribe-tickets__tickets-item-extra-price,
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4372"] .tribe-tickets__tickets-item-extra-price{
  position: relative !important;
  padding-top: 36px !important;
}

.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4369"] .tribe-tickets__tickets-item-extra-price::after,
.cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4372"] .tribe-tickets__tickets-item-extra-price::after{
  content: "400€";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);

  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: rgba(29,31,75,.38) !important;

  text-decoration: line-through !important;
  text-decoration-color: #FF6B81 !important;
  text-decoration-thickness: 2px !important;

  white-space: nowrap;
}

/* 5) Mobile */
@media (max-width: 860px){
  .cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4369"] .tribe-tickets__tickets-item-extra-price,
  .cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4372"] .tribe-tickets__tickets-item-extra-price{
    padding-top: 30px !important;
  }

  .cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4369"] .tribe-tickets__tickets-item-extra-price::after,
  .cp-tickets .tribe-tickets__tickets-item[data-ticket-id="4372"] .tribe-tickets__tickets-item-extra-price::after{
    font-size: 22px !important;
  }
}/* End custom CSS */