
.cvb-wrap,.cvb-wrap *{box-sizing:border-box}.cvb-wrap{position:relative;left:50%;width:100vw;margin-left:-50vw;background:#0e0a08;color:#f7ead4;border-top:2px solid #c99b32;border-bottom:2px solid #c99b32}.cvb-wrap header{padding:34px 20px;text-align:center;background:linear-gradient(135deg,#50070b,#b20d12 52%,#50070b)}.cvb-wrap header div{color:#f3c64e;font-size:28px}.cvb-wrap header h2{margin:4px 0!important;color:#f4cf65!important;font-family:Georgia,serif!important;font-size:clamp(44px,6vw,72px)!important}.cvb-wrap header p{margin:0;color:#fff2dd;font-style:italic}.cvb-main{max-width:1260px;margin:auto;padding:28px 20px;display:grid;grid-template-columns:2.2fr .9fr;gap:24px}.cvb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cvb-ticket{padding:18px;background:#f3dfb5;border:3px double #a87518;border-radius:14px;color:#2d170f}.cvb-ticket h3{margin:0 0 10px!important;padding:10px;background:#17100c;color:#f0c85c!important;text-align:center;font-family:Georgia,serif!important}.cvb-price{margin:18px 0;color:#9e1115;text-align:center;font-size:34px;font-weight:900}.cvb-ticket ul{min-height:120px}.cvb-ticket li{margin:7px 0}.cvb-ticket a,.cvb-main aside a,.cvb-bottom a{display:block;padding:11px 14px;color:#fff!important;background:#a70f14;border:1px solid #e0b34b;border-radius:7px;text-align:center;text-decoration:none!important;font-weight:900}.cvb-main aside{padding:20px;background:#120d09;border:2px solid #c99b32}.cvb-main aside h3{color:#efc961!important;text-align:center}.cvb-main aside>div{padding:11px 0;border-bottom:1px solid #72541d}.cvb-main aside b{display:block;color:#d5a63c}.cvb-main aside span{display:block;color:#fff0d1}.cvb-main aside a{margin-top:18px;background:#3b1a09}.cvb-free{max-width:1220px;margin:0 auto 24px;padding:12px 20px;color:#efc75d;border-top:1px solid #8b651e;border-bottom:1px solid #8b651e;font-weight:900}.cvb-bottom{padding:20px;text-align:center;background:linear-gradient(90deg,#4e080a,#9e0d11,#4e080a)}.cvb-bottom a{display:inline-block;padding:14px 24px;border-radius:999px;background:#c3122b}@media(max-width:950px){.cvb-main{grid-template-columns:1fr}.cvb-grid{grid-template-columns:1fr 1fr}.cvb-ticket:last-child{grid-column:1/-1}}@media(max-width:600px){.cvb-wrap{left:auto;width:100%;margin-left:0}.cvb-grid{grid-template-columns:1fr}.cvb-ticket:last-child{grid-column:auto}}


/* V1.1 — alignement uniforme des tarifs */
.cvb-ticket{
  display:grid;
  grid-template-rows:minmax(72px,auto) 72px 1fr auto;
  align-items:start;
}
.cvb-ticket h3{
  display:flex;
  min-height:72px;
  margin:0!important;
  padding:10px!important;
  align-items:center;
  justify-content:center;
  line-height:1.15;
}
.cvb-price{
  display:flex;
  height:72px;
  margin:0!important;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.cvb-ticket ul{
  width:100%;
  min-height:120px;
  margin-top:12px;
  margin-bottom:14px;
}
.cvb-ticket>a{
  align-self:end;
}
@media(max-width:600px){
  .cvb-ticket{
    grid-template-rows:auto auto 1fr auto;
  }
  .cvb-ticket h3{
    min-height:0;
  }
  .cvb-price{
    height:auto;
    min-height:58px;
  }
}

/* V1.1.1 — optimisation mobile : cartes plus compactes sans modifier le rendu ordinateur */
@media (max-width:600px){
  .cvb-wrap header{
    padding:22px 14px;
  }
  .cvb-wrap header div{
    font-size:20px;
  }
  .cvb-wrap header h2{
    font-size:clamp(34px,11vw,44px)!important;
    line-height:1.05;
  }
  .cvb-wrap header p{
    font-size:15px;
    line-height:1.35;
  }
  .cvb-main{
    padding:18px 12px;
    gap:16px;
  }
  .cvb-grid{
    gap:12px;
  }
  .cvb-ticket{
    display:block;
    padding:12px;
  }
  .cvb-ticket h3{
    min-height:0;
    margin:0!important;
    padding:10px 8px!important;
    font-size:22px!important;
    line-height:1.1;
  }
  .cvb-price{
    display:block;
    height:auto;
    min-height:0;
    margin:12px 0 10px!important;
    font-size:34px;
    line-height:1;
  }
  .cvb-ticket ul{
    min-height:0;
    margin:8px 0 12px;
    padding-left:25px;
  }
  .cvb-ticket li{
    margin:5px 0;
    line-height:1.3;
  }
  .cvb-ticket>a{
    margin-top:10px;
    padding:10px 12px;
  }
  .cvb-main aside{
    padding:16px;
  }
  .cvb-main aside>div{
    padding:8px 0;
  }
  .cvb-main aside a{
    margin-top:14px;
  }
  .cvb-free{
    margin:0 auto 16px;
    padding:10px 14px;
  }
  .cvb-bottom{
    padding:14px 12px;
  }
  .cvb-bottom a{
    padding:12px 18px;
  }
}
