/* Public booking experience. Scoped so owner/admin calendars retain their layout. */
.rs-public{--blue:#2457df;--ink:#142747;--paper:#f7f7f2;background:var(--paper);color:var(--ink)}
.rs-public .rs-top{max-width:1240px;padding:22px 32px;border-color:#dfe3e8}
.rs-public .rs-brand{font-size:34px;color:var(--blue)!important;letter-spacing:-1.8px}
.rs-public .rs-top-link{font-size:13px;text-decoration:none;display:flex;align-items:center;gap:24px}
.rs-public .rs-top-link span{font-size:22px;color:var(--blue)}
.rs-public .rs-wrap{max-width:1240px;padding:0 32px 80px}
.rs-public .rs-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;padding:64px 0 74px}
.rs-public .rs-kicker{font-size:10px;letter-spacing:2px;line-height:1.8;color:var(--blue)}
.rs-hero-copy>.rs-kicker{display:flex;align-items:center;gap:9px}
.rs-hero-copy>.rs-kicker>span{width:6px;height:6px;background:var(--blue);border-radius:50%}
.rs-public h1{font-size:clamp(42px,5.2vw,68px);font-weight:600;letter-spacing:-2.5px;line-height:1.14;margin:22px 0}
.rs-public h1 em{color:var(--blue)}
.rs-public .rs-lead{font-size:17px;line-height:1.9;color:#62718a}
.rs-public .rs-button{background:var(--blue)!important;border-radius:100px;font-size:14px;font-weight:500;transition:background .18s,transform .18s;min-height:48px}
.rs-public .rs-button:hover{background:#1644bd!important;transform:translateY(-2px)}
.rs-public :is(a,button,input,textarea):focus-visible{outline:3px solid #86a8ff;outline-offset:4px}
.rs-public .rs-hero-cta{margin-top:16px;gap:35px;padding-inline:26px}
.rs-hero-cta span{font-size:23px;line-height:1}
.rs-hero-note{display:flex;gap:9px;align-items:center;margin-top:20px;font-size:12px;color:#788398}
.rs-hero-note span{font-size:19px;color:var(--blue)}
.rs-hero-visual{height:415px;position:relative;background:#e3eaf7;border-radius:180px 180px 28px 28px;overflow:hidden;display:grid;place-items:center}
.rs-orbit{position:absolute;width:470px;height:470px;border:1px solid #ffffff90;border-radius:50%;left:-130px;bottom:-250px;box-shadow:0 0 0 32px #ffffff20,0 0 0 64px #ffffff20}
.rs-table-scene{position:relative;width:350px;height:290px;display:grid;place-items:center;transform:rotate(-13deg)}
.rs-plate{width:232px;height:232px;border-radius:50%;background:#f9faf6;border:1px solid #d9dfeb;box-shadow:9px 19px 28px #1b3c721b,inset 0 0 0 18px #fafbf8,inset 0 0 0 19px #e2e6ea,inset 0 0 0 27px #f0f3f0;display:grid;place-items:center}
.rs-plate span{font-size:27px;font-weight:500;line-height:1.4;text-align:center;color:var(--blue)}
.rs-plate em{font-style:normal}
.rs-fork,.rs-knife{position:absolute;display:block;width:6px;height:146px;background:#7a91b2;border-radius:6px;top:72px;box-shadow:2px 2px 0 #ffffffa0}
.rs-fork{left:26px}.rs-fork:before{content:"";position:absolute;width:21px;height:37px;left:-7px;top:-8px;border-radius:0 0 12px 12px;background:repeating-linear-gradient(90deg,#7a91b2 0 3px,transparent 3px 6px);border-bottom:7px solid #7a91b2}
.rs-knife{right:28px}.rs-knife:before{content:"";position:absolute;right:0;top:-8px;height:65px;width:17px;border-radius:30px 2px 4px 3px;background:#7a91b2}
.rs-glass{position:absolute;right:0;top:0;width:48px;height:48px;border-radius:50%;border:3px solid #ffffffab;background:#c6d8ed80;box-shadow:3px 5px 5px #42649518,inset 0 0 0 5px #ffffff33}
.rs-visual-label{position:absolute;bottom:29px;right:30px;display:grid;gap:5px}.rs-visual-label span{font-size:9px;letter-spacing:2px;color:#6a7c96}.rs-visual-label b{font-weight:500;font-size:16px}
.rs-visual-star{position:absolute;top:28px;left:31px;font-size:50px;color:var(--blue);font-weight:400}
.rs-directory-section{scroll-margin-top:28px;border-top:1px solid #dfe3e8;padding-top:35px}
.rs-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:27px}.rs-directory-heading h2{font-size:31px;font-weight:500;letter-spacing:-1px;margin:4px 0}.rs-directory-heading p{margin:0}.rs-count{font-size:12px;color:#64728a;border:1px solid #dce2ec;border-radius:40px;padding:9px 14px;white-space:nowrap}
.rs-public .rs-directory{gap:25px}.rs-public .rs-restaurant{border:1px solid #e1e5ec;border-radius:20px;box-shadow:0 5px 15px #15274a03;transition:box-shadow .2s,transform .2s}.rs-public .rs-restaurant:hover{box-shadow:0 14px 25px #15274a0b;transform:translateY(-4px)}
.rs-public .rs-card-art{height:208px;background:var(--tone)}
.rs-public .rs-card-art>span{width:124px;height:124px;background:#f8faf6;border:1px solid #d5deec;box-shadow:6px 12px 15px #20345715,inset 0 0 0 9px #ffffff,inset 0 0 0 10px #e2e6ec;font-size:46px;transform:rotate(-14deg);color:var(--blue)}
.rs-card-art:before,.rs-card-art:after{content:"";position:absolute;width:4px;height:83px;top:58px;background:#92a6c1;border-radius:5px;transform:rotate(-14deg)}.rs-card-art:before{left:20%}.rs-card-art:after{right:20%}
.rs-card-stamp{position:absolute;bottom:14px;left:17px;font-size:8px;font-weight:500;letter-spacing:1.6px;color:#7184a1}
.rs-public .rs-card-body{padding:23px}.rs-public .rs-card-body .rs-kicker{font-size:10px;letter-spacing:.8px;margin:0}.rs-public .rs-card-body h2{font-size:24px;font-weight:500;margin:9px 0 22px;line-height:1.4}.rs-public .rs-card-body .rs-button{width:100%;justify-content:space-between;background:#eff3fc!important;color:var(--blue)!important;border:1px solid #dce6fb}.rs-public .rs-card-body .rs-button:hover{background:var(--blue)!important;color:#fff!important}.rs-card-body .rs-button span{font-size:22px;line-height:1}
.rs-public .rs-back-icon{margin-top:28px;background:#fff}.rs-public .rs-book-layout{gap:70px;margin-top:24px;align-items:start}.rs-book-intro{position:sticky;top:28px}.rs-book-intro>p:last-child{font-size:12px;color:#6e7c91;margin-top:20px}.rs-public .rs-book-layout h1{font-size:clamp(36px,4.5vw,58px)}
.rs-public .rs-art{height:350px;border-radius:160px 160px 24px 24px;background:#e3eaf7;margin-top:30px}.rs-public .rs-art .rs-plate span{width:auto;height:auto;box-shadow:none;border:0;border-radius:0;font-size:27px}
.rs-public .rs-panel{border-radius:24px;padding:32px;box-shadow:0 12px 40px #1e3a6806}.rs-panel-heading{border-bottom:1px solid #e6eaf1;padding-bottom:24px;margin-bottom:25px}.rs-public .rs-panel-heading h2{font-size:29px;font-weight:600;letter-spacing:-.7px;margin:7px 0}.rs-panel-heading p{font-size:13px;color:#6a7991;margin:0}
.rs-step-title{display:flex;gap:10px;align-items:center;margin:0 0 16px}.rs-step-title h3{font-size:15px;font-weight:500;margin:0}.rs-step-title>span,.rs-step-number{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:11px;color:var(--blue);background:#edf2ff;font-weight:500}.rs-step-number{margin-inline-end:8px}
.rs-public .rs-fields label{font-size:13px}.rs-public .rs-fields :is(input,textarea){background:#f9fafc;border:1px solid #e0e5ee;border-radius:11px;padding:13px;font-size:16px}.rs-public .rs-fields textarea{resize:vertical}.rs-public .rs-fields>button{background:#edf2ff!important;color:var(--blue)!important;border:1px solid #dce5fb;border-radius:12px}.rs-public .rs-panel form+form{border-top:1px solid #e8ebf1;padding-top:25px}.rs-public .rs-slots{gap:9px;margin-top:5px}.rs-public .rs-slots span{font-size:13px;border-radius:10px;padding:11px 5px}.rs-public .rs-slots input:checked+span{background:var(--blue);border-color:var(--blue);box-shadow:0 3px 8px #2457df20}.rs-public .rs-confirm{width:100%;margin-top:8px}.rs-public .rs-muted{line-height:1.8}.rs-public .rs-success{margin:70px auto;background:white;border:1px solid #e0e5ed;border-radius:28px;padding:40px}.rs-public .rs-success h1{font-size:46px}.rs-public .rs-summary{background:#f3f6fd;border:0;margin:25px 0}.rs-public .rs-foot{border-color:#dfe3e8;font-size:12px;padding:28px}
@media(max-width:900px){.rs-public .rs-hero{gap:25px}.rs-hero-visual{height:355px}.rs-table-scene{transform:rotate(-13deg) scale(.88)}.rs-public .rs-book-layout{gap:30px}.rs-public .rs-panel{padding:24px}}
@media(max-width:800px){.rs-public .rs-book-layout{grid-template-columns:1fr}.rs-book-intro{position:static}.rs-public .rs-art{display:none}.rs-public .rs-book-layout h1{margin-block:12px}.rs-book-intro .rs-lead{margin-bottom:6px}}
@media(max-width:640px){.rs-public .rs-top{padding:17px 21px}.rs-public .rs-brand{font-size:31px}.rs-public .rs-top-link{font-size:11px;gap:10px}.rs-public .rs-wrap{padding:0 20px 50px}.rs-public .rs-hero{grid-template-columns:1fr;padding:34px 0 35px;gap:28px}.rs-public h1{font-size:46px;letter-spacing:-1.8px;margin:18px 0}.rs-public .rs-lead{font-size:15px}.rs-hero-visual{height:265px;border-radius:115px 115px 22px 22px}.rs-hero-visual .rs-table-scene{transform:rotate(-13deg) scale(.75);margin-bottom:25px}.rs-visual-label{bottom:17px;right:21px}.rs-visual-label span{font-size:8px}.rs-visual-label b{font-size:13px}.rs-visual-star{top:22px;left:23px;font-size:34px}.rs-hero-note{margin-top:14px}.rs-public .rs-directory{grid-template-columns:1fr;gap:20px}.rs-directory-heading h2{font-size:26px}.rs-count{font-size:10px;padding:8px 11px}.rs-directory-heading .rs-kicker{font-size:8px;letter-spacing:1px}.rs-public .rs-card-art{height:196px}.rs-public .rs-card-body{padding:20px}.rs-public .rs-panel{padding:22px 18px;border-radius:20px}.rs-public .rs-book-layout{margin-top:17px;gap:18px}.rs-public .rs-success{margin:35px 0;padding:30px 18px}.rs-public .rs-success h1{font-size:35px}.rs-public .rs-slots{grid-template-columns:repeat(4,1fr)}.rs-public .rs-fields{gap:13px}.rs-panel-heading p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.rs-public *{scroll-behavior:auto!important;transition:none!important}}
