/* Only loaded for the per-product fullscreen reservation option. */
/* The sidebar stays fully usable; expanding moves the same controls into the dialog. */
.care-reservation-layer .hev-buy-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.care-reservation-expand{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--hev-line,#ddd);border-radius:10px;background:var(--hev-surface,#fff);color:var(--care-index-color);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.care-reservation-expand[hidden]{display:none}
.care-reservation-expand svg{width:16px;height:16px;flex:none}
.care-reservation-dialog .hev-buy-title{display:none}
.care-reservation-dialog{box-sizing:border-box;position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:var(--hev-surface,#fff);color:var(--hev-tx,#222);font:inherit;overflow:hidden;overscroll-behavior:contain}
.care-reservation-dialog:not([open]){display:none}
.care-reservation-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:care-reservation-enter .2s ease-out}
.care-reservation-dialog::backdrop{background:rgba(0,0,0,.35)}
.care-reservation-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px max(24px,calc((100% - 1200px)/2));padding-top:max(24px,env(safe-area-inset-top));border-bottom:1px solid var(--hev-line,#e5e5e5)}
.care-reservation-dialog-head h2{margin:0;font-size:24px;font-weight:750;line-height:1.3;letter-spacing:-.03em}
.care-reservation-dialog-head p{margin:6px 0 0;color:var(--hev-tx2,#666);font-size:15px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.care-reservation-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border:1px solid var(--hev-line,#e5e5e5);border-radius:50%;background:var(--hev-surface,#fff);color:inherit;cursor:pointer}
.care-reservation-close svg{width:24px;height:24px}
.care-reservation-dialog-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px max(24px,calc((100% - 1200px)/2));scrollbar-gutter:stable}
.care-reservation-dialog .care-reservation-sticky{position:static;max-height:none;overflow:visible}
.care-reservation-dialog .care-reservation-dialog-content .hev-buy-card{padding:0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.care-reservation-dialog .care-products-head{margin:0 0 12px}
.care-reservation-dialog .care-products-head h3{font-size:17px}
.care-reservation-dialog .care-product-tools{grid-template-columns:minmax(0,1fr) 180px;gap:12px;margin-bottom:20px}
.care-reservation-dialog .care-product-tools input,.care-reservation-dialog .care-product-tools select{height:48px;border:1px solid var(--hev-line,#ddd);border-radius:10px}
.care-reservation-dialog .care-product-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:visible;border-radius:0;background:transparent}
.care-reservation-dialog .care-product-card{grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:start;padding:20px;border:1px solid var(--hev-line,#ddd);border-radius:14px;background:var(--hev-surface,#fff);word-break:keep-all;overflow-wrap:anywhere}
.care-reservation-dialog .care-product-card+.care-product-card::before{display:none}
.care-reservation-dialog .care-product-card.selected{border-color:var(--care-index-color);background:var(--hev-soft,#f6f6f8);box-shadow:inset 0 0 0 1px var(--care-index-color)}
.care-reservation-dialog .care-product-main label{min-height:96px}
.care-reservation-dialog .care-product-name{font-size:16px;font-weight:650;line-height:1.5}
.care-reservation-dialog .care-product-note{margin-top:8px;font-size:13px;line-height:1.6}
.care-reservation-dialog .care-product-price{margin-top:16px}
.care-reservation-dialog .care-product-price strong{font-size:18px}
.care-reservation-dialog .care-product-toggle{width:44px;height:44px;margin:0}
.care-reservation-dialog .care-product-card:focus-within{outline:2px solid var(--care-index-color);outline-offset:3px}
.care-reservation-dialog-area{margin:0 0 20px;padding:10px 14px;border-radius:8px;background:var(--hev-soft,#f6f6f8);font-size:14px;line-height:1.5}
.care-reservation-dialog-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:8px 32px;padding:18px max(24px,calc((100% - 1200px)/2));padding-bottom:max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--hev-line,#ddd);background:var(--hev-surface,#fff);box-shadow:0 -8px 32px rgba(0,0,0,.04)}
.care-reservation-dialog-footer .care-option-hint{grid-column:1/-1;margin:0;color:var(--hev-tx2,#666);font-size:12px;line-height:1.4}
.care-reservation-dialog-count{flex:none;white-space:nowrap;color:var(--hev-tx2,#666);font-size:13px}
.care-reservation-dialog-footer .hev-buy-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:0;margin:0;border:0}
.care-reservation-dialog-footer .hev-buy-price-now{font-size:26px;line-height:1.4;font-weight:750;letter-spacing:-.025em}
.care-reservation-dialog-footer .hev-buy-price-old{font-size:13px}
.care-reservation-dialog-footer .hev-buy-price-now small{font-size:16px}
.care-reservation-dialog-footer .hev-buy-discount{position:static;padding:2px 7px;font-size:12px}
.care-reservation-dialog-footer .hev-buy-paynote{width:100%;font-size:11px;line-height:1.4}
.care-reservation-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.care-reservation-dialog-actions button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;margin:0;padding:12px;border:1px solid var(--care-index-color);border-radius:12px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.care-reservation-dialog-actions .hev-buy-consult{background:var(--hev-surface,#fff);color:var(--care-index-color)}
.care-reservation-dialog-actions .hev-buy-cta{background:var(--care-index-color);color:var(--hev-on,#fff)}
.care-reservation-dialog-actions button:disabled{opacity:1;background:var(--hev-surface,#fff);border-color:var(--hev-line,#ddd);color:var(--hev-tx2,#666);cursor:not-allowed}
.care-reservation-dialog button:focus-visible,.care-reservation-dialog input:focus-visible,.care-reservation-dialog select:focus-visible,.care-reservation-expand:focus-visible{outline:2px solid var(--care-index-color);outline-offset:3px}

@media(max-width:1100px){.care-reservation-dialog .care-product-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .care-reservation-dialog-head{gap:12px;padding:16px;padding-top:max(16px,env(safe-area-inset-top))}
 .care-reservation-dialog-head h2{font-size:20px}.care-reservation-dialog-head p{font-size:13px;max-height:3em;overflow:auto}
 .care-reservation-dialog-content{padding:16px}
 .care-reservation-dialog .care-product-tools{grid-template-columns:minmax(0,1fr) 130px;gap:8px;margin-bottom:14px}
 .care-reservation-dialog .care-product-list{grid-template-columns:minmax(0,1fr);gap:10px}
 .care-reservation-dialog .care-product-card{padding:16px;gap:8px}
 .care-reservation-dialog .care-product-main label{min-height:70px}
 .care-reservation-dialog-footer{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .care-reservation-dialog-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
 .care-reservation-dialog-footer .hev-buy-price{justify-content:flex-end}
 .care-reservation-dialog-footer .hev-buy-price-now{font-size:22px}
 .care-reservation-dialog-footer .hev-buy-paynote{text-align:right}
}
@media(max-height:500px) and (min-width:601px){.care-reservation-dialog-head{padding-top:10px;padding-bottom:10px}.care-reservation-dialog-footer{padding-top:8px;padding-bottom:8px}}
@keyframes care-reservation-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.care-reservation-dialog[open]{animation:none}}
