*{box-sizing:border-box;margin:0;padding:0}:root{--pink:#e83e83;--hot:#c81d68;--soft:#fff0f6;--deep:#5d1235;--teal:#00878D;--white:#fff;--ink:#23151c}html{scroll-behavior:smooth}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff8fb;overflow-x:hidden}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}.rose-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:74px;padding:0 max(18px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.84);backdrop-filter:blur(16px);border-bottom:1px solid rgba(232,62,131,.13)}.brand img{width:150px;height:54px;object-fit:contain}.mini-cta,.rose-btn,.ghost-btn,.white-btn{text-decoration:none;font-weight:900;border-radius:999px}.mini-cta{background:var(--pink);color:#fff;padding:12px 18px;font-size:12px}.rose-hero{min-height:100svh;position:relative;display:flex;align-items:center;overflow:hidden;padding:120px max(18px,calc((100vw - 1160px)/2)) 70px;background:linear-gradient(105deg,#fff 0%,#fff2f7 47%,#f6b8d1 100%)}.hero-photo{position:absolute;right:-3%;top:0;width:53%;height:100%;background:linear-gradient(90deg,#fff2f7 0%,rgba(255,242,247,.2) 24%,rgba(255,242,247,0) 55%),url('images/octobre-rose/rose-6.jpg') center/cover no-repeat;animation:heroDrift 12s ease-in-out infinite alternate;filter:saturate(.82) contrast(1.02)}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(232,62,131,.04),rgba(121,8,55,.22))}.rose-hero-content{position:relative;z-index:3;width:min(650px,60vw)}.date-pill{display:inline-block;background:#fff;color:var(--hot);padding:10px 15px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:1.8px;box-shadow:0 10px 30px rgba(100,10,50,.08)}.hero-kicker{margin-top:30px;font-size:12px;font-weight:900;letter-spacing:3px;color:var(--hot)}.hero-title{font-size:clamp(74px,11vw,160px);line-height:.72;letter-spacing:-8px;margin:20px 0 38px}.hero-title span,.hero-title strong{display:block}.hero-title strong{font-weight:900;color:var(--pink);animation:titlePulse 4s ease-in-out infinite}.hero-lead{max-width:590px;font-size:18px;line-height:1.7;color:#6c4557}.hero-actions{display:flex;gap:12px;margin-top:28px}.rose-btn{padding:16px 22px;background:var(--pink);color:#fff;box-shadow:0 15px 40px rgba(232,62,131,.25)}.ghost-btn{padding:16px 22px;background:rgba(255,255,255,.75);color:var(--deep);border:1px solid rgba(93,18,53,.13)}.ribbon{position:absolute;z-index:2;right:7%;bottom:7%;font-family:Georgia,serif;font-size:180px;line-height:1;color:#ff8fbd;transform:rotate(-25deg);text-shadow:0 20px 50px rgba(90,0,40,.2);animation:ribbonFloat 5s ease-in-out infinite}.pink-orb{position:absolute;border-radius:50%;filter:blur(2px);background:rgba(255,111,171,.23);animation:orb 7s ease-in-out infinite}.orb-one{width:180px;height:180px;left:-40px;top:24%}.orb-two{width:110px;height:110px;left:45%;bottom:-20px;animation-delay:-2s}.ticker{overflow:hidden;background:var(--hot);color:#fff;padding:14px 0}.ticker-track{width:max-content;display:flex;align-items:center;gap:28px;font-size:13px;font-weight:900;letter-spacing:2px;animation:ticker 24s linear infinite}.ticker-track.reverse{animation-direction:reverse;animation-duration:28s}.ticker-track b{color:#ffb7d4}.commitment{padding:110px 0;background:#fff}.commitment-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}.section-label{font-size:11px;font-weight:900;letter-spacing:2.5px;color:var(--pink)}.commitment h2,.booking-copy h2{font-size:clamp(48px,6vw,80px);line-height:.92;letter-spacing:-4px;margin-top:18px}.commitment h2 em,.booking-copy h2 em{font-style:normal;color:var(--pink)}.commitment-grid p{font-size:18px;line-height:1.75;color:#755768}.notice{margin-top:20px;padding:16px;border-left:3px solid var(--pink);background:var(--soft);font-size:13px!important}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:60px}.float-card{min-height:240px;padding:30px;border-radius:26px;background:var(--soft);border:1px solid #f7c7da;transition:.4s}.float-card:nth-child(2){transform:translateY(22px)}.float-card:hover{transform:translateY(-8px) rotate(-1deg)}.float-card span{font-size:11px;font-weight:900;color:var(--pink)}.float-card h3{font-size:30px;margin:35px 0 12px}.float-card p{line-height:1.6;color:#7a5b69}.photo-motion{position:relative;height:560px;overflow:hidden;background:#230b16}.photo-strip{position:absolute;inset:-5% -4%;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;transform:rotate(-2deg) scale(1.06);animation:photoPan 12s ease-in-out infinite alternate}.photo-strip img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.72)}.floating-copy{position:absolute;z-index:3;left:0;right:0;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:clamp(56px,10vw,150px);font-weight:900;letter-spacing:-5px;color:rgba(255,255,255,.88);animation:copySlide 14s ease-in-out infinite alternate}.free-session{padding:110px 0;background:linear-gradient(135deg,#fff8fb,#fde3ed)}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.booking-copy{position:sticky;top:120px}.booking-copy>p{margin-top:25px;max-width:520px;line-height:1.7;color:#775968}.free-badge{margin-top:35px;display:inline-flex;flex-direction:column;padding:20px 24px;border-radius:20px;background:var(--pink);color:#fff;font-size:28px;font-weight:900;animation:badgeBreath 3s ease-in-out infinite}.free-badge small{font-size:11px;margin-top:6px;letter-spacing:.5px}.rose-form{padding:30px;background:#fff;border-radius:28px;box-shadow:0 25px 80px rgba(116,22,64,.12);border-top:5px solid var(--pink)}.rose-form label{display:block;font-size:11px;font-weight:900;color:#765565;margin:0 0 7px}.rose-form label small{font-weight:400}.rose-form input,.rose-form select,.rose-form textarea{width:100%;border:1px solid #edd4df;border-radius:13px;background:#fffafb;padding:13px;margin-bottom:17px;font:inherit;color:#22131a}.rose-form input,.rose-form select{height:50px}.rose-form button{width:100%;border:0;border-radius:14px;background:var(--pink);color:#fff;padding:17px;font-weight:900;font-size:14px;cursor:pointer}.form-note{font-size:11px;color:#866776;margin-top:12px;line-height:1.5}.discount{min-height:700px;position:relative;display:grid;place-items:center;overflow:hidden;background:#7c1645;color:#fff;text-align:center}.discount-bg{position:absolute;inset:-10%;background:linear-gradient(rgba(91,7,44,.65),rgba(91,7,44,.82)),url('images/octobre-rose/rose-8.jpg') center/cover no-repeat;animation:discountZoom 13s ease-in-out infinite alternate}.discount-content{position:relative;z-index:2;padding:80px 0}.discount-small{font-size:12px;font-weight:900;letter-spacing:2px}.discount-number{font-size:clamp(130px,22vw,300px);line-height:.8;font-weight:900;letter-spacing:-16px;margin:30px 0 15px;text-shadow:0 20px 60px rgba(0,0,0,.25);animation:discountPulse 3s ease-in-out infinite}.discount-number i{font-style:normal;font-size:.55em;vertical-align:top}.discount-number span{font-size:.45em;letter-spacing:-5px}.discount h2{font-size:clamp(34px,5vw,68px);letter-spacing:-2px}.discount p{max-width:600px;margin:18px auto 30px;line-height:1.6;color:#ffd9e9}.white-btn{display:inline-block;background:#fff;color:var(--hot);padding:15px 22px}.ticker-bottom{background:#f08ab2;color:#5d1235}footer{background:#1f1118;color:#fff;padding:48px 0}.footer{display:flex;justify-content:space-between;gap:25px}.footer>div{display:flex;flex-direction:column;gap:8px}.footer span,.footer a{font-size:12px;color:#cbb7c0;text-decoration:none}.reveal-up,.reveal-left,.reveal-right{opacity:0;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal-up{transform:translateY(40px)}.reveal-left{transform:translateX(-55px)}.reveal-right{transform:translateX(55px)}.is-visible{opacity:1;transform:none}@keyframes heroDrift{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-2%,1%,0)}}@keyframes titlePulse{50%{transform:translateX(10px);letter-spacing:-5px}}@keyframes ribbonFloat{50%{transform:rotate(-19deg) translateY(-18px)}}@keyframes orb{50%{transform:translate(30px,-25px) scale(1.15)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes photoPan{to{transform:rotate(2deg) scale(1.12) translateX(-2%)}}@keyframes copySlide{from{transform:translate(-8%,-50%)}to{transform:translate(4%,-50%)}}@keyframes badgeBreath{50%{transform:scale(1.035);box-shadow:0 18px 45px rgba(232,62,131,.28)}}@keyframes discountZoom{to{transform:scale(1.1) translateY(-1%)}}@keyframes discountPulse{50%{transform:scale(1.035)}}
@media(max-width:760px){.rose-header{height:66px}.brand img{width:125px}.mini-cta{font-size:10px;padding:10px 12px}.rose-hero{min-height:880px;padding-top:105px;align-items:flex-start}.hero-photo{top:auto;bottom:0;right:-18%;width:105%;height:54%;background-position:center 25%;opacity:.9}.rose-hero-content{width:100%}.hero-title{font-size:clamp(72px,24vw,108px);letter-spacing:-6px;margin:18px 0 26px}.hero-lead{font-size:15px;max-width:92%}.hero-actions{flex-direction:column;width:88%}.hero-actions a{text-align:center}.ribbon{font-size:110px;right:4%;bottom:5%}.commitment,.free-session{padding:75px 0}.commitment-grid,.booking-grid{grid-template-columns:1fr;gap:32px}.commitment h2,.booking-copy h2{font-size:48px;letter-spacing:-2.5px}.values{grid-template-columns:1fr;margin-top:38px}.float-card,.float-card:nth-child(2){min-height:0;transform:none}.photo-motion{height:500px}.photo-strip{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.floating-copy{font-size:64px;letter-spacing:-3px}.booking-copy{position:static}.rose-form{padding:21px}.discount{min-height:620px}.discount-number{font-size:42vw;letter-spacing:-12px}.footer{flex-direction:column}.ticker-track{animation-duration:18s}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.reveal-up,.reveal-left,.reveal-right{opacity:1;transform:none}}

/* MOBILE-FIRST FIX — Octobre Rose */
@media (max-width: 760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .wrap{width:calc(100% - 28px)}
  .rose-header{height:62px;padding:0 14px}
  .brand img{width:112px;height:auto}
  .mini-cta{padding:10px 12px;font-size:10px;white-space:nowrap}

  .rose-hero{
    min-height:auto;
    display:flex;
    flex-direction:column;
    padding:92px 18px 0;
    background:linear-gradient(180deg,#fff 0%,#fff1f6 100%);
  }
  .rose-hero-content{width:100%;padding-bottom:30px}
  .date-pill{font-size:10px}
  .hero-kicker{margin-top:20px}
  .hero-title{font-size:clamp(62px,20vw,88px);line-height:.78;letter-spacing:-5px;margin:16px 0 24px}
  .hero-lead{font-size:15px;line-height:1.55;max-width:100%}
  .hero-actions{width:100%;gap:9px;margin-top:20px}
  .hero-actions a{width:100%;padding:14px 15px}
  .hero-photo{
    position:relative;order:3;right:auto;bottom:auto;top:auto;
    width:calc(100% + 36px);height:62svh;min-height:430px;
    margin-left:-18px;margin-right:-18px;
    background-image:url('images/octobre-rose/rose-6.jpg');
    background-position:center 20%;opacity:1;
  }
  .hero-photo:after{background:linear-gradient(180deg,rgba(232,62,131,.03),rgba(121,8,55,.14))}
  .ribbon{display:none}.orb-one{width:90px;height:90px}.orb-two{display:none}

  .ticker{padding:11px 0}.ticker-track{font-size:10px;gap:18px}
  .commitment{padding:62px 0}
  .commitment-grid{gap:25px;align-items:start}
  .commitment h2,.booking-copy h2{font-size:43px;line-height:.96;letter-spacing:-2px}
  .commitment-grid p{font-size:15px;line-height:1.65}
  .values{gap:12px;margin-top:30px}
  .float-card{padding:22px;border-radius:20px}
  .float-card h3{font-size:25px;margin:18px 0 8px}

  .photo-motion{height:auto;padding:8px;background:#230b16}
  .photo-strip{
    position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;
    grid-template-rows:repeat(2,240px);gap:7px;transform:none;animation:none;
  }
  .photo-strip img{height:240px;border-radius:10px;filter:saturate(.9) brightness(.9)}
  .floating-copy{
    position:absolute;left:12px;right:12px;top:50%;transform:translateY(-50%);
    white-space:normal;text-align:center;font-size:38px;line-height:.9;letter-spacing:-2px;
    animation:none;text-shadow:0 4px 20px rgba(0,0,0,.5)
  }

  .free-session{padding:62px 0}
  .booking-grid{gap:30px}
  .booking-copy{position:static}
  .free-badge{font-size:22px;padding:17px 20px;margin-top:24px}
  .rose-form{padding:18px;border-radius:20px}
  .rose-form input,.rose-form select{height:48px;font-size:16px}
  .rose-form textarea{font-size:16px}
  .rose-form button{min-height:52px}

  .discount{min-height:560px}
  .discount-content{padding:60px 14px}
  .discount-number{font-size:38vw;letter-spacing:-8px;margin:25px 0 12px}
  .discount h2{font-size:36px;line-height:1}
  .discount p{font-size:14px;line-height:1.55}
  .discount-bg{background:linear-gradient(rgba(91,7,44,.64),rgba(91,7,44,.84)),url('images/octobre-rose/rose-1.jpg') center/cover no-repeat}

  footer{padding:35px 0 90px}.footer{gap:20px}
}

/* Very small phones */
@media (max-width: 390px){
  .hero-title{font-size:66px}
  .commitment h2,.booking-copy h2{font-size:38px}
  .photo-strip{grid-template-rows:repeat(2,210px)}
  .photo-strip img{height:210px}
  .discount h2{font-size:31px}
}

/* Mobile tariffs table */
@media (max-width:760px){
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  th,td{min-width:125px;padding:12px 10px!important;font-size:12px!important}
}


/* MOBILE COMPACT — rangé, lisible, tailles réduites */
@media (max-width:760px){
  .wrap{width:calc(100% - 36px)}
  .rose-header{height:58px;padding:0 16px}
  .brand img{width:96px;height:42px}
  .mini-cta{font-size:9px;padding:9px 11px}

  .rose-hero{padding:82px 18px 0;min-height:0}
  .rose-hero-content{padding-bottom:24px}
  .date-pill{font-size:9px;padding:8px 11px;letter-spacing:1.2px}
  .hero-kicker{font-size:9px;letter-spacing:2px;margin-top:17px}
  .hero-title{
    font-size:clamp(48px,15vw,62px);
    line-height:.82;letter-spacing:-3px;
    margin:14px 0 20px;max-width:100%;
  }
  .hero-lead{font-size:14px;line-height:1.5}
  .hero-actions{margin-top:17px}
  .hero-actions a{font-size:13px;padding:13px}
  .hero-photo{
    height:430px;min-height:0;
    background-position:center 15%;
  }

  .commitment{padding:52px 0}
  .section-label{font-size:9px;letter-spacing:2px}
  .commitment h2,.booking-copy h2{
    font-size:36px;line-height:1;letter-spacing:-1.8px;margin-top:13px
  }
  .commitment-grid p{font-size:14px;line-height:1.55}
  .notice{font-size:12px!important;padding:13px}
  .values{margin-top:25px}
  .float-card{padding:20px;min-height:0}
  .float-card h3{font-size:23px;margin:14px 0 7px}
  .float-card p{font-size:14px}

  .photo-motion{padding:7px}
  .photo-strip{grid-template-rows:repeat(2,190px)}
  .photo-strip img{height:190px}
  .floating-copy{
    left:20px;right:20px;font-size:28px;line-height:1;
    letter-spacing:-1px;white-space:normal;
  }

  .free-session{padding:52px 0}
  .booking-copy>p{font-size:14px;line-height:1.55;margin-top:18px}
  .free-badge{font-size:19px;padding:15px 18px;margin-top:20px}
  .rose-form{padding:17px}
  .rose-form label{font-size:10px}
  .rose-form input,.rose-form select{
    height:46px!important;min-height:46px!important;
    padding:10px 12px!important;margin-bottom:14px;font-size:16px
  }
  .rose-form input[type="date"]{
    display:block;-webkit-appearance:none;appearance:none;
    line-height:24px!important;
  }
  .rose-form textarea{min-height:90px;padding:12px;font-size:16px}

  .discount{min-height:500px}
  .discount-content{padding:50px 18px}
  .discount-small{font-size:9px;letter-spacing:1.5px}
  .discount-number{font-size:31vw;letter-spacing:-6px;margin:22px 0 10px}
  .discount h2{font-size:30px;line-height:1.05;letter-spacing:-1px}
  .discount p{font-size:13px}
  .white-btn{font-size:13px;padding:13px 18px}

  .ticker-track{font-size:9px}
  footer{padding:30px 0 75px}
}
@media(max-width:390px){
  .hero-title{font-size:50px}
  .commitment h2,.booking-copy h2{font-size:33px}
  .discount h2{font-size:27px}
}

/* FINAL MOBILE TARIFFS — cards, no horizontal overflow */
@media(max-width:760px){
  .brand img{background:transparent!important;object-fit:contain!important}
  body{overflow-x:hidden!important}
  .tariffs-page table{display:block!important;overflow:visible!important;width:100%!important}
  .tariffs-page thead{display:none!important}
  .tariffs-page tbody{display:grid!important;gap:12px!important;width:100%!important}
  .tariffs-page tr{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:6px 14px!important;
    padding:17px!important;
    background:#fff!important;
    border:1px solid #f5c5d7!important;
    border-radius:18px!important;
    box-shadow:0 8px 24px rgba(173,30,88,.07)!important;
  }
  .tariffs-page td{
    display:block!important;min-width:0!important;width:auto!important;
    border:0!important;padding:0!important;font-size:14px!important;
  }
  .tariffs-page td:nth-child(1){grid-column:1/-1;font-weight:800;font-size:15px!important}
  .tariffs-page td:nth-child(2){grid-column:1/-1;color:#795966}
  .tariffs-page td:nth-child(3){grid-column:1;color:#9a8790;margin-top:5px}
  .tariffs-page td:nth-child(4){grid-column:2;color:#e8377d;font-size:18px!important;font-weight:900;text-align:right;margin-top:5px}
}
/* Première image Octobre Rose */
.rose-main-photo {
  width: 100%;
  padding: 28px 18px;
  display: flex;
  justify-content: center;
  background: #fff5f8;
  overflow: hidden;
}

.rose-main-photo img {
  width: min(100%, 650px);
  height: auto;
  display: block;
  border-radius: 24px;
  box-shadow: 0 18px 50px rgba(160, 25, 85, 0.18);
  animation: rosePhotoEntrance 1.2s ease both;
}

@keyframes rosePhotoEntrance {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(25px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@media (max-width: 600px) {
  .rose-main-photo {
    padding: 14px 12px 24px;
  }

  .rose-main-photo img {
    width: 100%;
    border-radius: 18px;
  }
}
/* IMAGE PRINCIPALE OCTOBRE ROSE — PRIORITAIRE */
/* IMAGE PRINCIPALE OCTOBRE ROSE — PC + MOBILE */
.rose-hero .hero-photo {
  display: block !important;
  background-image: url('images/octobre-rose/rose-6.png') !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

@media (max-width: 760px) {
  .rose-hero .hero-photo {
    display: block !important;
    width: 100% !important;
    height: 520px !important;
    min-height: 520px !important;
    background-image: url('images/octobre-rose/rose-6.png') !important;
    background-position: center center !important;
    background-size: cover !important;
  }
}
/* CORRECTION FINALE IMAGE MOBILE */
@media (max-width: 760px) {
  .rose-hero .hero-photo {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 560px !important;
    min-height: 560px !important;
    margin: 0 !important;

    background: url('images/octobre-rose/rose-6.png')
                center center / cover no-repeat !important;
  }
}
/* ===== VOILE ROSE SUR LA GALERIE ===== */

.photo-motion{
    position: relative;
    background: #6b1638;
}

.photo-strip{
    position: relative;
}

.photo-strip::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;

    background:
        linear-gradient(
            135deg,
            rgba(232, 62, 131, 0.38),
            rgba(125, 8, 55, 0.52)
        );
}

.photo-strip img{
    filter: saturate(.75) brightness(.78);
}

.floating-copy{
    z-index: 4 !important;
}
/* ===== PETITES FEUILLES / PÉTALES ROSES ===== */

.rose-petals{
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none;
  overflow: hidden;
}

.rose-petals i{
  position: absolute;
  top: -50px;
  width: 13px;
  height: 20px;
  background: rgba(232, 62, 131, .55);
  border-radius: 80% 0 80% 0;
  animation: petalFall 12s linear infinite;
}

.rose-petals i:nth-child(1){left:5%;animation-delay:0s}
.rose-petals i:nth-child(2){left:14%;animation-delay:-7s;animation-duration:15s}
.rose-petals i:nth-child(3){left:23%;animation-delay:-3s;animation-duration:11s}
.rose-petals i:nth-child(4){left:32%;animation-delay:-9s;animation-duration:17s}
.rose-petals i:nth-child(5){left:41%;animation-delay:-5s;animation-duration:13s}
.rose-petals i:nth-child(6){left:50%;animation-delay:-11s;animation-duration:16s}
.rose-petals i:nth-child(7){left:59%;animation-delay:-2s;animation-duration:12s}
.rose-petals i:nth-child(8){left:68%;animation-delay:-8s;animation-duration:18s}
.rose-petals i:nth-child(9){left:76%;animation-delay:-4s;animation-duration:14s}
.rose-petals i:nth-child(10){left:84%;animation-delay:-10s;animation-duration:16s}
.rose-petals i:nth-child(11){left:91%;animation-delay:-6s;animation-duration:13s}
.rose-petals i:nth-child(12){left:97%;animation-delay:-1s;animation-duration:18s}

@keyframes petalFall{
  0%{
    transform:translate3d(0,-40px,0) rotate(0deg);
    opacity:0;
  }
  10%{
    opacity:.8;
  }
  50%{
    transform:translate3d(35px,50vh,0) rotate(180deg);
  }
  100%{
    transform:translate3d(-25px,105vh,0) rotate(360deg);
    opacity:.15;
  }
}

@media (max-width:760px){
  .rose-petals i{
    width:9px;
    height:15px;
    opacity:.65;
  }
}
/* ===== POPUP BIENVENUE IKAYDO ===== */

.welcome-popup{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  transition:.45s ease;
}

.welcome-popup.show{
  opacity:1;
  visibility:visible;
}

.welcome-backdrop{
  position:absolute;
  inset:0;
  background:rgba(65,5,32,.78);
  backdrop-filter:blur(8px);
}

.welcome-card{
  position:relative;
  z-index:2;
  width:min(460px,92vw);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(90,0,40,.45);
  transform:scale(.65) translateY(50px);
  transition:.6s cubic-bezier(.2,.9,.2,1.2);
}

.welcome-popup.show .welcome-card{
  transform:scale(1) translateY(0);
}

.welcome-card img{
  display:block;
  width:100%;
  height:auto;
}

.welcome-close{
  position:absolute;
  z-index:10;
  top:12px;
  right:12px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#c81d68;
  font-size:28px;
  cursor:pointer;
}

/* Fleurs projetées */
.welcome-flowers{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}

.welcome-flowers i{
  position:absolute;
  left:50%;
  top:50%;
  font-style:normal;
  font-size:30px;
  opacity:0;
}

.welcome-popup.show .welcome-flowers i{
  animation:welcomeFlower 2.8s ease-out forwards;
}

.welcome-flowers i:nth-child(1){--x:-190px;--y:-300px}
.welcome-flowers i:nth-child(2){--x:180px;--y:-260px;animation-delay:.08s!important}
.welcome-flowers i:nth-child(3){--x:-210px;--y:-80px;animation-delay:.15s!important}
.welcome-flowers i:nth-child(4){--x:210px;--y:-30px;animation-delay:.22s!important}
.welcome-flowers i:nth-child(5){--x:-170px;--y:230px;animation-delay:.3s!important}
.welcome-flowers i:nth-child(6){--x:190px;--y:250px;animation-delay:.38s!important}
.welcome-flowers i:nth-child(7){--x:-70px;--y:-330px;animation-delay:.45s!important}
.welcome-flowers i:nth-child(8){--x:80px;--y:320px;animation-delay:.52s!important}

@keyframes welcomeFlower{
  0%{
    transform:translate(-50%,-50%) scale(.2) rotate(0deg);
    opacity:0;
  }
  15%{opacity:1}
  100%{
    transform:translate(
      calc(-50% + var(--x)),
      calc(-50% + var(--y))
    ) scale(1.4) rotate(360deg);
    opacity:0;
  }
}

@media(max-width:760px){
  .welcome-card{
    width:min(390px,94vw);
    border-radius:24px;
  }

  .welcome-flowers i{
    font-size:24px;
  }
}
/* ===== CORRECTION POPUP BIENVENUE ===== */

#welcomePopup{
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 999999 !important;

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

  padding: 20px !important;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#welcomePopup.show{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#welcomePopup .welcome-card{
  position: relative !important;
  width: min(430px, 90vw) !important;
  max-height: 88vh !important;
  z-index: 2 !important;
  overflow: hidden !important;
  border-radius: 26px !important;
}

#welcomePopup .welcome-card img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 88vh !important;
  object-fit: contain !important;
}
/* ===== CORRECTION DESKTOP RÉSERVATION + COMPTEUR ===== */
@media (min-width: 761px) {

  .booking-grid{
    grid-template-columns: minmax(0, 1fr) minmax(420px, 520px) !important;
    gap: 80px !important;
    align-items: start !important;
  }

  .booking-copy{
    position: sticky !important;
    top: 120px !important;
    min-width: 0 !important;
  }

  .rose-form{
    position: relative !important;
    width: 100% !important;
    max-width: 520px !important;
    justify-self: end !important;
  }

  .places-counter{
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;

    margin-top: 18px !important;
    padding: 14px 20px !important;

    background: #ffffff !important;
    border: 2px solid #e83e83 !important;
    border-radius: 999px !important;

    color: #5d1235 !important;
    font-size: 16px !important;
    font-weight: 700 !important;

    box-shadow: 0 12px 30px rgba(232,62,131,.15) !important;
  }

  .places-counter strong{
    color: #e83e83 !important;
    font-size: 24px !important;
    font-weight: 900 !important;
  }
}
/* ===== FIX DESKTOP FORMULAIRE OCTOBRE ROSE ===== */
@media (min-width: 761px) {

  .booking-copy{
    position: static !important;
    top: auto !important;
  }

  .booking-grid{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 500px !important;
    gap: 70px !important;
    align-items: start !important;
  }

  .rose-form{
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 500px !important;
    justify-self: end !important;
  }
}
/* ===== ALIGNEMENT FINAL DESKTOP ===== */
@media (min-width: 761px) {

  .rose-form{
    position: absolute !important;
    top: 405px !important;
    right: max(10%, calc((100vw - 1180px) / 2)) !important;
    left: auto !important;

    width: 500px !important;
    max-width: 42vw !important;
    margin: 0 !important;
  }

  .booking{
    position: relative !important;
    min-height: 820px !important;
  }

  .places-counter{
    margin-top: 0 !important;
  }
}
/* ===== CORRECTION FORMULAIRE DESKTOP ===== */
@media (min-width: 761px) {

  .booking{
    position: relative !important;
    min-height: auto !important;
  }

  .booking-grid{
    display: grid !important;
    grid-template-columns: 1fr 500px !important;
    gap: 80px !important;
    align-items: start !important;
  }

  .rose-form{
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;

    width: 100% !important;
    max-width: 500px !important;

    margin: 80px 0 0 0 !important;
    justify-self: end !important;

    transform: none !important;
  }
}
/* ===== MESSAGE BIENVENUE APRÈS RÉSERVATION ===== */

.welcome-message{
  background:#fff;
  padding:20px 24px 24px;
  text-align:center;
}

.welcome-message h3{
  margin:0 0 8px;
  color:#e83e83;
  font-size:24px;
  font-weight:900;
}

.welcome-message p{
  margin:0;
  color:#5d1235;
  font-size:15px;
  line-height:1.6;
  font-weight:600;
}

@media(max-width:760px){
  .welcome-message{
    padding:16px 18px 20px;
  }

  .welcome-message h3{
    font-size:21px;
  }

  .welcome-message p{
    font-size:14px;
  }
}