/* SoCal Ragdolls v1.17 — future litters, waitlist deposits, virtual visits */
.ra-litter-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(36px,7vw,100px);align-items:center;padding-top:clamp(58px,8vw,110px);padding-bottom:clamp(60px,8vw,105px)}
.ra-litter-hero h1,.ra-visit-intro h1{font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(48px,6vw,86px);line-height:.98;margin:10px 0 24px;color:#243f47}.ra-litter-hero h1 em,.ra-visit-intro h1 em{font-weight:400;color:#9aaeb2}.ra-litter-hero-copy>p:not(.ra-eyebrow){font-size:17px;line-height:1.8;max-width:650px;color:#617276}.ra-litter-hero-photo img{display:block;width:100%;aspect-ratio:1.05/1;object-fit:cover}.ra-litter-summary{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;padding-top:24px;border-top:1px solid #d9e0df}.ra-litter-summary span{font-size:13px;color:#6c7c80}.ra-litter-summary strong{display:block;font:500 28px/1.1 "Playfair Display",serif;color:#263f47;margin-bottom:4px}
.ra-litter-positions{padding-top:20px;padding-bottom:clamp(70px,9vw,120px)}.ra-section-heading{max-width:760px;margin-bottom:34px}.ra-section-heading h2{font:400 clamp(34px,4.5vw,58px)/1.05 "Playfair Display",serif;color:#263f47;margin:7px 0 14px}.ra-section-heading h2 em{font-weight:400;color:#8ea2a7}.ra-section-heading>p:last-child{color:#6d7b80;line-height:1.7}.ra-pick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ra-pick-slot{border:1px solid #d9e1e0;padding:18px 20px;background:#fff;min-height:90px;display:flex;flex-direction:column;justify-content:center}.ra-pick-slot span{font:500 17px/1.2 "Playfair Display",serif;color:#283f46}.ra-pick-slot strong{margin-top:7px;text-transform:uppercase;font-size:10px;letter-spacing:.14em}.ra-pick-slot.is-open{background:#edf4f1;border-color:#c9d9d3}.ra-pick-slot.is-open strong{color:#416a5b}.ra-pick-slot.is-claimed{background:#f5f3ef}.ra-pick-slot.is-claimed strong{color:#8a7770}
.ra-waitlist-wizard{padding-bottom:clamp(80px,10vw,130px)}.ra-waitlist-stepper{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dce3e2;background:#fff;margin:0 0 22px;overflow:hidden}.ra-waitlist-stepper span{padding:14px 16px;text-align:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#849196;border-right:1px solid #e2e7e6}.ra-waitlist-stepper span:last-child{border-right:0}.ra-waitlist-stepper .is-done{background:#eef4f2;color:#537064}.ra-waitlist-stepper .is-current{background:#28454e;color:#fff}.ra-waitlist-panel{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);background:#faf8f4;border:1px solid #e4e3df;min-height:610px}.ra-waitlist-panel[hidden]{display:none}.ra-waitlist-media{min-height:100%}.ra-waitlist-media img{display:block;width:100%;height:100%;min-height:610px;object-fit:cover}.ra-waitlist-fields{padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;justify-content:center}.ra-waitlist-fields h2{font:400 clamp(34px,4vw,50px)/1.07 "Playfair Display",serif;margin:8px 0 28px;color:#263f47}.ra-waitlist-fields>label:not(.ra-inline-check),.ra-visit-form>label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#3f555c;margin-bottom:15px}.ra-waitlist-fields input[type=text],.ra-waitlist-fields input[type=email],.ra-waitlist-fields input[type=tel],.ra-waitlist-fields select,.ra-visit-form input[type=text],.ra-visit-form input[type=email],.ra-visit-form input[type=tel],.ra-visit-form select,.ra-visit-form textarea{width:100%;min-height:50px;border:1px solid #cbd7d6;background:#fff;border-radius:2px;padding:12px 14px;font:400 15px/1.4 Inter,sans-serif;color:#263f47;box-sizing:border-box}.ra-visit-form textarea{min-height:100px;resize:vertical}.ra-waitlist-fields input:focus,.ra-waitlist-fields select:focus,.ra-visit-form input:focus,.ra-visit-form select:focus,.ra-visit-form textarea:focus{outline:2px solid #87a3a8;outline-offset:1px;border-color:#87a3a8}.ra-inline-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-size:12px!important;font-weight:400!important;line-height:1.55;color:#5e6d72;margin:5px 0 20px}.ra-inline-check input{margin:3px 0 0;flex:0 0 auto}.ra-waitlist-disclosure{padding:18px 20px;background:#fff;border:1px solid #dbe2e1;margin:5px 0 20px}.ra-waitlist-disclosure>strong{font:500 19px/1.3 "Playfair Display",serif;color:#273f46}.ra-waitlist-disclosure p{font-size:13px;color:#67777b;line-height:1.65}.ra-waitlist-actions{display:flex;gap:10px}.ra-form-status{min-height:22px;color:#9a403b;font-size:13px;margin:12px 0 0}.ra-litter-closed{margin-bottom:100px;padding-top:50px;padding-bottom:50px;border-top:1px solid #dce2e1;border-bottom:1px solid #dce2e1}.ra-litter-closed h2{font:400 42px/1.1 "Playfair Display",serif;color:#263f47}.ra-litter-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;padding-bottom:100px}.ra-litter-card{border:1px solid #e1e5e3;background:#fff}.ra-litter-card-photo{display:block;overflow:hidden}.ra-litter-card-photo img{display:block;width:100%;aspect-ratio:1.22/1;object-fit:cover;transition:transform .45s ease}.ra-litter-card:hover .ra-litter-card-photo img{transform:scale(1.02)}.ra-litter-card-copy{padding:28px}.ra-litter-card-copy h2{font:400 36px/1.1 "Playfair Display",serif;margin:8px 0}.ra-litter-card-copy h2 a{color:#263f47;text-decoration:none}.ra-litter-card-copy>p:not(.ra-eyebrow){color:#6b7a7f}.ra-waitlist-checkout-step{max-width:980px;margin:0 auto 28px;padding:0 18px}.ra-waitlist-payment-hero,.ra-waitlist-confirmation-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr);gap:32px;align-items:center;background:#f8f5ef;border:1px solid #e1e2de;padding:24px}.ra-waitlist-payment-hero img,.ra-waitlist-confirmation-grid img{width:100%;height:240px;object-fit:cover;display:block}.ra-waitlist-payment-hero h2,.ra-waitlist-confirmation-grid h2{font:400 34px/1.1 "Playfair Display",serif;color:#263f47;margin:6px 0 12px}.ra-waitlist-payment-hero p:last-child,.ra-waitlist-confirmation-grid p:last-child{color:#64757a;line-height:1.65}.ra-waitlist-confirmation{max-width:1050px;margin:0 auto 35px;padding:0 18px}
.ra-virtual-visit-cta{margin-top:28px;padding-top:24px;border-top:1px solid #dce2e1;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.ra-virtual-visit-cta h3{font:400 25px/1.15 "Playfair Display",serif;color:#263f47;margin:5px 0 7px}.ra-virtual-visit-cta p:not(.ra-eyebrow){font-size:13px;color:#67777b;line-height:1.6;margin:0;max-width:560px}
.ra-visit-booking{padding:clamp(60px,8vw,110px) 0 110px}.ra-visit-intro{max-width:900px;margin:0 0 45px}.ra-visit-intro>p:not(.ra-eyebrow){font-size:17px;line-height:1.75;color:#68787d;max-width:760px}.ra-visit-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:30px;align-items:start}.ra-visit-calendar-card,.ra-visit-form{border:1px solid #dde4e3;background:#fff;padding:clamp(22px,3vw,36px)}.ra-calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:18px}.ra-calendar-toolbar strong{text-align:center;font:500 26px/1.2 "Playfair Display",serif;color:#263f47}.ra-calendar-toolbar button{width:42px;height:42px;border:1px solid #d5dddd;background:#fff;color:#29464e;cursor:pointer}.ra-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.ra-calendar-grid>span:not(.ra-cal-head){min-height:44px}.ra-cal-head{text-align:center;padding:7px 0;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a898d}.ra-cal-day{aspect-ratio:1;border:1px solid #e0e5e4;background:#fafbfa;color:#314950;cursor:pointer;font:600 13px/1 Inter,sans-serif}.ra-cal-day:hover:not(:disabled),.ra-cal-day.is-selected{background:#28454e;color:#fff;border-color:#28454e}.ra-cal-day:disabled{opacity:.28;cursor:not-allowed}.ra-slot-wrap{border-top:1px solid #e3e7e6;margin-top:25px;padding-top:22px}.ra-slot-wrap h3{font:500 21px/1.2 "Playfair Display",serif;color:#263f47}.ra-slot-grid{display:flex;flex-wrap:wrap;gap:8px}.ra-slot-grid p{color:#6f7d81}.ra-slot-button{border:1px solid #cfdada;background:#fff;padding:9px 13px;color:#2e4a52;cursor:pointer}.ra-slot-button:hover,.ra-slot-button.is-selected{background:#28454e;color:#fff;border-color:#28454e}.ra-visit-form h2{font:400 34px/1.1 "Playfair Display",serif;color:#263f47;margin:7px 0 25px}.ra-visit-form fieldset{border:0;padding:0;margin:0 0 18px}.ra-visit-form legend{font-size:12px;font-weight:600;color:#3f555c;margin-bottom:8px}.ra-visit-form .ra-choice{display:inline-flex;align-items:center;gap:7px;margin-right:18px;color:#52666c}.ra-visit-form .ra-button{width:100%;margin-top:6px}.ra-visit-form .ra-turnstile-wrap{margin:14px 0}
@media(max-width:980px){.ra-litter-hero,.ra-visit-layout{grid-template-columns:1fr}.ra-litter-hero-photo{order:-1}.ra-litter-hero-photo img{max-height:600px}.ra-pick-grid{grid-template-columns:repeat(2,1fr)}.ra-waitlist-panel{grid-template-columns:1fr}.ra-waitlist-media img{min-height:0;max-height:500px}.ra-litter-card-grid{grid-template-columns:1fr}.ra-visit-form{max-width:none}}
@media(max-width:680px){.ra-litter-hero{padding-top:28px;gap:25px}.ra-litter-hero h1,.ra-visit-intro h1{font-size:46px}.ra-pick-grid{grid-template-columns:1fr 1fr;gap:7px}.ra-pick-slot{padding:13px;min-height:75px}.ra-waitlist-stepper{grid-template-columns:repeat(4,minmax(0,1fr))}.ra-waitlist-stepper span{padding:11px 4px;font-size:8px;letter-spacing:.03em}.ra-waitlist-fields{padding:28px 22px}.ra-waitlist-actions{flex-direction:column-reverse}.ra-waitlist-actions .ra-button{width:100%}.ra-waitlist-payment-hero,.ra-waitlist-confirmation-grid{grid-template-columns:1fr;padding:16px}.ra-waitlist-payment-hero img,.ra-waitlist-confirmation-grid img{height:auto;aspect-ratio:1.35/1}.ra-virtual-visit-cta{grid-template-columns:1fr}.ra-virtual-visit-cta .ra-button{width:100%}.ra-visit-booking{padding-top:42px}.ra-visit-calendar-card,.ra-visit-form{padding:18px 14px}.ra-calendar-grid{gap:3px}.ra-cal-day{font-size:12px}.ra-calendar-toolbar strong{font-size:21px}}
.ra-pick-slot.is-pending{background:#f7f3e9;border-color:#e4dbc6}.ra-pick-slot.is-pending strong{color:#8c7249}
