:root{--bk-primary: var(--color-forest-600, #1A3E2F);--bk-primary-light: var(--color-forest-500, #2d5a47);--bk-primary-50: var(--color-forest-50, #f0f7f4);--bk-primary-100: var(--color-forest-100, #dbeee4);--bk-primary-200: var(--color-forest-200, #b5ddc8);--bk-accent: var(--color-accent-500, #C68E49);--bk-accent-light: var(--color-accent-300, #e8d5a8);--bk-surface: #ffffff;--bk-surface-elevated: var(--color-neutral-50, #F9F8F6);--bk-border: var(--color-neutral-200, #e8e5e0);--bk-border-hover: #d5d0c8;--bk-text: #1a1a18;--bk-text-secondary: #6b6b68;--bk-text-muted: var(--color-neutral-400, #A19B8F);--bk-available: var(--color-available, #2d8a56);--bk-available-bg: #edf7f1;--bk-few: #d4850a;--bk-few-bg: #fef8ed;--bk-full: #c7323e;--bk-full-bg: #fef2f2;--bk-radius: 16px;--bk-radius-sm: 10px;--bk-radius-xs: 6px;--bk-shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--bk-shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .03);--bk-shadow-lg: 0 12px 40px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--bk-transition: .25s cubic-bezier(.4, 0, .2, 1)}.booking-page{min-height:100vh;background:linear-gradient(175deg,#f5f4f1,#ebe8e3 40%,#e2dfd8)}.booking-hero{position:relative;padding:80px 0 60px;overflow:hidden;background:url(/images/hero/hero_visit.png) center/cover no-repeat}.booking-hero:before{content:"";position:absolute;inset:0;background:#1a3e2fbf;clip-path:polygon(0 0,100% 0,100% 75%,0 100%);z-index:0}.booking-hero .hero-content{position:relative;z-index:1;max-width:640px}.booking-hero .hero-label{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bk-accent);margin-bottom:16px;font-weight:600}.booking-hero h1{font-size:clamp(2rem,5vw,3rem);color:#fff;font-weight:700;line-height:1.2;margin-bottom:16px}.booking-hero .hero-desc{font-size:1.05rem;color:#ffffffbf;line-height:1.7}.booking-progress{display:flex;align-items:center;justify-content:center;gap:0;padding:32px 0 16px}.booking-progress.hidden{display:none}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1}.progress-step .step-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:2px solid var(--bk-border);background:var(--bk-surface);color:var(--bk-text-muted);transition:all var(--bk-transition)}.progress-step.active .step-circle{border-color:var(--bk-primary);background:var(--bk-primary);color:#fff;box-shadow:0 0 0 4px #1e3a2f1f}.progress-step.completed .step-circle{border-color:var(--bk-primary);background:var(--bk-primary-50);color:var(--bk-primary)}.progress-step .step-label{font-size:11px;font-weight:600;color:var(--bk-text-muted);text-transform:uppercase;letter-spacing:.08em;transition:color var(--bk-transition)}.progress-step.active .step-label,.progress-step.completed .step-label{color:var(--bk-primary)}.progress-line{width:60px;height:2px;background:var(--bk-border);margin:0 8px 24px;transition:background var(--bk-transition)}.progress-line.completed{background:var(--bk-primary)}@media(max-width:640px){.progress-line{width:32px}.progress-step .step-label{font-size:9px}.progress-step .step-circle{width:34px;height:34px;font-size:12px}}.booking-container{max-width:800px;margin:0 auto;padding:0 24px 80px}[data-step]{animation:stepFadeIn .4s ease-out}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.step-title{font-size:1.5rem;font-weight:700;color:var(--bk-text);margin-bottom:6px}.step-desc{font-size:.95rem;color:var(--bk-text-secondary);margin-bottom:32px;line-height:1.7}.visit-type-grid{display:grid;grid-template-columns:1fr;gap:16px}.visit-type-card{display:flex;align-items:flex-start;gap:20px;padding:24px;background:var(--bk-surface);border:2px solid var(--bk-border);border-radius:var(--bk-radius);cursor:pointer;transition:all var(--bk-transition);position:relative;overflow:hidden}.visit-type-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;transition:background var(--bk-transition)}.visit-type-card:hover{border-color:var(--bk-border-hover);box-shadow:var(--bk-shadow-md);transform:translateY(-1px)}.visit-type-card.selected{border-color:var(--bk-primary);background:var(--bk-primary-50);box-shadow:var(--bk-shadow-md)}.visit-type-card.selected:before{background:var(--bk-primary)}.visit-type-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px;background:var(--bk-primary-50);transition:background var(--bk-transition)}.visit-type-card.selected .visit-type-icon{background:var(--bk-primary-100)}.visit-type-info h3{font-size:1.05rem;font-weight:700;color:var(--bk-text);margin-bottom:4px}.visit-type-info .duration{font-size:13px;color:var(--bk-primary-light);font-weight:600;margin-bottom:6px}.visit-type-info .desc{font-size:13px;color:var(--bk-text-secondary);line-height:1.6}.calendar-wrapper{background:var(--bk-surface);border-radius:20px;border:1px solid var(--bk-border);box-shadow:var(--bk-shadow-md);overflow:visible;position:relative}.calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--bk-border)}.calendar-nav h3{font-size:1.4rem;font-weight:800;color:var(--bk-text);margin:0;letter-spacing:.02em}.calendar-nav button{width:40px;height:40px;border-radius:12px;border:1px solid var(--bk-border);background:var(--bk-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--bk-transition);color:var(--bk-text)}.calendar-nav button:hover{background:var(--bk-primary-50);border-color:var(--bk-primary-200);color:var(--bk-primary)}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);padding:16px 20px 10px;border-bottom:1px solid var(--bk-border)}.calendar-day-name{text-align:center;font-size:12px;font-weight:700;color:var(--bk-text-muted);text-transform:uppercase;letter-spacing:.12em;padding:8px 0}.calendar-day-name.sun{color:var(--bk-full)}.calendar-day-name.sat{color:#4a8cc9}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);padding:12px 16px 20px;gap:6px}.calendar-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;position:relative;user-select:none;gap:4px}.calendar-cell .day-number{font-size:20px;font-weight:700;color:var(--bk-text);line-height:1;transition:all var(--bk-transition)}.calendar-cell.empty{visibility:hidden}.calendar-cell.clickable{cursor:pointer;transition:all var(--bk-transition)}.calendar-cell.clickable:hover{background:var(--bk-primary-50);transform:scale(1.08);box-shadow:0 2px 8px #1e3a2f14}.calendar-cell.selected{background:var(--bk-primary)!important;color:#fff;box-shadow:0 4px 16px #1e3a2f40;transform:scale(1.05)}.calendar-cell.selected .day-number{color:#fff}.calendar-cell.selected .slot-dot{background:#ffffffb3}.calendar-cell.today .day-number{color:var(--bk-primary);font-weight:900}.calendar-cell.today:after{content:"";position:absolute;bottom:6px;width:5px;height:5px;border-radius:50%;background:var(--bk-primary)}.calendar-cell.selected.today:after{background:#fff}.calendar-cell.closed,.calendar-cell.past{opacity:.3;cursor:default}.calendar-cell.closed .day-number,.calendar-cell.past .day-number{color:var(--bk-text-muted);font-weight:500}.closed-label{font-size:9px;color:var(--bk-text-muted);letter-spacing:.05em;font-weight:600}.slot-dot{display:block;width:7px;height:7px;border-radius:50%;transition:background var(--bk-transition)}.slot-dot.available{background:var(--bk-available)}.slot-dot.few{background:var(--bk-few)}.slot-dot.full{background:var(--bk-full)}.calendar-legend{display:flex;gap:24px;justify-content:center;padding:16px 20px;border-top:1px solid var(--bk-border);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--bk-text-secondary);font-weight:500}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.available{background:var(--bk-available)}.legend-dot.few{background:var(--bk-few)}.legend-dot.full{background:var(--bk-full)}.calendar-loading{display:flex;justify-content:center;align-items:center;min-height:300px}.loading-spinner{width:32px;height:32px;border:3px solid var(--bk-border);border-top-color:var(--bk-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner-sm{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.slot-popover-backdrop{position:fixed;inset:0;z-index:999;background:transparent}.slot-popover{position:absolute;z-index:1000;width:280px;background:var(--bk-surface);border:1px solid var(--bk-border);border-radius:16px;box-shadow:0 20px 60px #0000001f,0 8px 24px #0000000f;animation:popoverIn .2s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes popoverIn{0%{opacity:0;transform:scale(.92) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.slot-popover-header{padding:16px 18px 12px;border-bottom:1px solid var(--bk-border);display:flex;align-items:center;justify-content:space-between}.slot-popover-date{font-size:15px;font-weight:700;color:var(--bk-text);display:flex;align-items:center;gap:6px}.slot-popover-date .weekday{font-size:12px;font-weight:600;color:var(--bk-text-muted)}.slot-popover-close{width:28px;height:28px;border-radius:8px;border:none;background:var(--bk-surface-elevated);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--bk-text-muted);transition:all var(--bk-transition);font-size:16px;line-height:1}.slot-popover-close:hover{background:var(--bk-border);color:var(--bk-text)}.slot-popover-body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:8px}.slot-popover-empty{text-align:center;color:var(--bk-text-muted);padding:20px 12px;font-size:13px}.pop-slot{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:12px;border:1.5px solid var(--bk-border);background:var(--bk-surface);cursor:pointer;transition:all .2s ease;font-family:inherit;width:100%;text-align:left}.pop-slot:hover:not(.pop-slot--disabled){border-color:var(--bk-primary-200);background:var(--bk-primary-50);transform:translateY(-1px);box-shadow:0 2px 8px #1e3a2f0f}.pop-slot.pop-slot--selected{border-color:var(--bk-primary);background:var(--bk-primary);box-shadow:0 4px 12px #1e3a2f33}.pop-slot.pop-slot--selected .pop-slot__time,.pop-slot.pop-slot--selected .pop-slot__range{color:#fff}.pop-slot.pop-slot--selected .pop-slot__badge{background:#fff3;color:#fff}.pop-slot.pop-slot--disabled{opacity:.4;cursor:not-allowed}.pop-slot__left{display:flex;flex-direction:column;gap:1px}.pop-slot__time{font-size:15px;font-weight:700;color:var(--bk-text);transition:color .15s}.pop-slot__range{font-size:11px;color:var(--bk-text-muted);font-weight:500;transition:color .15s}.pop-slot__badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;letter-spacing:.02em;white-space:nowrap;transition:all .15s}.pop-slot__badge--available{background:var(--bk-available-bg);color:var(--bk-available)}.pop-slot__badge--few{background:var(--bk-few-bg);color:var(--bk-few)}.pop-slot__badge--full{background:var(--bk-full-bg);color:var(--bk-full)}#time-slots{display:none!important}.booking-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:var(--bk-text);letter-spacing:.02em}.form-group label .required{color:var(--bk-full);margin-left:2px}.form-group input,.form-group select,.form-group textarea{padding:14px 16px;border:1.5px solid var(--bk-border);border-radius:var(--bk-radius-sm);background:var(--bk-surface);font-size:15px;color:var(--bk-text);transition:all var(--bk-transition);font-family:inherit;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--bk-text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--bk-primary);box-shadow:0 0 0 3px #1e3a2f14}.form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.dogs-interest{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1.5px solid var(--bk-border);border-radius:var(--bk-radius-sm);background:var(--bk-surface-elevated);min-height:48px;align-items:center}.dog-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;background:var(--bk-primary-100);color:var(--bk-primary);border-radius:20px;font-size:13px;font-weight:600}.text-muted{font-size:13px;color:var(--bk-text-muted)}.confirm-ticket{background:var(--bk-surface);border-radius:20px;box-shadow:0 20px 60px #00000014,0 4px 16px #0000000a;overflow:hidden;animation:ticketSlideIn .6s cubic-bezier(.16,1,.3,1)}@keyframes ticketSlideIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-ticket__calendar{background:linear-gradient(155deg,var(--bk-primary) 0%,#2d5a47 50%,#1a4a38 100%);color:#fff;text-align:center;padding:32px 24px 28px;position:relative;overflow:hidden}.confirm-ticket__calendar:before{content:"";position:absolute;top:-40%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);border-radius:50%}.confirm-ticket__calendar:after{content:"";position:absolute;bottom:-30%;left:-15%;width:160px;height:160px;background:radial-gradient(circle,rgba(198,142,73,.1) 0%,transparent 70%);border-radius:50%}.confirm-ticket__month{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--bk-accent-light);margin-bottom:8px;position:relative;z-index:1}.confirm-ticket__day{font-size:72px;font-weight:900;line-height:1;letter-spacing:-.02em;position:relative;z-index:1;margin-bottom:4px;text-shadow:0 2px 8px rgba(0,0,0,.15)}.confirm-ticket__weekday{font-size:16px;font-weight:600;color:#fffc;margin-bottom:16px;position:relative;z-index:1}.confirm-ticket__time{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#ffffff1f;backdrop-filter:blur(8px);border-radius:100px;font-size:15px;font-weight:700;letter-spacing:.04em;color:#fff;position:relative;z-index:1}.confirm-ticket__time svg{opacity:.8}.confirm-ticket__tear{height:0;position:relative;overflow:visible}.confirm-ticket__tear:before,.confirm-ticket__tear:after{content:"";position:absolute;top:-10px;width:20px;height:20px;border-radius:50%;background:var(--bk-surface-elevated, #f5f4f1);z-index:2}.confirm-ticket__tear:before{left:-10px}.confirm-ticket__tear:after{right:-10px}.confirm-ticket__details{padding:28px 28px 24px}.confirm-ticket__visit-type{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--bk-primary);padding:12px 16px;background:var(--bk-primary-50);border-radius:12px;margin-bottom:20px}.confirm-ticket__type-icon{display:flex;align-items:center;color:var(--bk-primary)}.confirm-ticket__divider{height:1px;background:var(--bk-border);margin:16px 0}.confirm-ticket__info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.confirm-ticket__info-item{display:flex;flex-direction:column;gap:4px}.confirm-ticket__info-label{font-size:11px;font-weight:700;color:var(--bk-text-muted);text-transform:uppercase;letter-spacing:.08em}.confirm-ticket__info-value{font-size:14px;font-weight:600;color:var(--bk-text);word-break:break-all}.confirm-ticket__info-value--notes{font-weight:500;color:var(--bk-text-secondary);white-space:pre-wrap;word-break:break-word}.confirm-ticket__dogs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.confirm-ticket__brand{text-align:center;padding:12px 0 0;font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--bk-text-muted);opacity:.5}@media(max-width:480px){.confirm-ticket__info-grid{grid-template-columns:1fr;gap:12px}.confirm-ticket__day{font-size:56px}.confirm-ticket__details{padding:20px 20px 16px}}.selection-summary{display:flex;align-items:center;gap:14px;margin-top:16px;padding:16px 20px;background:var(--bk-primary-50);border:1.5px solid var(--bk-primary-200);border-radius:14px;animation:summaryFadeIn .35s ease-out}@keyframes summaryFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.selection-summary__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--bk-primary);color:#fff;flex-shrink:0}.selection-summary__content{display:flex;flex-direction:column;gap:2px;flex:1}.selection-summary__date{font-size:15px;font-weight:700;color:var(--bk-text)}.selection-summary__time{font-size:13px;font-weight:600;color:var(--bk-primary)}.selection-summary__check{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bk-primary);color:#fff;flex-shrink:0}.booking-nav{display:flex;justify-content:space-between;align-items:center;padding-top:32px;margin-top:32px;border-top:1px solid var(--bk-border)}.booking-nav.hidden{display:none}.btn-back{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;color:var(--bk-text-secondary);background:transparent;border:1.5px solid var(--bk-border);border-radius:var(--bk-radius-sm);cursor:pointer;transition:all var(--bk-transition);font-family:inherit}.btn-back:hover{border-color:var(--bk-border-hover);color:var(--bk-text)}.btn-next,.btn-submit{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-size:14px;font-weight:700;color:#fff;background:var(--bk-primary);border:none;border-radius:var(--bk-radius-sm);cursor:pointer;transition:all var(--bk-transition);letter-spacing:.02em;font-family:inherit}.btn-next:hover:not(:disabled),.btn-submit:hover:not(:disabled){background:var(--bk-primary-light);box-shadow:var(--bk-shadow-md);transform:translateY(-1px)}.btn-next:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-submit{background:linear-gradient(135deg,var(--bk-primary),var(--bk-primary-light));padding:16px 40px;font-size:15px}.success-omotenashi{display:flex;flex-direction:column;align-items:center;padding:48px 20px 40px;animation:omotenashiFadeIn .7s cubic-bezier(.16,1,.3,1)}@keyframes omotenashiFadeIn{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.omotenashi-card{width:100%;max-width:420px;background:var(--bk-surface);border-radius:24px;box-shadow:0 24px 80px #00000014,0 6px 20px #0000000a;overflow:hidden}.omotenashi-card__header{background:linear-gradient(155deg,var(--bk-primary) 0%,#2d5a47 50%,#1a4a38 100%);color:#fff;text-align:center;padding:36px 24px 32px;position:relative;overflow:hidden}.omotenashi-card__header:before{content:"";position:absolute;top:-40%;right:-20%;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);border-radius:50%}.omotenashi-card__header:after{content:"";position:absolute;bottom:-30%;left:-15%;width:180px;height:180px;background:radial-gradient(circle,rgba(198,142,73,.1) 0%,transparent 70%);border-radius:50%}.omotenashi-card__confetti{position:absolute;inset:0;pointer-events:none;z-index:1}.confetti-dot{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:var(--color);border-radius:50%;animation:confettiFloat 3s ease-in-out var(--delay) infinite alternate}@keyframes confettiFloat{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-8px) scale(.8);opacity:.4}}.omotenashi-card__check{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#ffffff26;backdrop-filter:blur(8px);margin-bottom:16px;position:relative;z-index:2;animation:checkPop .5s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes checkPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.check-anim{stroke-dasharray:40;stroke-dashoffset:40;animation:checkDraw .6s ease-out .5s forwards}@keyframes checkDraw{to{stroke-dashoffset:0}}.omotenashi-card__month{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--bk-accent-light);margin-bottom:8px;position:relative;z-index:2}.omotenashi-card__day{font-size:72px;font-weight:900;line-height:1;letter-spacing:-.02em;position:relative;z-index:2;margin-bottom:4px;text-shadow:0 2px 8px rgba(0,0,0,.15)}.omotenashi-card__weekday{font-size:16px;font-weight:600;color:#fffc;margin-bottom:16px;position:relative;z-index:2}.omotenashi-card__time{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#ffffff1f;backdrop-filter:blur(8px);border-radius:100px;font-size:15px;font-weight:700;letter-spacing:.04em;color:#fff;position:relative;z-index:2}.omotenashi-card__time svg{opacity:.8}.omotenashi-card__tear{height:0;position:relative;overflow:visible}.omotenashi-card__tear:before,.omotenashi-card__tear:after{content:"";position:absolute;top:-10px;width:20px;height:20px;border-radius:50%;background:var(--bk-surface-elevated, #f5f4f1);z-index:2}.omotenashi-card__tear:before{left:-10px}.omotenashi-card__tear:after{right:-10px}.omotenashi-card__body{padding:28px 28px 24px}.omotenashi-card__welcome{text-align:center;margin-bottom:24px}.omotenashi-card__title{font-size:1.4rem;font-weight:700;color:var(--bk-text);margin:0 0 10px;line-height:1.3}.omotenashi-card__message{font-size:14px;color:var(--bk-text-secondary);margin:0;line-height:1.7;white-space:pre-line}.omotenashi-card__visit-type{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--bk-primary);padding:12px 16px;background:var(--bk-primary-50);border-radius:12px;margin-bottom:16px}.omotenashi-card__type-icon{display:flex;align-items:center;color:var(--bk-primary)}.omotenashi-card__email-notice{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--bk-text-secondary);padding:12px 16px;background:#00000005;border-radius:10px}.omotenashi-card__email-notice svg{flex-shrink:0;color:var(--bk-text-muted)}.omotenashi-card__email-notice strong{font-weight:600;color:var(--bk-text)}.omotenashi-card__footer{padding:12px 28px 20px}.omotenashi-card__brand{text-align:center;font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--bk-text-muted);opacity:.45}.omotenashi-cta{display:flex;align-items:center;gap:14px;width:100%;max-width:420px;margin-top:20px;padding:18px 24px;background:var(--bk-primary);color:#fff;text-decoration:none;border-radius:16px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 16px #1e3a2f33}.omotenashi-cta:hover{background:var(--bk-primary-light);box-shadow:0 8px 28px #1e3a2f40;transform:translateY(-3px)}.omotenashi-cta__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff26;border-radius:10px;flex-shrink:0}.omotenashi-cta__text{display:flex;flex-direction:column;flex:1;min-width:0}.omotenashi-cta__label{font-size:15px;font-weight:700}.omotenashi-cta__hint{font-size:12px;opacity:.7;margin-top:2px}.omotenashi-cta>svg{flex-shrink:0;opacity:.7;transition:transform .3s ease}.omotenashi-cta:hover>svg{transform:translate(4px)}.omotenashi-note{font-size:13px;color:var(--bk-text-muted);line-height:1.6;margin-top:20px;text-align:center;max-width:420px}@media(max-width:480px){.omotenashi-card__day{font-size:56px}.omotenashi-card__body{padding:20px 20px 16px}.omotenashi-cta{padding:16px 20px}}.booking-error{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--bk-full-bg);border:1px solid #fca5a5;border-radius:var(--bk-radius-sm);color:var(--bk-full);font-size:14px;margin-bottom:16px;animation:shakeIn .4s ease-out}@keyframes shakeIn{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@media(max-width:640px){.booking-hero{padding:60px 0 40px}.booking-hero h1{font-size:1.75rem}.booking-container{padding:0 16px 60px}.calendar-body{padding:6px 8px 14px;gap:4px}.calendar-cell .day-number{font-size:16px}.calendar-nav h3{font-size:1.2rem}.visit-type-card{padding:18px;gap:14px}.visit-type-icon{width:44px;height:44px;border-radius:12px;font-size:20px}.slot-popover{width:calc(100vw - 48px);max-width:320px}}
