/* RECECHO 29 · clear invitations, real deadlines and one welcome benefit. */
.rc29-ranking-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 28px;width:100%;padding:0}
.rc29-ranking-nav a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:62px;padding:15px 20px;border:1px solid #bdd5c8;border-radius:12px;background:#f3f8f3;color:#064e39;text-decoration:none;transition:background .18s,box-shadow .18s}
.rc29-ranking-nav a:hover{background:#e5f2e7;box-shadow:0 3px 14px #164b3012}.rc29-ranking-nav a[aria-current=page]{background:#005b40;color:white;border-color:#005b40;box-shadow:inset 0 -4px #f58a16}
.rc29-ranking-nav strong{font-size:16px}.rc29-ranking-nav span{font-size:23px;line-height:1}.rc29-ranking-intro{margin:0 0 24px}.rc29-ranking-intro h1{font-size:clamp(28px,3.6vw,44px);margin:10px 0}
.rc29-discounts{padding-top:28px;padding-bottom:48px;color:#163e2f;--gold:#e5be61;--green:#005b40;--orange:#f58413}
.rc29-discounts .rc29-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;margin:0 0 20px;display:flex;align-items:center;gap:9px;line-height:1.5}
.rc29-benefit-hero{display:grid!important;grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:45px;padding:48px!important;border-radius:24px;background:radial-gradient(ellipse at 100% 0,#226b48,transparent 62%),#063e2e;color:#fff;overflow:hidden;position:relative;border:1px solid #b69852;height:auto!important;min-height:0!important}
.rc29-hero-copy{min-width:0;position:relative;z-index:1}.rc29-hero-copy .rc29-kicker{color:#f1d086}.rc29-hero-copy h1{font-size:clamp(33px,4.2vw,56px);line-height:1.07;letter-spacing:-.045em;margin:0 0 23px;color:#fff;max-width:780px}.rc29-hero-copy>p:not(.rc29-kicker){color:#d9e8dd;line-height:1.7;font-size:16px;margin:0 0 28px}.rc29-hero-copy p strong{color:white}.rc29-hero-copy>small{display:block;font-size:11px;margin-top:13px;color:#d9e6d7}
.rc29-discounts .rc29-activate{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;font-size:16px;padding:15px 22px;min-height:54px;font-weight:800;border:1px solid #ffb653;box-shadow:0 6px 22px #0002;color:#173e2e;background:#ff941d}.rc29-activate:hover{background:#ffab3e}.rc29-activate span{font-size:24px}
.rc29-welcome-ticket{background:linear-gradient(130deg,#fff7df,#e8ca7d);border:1px solid #f5db95;border-radius:17px;padding:22px;color:#173c2a;transform:rotate(3deg);position:relative;box-shadow:0 18px 30px #03221766;text-align:center}
.rc29-ticket-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;letter-spacing:.15em;color:#466044}.rc29-ticket-top>span+span{font-size:17px;letter-spacing:0}
.rc29-five{display:block;font-size:112px;line-height:1.02;letter-spacing:-8px;margin:15px 0 0}.rc29-five small{font-size:52px;letter-spacing:-3px}.rc29-welcome-ticket>p{font-size:14px;line-height:1.5;margin:5px 0 15px}.rc29-welcome-ticket>p strong{display:block}.rc29-ticket-state{display:inline-block;border:1px solid #a39567;border-radius:5px;padding:7px 9px;font-size:9px;font-weight:800;letter-spacing:.05em;max-width:100%}.is-pending .rc29-five{opacity:.43}.is-pending .rc29-ticket-state{background:#f2ecd9}.is-used .rc29-five{opacity:.45}.is-ready .rc29-ticket-state{background:#07583a;color:#fff;border-color:#07583a}
.rc29-ticket-bottom{border-top:1px dashed #ad9251;margin:21px -22px -2px;padding:17px 20px 0;font-size:9px;letter-spacing:.13em;font-weight:800}.rc29-ticket-bottom small{font-size:10px;letter-spacing:0;font-weight:400;line-height:1.5;display:block;margin-top:7px}
.rc29-priority{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:center;padding:28px 32px;margin:22px 0;border:1px solid #dac285;border-left:5px solid #c9a64c;border-radius:16px;background:#fff9e9;box-shadow:0 5px 20px #66531c07}
.rc29-priority .rc29-kicker{color:#866215;font-size:10px;margin-bottom:10px}.rc29-priority h2{font-size:clamp(25px,2.8vw,34px);margin:0 0 13px;line-height:1.12;letter-spacing:-.025em}.rc29-priority p:not(.rc29-kicker){font-size:14px;line-height:1.6;margin:0 0 12px;color:#506346;max-width:680px}.rc29-priority small{display:block;color:#796641;font-size:11px;line-height:1.5}
.rc29-live-dot{width:8px;height:8px;border-radius:50%;background:#b39757;flex:none}.is-live .rc29-live-dot{background:#169652;box-shadow:0 0 0 4px #13974c18;animation:rc29-dot 2.5s ease-in-out infinite}
.rc29-countdown{background:#143e2c;border:1px solid #a5a05b;border-radius:13px;padding:22px;text-align:center;color:#f1d385;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:13px;min-height:150px}
.rc29-countdown>span{font-size:11px;font-weight:700;color:#e7e8cb}.rc29-countdown>strong{font-size:50px;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1;white-space:nowrap}.rc29-countdown>strong span{font-size:32px;margin-left:4px}.rc29-countdown>div{font-size:8px;letter-spacing:.07em;display:flex;justify-content:center;gap:13px}.rc29-countdown i{font-style:normal;opacity:.5}
.rc29-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:26px 0}.rc29-benefit{display:flex;flex-direction:column;border-radius:18px;border:1px solid #d4e1d3;padding:25px;background:#f5f8f0;position:relative;overflow:hidden;min-width:0}
.rc29-benefit h2{font-size:25px;line-height:1.15;letter-spacing:-.025em;margin:0 0 14px;color:#163e2f}.rc29-benefit>p:not(.rc29-card-tag){font-size:14px;line-height:1.6;margin:0 0 18px;color:#53674e}.rc29-benefit .rc29-card-tag{font-size:9px;letter-spacing:.12em;font-weight:800;color:#887029;margin:4px 0 13px;line-height:1.5}
.rc29-benefit>small{font-size:10px;line-height:1.5;color:#63745c;display:block;margin-top:12px}.rc29-benefit>a{font-size:13px;color:#075d3e;font-weight:800;margin-top:auto;min-height:30px;display:flex;align-items:center}.rc29-benefit-state{font-size:12px;font-weight:700;color:#325c42;margin-top:auto;padding:11px 0;border-top:1px solid #d5dfcb}
.rc29-running-offer{height:126px;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;margin:-6px 0 12px}.rc29-running-offer>span{font-size:45px;line-height:1;font-weight:800;letter-spacing:-.08em;color:#8b9c54}.rc29-running-offer img{width:57%;height:100px;object-fit:contain;opacity:.8}.rc29-early{background:linear-gradient(140deg,#f5f8ee,#e9f0dc)}
.rc29-gift-scene{display:flex;align-items:center;justify-content:center;gap:20px;height:126px;margin:-6px 0 12px;color:#bd8b20}.rc29-gift-scene span{font-size:30px}.rc29-gift-scene span:last-child{align-self:flex-start;margin-top:10px;font-size:22px}.rc29-gift-scene svg{width:105px;height:105px;transform-origin:50% 85%}.has-live-draws .rc29-gift-scene svg{animation:rc29-gift 4s ease-in-out infinite}.has-live-draws .rc29-gift-scene span{animation:rc29-spark 4s ease-in-out infinite}.rc29-draw{background:linear-gradient(140deg,#fffaf0,#f6eed6);border-color:#dfcda2}.rc29-benefit .rc29-draw-closes{font-size:11px;border-top:1px solid #ddd0a8;padding-top:12px;color:#665026}
.rc29-first{background:#f0f6f3}.rc29-saving-icon{font-size:72px;line-height:1;height:126px;display:flex;align-items:center;font-weight:800;letter-spacing:-5px;color:#096c45;margin:-6px 0 12px}.rc29-saving-icon small{font-size:35px;letter-spacing:-2px;margin-top:10px}.rc29-saving-example{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #ccddd1;padding-top:14px;font-size:12px;color:#596d5b;margin-top:auto}.rc29-saving-example strong{font-size:15px;color:#08663e}
.rc29-activation-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eef3e8;border-radius:14px;padding:24px 28px;margin:0 0 28px}.rc29-activation-strip strong{display:block;font-size:23px;line-height:1.2;margin-bottom:9px}.rc29-activation-strip span{display:block;font-size:13px;line-height:1.5;color:#53654b;max-width:680px}.rc29-activation-strip .btn{white-space:nowrap;font-size:14px;min-height:48px;display:flex;align-items:center;justify-content:center}
.rc29-active-actions{margin:0 0 24px}.rc29-benefit-terms{border-top:1px solid #d7e4d8;padding:20px 0;margin-top:25px;font-size:13px}.rc29-benefit-terms summary{font-weight:700;cursor:pointer}.rc29-benefit-terms p{font-size:13px;line-height:1.7;color:#566f5d;max-width:1000px}
.rc29-withdraw{border-top:1px solid #dce5d9;padding-top:18px;margin-top:20px}.rc29-withdraw>a{font-size:13px;color:#285e40;font-weight:700}.rc29-withdraw p{font-size:12px;color:#5e735e;line-height:1.6}.rc29-discount-line{background:#edf8ec;border-radius:8px;padding:12px!important;color:#087341!important}.rc29-discount-line small{color:#4a694d!important}
@keyframes rc29-cta{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes rc29-dot{50%{box-shadow:0 0 0 7px #13974c08}}
@keyframes rc29-gift{0%,60%,100%{transform:rotate(0)}65%,75%{transform:rotate(-6deg)}70%,80%{transform:rotate(6deg)}}
@keyframes rc29-spark{0%,55%,100%{opacity:.5;transform:scale(.9)}70%{opacity:1;transform:scale(1.15)}}
@media(max-width:1000px){.rc29-benefit-hero{padding:32px!important;grid-template-columns:minmax(0,1fr) 230px;gap:30px}.rc29-five{font-size:95px}.rc29-priority{grid-template-columns:minmax(0,1fr) 250px;padding:24px;gap:20px}.rc29-countdown{padding:18px}.rc29-countdown>strong{font-size:41px}.rc29-benefit{padding:20px}.rc29-benefit h2{font-size:22px}.rc29-benefit .rc29-card-tag{font-size:8px}}
@media(max-width:760px){
 body.rc28-mobile-booking{padding-bottom:calc(134px + env(safe-area-inset-bottom,0px))}
 .rc28-reserve-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-width:490px;margin:auto;padding:10px 10px 8px;background:#f7fcf4f5;border:1px solid #cadbc9;border-radius:18px;box-shadow:0 8px 30px #083d3133;gap:7px;animation:rc29-cta .4s cubic-bezier(.2,.7,.2,1) both}
 .rc28-offer .rc28-reserve-bar .btn[data-booking-open]{width:100%;max-width:none;min-height:61px;font-size:19px;font-weight:800;letter-spacing:-.02em;padding:16px 18px;border:2px solid #ff8b1a;border-radius:12px;background:#087e45;color:#fff;box-shadow:0 3px 12px #09613420;line-height:1.2}
 .rc28-offer .rc28-reserve-bar .btn[data-booking-open]:hover,.rc28-offer .rc28-reserve-bar .btn[data-booking-open]:focus-visible{background:#086b3e;color:#fff;border-color:#ff9c32}.rc28-offer .rc28-reserve-bar .btn[data-booking-open]:disabled{background:#e5e9e3;color:#647064;border-color:#d0d8ce;box-shadow:none}.rc28-reserve-bar small{font-size:10px;color:#49664c;line-height:1.3}
 .rc29-ranking-nav{gap:7px;margin-bottom:22px}.rc29-ranking-nav a{min-height:60px;padding:10px 5px;flex-direction:column;gap:5px;border-radius:10px}.rc29-ranking-nav strong{font-size:12px}.rc29-ranking-nav span{font-size:20px}
 .rc29-discounts{padding-top:20px}.rc29-benefit-hero{grid-template-columns:1fr;padding:27px!important;gap:28px;border-radius:18px}.rc29-hero-copy h1{font-size:36px;letter-spacing:-.035em}.rc29-hero-copy>p:not(.rc29-kicker){font-size:14px;line-height:1.65}.rc29-discounts .rc29-activate{width:100%;font-size:15px}.rc29-hero-copy>small{font-size:10px}.rc29-hero-copy .rc29-kicker{font-size:9px;letter-spacing:.1em}
 .rc29-welcome-ticket{display:grid;grid-template-columns:120px 1fr;gap:0 15px;padding:18px;transform:rotate(1deg);text-align:left;max-width:470px;width:100%;justify-self:center}.rc29-ticket-top{grid-column:1/-1;font-size:9px}.rc29-five{grid-row:2/5;align-self:center;font-size:85px;letter-spacing:-6px;margin:0}.rc29-five small{font-size:37px;letter-spacing:-3px}.rc29-welcome-ticket>p{margin:15px 0 10px;font-size:12px}.rc29-ticket-state{font-size:8px;text-align:center;padding:6px}.rc29-ticket-bottom{grid-column:1/-1;margin:16px -18px -2px;padding:12px 18px 0;font-size:8px;line-height:1.4}.rc29-ticket-bottom small{font-size:9px;margin-top:5px}
 .rc29-priority{grid-template-columns:1fr;padding:24px;gap:21px;margin:18px 0}.rc29-priority h2{font-size:28px}.rc29-priority p:not(.rc29-kicker){font-size:13px}.rc29-countdown{min-height:130px;padding:20px;gap:12px}.rc29-countdown>strong{font-size:49px}.rc29-countdown>div{font-size:9px;gap:20px}
 .rc29-benefit-grid{grid-template-columns:1fr;gap:15px;margin:18px 0}.rc29-benefit{padding:24px}.rc29-benefit h2{font-size:27px}.rc29-benefit .rc29-card-tag{font-size:9px}.rc29-benefit>p:not(.rc29-card-tag){font-size:14px}.rc29-running-offer,.rc29-gift-scene,.rc29-saving-icon{height:95px;margin:0 0 15px}.rc29-running-offer img{width:150px;height:95px}.rc29-gift-scene{justify-content:flex-start;gap:25px}.rc29-gift-scene svg{height:90px;width:90px}.rc29-saving-icon{font-size:72px}
 .rc29-activation-strip{flex-direction:column;align-items:stretch;padding:24px}.rc29-activation-strip .btn{width:100%}.rc29-withdraw p{overflow-wrap:anywhere}
}
@media(max-width:360px){.rc29-hero-copy h1{font-size:31px}.rc29-benefit-hero{padding:22px!important}.rc29-welcome-ticket{grid-template-columns:95px 1fr;gap:0 10px}.rc29-five{font-size:70px}.rc29-five small{font-size:29px}.rc29-countdown>strong{font-size:42px}.rc29-countdown>div{gap:12px;font-size:8px}.rc29-ranking-nav strong{font-size:10px}.rc28-offer .rc28-reserve-bar .btn[data-booking-open]{font-size:17px}}
@media(prefers-reduced-motion:reduce){.rc28-reserve-bar,.rc29-live-dot,.rc29-gift-scene svg,.rc29-gift-scene span{animation:none!important}.rc29-ranking-nav a{transition:none}}

/* Reservation guidance: the CTA remains available until a request is actually running. */
.rc30-date-note{display:block;margin:14px 0 6px;padding:12px 14px;border-left:3px solid #d6ac4e;border-radius:0 8px 8px 0;background:#f5f8f3;color:#345347;font-size:.87rem;line-height:1.6}
.rc30-terms-field{padding:12px;border:2px solid transparent;border-radius:12px;margin:12px 0;transition:border-color .2s,background .2s}
.rc30-terms-field .rcp-check{margin:0;align-items:flex-start}
.rc30-needs-attention{outline:2px solid #ed8610;outline-offset:5px;border-radius:12px;background:#fff9ed!important}
.rc30-reserve-guide{display:block;margin:12px 0 0;padding:12px 14px;border:1px solid #e7a343;border-radius:9px;background:#fff0d3;color:#73420a;font-size:.95rem;font-weight:700;line-height:1.5}
.rc30-reserve-guide[hidden]{display:none}
#rcp-book[aria-busy="true"]{cursor:wait}
@media(prefers-reduced-motion:reduce){.rc30-terms-field{transition:none}}
