.booking-root,.wd-card{--bk-ink:#101012;--bk-paper:#fff;--bk-line:#10101252;--bk-soft:#10101299}.booking-root{width:min(680px,100% - 2rem);margin-inline:auto}.booking-bar{background:#fffffff0;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .5rem .45rem 1.5rem;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:flex;box-shadow:0 18px 60px #00000073,0 2px 8px #0000004d}.booking-bar:focus-within{transform:translateY(-2px)scale(1.01);box-shadow:0 26px 80px #0000008c,0 2px 8px #0000004d}.booking-bar-input{min-width:0;font:500 1.05rem/1.4 var(--font-sans,sans-serif);color:var(--bk-ink);background:0 0;border:0;outline:none;flex:1;padding:.55rem 0}.booking-bar-input::placeholder{color:#10101261;text-shadow:0 1px 2px #1010121f;transition:opacity .2s}.booking-bar-input:focus::placeholder{opacity:.55}.booking-bar-go{background:var(--bk-ink);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;width:46px;height:46px;font-size:1.15rem;transition:transform .25s cubic-bezier(.22,1,.36,1)}.booking-bar-go:hover,.booking-bar-go:focus-visible{transform:scale(1.08)}.booking-sheet{z-index:120;background:var(--bk-paper);color:var(--bk-ink);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transform-origin:top;outline:none;padding:clamp(1.2rem,4vw,3.5rem) clamp(1.2rem,4vw,3.5rem) clamp(3rem,8vh,5rem);position:fixed;inset:0;overflow-y:auto}.booking-root[data-open=true] .booking-sheet{animation:.55s cubic-bezier(.22,1,.36,1) booking-drop}@keyframes booking-drop{0%{opacity:0;transform:translateY(-6%)}to{opacity:1;transform:translateY(0)}}.booking-close{color:var(--bk-soft);font:600 .85rem/1 var(--font-sans,sans-serif);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:.6rem;position:absolute;top:1.2rem;right:1.4rem}.booking-close:hover{color:var(--bk-ink)}.booking-step{max-width:1060px;margin:0 auto;padding-top:clamp(1.5rem,5vh,4rem)}.booking-step-count{font:600 .75rem/1 var(--font-sans,sans-serif);letter-spacing:.34em;color:var(--bk-soft);margin:0 0 .8rem}.booking-title{font-family:var(--font-display,sans-serif);color:var(--bk-ink);margin-bottom:1.6rem;font-size:clamp(2.4rem,6vw,4.5rem)}.booking-subtitle{font:700 .85rem/1.2 var(--font-sans,sans-serif);letter-spacing:.18em;text-transform:uppercase;color:var(--bk-ink);margin:0 0 .9rem}.booking-label{font:600 .9rem/1.3 var(--font-sans,sans-serif);color:var(--bk-soft);margin-bottom:.5rem;display:block}.booking-input{border:2px solid var(--bk-line);width:100%;color:var(--bk-ink);font:500 1rem/1.45 var(--font-sans,sans-serif);background:#fff;border-radius:14px;outline:none;padding:.85rem 1.1rem;transition:border-color .2s,box-shadow .2s}.booking-input::placeholder{color:#10101273}.booking-input:hover{border-color:#1010128c}.booking-input:focus{border-color:var(--bk-ink);box-shadow:0 0 0 3px #1010121f}.booking-field:has(.booking-error) .booking-input{border-color:#c02c1d}.booking-input-lg{padding:1.05rem 1.2rem;font-size:1.25rem}textarea.booking-input{resize:vertical}.booking-chipset{flex-wrap:wrap;gap:.5rem;margin:.9rem 0 2rem;display:flex}.booking-chip{border:2px solid var(--bk-line);color:var(--bk-ink);font:600 .85rem/1 var(--font-sans,sans-serif);cursor:pointer;background:#fff;border-radius:999px;padding:.6rem 1.15rem;transition:all .2s}.booking-chip:hover{border-color:var(--bk-ink)}.booking-chip.is-on{background:var(--bk-ink);border-color:var(--bk-ink);color:#fff}.booking-step-shoot{display:block}.booking-shoot-row{grid-template-columns:minmax(0,1fr) clamp(180px,24vw,300px);align-items:stretch;gap:clamp(1.2rem,3vw,2.6rem);margin-bottom:clamp(1.4rem,3vh,2.4rem);display:grid}.booking-shoot-main{min-width:0}.booking-shoot-main .booking-chipset{margin-bottom:.5rem}.booking-shoot-photo{background:#1010120f;border-radius:20px;min-height:240px;margin:0;position:relative;overflow:hidden;box-shadow:0 24px 60px #1010122e}.booking-shoot-photo img{object-fit:cover;width:100%;height:100%;animation:.6s cubic-bezier(.22,1,.36,1) shoot-photo-in;position:absolute;inset:0}@keyframes shoot-photo-in{0%{opacity:.15;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.booking-shoot-photo figcaption{z-index:2;color:#fff;font:700 .72rem/1 var(--font-sans,sans-serif);letter-spacing:.22em;text-transform:uppercase;text-shadow:0 2px 12px #0009;position:absolute;bottom:.9rem;left:1rem}.booking-shoot-photo:after{content:"";background:linear-gradient(#0000 55%,#1010126b);position:absolute;inset:0}.booking-calendar-grid{grid-template-columns:1.5fr 1fr .9fr;align-items:start;gap:clamp(1.2rem,3vw,2.6rem);display:grid}.booking-cal-scroll{max-height:46vh;padding-right:.5rem;overflow-y:auto}.booking-month{margin-bottom:1.2rem}.booking-month-name{font:600 .8rem/1 var(--font-sans,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--bk-soft);margin:0 0 .6rem}.booking-days{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.booking-day{aspect-ratio:1;color:var(--bk-ink);font:600 .9rem/1 var(--font-sans,sans-serif);cursor:pointer;background:#1010120d;border:2px solid #0000;border-radius:10px;transition:all .15s}.booking-day:hover:not(:disabled){border-color:var(--bk-ink)}.booking-day.is-on{background:var(--bk-ink);color:#fff}.booking-day:disabled{opacity:.25;cursor:not-allowed}.booking-slotlist{flex-direction:column;gap:.5rem;display:flex}.booking-slot{border:2px solid var(--bk-line);color:var(--bk-ink);font:600 .95rem/1 var(--font-sans,sans-serif);cursor:pointer;text-align:left;background:#fff;border-radius:12px;padding:.85rem 1rem;transition:all .15s}.booking-slot:hover:not(:disabled){border-color:var(--bk-ink)}.booking-slot.is-on{background:var(--bk-ink);border-color:var(--bk-ink);color:#fff}.booking-slot:disabled{opacity:.35;cursor:not-allowed}.booking-next-col{flex-direction:column;gap:1rem;padding-top:2.2rem;display:flex}.booking-hint{font:400 .9rem/1.5 var(--font-sans,sans-serif);color:var(--bk-soft);margin:0}.booking-btn{border:3px solid var(--bk-ink);background:var(--bk-ink);color:#fff;font:700 .95rem/1 var(--font-sans,sans-serif);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:1.05em 2.4em;text-decoration:none;transition:all .22s cubic-bezier(.22,1,.36,1);display:inline-flex}.booking-btn:hover:not(:disabled),.booking-btn:focus-visible{color:var(--bk-ink);background:#fff;transform:translateY(-2px)}.booking-btn:disabled{opacity:.55;cursor:wait}.booking-btn-sm{padding:.8em 1.5em;font-size:.8rem}.booking-btn-ghost{color:var(--bk-ink);background:0 0}.booking-btn-ghost:hover{background:var(--bk-ink);color:#fff}.booking-locate-row{align-items:stretch;gap:.7rem;display:flex}.booking-locate-row .booking-input{flex:1}.booking-map{border:2px solid var(--bk-line);background:repeating-linear-gradient(45deg,#f4f4f2 0 14px,#ededeb 14px 28px);border-radius:18px;height:min(42vh,380px);margin:1.4rem 0 2rem;overflow:hidden}.booking-map iframe{border:0;width:100%;height:100%}.booking-map-fallback{height:100%;color:var(--bk-soft);font:500 .95rem/1.5 var(--font-sans,sans-serif);text-align:center;place-content:center;justify-items:center;gap:.4rem;padding:1rem;display:grid}.booking-map-pin{font-size:1.8rem}.booking-fields{grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem;margin-bottom:1.6rem;display:grid}.booking-field{flex-direction:column;gap:.4rem;display:flex}.booking-field>span{font:700 .78rem/1 var(--font-sans,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--bk-soft)}.booking-field-wide{grid-column:1/-1}.booking-nav-row{justify-content:space-between;gap:1rem;padding-bottom:3rem;display:flex}.booking-error{color:#c02c1d;font:600 .85rem/1.4 var(--font-sans,sans-serif);margin:.35rem 0 0;font-style:normal}.booking-error-big{margin-bottom:1rem}.booking-done{text-align:center;padding-top:18vh}.booking-done-copy{font:400 1.15rem/1.6 var(--font-sans,sans-serif);color:var(--bk-soft);max-width:46ch;margin:0 auto 2.2rem}.hp-field{width:1px;height:1px;position:absolute;top:0;left:-9999px;overflow:hidden}@media (width<=900px){.booking-calendar-grid,.booking-fields{grid-template-columns:1fr}.booking-cal-scroll{max-height:none;padding-right:0;overflow-y:visible}.booking-shoot-row{grid-template-columns:1fr;gap:1rem}.booking-shoot-photo{aspect-ratio:21/9;order:2;width:100%;min-height:0;max-height:150px}}
