.rkbe-page-main{background:#f4f3f4;color:#353535}.rkbe-page-section{padding:2rem 0 4rem}.rkbe-shell{--rkbe-ink:#353535;--rkbe-muted:#6d6d6d;--rkbe-paper:#fff;--rkbe-mist:#f4f3f4;--rkbe-line:#d9d7d8;--rkbe-error:#9f2f2f;--rkbe-success:#275d45;max-width:980px;margin:0 auto;color:var(--rkbe-ink);font-family:"Lato",sans-serif}.rkbe-shell *{box-sizing:border-box}.rkbe-hero{display:grid;gap:1.25rem;margin-bottom:1.5rem}.rkbe-eyebrow{margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:900}.rkbe-hero h1{margin:0 0 .75rem;font-size:clamp(2rem,7vw,3.25rem);line-height:1.03;font-weight:900;max-width:700px}.rkbe-intro{font-size:1.05rem;line-height:1.55;margin:0;max-width:680px}.rkbe-preview-note{display:flex;gap:.75rem;align-items:flex-start;border:1px solid var(--rkbe-line);background:rgba(255,255,255,.65);padding:.875rem 1rem;font-size:.9rem;line-height:1.4}.rkbe-preview-note strong,.rkbe-preview-note span{display:block}.rkbe-preview-note strong{margin-bottom:.15rem}.rkbe-preview-dot{flex:0 0 auto;width:.65rem;height:.65rem;border-radius:50%;background:#bd7d21;margin-top:.25rem;box-shadow:0 0 0 4px rgba(189,125,33,.12)}.rkbe-progress{background:var(--rkbe-ink);color:#fff;overflow:hidden}.rkbe-progress ol{display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:0;list-style:none}.rkbe-progress li{position:relative;min-width:0}.rkbe-progress li+li:before{content:"";position:absolute;top:50%;left:0;width:1px;height:42%;transform:translateY(-50%);background:rgba(255,255,255,.18)}.rkbe-progress button{display:flex;align-items:center;gap:.65rem;width:100%;min-height:68px;padding:.75rem;border:0;background:transparent;color:rgba(255,255,255,.55);text-align:left;font:inherit}.rkbe-progress button:not(:disabled){cursor:pointer}.rkbe-progress button:focus-visible{outline:3px solid #fff;outline-offset:-4px}.rkbe-progress .is-active button,.rkbe-progress .is-complete button{color:#fff}.rkbe-step-number{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid rgba(255,255,255,.4);font-size:.85rem;font-weight:900}.is-active .rkbe-step-number{background:#fff;color:var(--rkbe-ink)}.is-complete .rkbe-step-number{background:rgba(255,255,255,.16)}.rkbe-progress button>span:last-child{display:none}.rkbe-progress small{display:block;color:inherit;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.1rem}.rkbe-form,.rkbe-success,.rkbe-password-card,.rkbe-privacy{background:var(--rkbe-paper);box-shadow:0 18px 50px rgba(35,35,35,.08)}.rkbe-panel{padding:1.25rem}.rkbe-panel[hidden],.rkbe-success[hidden],.rkbe-error-summary[hidden],.rkbe-child-ages[hidden]{display:none!important}.rkbe-panel-heading{display:flex;align-items:center;gap:.85rem;padding-bottom:1rem;margin-bottom:1.25rem;border-bottom:1px solid var(--rkbe-line)}.rkbe-panel-heading>span{font-size:2.4rem;line-height:1;color:#d1cecf;font-weight:900}.rkbe-panel-heading p{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin:0 0 .2rem}.rkbe-panel-heading h2{font-size:1.35rem;margin:0;font-weight:900}.rkbe-panel-heading h2:focus{outline:0}.rkbe-grid{display:grid;gap:1rem}.rkbe-field{margin-bottom:1.25rem}.rkbe-field label,.rkbe-fieldset>legend{display:block;font-size:.95rem;font-weight:900;margin-bottom:.45rem}.rkbe-field label small{font-weight:400;color:var(--rkbe-muted)}.rkbe-field input[type=text],.rkbe-field input[type=email],.rkbe-field input[type=tel],.rkbe-field input[type=date],.rkbe-field input[type=number],.rkbe-field select,.rkbe-field textarea,.rkbe-password-card input[type=password]{width:100%;min-height:50px;border:2px solid var(--rkbe-ink);border-radius:0;background:#fff;color:var(--rkbe-ink);padding:.7rem .85rem;font:inherit}.rkbe-field textarea{min-height:118px;resize:vertical}.rkbe-field input:hover,.rkbe-field select:hover,.rkbe-field textarea:hover{border-color:#000}.rkbe-field input:focus-visible,.rkbe-field select:focus-visible,.rkbe-field textarea:focus-visible,.rkbe-choice input:focus-visible+.rkbe-choice-mark,.rkbe-privacy-check input:focus-visible+.rkbe-choice-mark{outline:3px solid rgba(53,53,53,.28);outline-offset:2px}.rkbe-field [aria-invalid=true]{border-color:var(--rkbe-error)}.rkbe-field-error{margin:.45rem 0 0;color:var(--rkbe-error);font-size:.85rem;font-weight:700}.rkbe-help{display:block;margin-top:.45rem;line-height:1.4;color:var(--rkbe-muted)}.rkbe-guest-grid{display:grid;gap:1px;background:var(--rkbe-line);border:1px solid var(--rkbe-line);margin:1.25rem 0}.rkbe-counter-field{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;padding:1rem;margin:0}.rkbe-counter-field label{margin:0}.rkbe-counter-field small{display:block;color:var(--rkbe-muted);font-size:.75rem;margin-top:.15rem}.rkbe-counter{display:grid;grid-template-columns:44px 52px 44px;align-items:center}.rkbe-counter button{height:44px;border:2px solid var(--rkbe-ink);background:#fff;color:var(--rkbe-ink);font-size:1.35rem;line-height:1;cursor:pointer}.rkbe-counter button:hover{background:var(--rkbe-ink);color:#fff}.rkbe-counter input[type=number]{min-height:44px;height:44px;padding:0;border-width:2px 0;text-align:center;font-weight:900;-moz-appearance:textfield}.rkbe-counter input::-webkit-inner-spin-button,.rkbe-counter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rkbe-child-ages{background:var(--rkbe-mist);padding:1rem;margin-top:-.25rem}.rkbe-child-ages h3{font-size:1rem;margin:0 0 .85rem}.rkbe-age-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.rkbe-age-grid label{font-size:.8rem}.rkbe-fieldset{border:0;padding:0;margin:0 0 1.5rem;min-width:0}.rkbe-fieldset>legend{width:100%;font-size:1.05rem;margin-bottom:.75rem}.rkbe-fieldset>legend small{display:block;font-size:.8rem;font-weight:400;color:var(--rkbe-muted);margin-top:.2rem}.rkbe-category-grid{display:grid;gap:.75rem}.rkbe-category-group{border:1px solid var(--rkbe-line);padding:0;margin:0;min-width:0}.rkbe-category-group>legend{float:none;width:auto;margin:0 0 0 .75rem;padding:0 .3rem;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:900;color:var(--rkbe-muted)}.rkbe-choice{display:flex;position:relative;gap:.7rem;align-items:flex-start;min-height:48px;margin:0;padding:.75rem;cursor:pointer;font-weight:700;line-height:1.35}.rkbe-choice+.rkbe-choice{border-top:1px solid var(--rkbe-line)}.rkbe-choice input,.rkbe-privacy-check input{position:absolute;opacity:0;width:1px;height:1px}.rkbe-choice-mark{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;margin-top:0;border:2px solid var(--rkbe-ink);background:#fff}.rkbe-choice-radio .rkbe-choice-mark{border-radius:50%}.rkbe-choice input:checked+.rkbe-choice-mark,.rkbe-privacy-check input:checked+.rkbe-choice-mark{background:var(--rkbe-ink);box-shadow:inset 0 0 0 3px #fff}.rkbe-choice-radio input:checked+.rkbe-choice-mark{border-radius:50%}.rkbe-choice:has(input:checked){background:var(--rkbe-mist)}.rkbe-check-grid{display:grid;border:1px solid var(--rkbe-line)}.rkbe-privacy-check{padding:1rem;background:var(--rkbe-mist);margin:1rem 0}.rkbe-privacy-check label{display:flex;gap:.75rem;align-items:flex-start;margin:0;font-weight:700;line-height:1.5;cursor:pointer}.rkbe-privacy-check a{color:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.rkbe-required-note{font-size:.8rem;color:var(--rkbe-muted);margin:0}.rkbe-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--rkbe-line)}.rkbe-btn{display:inline-flex;justify-content:center;align-items:center;gap:.65rem;min-height:48px;border:2px solid var(--rkbe-ink);border-radius:0;padding:.7rem 1rem;font:inherit;font-weight:900;cursor:pointer}.rkbe-btn-primary{background:var(--rkbe-ink);color:#fff}.rkbe-btn-primary:hover{background:#000;border-color:#000}.rkbe-btn-secondary{background:#fff;color:var(--rkbe-ink)}.rkbe-btn-secondary:hover{background:var(--rkbe-mist)}.rkbe-btn:focus-visible{outline:3px solid rgba(53,53,53,.3);outline-offset:3px}.rkbe-btn:disabled{opacity:.55;cursor:wait}.rkbe-error-summary{border-left:5px solid var(--rkbe-error);background:#fff1f1;color:var(--rkbe-error);padding:1rem;margin:1rem 0;font-weight:700}.rkbe-error-summary ul{margin:.5rem 0 0;padding-left:1.25rem}.rkbe-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}.rkbe-success{padding:2rem;text-align:center}.rkbe-success-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 1.25rem;border-radius:50%;background:var(--rkbe-success);color:#fff;font-size:1.75rem;font-weight:900}.rkbe-success h2{max-width:720px;margin:0 auto 1rem;font-size:1.5rem;line-height:1.35}.rkbe-success p{margin:.5rem auto;max-width:680px}.rkbe-password-card{max-width:620px;margin:2rem auto;padding:1.5rem}.rkbe-password-card label{display:block;font-weight:900}.rkbe-password-card input[type=password]{margin:.5rem 0}.rkbe-password-card input[type=submit]{min-height:48px;border:2px solid #353535;background:#353535;color:#fff;padding:.7rem 1.25rem;font-weight:900}.rkbe-privacy{max-width:820px;margin:0 auto;padding:1.25rem}.rkbe-privacy h2{font-size:1.25rem;margin-top:1.75rem}.rkbe-privacy p{line-height:1.65}.rkbe-draft-notice{border-left:5px solid #bd7d21;background:#fff8ea;padding:1rem;line-height:1.5}.rkbe-draft-notice strong{display:block;font-size:.75rem;letter-spacing:.08em;margin-bottom:.25rem}
@media(min-width:576px){.rkbe-page-section{padding:3rem 0 5rem}.rkbe-panel{padding:2rem}.rkbe-progress button{padding:1rem}.rkbe-progress button>span:last-child{display:block}.rkbe-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rkbe-span-2{grid-column:1/-1}.rkbe-guest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rkbe-age-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rkbe-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rkbe-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rkbe-check-grid .rkbe-choice:nth-child(2){border-top:0}.rkbe-check-grid .rkbe-choice:nth-child(even){border-left:1px solid var(--rkbe-line)}.rkbe-check-grid-small{max-width:540px}.rkbe-actions .rkbe-btn{min-width:150px}.rkbe-privacy,.rkbe-password-card{padding:2rem}}
@media(min-width:900px){.rkbe-hero{grid-template-columns:minmax(0,1fr) 300px;align-items:end;margin-bottom:2rem}.rkbe-preview-note{margin-bottom:.3rem}.rkbe-panel{padding:2.5rem 3rem}.rkbe-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rkbe-check-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rkbe-check-grid .rkbe-choice:nth-child(n){border-top:0;border-left:1px solid var(--rkbe-line)}.rkbe-check-grid .rkbe-choice:first-child{border-left:0}.rkbe-check-grid .rkbe-choice:nth-child(n+5){border-top:1px solid var(--rkbe-line)}.rkbe-check-grid .rkbe-choice:nth-child(5){border-left:0}.rkbe-check-grid-small{grid-template-columns:repeat(2,minmax(0,1fr))}.rkbe-check-grid-small .rkbe-choice:nth-child(2){border-left:1px solid var(--rkbe-line)}.rkbe-panel-heading>span{font-size:3rem}}
@media(max-width:389px){.rkbe-progress button{justify-content:center;padding:.6rem}.rkbe-step-number{flex-basis:28px;width:28px;height:28px}.rkbe-counter-field{align-items:flex-start;flex-direction:column}.rkbe-counter{align-self:stretch;grid-template-columns:44px 1fr 44px}.rkbe-actions{flex-direction:column-reverse}.rkbe-actions>span{display:none}.rkbe-btn{width:100%}}
@media(prefers-reduced-motion:no-preference){.rkbe-panel{animation:rkbe-in .18s ease-out}@keyframes rkbe-in{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}}

/* Localized date fields and lightweight calendar. */
.rkbe-date-control{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 50px}
.rkbe-date-control .rkbe-date-input{min-width:0;border-right:0!important}
.rkbe-date-toggle{display:grid;place-items:center;min-width:50px;min-height:50px;border:2px solid var(--rkbe-ink);background:#fff;color:var(--rkbe-ink);cursor:pointer}
.rkbe-date-toggle:hover{background:var(--rkbe-mist)}
.rkbe-date-input:focus-visible,.rkbe-date-toggle:focus-visible{position:relative;z-index:2;outline:3px solid rgba(53,53,53,.28);outline-offset:2px}
.rkbe-date-control:has(.rkbe-date-input[aria-invalid=true]) .rkbe-date-toggle{border-color:var(--rkbe-error)}
.rkbe-date-hint{margin-top:.4rem}
.rkbe-calendar{position:absolute;z-index:30;top:calc(100% + .5rem);left:0;width:min(21rem,calc(100vw - 2rem));border:1px solid var(--rkbe-line);background:var(--rkbe-paper);padding:.75rem;box-shadow:0 14px 32px rgba(35,35,35,.16)}
.rkbe-calendar[hidden]{display:none!important}
.rkbe-calendar-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:.25rem;margin-bottom:.45rem}
.rkbe-calendar-month{text-align:center;font-size:.95rem;text-transform:capitalize}
.rkbe-calendar-nav{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--rkbe-ink);font:inherit;font-size:1.65rem;line-height:1;cursor:pointer}
.rkbe-calendar-nav:hover:not(:disabled){background:var(--rkbe-mist)}
.rkbe-calendar-nav:disabled{opacity:.3;cursor:not-allowed}
.rkbe-calendar-nav:focus-visible,.rkbe-calendar-day:focus-visible{outline:3px solid rgba(53,53,53,.34);outline-offset:1px}
.rkbe-calendar-weekdays,.rkbe-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.rkbe-calendar-weekdays span{display:grid;place-items:center;min-height:28px;color:var(--rkbe-muted);font-size:.7rem;font-weight:900;text-transform:uppercase}
.rkbe-calendar-day,.rkbe-calendar-blank{min-width:0;min-height:40px}
.rkbe-calendar-day{display:grid;place-items:center;border:0;background:#fff;color:var(--rkbe-ink);font:inherit;font-size:.86rem;font-variant-numeric:tabular-nums;cursor:pointer}
.rkbe-calendar-day:hover:not(:disabled){background:var(--rkbe-mist)}
.rkbe-calendar-day[aria-current=date]{box-shadow:inset 0 0 0 1px var(--rkbe-ink)}
.rkbe-calendar-day.is-selected{background:var(--rkbe-ink);color:#fff;font-weight:900;box-shadow:none}
.rkbe-calendar-day:disabled{color:#aaa;background:#fafafa;cursor:not-allowed}

/* Step 2 selection rows: centered controls, calm states and reliable wrapping. */
.rkbe-fieldset .rkbe-choice{display:flex;align-items:center;min-height:54px;padding:.8rem .875rem;gap:.75rem;transition:background-color .14s ease,color .14s ease}
.rkbe-choice>span:last-child{min-width:0;overflow-wrap:anywhere}
.rkbe-choice-mark{flex-basis:22px;width:22px;height:22px}
.rkbe-choice:hover{background:#fafafa}
.rkbe-choice:has(input:checked){background:#eeeded;color:#252525}
.rkbe-choice:has(input:focus-visible){z-index:1;outline:3px solid rgba(53,53,53,.32);outline-offset:-3px}
.rkbe-choice input:focus-visible+.rkbe-choice-mark{outline:0}
.rkbe-check-grid{gap:.5rem;border:0}
.rkbe-check-grid .rkbe-choice:nth-child(n){border:1px solid var(--rkbe-line)!important}
.rkbe-check-grid .rkbe-choice:has(input:checked){border-color:var(--rkbe-ink)!important}

@media(max-width:389px){.rkbe-calendar{left:50%;transform:translateX(-50%);width:calc(100vw - 2rem);padding:.6rem}.rkbe-calendar-day,.rkbe-calendar-blank{min-height:38px}.rkbe-choice{padding:.8rem;gap:.65rem}}

/* Step 2 uses one shared, full-width selection grid. */
.rkbe-category-grid,.rkbe-check-grid{grid-template-columns:minmax(0,1fr);width:100%;gap:.75rem}
.rkbe-category-grid{align-items:start}
.rkbe-category-group{align-self:start}
.rkbe-check-grid-small{max-width:none;width:100%}
@media(min-width:576px){.rkbe-category-grid,.rkbe-check-grid,.rkbe-check-grid-small{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Final interaction and Step 2 structure refinements. */
.rkbe-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.rkbe-success-mark .rkbe-icon{width:28px;height:28px}
.rkbe-fieldset .rkbe-choice{margin:0}
.rkbe-category-grid{grid-template-columns:minmax(0,1fr);gap:1rem}
.rkbe-category-group{border:0;width:100%}
.rkbe-category-group>legend{width:100%;margin:0 0 .45rem;padding:0}
.rkbe-category-options{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;width:100%;min-width:0;border:1px solid var(--rkbe-line);background:var(--rkbe-line)}
.rkbe-category-options .rkbe-choice{border:0!important;background:var(--rkbe-paper)}
.rkbe-category-options .rkbe-choice:hover{background:#fafafa}
.rkbe-category-options .rkbe-choice:has(input:checked){background:#eeeded}
.rkbe-calendar-day:not(.is-selected):hover:not(:disabled){background:var(--rkbe-mist)}
.rkbe-calendar-day.is-selected,.rkbe-calendar-day.is-selected:hover:not(:disabled),.rkbe-calendar-day.is-selected:active{background:var(--rkbe-ink);color:#fff;font-weight:900;box-shadow:none}
.rkbe-calendar-day.is-selected:focus-visible{background:var(--rkbe-ink);color:#fff;outline:2px solid #fff;outline-offset:-4px;box-shadow:inset 0 0 0 1px var(--rkbe-ink)}
.rkbe-calendar-day[aria-current=date]:not(.is-selected){box-shadow:inset 0 0 0 1px var(--rkbe-ink);font-weight:900}
.rkbe-calendar-day:disabled,.rkbe-calendar-day:disabled:hover{color:#aaa;background:#fafafa;box-shadow:none;cursor:not-allowed}
@media(min-width:576px){.rkbe-category-grid{grid-template-columns:minmax(0,1fr)}.rkbe-category-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:389px){.rkbe-fieldset .rkbe-choice{padding:.8rem;gap:.65rem}}

/* Restrained Rannakodu accent: wayfinding and control details only. */
.rkbe-shell{--rkbe-accent:#EA9922;--rkbe-accent-soft:#fff6e8}
.rkbe-shell ::selection{background:var(--rkbe-accent);color:var(--rkbe-ink)}
.rkbe-preview-dot{background:var(--rkbe-accent);box-shadow:0 0 0 4px rgba(234,153,34,.14)}
.rkbe-progress .is-active .rkbe-step-number{background:var(--rkbe-accent);border-color:var(--rkbe-accent);color:var(--rkbe-ink)}
.rkbe-progress .is-complete .rkbe-step-number{border-color:var(--rkbe-accent)}
.rkbe-field input[type=text],.rkbe-field input[type=email],.rkbe-field input[type=tel],.rkbe-field input[type=date],.rkbe-field input[type=number],.rkbe-field textarea,.rkbe-password-card input[type=password]{caret-color:var(--rkbe-accent)}
.rkbe-choice input:checked+.rkbe-choice-mark,.rkbe-privacy-check input:checked+.rkbe-choice-mark{border-color:var(--rkbe-accent)}
.rkbe-draft-notice{border:1px solid #efc98f;background:var(--rkbe-accent-soft)}

/* Privacy notice: readable legal content without decorative section cards. */
.rkbe-privacy{max-width:780px;padding:1.25rem;color:var(--rkbe-ink)}
.rkbe-privacy h1{max-width:18ch;margin:0 0 1.25rem;font-size:clamp(2rem,6vw,3.25rem);line-height:1.08;letter-spacing:-.025em}
.rkbe-privacy h2{margin:2.25rem 0 .65rem;font-size:1.25rem;line-height:1.3}
.rkbe-privacy p,.rkbe-privacy li{line-height:1.68}
.rkbe-privacy p{margin:.65rem 0}
.rkbe-privacy ul{margin:.75rem 0 0;padding-inline-start:1.4rem}
.rkbe-privacy li+li{margin-top:.45rem}
.rkbe-privacy a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:3px}
.rkbe-privacy a:focus-visible{outline:3px solid rgba(53,53,53,.28);outline-offset:3px}
.rkbe-privacy-intro{max-width:68ch;font-size:1.1rem}
.rkbe-privacy-updated{color:var(--rkbe-muted);font-size:.9rem}
.rkbe-draft-notice{margin:0 0 1.5rem;padding:1rem;background:#fff6e8}
@media(min-width:576px){.rkbe-privacy{padding:2.25rem 2.5rem 3rem}}
