
/* Booking presentation and contextual calls to action. */
.package-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;margin-top:28px;border-top:1px solid #ddc99f66}.package-cta p{margin:0;color:#655b50;font-size:16px}.package-cta .reserve{flex-shrink:0;font-size:14px;padding:15px 24px}
.booking-zone{background:#f5eedf;padding:64px 0 36px;border-top:1px solid #eadfc8;border-bottom:1px solid #eadfc8}.booking-zone #hoteis{background:transparent;border:0;padding-top:0;scroll-margin-top:95px}.booking-zone .chalet{display:none}.booking-zone .sectionhead{align-items:center}.booking-zone h2{color:#96110f;font-size:clamp(28px,3vw,42px)}.booking-zone .room-dates{background:#fff8e9;border:1px solid #dbc79e;border-radius:14px;min-width:250px}.booking-zone .sectiondesc{color:#62584c;margin-bottom:30px}.booking-zone .hotel{background:#fff;border:1px solid #e4d7bf;border-radius:18px;box-shadow:0 8px 24px #6e50200a;overflow:hidden;display:flex;flex-direction:column}.booking-zone .hotel .cardbody{display:flex;flex:1;flex-direction:column;padding:26px}.booking-zone .hotel .price{margin-top:22px;padding:20px 0;border-top:1px solid #eee4d6;background:transparent}.booking-zone .hotel .price strong{color:#96110f;font-weight:700}.booking-zone .hotel .reserve,.booking-zone .hotel .outline{width:100%;margin-top:auto;min-height:50px}.booking-zone .hotel .meal{color:#6d5d48}.booking-zone .small{color:#786c5c}.sectionnav a.booking-nav{background:#008b28;color:white;border-radius:7px;padding:9px 14px;margin:-9px 0}.booking-zone .hotel .price.unavailable strong{font-size:25px}
@media(max-width:700px){.package-cta{flex-direction:column;align-items:stretch;gap:15px;padding:22px 0}.package-cta p{font-size:15px}.package-cta .reserve{width:100%}.booking-zone{padding:40px 0 20px}.booking-zone .sectionhead{flex-direction:column;align-items:stretch;gap:18px}.booking-zone .room-dates{margin:0;min-width:0}.booking-zone .hotel .cardbody{padding:22px}.sectionnav a.booking-nav{padding:8px 10px;white-space:nowrap}.booking-zone #hoteis{scroll-margin-top:100px}}

/* Compact contextual booking bar. */
.mobilebook{display:flex;position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;right:auto;transform:translateX(-50%);width:min(680px,calc(100% - 40px));z-index:20;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid #e8dfcd;border-radius:18px;box-shadow:0 8px 32px #47332120;padding:12px 16px}
.mobilebook[hidden]{display:none!important}.floating-date{display:flex;align-items:center;gap:14px;min-width:0}.floating-date strong{font-size:19px;font-weight:650;line-height:1.3;color:#96110f;white-space:nowrap}.floating-castle{position:relative;display:block;width:68px;height:50px;flex-shrink:0}.floating-castle::before{content:"";position:absolute;right:2px;top:0;width:24px;height:24px;border-radius:50%;background:#fff0bc}.floating-castle img{position:relative;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.mobilebook .reserve{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:48px;padding:13px 20px;background:#008b28;color:#fff;border-radius:10px;font-size:14px;font-weight:700}.mobilebook .reserve:hover{background:#007522}body{padding-bottom:108px}
@media(max-width:700px){.mobilebook{width:calc(100% - 24px);bottom:calc(12px + env(safe-area-inset-bottom));padding:10px;gap:10px;border-radius:14px}.floating-date{gap:7px}.floating-castle{width:36px;height:38px}.floating-castle::before{width:18px;height:18px}.floating-date strong{font-size:14px;white-space:normal;max-width:110px}.mobilebook .reserve{font-size:12px;padding:12px;min-height:46px}.mobilebook .cta-play{margin-left:6px}body{padding-bottom:96px}}
@media(max-width:359px){.floating-castle{display:none}.mobilebook .reserve{padding:12px 9px}}

/* Shared play-shaped action icons and touchable illustrated sun. */
.cta-play{display:inline-block;width:auto;height:auto;border:0;font:inherit;font-size:1.15em;line-height:1;vertical-align:baseline;margin-left:12px;flex-shrink:0;transition:transform .2s ease}
.cta-play.is-back{transform:rotate(180deg);margin-left:0;margin-right:8px}
.castle-mark .castle-sun{pointer-events:auto;touch-action:none;cursor:grab;min-width:44px;min-height:44px}
.castle-mark .castle-sun.is-dragging{cursor:grabbing;transition:none}
@media(prefers-reduced-motion:reduce){.castle-mark .castle-sun{transition:none}}

@media(hover:hover) and (prefers-reduced-motion:no-preference){a:hover .cta-play,button:hover .cta-play{transform:translateX(3px)}button:hover .cta-play.is-back{transform:translateX(-3px) rotate(180deg)}}
@media(prefers-reduced-motion:reduce){.cta-play{transition:none}}
