.elementor-1039 .elementor-element.elementor-element-f69812f{--display:flex;}.elementor-1039 .elementor-element.elementor-element-80668e2{width:100%;max-width:100%;margin:-60px 0px calc(var(--kit-widget-spacing, 0px) + 100px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-45137db */.elementor-widget-html:has(.hero),  
.elementor-widget-container:has(.hero) {  
  margin: 0 !important;  
  padding: 0 !important;  
  max-width: none !important;  
  width: 100% !important;  
}

.hero {  
  width: 100vw !important;  
  margin-left: calc(-50vw + 50%) !important;  
  position: relative !important;  
}  

.elementor-section:has(.hero),  
.elementor-container:has(.hero),  
.elementor-column:has(.hero),  
.elementor-widget:has(.hero),  
.elementor-widget-wrap:has(.hero),  
.elementor-widget-container:has(.hero) {  
  padding-top: 0 !important;  
  margin-top: 0 !important;  
}

.hero {  
  margin-top: 0 !important;  
  padding-top: 0 !important;  
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f69812f */.hero-content {
  background: #2e97e1 !important;
}
.hero-visual::after {
  background: linear-gradient(to right,transparent 55%, #2e97e1 100%) !important;
}
.hero-visual-bg{
  background-image:url('https://labaccha.com/wp-content/uploads/2026/07/Baccha2026-Tarifs-Pass.jpg') !important;
}/* End custom CSS */
/* Start custom CSS */.elementor-element.elementor-element-f69812f.e-flex.e-con-boxed.e-con.e-parent {
  padding: 0 !important;
}
@font-face {
  font-family: 'Gruno';
  src: url('https://labaccha.com/wp-content/uploads/2026/07/Gruno.woff2') format('woff2'),
       url('https://labaccha.com/wp-content/uploads/2026/07/Gruno.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/* ════════════════════════════════════.hero-content══════
   VARIABLES — IDENTIQUES PAGE ACCUEIL
══════════════════════════════════════════ */
:root{
  --sky:#4BBDE8;--sky2:#7DD4F0;
  --fluo:#C8E832;--fluo2:#DEFF4A;
  --fluo-dim:rgba(200,232,50,.15);--fluo-glow:rgba(200,232,50,.45);
  --orange:#FF6B35;
  --night:#0D1B2A;--night2:#112233;--night3:#162840;--night4:#1E3550;
  --text:#FFFFFF;--muted:rgba(255,255,255,.55);
  --r:14px;--r-sm:8px;
  --font-title:'Londrina Solid',sans-serif;
  --font-sub:'Londrina Solid',sans-serif;
  --font-body:'Parkinsans',sans-serif;
}

/* ══ RESET ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;hyphens:none;-webkit-hyphens:none}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block}

/* ══ BOUTONS — identiques accueil ══ */
.btn-fluo{
  background:var(--fluo);color:var(--night);
  font-size:18px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  padding:16px 38px;border-radius:var(--r-sm);
  box-shadow:0 6px 28px var(--fluo-glow);
  transition:transform .2s,box-shadow .2s,filter .2s;
  display:inline-flex;align-items:center;gap:10px;
  position:relative;overflow:hidden;
}
.btn-fluo::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.25),transparent 60%);opacity:0;transition:opacity .3s}
.btn-fluo:hover::before{opacity:1}
.btn-fluo:hover{transform:translateY(-2px);box-shadow:0 12px 44px rgba(200,232,50,.6);filter:brightness(1.05)}

.btn-ghost{
  background:transparent;color:var(--text);
  font-size:18px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:15px 32px;border-radius:var(--r-sm);
  border:1.5px solid rgba(255,255,255,.25);
  transition:border-color .25s,background .25s,color .25s,transform .2s;
  display:inline-flex;align-items:center;gap:8px;
}
.btn-ghost:hover{border-color:var(--sky);background:rgba(75,189,232,.12);color:var(--sky);transform:translateY(-2px)}

/* ══ HERO — split gauche/droite ══ */
.hero{
  position:relative;
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 1fr;
  padding-top:35px;
  overflow:hidden;
}
.hero-visual{
  position:relative;overflow:hidden;min-height:100vh;
}
.hero-visual-bg{
  position:absolute;inset:0;
  background-image:url('https://labaccha.com/wp-content/uploads/2026/07/Baccha-Festival-Tarifs-2026.jpeg');
  background-size:cover;background-position:center top;
  transition:transform .6s ease;
}
.hero-visual:hover .hero-visual-bg{transform:scale(1.03)}
@media (min-width: 960px) {
  .hero-visual::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(to right,transparent 55%,#2e97e1 100%);
    pointer-events:none;
  }
}
@media (max-width: 960px) {
  .hero-visual::after{
    background:linear-gradient(to bottom,transparent 55%,#2e97e1 100%) !important;
  }
}
.hero-content{
  background:#2e97e1;
  display:flex;flex-direction:column;justify-content:center;
  padding:100px 64px 80px 52px;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11px;font-weight:700;letter-spacing:.35em;text-transform:uppercase;
  color:var(--fluo);margin-bottom:22px;text-shadow:0 0 20px var(--fluo-glow);
  margin-top:-50px;
}
.el{display:block;width:36px;height:1.5px;background:var(--fluo);opacity:.7}
.hero-title{
  font-family:var(--font-title);
  font-size:clamp(44px,7vw,80px);
  line-height:.92;letter-spacing:.04em;margin-bottom:14px;
}
.hero-title .t-white{color:var(--text);display:block}
.hero-title .t-fluo{color:var(--fluo);display:block;text-shadow:0 0 32px var(--fluo-glow)}
.hero-sub{
  font-family:var(--font-sub);
  font-size:clamp(14px,2.2vw,22px);
  letter-spacing:.25em;text-transform:uppercase;
  color:rgba(255,255,255,.75);font-weight:300;margin-bottom:44px;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-checks{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}
.hero-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);letter-spacing:.06em}
.hero-check::before{content:'✓';color:var(--fluo);font-weight:700}

.scue{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:6;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(255,255,255,.35);font-size:9px;letter-spacing:.25em;text-transform:uppercase;
}
.spill{width:22px;height:36px;border:1.5px solid rgba(255,255,255,.2);border-radius:11px;display:flex;justify-content:center;align-items:flex-start;padding-top:6px}
.sdot{width:4px;height:4px;border-radius:50%;background:var(--fluo);animation:pill 1.9s ease-in-out infinite}
@keyframes pill{0%,100%{transform:translateY(0);opacity:1}80%{transform:translateY(14px);opacity:0}}

/* ══ SECTIONS — identiques accueil ══ */
.sec{padding:100px 52px;max-width:1200px;margin:0 auto}
.sec-bg{background:transparent}
.sec-bg2{background:transparent}

.slabel{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(255,255,255,.85);margin-bottom:14px;
}
.slabel::before{content:'';display:block;width:28px;height:1.5px;background:rgba(255,255,255,.6)}
.stitle{
  font-family: 'Londrina Solid',sans-serif !important;
  font-size:clamp(44px,7vw,80px);
  line-height:.95;letter-spacing:.04em;margin-bottom:14px;
}
.ssub{font-size:15px;color:var(--muted);line-height:1.75;max-width:100%;margin-bottom:48px}
.fluo-text{color:var(--fluo);text-shadow:0 0 20px var(--fluo-glow)}

/* ══ ÉTAPES — 3 colonnes ══ */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.step{
  padding:40px 32px;background:var(--night3);
  border-top:3px solid transparent;
  position:relative;overflow:hidden;
  transition:border-color .35s,transform .35s,background .35s;
}
.step:hover{border-top-color:var(--fluo);transform:translateY(-5px);background:var(--night4)}
.step-bg-num{
  position:absolute;top:-16px;right:12px;
  font-family:var(--font-title);font-size:110px;
  color:rgba(200,232,50,.05);line-height:1;pointer-events:none;transition:color .35s;
}
.step:hover .step-bg-num{color:rgba(200,232,50,.09)}
.step-icon{
  width:60px;height:60px;border-radius:14px;
  background:var(--fluo-dim);border:1px solid rgba(200,232,50,.2);
  display:flex;align-items:center;justify-content:center;
  font-size:26px;margin-bottom:20px;
  transition:background .35s,box-shadow .35s;
}
.step:hover .step-icon{background:rgba(200,232,50,.2);box-shadow:0 0 16px var(--fluo-glow)}
.step-num{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--fluo);margin-bottom:8px}
.step-title{font-family:var(--font-title);font-size:clamp(20px,2.5vw,28px);letter-spacing:.04em;margin-bottom:10px}
.step-desc{font-size:13px;color:var(--muted);line-height:1.75}
.step-desc strong{color:var(--text)}

/* ══ RÉCOMPENSES — grille 2×2 ══ */
.rewards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}
.reward{
  display:flex;align-items:flex-start;gap:18px;
  padding:32px 28px;background:var(--night3);
  border-left:3px solid var(--fluo);
  transition:background .3s,transform .3s;
}
.reward:hover{background:var(--night4);transform:translateX(4px)}
.reward-icon{
  width:52px;height:52px;border-radius:12px;flex-shrink:0;
  background:var(--fluo-dim);border:1px solid rgba(200,232,50,.2);
  display:flex;align-items:center;justify-content:center;font-size:22px;
  transition:background .3s;
}
.reward:hover .reward-icon{background:rgba(200,232,50,.2)}
.reward-title{font-family:var(--font-title);font-size:clamp(18px,2.2vw,24px);letter-spacing:.04em;color:var(--fluo);margin-bottom:6px}
.reward-desc{font-size:13px;color:var(--muted);line-height:1.65}

/* Bandeau highlight */
.reward-highlight{
  margin-top:4px;padding:24px 32px;
  background:linear-gradient(135deg,rgba(200,232,50,.12),rgba(200,232,50,.04));
  border:1px solid rgba(200,232,50,.3);border-radius:var(--r);
  text-align:center;
  transition:border-color .3s;
}
.reward-highlight:hover{border-color:rgba(200,232,50,.55)}
.reward-highlight-title{font-family:var(--font-title);font-size:clamp(20px,3vw,30px);letter-spacing:.06em;color:var(--fluo);text-shadow:0 0 20px var(--fluo-glow);margin-bottom:6px}
.reward-highlight p{font-size:15px;color:var(--muted)}
.reward-highlight p strong{color:var(--text)}

/* ══ IFRAME BIZOUK — simple ══ */
.iframe-wrap{
  background:var(--night3);
  border:1px solid rgba(200,232,50,.2);
  border-radius:var(--r);
  overflow:hidden;
  box-shadow:0 16px 48px rgba(0,0,0,.3);
  transition:border-color .35s;
}
.iframe-wrap:hover{border-color:rgba(200,232,50,.4)}
.iframe-topbar{
  background:rgba(200,232,50,.08);
  border-bottom:1px solid rgba(200,232,50,.12);
  padding:12px 20px;
  display:flex;align-items:center;justify-content:space-between;
}
.iframe-dots{display:flex;gap:6px}
.dot{width:10px;height:10px;border-radius:50%}
.d1{background:#FF5F57}.d2{background:#FEBC2E}.d3{background:#28C840}
.iframe-label{font-family:var(--font-sub);font-size:13px;letter-spacing:.1em;color:var(--fluo)}
.iframe-badge{background:var(--fluo);color:var(--night);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:100px}
.bizouk-iframe{display:block;width:100%;min-height:1100px;border:none;background:#fff}

/* ══ CTA BANDEAU ══ */
.cta-banner{
  display:flex;align-items:center;justify-content:space-between;
  gap:32px;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(200,232,50,.15),rgba(200,232,50,.05));
  border:2px solid rgba(200,232,50,.4);
  border-radius:var(--r);padding:36px 48px;
  position:relative;overflow:hidden;transition:border-color .3s;
}
.cta-banner:hover{border-color:rgba(200,232,50,.65)}
.cta-banner::before{content:'';position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(200,232,50,.12) 0%,transparent 70%);pointer-events:none}
.cta-banner-emoji{font-size:44px;margin-bottom:12px;filter:drop-shadow(0 0 12px var(--fluo-glow))}
.cta-banner-title{font-family:var(--font-title);font-size:clamp(28px,4vw,48px);letter-spacing:.04em;line-height:.92;color:var(--fluo);text-shadow:0 0 24px var(--fluo-glow);margin-bottom:10px}
.cta-banner-sub{font-size:15px;color:var(--muted);line-height:1.75;max-width:480px}
.cta-banner-sub strong{color:var(--text)}
.cta-banner-right{display:flex;flex-direction:column;gap:12px;flex-shrink:0;min-width:240px;position:relative;z-index:1}

/* ══ ANIMATIONS ══ */
.anim-up{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.anim-up.in{opacity:1;transform:translateY(0)}

/* ══ RESPONSIVE ══ */
@media(max-width:960px){
  .hero{grid-template-columns:1fr;grid-template-rows:60vh auto}
  .hero-visual{min-height:60vh}
  .hero-visual::after{background:linear-gradient(to bottom,transparent 60%,#2e97e1 100%)}
  .hero-content{padding:52px 24px 72px}
  .hero-ctas{flex-direction:column;align-items:flex-start}
  .btn-fluo,.btn-ghost{width:100%;justify-content:center}
  .sec{padding:72px 24px}
  .steps-grid{grid-template-columns:1fr}
  .rewards-grid{grid-template-columns:1fr}
  .cta-banner{flex-direction:column;padding:28px 24px}
  .cta-banner-right{min-width:unset;width:100%}
  .stitle{font-size:30px}
}
.reward-highlight.anim-up.in, .cta-banner.anim-up.in {
  background: #162840;
}
#inscription, #scroll {
  text-align: center;
}
#inscription .stitle {
    font-family: "gruno", sans-serif !important;
}
.tarif-card.water .tarif-badge {
  font-size: 15px;
}

.billet-section > .section-label,  
.billet-section > .section-title,  
.billet-section > .section-sub {  
  width: 100%;  
  margin-right: auto !important;  
  margin-left: auto !important;  
  text-align: center !important;  
}

.billet-section > .section-label {  
  display: flex;  
  align-items: center;  
  justify-content: center;  
}

.billet-section > .section-title {  
  font-family: "Gruno", "Londrina Solid", sans-serif !important;  
  font-weight: 400 !important;  
}

.tarif-card.jour { --ticket-accent: var(--orange, #ff6b35); }  
.tarif-card.weekend { --ticket-accent: var(--sky, #4bbde8); }  
.tarif-card.iconic { --ticket-accent: var(--fluo, #c8e832); }  
.tarif-card.water { --ticket-accent: var(--water, #00c9b1); }

.tarif-card .tarif-name {  
  display: flex;  
  flex-direction: column;  
  align-items: center;  
  justify-content: center;  
  gap: 0;  
  line-height: 0.88;  
  text-align: center;  
}

.tarif-card .tarif-name-pass,  
.tarif-card .tarif-name-experience { display: block; width: 100%; }

.tarif-card .tarif-sub {  
  width: 100% !important;  
  max-width: none !important;  
  margin-right: 0 !important;  
  margin-left: 0 !important;  
  padding-right: 0 !important;  
  padding-left: 0 !important;  
}

.tarif-card.iconic .tarif-promo-note {  
  display: block;  
  flex: 0 0 100%;  
  width: 100%;  
  margin-top: 2px;  
  font-size: 10px !important;  
  line-height: 1.15;  
  letter-spacing: -0.02em;  
  white-space: nowrap;  
}

.cashless-cta .cashless-btn {  
  min-width: 240px;  
  min-height: 58px;  
  display: inline-flex;  
  align-items: center;  
  justify-content: center;  
  padding: 18px 34px !important;  
  font-size: 17px !important;  
  font-weight: 800;  
  line-height: 1;  
  white-space: nowrap;  
}

.baccha-modal {  
  position: fixed;  
  inset: 0;  
  z-index: 99999;  
  display: flex;  
  align-items: center;  
  justify-content: center;  
  padding: 24px;  
  opacity: 0;  
  visibility: hidden;  
  pointer-events: none;  
  transition: opacity 0.25s ease, visibility 0.25s ease;  
}

.baccha-modal.is-open {  
  opacity: 1;  
  visibility: visible;  
  pointer-events: auto;  
}

.baccha-modal-backdrop {  
  position: absolute;  
  inset: 0;  
  background: rgba(4, 8, 15, 0.84);  
  backdrop-filter: blur(12px);  
  -webkit-backdrop-filter: blur(12px);  
}

.baccha-modal-dialog {  
  --modal-border: #176eae;  
  --modal-accent: #176eae;  
  --modal-glow: rgba(23, 110, 174, 0.35);  
  position: relative;  
  z-index: 2;  
  width: min(1080px, 100%);  
  max-height: 92vh;  
  padding: 3px;  
  border: 0;  
  border-radius: 20px;  
  background: var(--modal-border);  
  box-shadow: 0 0 42px var(--modal-glow), 0 30px 90px rgba(0, 0, 0, 0.62);  
  transform: translateY(18px) scale(0.985);  
  transition: transform 0.28s ease, box-shadow 0.25s ease;  
}

.baccha-modal-dialog.modal-theme-day {  
  --modal-border: #176eae;  
  --modal-accent: #176eae;  
  --modal-glow: rgba(23, 110, 174, 0.38);  
}

.baccha-modal-dialog.modal-theme-weekend {  
  --modal-border: linear-gradient(145deg, #c772eb 0%, #eec403 100%);  
  --modal-accent: #eec403;  
  --modal-glow: rgba(199, 114, 235, 0.32);  
}

.baccha-modal-dialog.modal-theme-iconic {  
  --modal-border: linear-gradient(145deg, #c772eb 0%, #c772eb 25%, #eec403 58%, #fd5c06 100%);  
  --modal-accent: #eec403;  
  --modal-glow: rgba(253, 92, 6, 0.3);  
}

.baccha-modal-dialog.modal-theme-baccha-morning {  
  --modal-border: #fd5c06;  
  --modal-accent: #fd5c06;  
  --modal-glow: rgba(253, 92, 6, 0.38);  
}

.baccha-modal.is-open .baccha-modal-dialog { transform: translateY(0) scale(1); }

.baccha-modal-shell {  
  width: 100%;  
  max-height: calc(92vh - 6px);  
  display: flex;  
  flex-direction: column;  
  overflow: hidden;  
  border-radius: 17px;  
  background: #0d1b2a;  
}

.baccha-modal-head {  
  position: relative;  
  display: flex;  
  align-items: center;  
  justify-content: space-between;  
  gap: 16px;  
  flex: 0 0 auto;  
  padding: 15px 18px;  
  background: #0d1b2a;  
}

.baccha-modal-head::after {  
  content: "";  
  position: absolute;  
  right: 0;  
  bottom: 0;  
  left: 0;  
  height: 2px;  
  background: var(--modal-border);  
}

.modal-title-wrap { min-width: 0; padding-right: 8px; }

.modal-title {  
  font-family: "Londrina Solid", sans-serif;  
  font-size: 18px;  
  line-height: 1.1;  
  letter-spacing: 0.08em;  
  color: #fff;  
  text-transform: uppercase;  
}

.modal-option-line {  
  margin-top: 4px;  
  font-size: 12px;  
  line-height: 1.4;  
  color: rgba(255, 255, 255, 0.65);  
}

.modal-option-line strong { color: var(--modal-accent); }

.baccha-modal-close {  
  position: relative;  
  flex: 0 0 42px;  
  width: 42px;  
  height: 42px;  
  padding: 0;  
  border: 1.5px solid rgba(255, 255, 255, 0.55);  
  border-radius: 50%;  
  background: rgba(255, 255, 255, 0.07);  
  color: #fff;  
  cursor: pointer;  
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);  
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;  
}

.baccha-modal-close span {  
  position: absolute;  
  top: 50%;  
  left: 50%;  
  width: 17px;  
  height: 2px;  
  border-radius: 999px;  
  background: currentColor;  
  transform-origin: center;  
}

.baccha-modal-close span:first-child { transform: translate(-50%, -50%) rotate(45deg); }  
.baccha-modal-close span:last-child { transform: translate(-50%, -50%) rotate(-45deg); }

.baccha-modal-close:hover {  
  background: #fff;  
  border-color: #fff;  
  color: #0d1b2a;  
  transform: rotate(90deg) scale(1.05);  
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.32);  
}

.baccha-modal-close:focus-visible {  
  outline: 3px solid var(--modal-accent);  
  outline-offset: 3px;  
}

.baccha-modal-iframe {  
  display: block;  
  width: 100%;  
  min-height: min(72vh, 760px);  
  flex: 1 1 auto;  
  border: 0;  
  background: #fff;  
}

@media (max-width: 700px) {  
  .baccha-modal { padding: 10px; }  
  .baccha-modal-dialog { max-height: 96vh; padding: 2px; border-radius: 15px; }  
  .baccha-modal-shell { max-height: calc(96vh - 4px); border-radius: 13px; }  
  .baccha-modal-head { padding: 12px 13px; }  
  .modal-title { font-size: 16px; }  
  .modal-option-line { font-size: 11px; }  
  .baccha-modal-close { flex-basis: 38px; width: 38px; height: 38px; }  
  .baccha-modal-close span { width: 15px; }  
  .baccha-modal-iframe { min-height: 78vh; }  
}

@media (max-width: 600px) {  
  .tarif-card.iconic .tarif-promo-note { font-size: 9px !important; letter-spacing: -0.03em; }  
  .cashless-cta .cashless-btn { width: 100%; min-width: 0; min-height: 56px; padding: 17px 24px !important; font-size: 16px !important; }  
}  
/* ══ CSS BILLETTERIE — extrait de billeterie.css ══ */

/* La pop-up originale reste toujours au-dessus */
.popup-overlay {
  z-index:999999 !important;
}

.billet-section {
  padding:100px 52px;
  max-width:1400px;
  margin:0 auto;
}

.section-label {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--fluo);
  margin-bottom:14px;
}

.section-label::before {
  content:'';
  display:block;
  width:28px;
  height:1.5px;
  background:var(--fluo);
}

.section-title {
  font-family:var(--font-title);
  font-size:clamp(44px,7vw,80px);
  line-height:.92;
  letter-spacing:.04em;
  margin-bottom:8px;
}

.section-sub {
  font-family:var(--font-sub);
  font-size:16px;
  color:var(--muted);
  font-weight:300;
  margin-bottom:34px;
}

.tarifs-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:3px;
  margin-bottom:18px;
  align-items:stretch;
}

.tarif-card {
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:36px 28px 32px;
  background:rgba(13,27,42,.82);
  border:1px solid rgba(255,255,255,.08);
  border-top:3px solid transparent;
  cursor:pointer;
  transition:border-color .35s,background .35s,transform .35s,box-shadow .35s;
}

.tarif-card:hover,
.tarif-card:focus-within {
  background:rgba(13,27,42,.95);
  transform:translateY(-6px);
  box-shadow:0 20px 48px rgba(0,0,0,.4);
}

.tarif-card.iconic {border-top-color:var(--fluo)}

.tarif-card.iconic:hover {box-shadow:0 20px 48px rgba(200,232,50,.15)}

.tarif-card.weekend {border-top-color:var(--sky)}

.tarif-card.weekend:hover {box-shadow:0 20px 48px rgba(75,189,232,.12)}

.tarif-card.jour {border-top-color:var(--orange)}

.tarif-card.jour:hover {box-shadow:0 20px 48px rgba(255,107,53,.12)}

.tarif-card.water {border-top-color:var(--water)}

.tarif-card.water:hover {box-shadow:0 20px 48px rgba(0,201,177,.12)}

.tarif-card.featured {
  background:rgba(13,27,42,.94);
  border-color:rgba(200,232,50,.42);
  box-shadow:0 0 0 1px rgba(200,232,50,.18),0 26px 60px rgba(200,232,50,.16);
  transform:none;
  z-index:3;
}

.tarif-card.featured:hover,
.tarif-card.featured:focus-within {
  transform:translateY(-14px);
  box-shadow:0 0 0 1px rgba(200,232,50,.28),0 30px 70px rgba(200,232,50,.22);
}

.featured-ribbon {
  position:absolute;
  top:18px;
  right:-50px;
  z-index:4;
  width:190px;
  padding:7px 0;
  background:var(--fluo);
  color:var(--night);
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-align:center;
  text-transform:uppercase;
  transform:rotate(35deg);
  box-shadow:0 10px 26px rgba(0,0,0,.28);
}

.tarif-content {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  flex:1;
  height:100%;
}

/* Alignement des cartes : mêmes zones visuelles sur desktop/tablette */
.tarif-badge {min-height:24px;align-items:center}

.tarif-tag {min-height:26px;align-items:center}

.tarif-name {min-height:72px;display:flex;align-items:flex-start}

.tarif-sub {min-height:46px}

.tarif-access {min-height:116px}

.cashless-mini {min-height:64px}

.tarif-price-row {min-height:88px;align-content:flex-start}

.tarif-bottom {margin-top:auto}

.tarif-bg-num {
  position:absolute;
  top:-10px;
  right:12px;
  font-family:var(--font-title);
  font-size:120px;
  opacity:.04;
  line-height:1;
  pointer-events:none;
  transition:opacity .35s;
}

.tarif-card:hover .tarif-bg-num {opacity:.07}

.tarif-badge,
.tarif-tag {
  display:inline-flex;
  width:fit-content;
  align-items:center;
  gap:6px;
  border-radius:100px;
  text-transform:uppercase;
}

.tarif-badge {
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  padding:4px 10px;
  margin-bottom:10px;
}

.tarif-tag {
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  padding:5px 10px;
  margin-bottom:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.72);
}

.tarif-tag-placeholder {visibility:hidden}

.tarif-card.iconic .tarif-badge {background:var(--fluo-dim);color:var(--fluo);border:1px solid rgba(200,232,50,.3)}

.tarif-card.weekend .tarif-badge {background:rgba(75,189,232,.1);color:var(--sky);border:1px solid rgba(75,189,232,.25)}

.tarif-card.jour .tarif-badge {background:rgba(255,107,53,.1);color:var(--orange);border:1px solid rgba(255,107,53,.25)}

.tarif-card.water .tarif-badge {background:rgba(0,201,177,.1);color:var(--water);border:1px solid rgba(0,201,177,.25)}

.tarif-name {
  font-family:"gruno", sans-serif;
  font-size:30px;
  letter-spacing:.04em;
  line-height:.95;
  margin-bottom:10px;
}

.tarif-sub {
  font-family:var(--font-sub);
  font-size:14px;
  color:var(--muted);
  font-weight:300;
  letter-spacing:.06em;
  margin-bottom:22px;
  line-height:1.5;
}

.tarif-list-title {
  display:block;
  margin-bottom:9px;
  color:rgba(255,255,255,.86);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.tarif-access {
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:18px;
}

.tarif-access-item {
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:12px;
  line-height:1.42;
  color:var(--muted);
}

.tarif-access-item::before {content:'✓';font-weight:800;flex-shrink:0}

.tarif-card.iconic .tarif-access-item::before {color:var(--fluo)}

.tarif-card.weekend .tarif-access-item::before {color:var(--sky)}

.tarif-card.jour .tarif-access-item::before {color:var(--orange)}

.tarif-card.water .tarif-access-item::before {color:var(--water)}

.cashless-mini {
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:2px 0 20px;
  padding:10px 11px;
  border-radius:var(--r-sm);
  background:rgba(200,232,50,.08);
  border:1px solid rgba(200,232,50,.18);
  color:rgba(255,255,255,.76);
  font-size:12px;
  line-height:1.45;
}

.cashless-mini strong {color:var(--fluo)}

.tarif-price-row {
  display:flex;
  align-items:baseline;
  gap:7px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}

.tarif-price {
  font-family:var(--font-title);
  font-size:48px;
  line-height:1;
}

.tarif-old-price {
  position:relative;
  font-family:var(--font-title);
  font-size:33px;
  line-height:1;
  color:rgba(255,255,255,.52);
}

.tarif-old-price::after {
  content:'';
  position:absolute;
  left:-2px;
  right:-2px;
  top:50%;
  height:2px;
  background:var(--danger);
  transform:rotate(-7deg);
}

.tarif-card.iconic .tarif-price {color:var(--fluo);text-shadow:0 0 20px var(--fluo-glow)}

.tarif-card.weekend .tarif-price {color:var(--sky)}

.tarif-card.jour .tarif-price {color:var(--orange)}

.tarif-card.water .tarif-price {color:var(--water)}

.tarif-price-label {font-size:11px;color:var(--muted);letter-spacing:.1em}

.tarif-btn {
  display:block;
  width:100%;
  margin-top:18px;
  padding:13px;
  border-radius:var(--r-sm);
  font-family:var(--font-sub);
  font-size:14px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-align:center;
  transition:background .25s,color .25s,transform .2s,filter .2s;
}

.tarif-card.iconic .tarif-btn {background:var(--fluo);color:var(--night)}

.tarif-card.iconic .tarif-btn:hover {filter:brightness(1.08);transform:translateY(-1px)}

.tarif-card.weekend .tarif-btn {background:rgba(75,189,232,.15);color:var(--sky);border:1px solid rgba(75,189,232,.3)}

.tarif-card.weekend .tarif-btn:hover {background:var(--sky);color:var(--night)}

.tarif-card.jour .tarif-btn {background:rgba(255,107,53,.15);color:var(--orange);border:1px solid rgba(255,107,53,.3)}

.tarif-card.jour .tarif-btn:hover {background:var(--orange);color:var(--white)}

.tarif-card.water .tarif-btn {background:rgba(0,201,177,.15);color:var(--water);border:1px solid rgba(0,201,177,.3)}

.tarif-card.water .tarif-btn:hover {background:var(--water);color:var(--night)}

.cashless-cta {
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  margin:0 0 4px;
  padding:18px 20px;
  background:rgba(13,27,42,.82);
  border:1px solid rgba(200,232,50,.24);
  border-radius:var(--r);
}

.cashless-cta h3 {
  margin:0 0 4px;
  font-family:var(--font-title);
  letter-spacing:.04em;
  font-size:26px;
  color:var(--fluo);
}

.cashless-cta p {
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.5;
}

.cashless-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 18px;
  border-radius:var(--r-sm);
  background:var(--fluo);
  color:var(--night);
  font-family:var(--font-sub);
  font-size:13px;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
}

.cashless-btn:hover {filter:brightness(1.08)}

/* MODAL / POP-UP */
.baccha-modal {
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.baccha-modal.is-open {display:flex}

.baccha-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(4,8,15,.78);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.baccha-modal-dialog {
  position:relative;
  z-index:2;
  width:min(1080px,100%);
  max-height:92vh;
  display:flex;
  flex-direction:column;
  background:rgba(13,27,42,.98);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}

.baccha-modal-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  border-bottom:1px solid rgba(255,255,255,.09);
}

.modal-title-wrap {display:grid;gap:3px}

.modal-title {
  font-family:var(--font-sub);
  font-size:17px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
}

.modal-option-line {
  font-size:12px;
  color:rgba(255,255,255,.62);
}

.modal-option-line strong {color:var(--fluo)}

.baccha-modal-close {
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:24px;
  line-height:1;
}

.baccha-modal-close:hover {background:var(--danger)}

.baccha-modal-iframe {
  width:100%;
  min-height:min(72vh,760px);
  border:0;
  background:#fff;
}

.tarif-sub {min-height:42px}

.tarif-access {min-height:96px}

.cashless-mini {min-height:58px}

.tarif-price-row {min-height:82px}

.tarif-tag-placeholder {display:none}

.tarif-card.featured {transform:none}

.tarif-card.featured:hover,.tarif-card.featured:focus-within {transform:translateY(-6px)}

.cashless-btn {width:100%}

.tarifs-grid {grid-template-columns:1fr}

.baccha-modal {padding:12px}

.baccha-modal-head {align-items:flex-start}

.baccha-modal-iframe {min-height:72vh}

/* Base commune */
.tarif-card,
.tarif-card.featured {
  color:var(--card-ink) !important;
  border:1px solid rgba(255,255,255,.5) !important;
  border-top:0 !important;
  box-shadow:0 16px 36px rgba(13,27,42,.18) !important;
}

/* Pass jour : déclinaison bleue */
.tarif-card.jour {
  background:linear-gradient(145deg, var(--pass-blue) 0%, var(--pass-blue-light) 100%) !important;
}

/* Pass week-end : Baccha World Trip + Bacchanalist Day */
.tarif-card.weekend {
  background:linear-gradient(145deg, var(--exp-world) 0%, var(--exp-day) 100%) !important;
}

/* Pass Iconic : les 3 expériences */
.tarif-card.iconic {
  background:linear-gradient(
    145deg,
    var(--exp-world) 0%,
    var(--exp-world) 24%,
    var(--exp-day) 56%,
    var(--exp-morning) 100%
  ) !important;
  border:2px solid rgba(255,255,255,.9) !important;
  box-shadow:0 20px 50px rgba(13,27,42,.25) !important;
}

/* Baccha Morning : couleur pleine */
.tarif-card.water {
  background:var(--exp-morning) !important;
}

/* Survol sans remplacer les couleurs */
.tarif-card:hover,
.tarif-card:focus-within,
.tarif-card.featured:hover,
.tarif-card.featured:focus-within {
  filter:brightness(1.035);
  box-shadow:0 22px 54px rgba(13,27,42,.27) !important;
}

/* Lisibilité générale */
.tarif-card .tarif-bg-num {
  color:#ffffff !important;
  opacity:.12 !important;
}

.tarif-card .tarif-name,
.tarif-card .tarif-list-title,
.tarif-card .tarif-sub,
.tarif-card .tarif-price,
.tarif-card .tarif-price-label,
.tarif-card .-line,
.tarif-card .tarif-access-item {
  color:var(--card-ink) !important;
  text-shadow:none !important;
}

.tarif-card .tarif-sub,
.tarif-card .tarif-price-label {
  color:var(--card-muted) !important;
}

.tarif-card .tarif-tag,
.tarif-card .tarif-badge {
  color:var(--card-ink) !important;
  background:rgba(255,255,255,.66) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.tarif-card .tarif-access-item::before {
  color:var(--card-ink) !important;
}

/* Les noms d’expériences restent identifiables, sans nuire à la lisibilité */
.tarif-card .tarif-access-item.exp-world,
.tarif-card .tarif-access-item.exp-morning,
.tarif-card .tarif-access-item.exp-day {
  color:var(--card-ink) !important;
  font-weight:700;
}

.tarif-card .tarif-price-row {
  border-top:1px solid rgba(16,38,58,.2) !important;
}

.tarif-old-price {
  color:rgba(16,38,58,.55) !important;
}

.tarif-old-price::after {
  background:var(--card-ink) !important;
}

/* CTA identiques et contrastés sur chaque fond */
.tarif-card .tarif-btn {
  background:var(--card-ink) !important;
  color:#ffffff !important;
  border:1px solid var(--card-ink) !important;
}

.tarif-card .tarif-btn:hover {
  background:#ffffff !important;
  color:var(--card-ink) !important;
  border-color:#ffffff !important;
  filter:none;
  transform:translateY(-1px);
}

/* Encart Cashless */
.tarif-card .cashless-mini {
  color:var(--card-ink) !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(255,255,255,.72) !important;
}

.tarif-card .cashless-mini strong {
  color:var(--card-ink) !important;
}

/* Ruban Iconic */
.featured-ribbon {
  background:var(--card-ink) !important;
  color:#ffffff !important;
}

.tarif-card,
  .tarif-card.featured {
    min-height:auto !important;
    padding:28px 22px 24px;
    border-radius:14px;
  }

.tarif-card.iconic {
    transform:none !important;
  }

/* === Ajustement demandé : textes blancs + CTA blanc / texte bleu === */
.tarif-card,
.tarif-card.featured,
.tarif-card .tarif-name,
.tarif-card .tarif-list-title,
.tarif-card .tarif-sub,
.tarif-card .tarif-price,
.tarif-card .tarif-price-label,
.tarif-card .-line,
.tarif-card .tarif-access-item,
.tarif-card .tarif-signature,
.tarif-card .tarif-old-price,
.tarif-card .cashless-mini,
.tarif-card .cashless-mini strong {
  color:#ffffff !important;
  text-shadow:none !important;
}

.tarif-card .tarif-sub,
.tarif-card .tarif-price-label,
.tarif-card .tarif-old-price {
  color:rgba(255,255,255,.82) !important;
}

.tarif-card .tarif-tag,
.tarif-card .tarif-badge {
  color:#ffffff !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.42) !important;
}

.tarif-card .tarif-access-item::before {
  color:#ffffff !important;
}

.tarif-card .tarif-price-row {
  border-top:1px solid rgba(255,255,255,.34) !important;
}

.tarif-old-price::after {
  background:#ffffff !important;
}

.tarif-card .cashless-mini {
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.40) !important;
}

.tarif-card .tarif-btn {
  background:#ffffff !important;
  color:#1c7fc3 !important;
  border:1px solid #ffffff !important;
  box-shadow:0 8px 20px rgba(13,27,42,.14);
}

.tarif-card .tarif-btn:hover {
  background:#1c7fc3 !important;
  color:#ffffff !important;
  border-color:#1c7fc3 !important;
}

.featured-ribbon {
  background:#ffffff !important;
  color:#1c7fc3 !important;
}

.tarif-card .tarif-bg-num {
  color:#ffffff !important;
  opacity:.13 !important;
}

/* =========================================================
   PROPOSITION V14 — CARTE EN DEUX ZONES
   En-tête coloré = expérience / corps blanc = informations
   ========================================================= */

.tarif-card,
.tarif-card.featured {
  padding:0 !important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.42) !important;
  border-radius:18px !important;
  background:#ffffff !important;
  color:#12314a !important;
  box-shadow:0 16px 38px rgba(13,27,42,.18) !important;
}

.tarif-card:hover,
.tarif-card:focus-within,
.tarif-card.featured:hover,
.tarif-card.featured:focus-within {
  background:#ffffff !important;
  transform:translateY(-6px) !important;
  filter:none !important;
  box-shadow:0 24px 54px rgba(13,27,42,.25) !important;
}

.tarif-card.featured {
  border:2px solid rgba(200,232,50,.92) !important;
  box-shadow:0 0 0 4px rgba(200,232,50,.12),0 22px 50px rgba(13,27,42,.24) !important;
}

.tarif-content {
  width:100%;
  min-height:100%;
}

/* En-tête coloré */
.tarif-head {
  position:relative;
  z-index:2;
  min-height:232px;
  padding:30px 26px 25px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

/* 1 jour : univers bleu */
.tarif-card.jour .tarif-head {
  background:linear-gradient(145deg,#176eae 0%,#2c99dc 100%);
}

/* Week-end : World Trip + Bacchanalist Day */
.tarif-card.weekend .tarif-head {
  background:linear-gradient(145deg,#c772eb 0%,#eec403 100%);
}

/* Iconic : les 3 expériences */
.tarif-card.iconic .tarif-head {
  background:linear-gradient(
    145deg,
    #c772eb 0%,
    #c772eb 25%,
    #eec403 58%,
    #fd5c06 100%
  );
}

/* Baccha Morning : couleur dédiée */
.tarif-card.water .tarif-head {
  background:#fd5c06;
}

/* Typographie de l'en-tête */
.tarif-head .tarif-badge,
.tarif-head .tarif-tag {
  color:#ffffff !important;
  background:rgba(13,27,42,.22) !important;
  border:1px solid rgba(255,255,255,.42) !important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.tarif-head .tarif-name {
  min-height:0 !important;
  margin-top:2px;
  color:#ffffff !important;
  text-shadow:0 2px 12px rgba(13,27,42,.18) !important;
}

.tarif-head .tarif-sub {
  min-height:0 !important;
  margin-bottom:0 !important;
  color:rgba(255,255,255,.92) !important;
  text-shadow:0 1px 8px rgba(13,27,42,.16) !important;
}

/* Corps blanc */
.tarif-card .tarif-list-title,
.tarif-card .tarif-access,
.tarif-card .cashless-mini,
.tarif-card .tarif-bottom {
  margin-left:26px;
  margin-right:26px;
}

.tarif-card .tarif-list-title {
  margin-top:24px;
  color:#1c7fc3 !important;
  font-weight:800;
}

.tarif-card .tarif-access {
  min-height:116px;
  color:#12314a !important;
}

.tarif-card .tarif-access-item {
  color:#12314a !important;
}

.tarif-card .tarif-access-item::before {
  color:#1c7fc3 !important;
}

.tarif-card .cashless-mini {
  color:#12314a !important;
  background:#f2f8fc !important;
  border:1px solid rgba(28,127,195,.18) !important;
}

.tarif-card .cashless-mini strong {
  color:#1c7fc3 !important;
}

.tarif-card .tarif-bottom {
  margin-top:auto;
  margin-bottom:26px;
}

.tarif-card .tarif-price-row {
  color:#12314a !important;
  border-top:1px solid rgba(28,127,195,.16) !important;
}

.tarif-card .tarif-price {
  color:#1c7fc3 !important;
  text-shadow:none !important;
}

.tarif-card .tarif-price-label,
.tarif-card .-line {
  color:rgba(18,49,74,.68) !important;
}

.tarif-card .tarif-old-price {
  color:rgba(18,49,74,.52) !important;
}

.tarif-old-price::after {
  background:#12314a !important;
}

/* CTA sobres et cohérents */
.tarif-card .tarif-btn {
  background:#1c7fc3 !important;
  color:#ffffff !important;
  border:1px solid #1c7fc3 !important;
  box-shadow:none !important;
}

.tarif-card .tarif-btn:hover {
  background:#0f3150 !important;
  color:#ffffff !important;
  border-color:#0f3150 !important;
}

/* Badge de mise en avant */
.featured-ribbon {
  background:#C8E832 !important;
  color:#0D1B2A !important;
}

/* Numéro de fond uniquement dans l'en-tête */
.tarif-card .tarif-bg-num {
  z-index:3;
  color:#ffffff !important;
  opacity:.14 !important;
}

/* Meilleure séparation entre les cartes */
.tarifs-grid {
  gap:14px !important;
}

.tarif-head {
    min-height:218px;
  }

.tarifs-grid {
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

.tarif-card,
  .tarif-card.featured {
    min-height:auto !important;
    transform:none !important;
  }

.tarif-head {
    min-height:0;
    padding:26px 21px 22px;
  }

.tarif-card .tarif-list-title,
  .tarif-card .tarif-access,
  .tarif-card .cashless-mini,
  .tarif-card .tarif-bottom {
    margin-left:21px;
    margin-right:21px;
  }

.tarif-card .tarif-access {
    min-height:0 !important;
  }

.tarif-card .tarif-bottom {
    margin-bottom:22px;
  }

/* =========================================================
   V15 — Corps blanc, checklists en gras, CTA assortis aux headers
   ========================================================= */

/* Corps des cartes bien blanc */
.tarif-card,
.tarif-card.featured,
.tarif-content {
  background:#ffffff !important;
}

/* Toutes les checklists en gras */
.tarif-card .tarif-access-item {
  font-weight:700 !important;
}

/* CTA assortis aux headers */
.tarif-card.jour .tarif-btn {
  background:#1c7fc3 !important;
  border-color:#1c7fc3 !important;
  color:#ffffff !important;
}

.tarif-card.weekend .tarif-btn {
  background:#c772eb !important;
  border-color:#c772eb !important;
  color:#ffffff !important;
}

.tarif-card.iconic .tarif-btn {
  background:#fd5c06 !important;
  border-color:#fd5c06 !important;
  color:#ffffff !important;
}

.tarif-card.water .tarif-btn {
  background:#fd5c06 !important;
  border-color:#fd5c06 !important;
  color:#ffffff !important;
}

/* Hover cohérent */
.tarif-card.jour .tarif-btn:hover,
.tarif-card.weekend .tarif-btn:hover,
.tarif-card.iconic .tarif-btn:hover,
.tarif-card.water .tarif-btn:hover {
  background:#0f3150 !important;
  border-color:#0f3150 !important;
  color:#ffffff !important;
}

/* =========================================================
   V16 — Prix alignés, flèches, CTA assortis aux en-têtes
   ========================================================= */

/* Toutes les checklists utilisent une flèche vers le texte */
.tarif-card .tarif-access-item::before {
  content:"→" !important;
  color:#1c7fc3 !important;
  font-size:15px;
  font-weight:900 !important;
  line-height:1.15;
  flex:0 0 auto;
  transform:translateY(-1px);
}

.tarif-card .tarif-access-item {
  font-weight:700 !important;
}

.tarif-card .iconic-premium {
  margin-top:5px;
  padding-top:9px;
  border-top:1px solid rgba(28,127,195,.16);
  color:#1c7fc3 !important;
  font-weight:800 !important;
}

/* Prix et boutons parfaitement alignés sur desktop/tablette */
.tarif-card .tarif-bottom {
  display:grid;
  grid-template-rows:112px 48px;
  gap:14px;
  margin-top:auto !important;
}

.tarif-card .tarif-price-row {
  min-height:112px !important;
  height:112px;
  align-content:flex-start !important;
  align-items:baseline;
}

.tarif-card .tarif-btn {
  min-height:48px;
  height:48px;
  margin-top:0 !important;
}

/* CTA identiques aux couleurs des en-têtes */
.tarif-card.jour .tarif-btn {
  background:linear-gradient(145deg,#176eae 0%,#2c99dc 100%) !important;
  border-color:#1c7fc3 !important;
  color:#ffffff !important;
}

.tarif-card.weekend .tarif-btn {
  background:linear-gradient(145deg,#c772eb 0%,#eec403 100%) !important;
  border-color:#c772eb !important;
  color:#ffffff !important;
}

.tarif-card.iconic .tarif-btn {
  background:linear-gradient(
    145deg,
    #c772eb 0%,
    #c772eb 25%,
    #eec403 58%,
    #fd5c06 100%
  ) !important;
  border-color:#fd5c06 !important;
  color:#ffffff !important;
}

.tarif-card.water .tarif-btn {
  background:#fd5c06 !important;
  border-color:#fd5c06 !important;
  color:#ffffff !important;
}

/* Survol sobre sans casser l'identité */
.tarif-card.jour .tarif-btn:hover,
.tarif-card.weekend .tarif-btn:hover,
.tarif-card.iconic .tarif-btn:hover,
.tarif-card.water .tarif-btn:hover {
  filter:brightness(.94);
  color:#ffffff !important;
  transform:translateY(-1px);
}

.tarif-card .tarif-price-row {
    min-height:0 !important;
    height:auto;
  }

/* V17 — Présentation des prix */
.tarif-price-row {
  display:flex !important;
  align-items:baseline !important;
  gap:7px !important;
  flex-wrap:wrap;
}

.tarif-price-prefix {
  color:#1c7fc3;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.tarif-card .tarif-price-label {
  font-size:12px !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
}

/* V18 — Checklist Iconic sur une ligne */
.tarif-card.iconic .tarif-access-item {
  white-space:nowrap;
  font-size:11.5px;
  letter-spacing:-0.01em;
  gap:6px;
}

.tarif-card.iconic .tarif-access {
  min-width:0;
}

.tarif-name, .tarif-sub,.tarif-badge, .tarif-tag {
  text-align:center;
  margin-left: auto;
  margin-right: auto;
}

/* ── Tarifs grid — 4 colonnes garanties ── */
.tarifs-grid {
  display:               grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap:                   3px;
  align-items:           stretch;
}

.tarif-card {
  width:     100% !important;
  min-width: 0;
}

/* Tablette — 2×2 */
@media (max-width: 900px) {
  .tarifs-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px;
  }
}

/* Mobile — 1 colonne */
@media (max-width: 540px) {
  .tarifs-grid {
    grid-template-columns: 1fr !important;
    gap: 8px;
  }
}
.hero-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,transparent 55%,#2e97e1 100%);
  pointer-events: none;
}
@media (max-width: 600px) {
  .billet-section {
    padding: 64px 16px !important;
  }
}/* End custom CSS */