.kv-dialog{--ink:#422b38;--paper:#fbf7f1;--rose:#ebdad5;--plum:#604354;--line:#ded2cc;--muted:#806e75;border:1px solid var(--line);border-radius:20px;padding:0;background:var(--paper);color:var(--ink);width:min(700px,calc(100vw - 28px));max-height:90dvh;font:15px/1.6 'DM Sans',sans-serif;box-shadow:0 22px 90px #422b3840}.kv-dialog::backdrop{background:#422b3870;backdrop-filter:blur(4px)}.kv-modal-head{position:sticky;top:0;z-index:2;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 26px;border-bottom:1px solid var(--line)}.kv-modal-head h2{font:500 30px/1.1 'Cormorant Garamond',serif;margin:0}.kv-modal-close{border:0;background:transparent;font:28px/1 sans-serif;color:var(--ink);width:40px;height:40px}.kv-modal-body{padding:24px 26px}.kv-modal-body h3{font:500 24px/1.2 'Cormorant Garamond',serif;margin:22px 0 12px}.kv-modal-body p{margin:8px 0}.kv-modal-body label{display:block;font-size:13px}.kv-modal-body input,.kv-modal-body select,.kv-modal-body textarea{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:11px;background:var(--paper);width:100%;margin:5px 0 12px}.kv-modal-body input[type=checkbox]{width:auto;margin-right:8px}.kv-modal-body button{font:inherit}.kv-primary{border:1px solid var(--plum);border-radius:30px;background:var(--plum);color:var(--paper);padding:12px 24px;cursor:pointer}.kv-primary:disabled{opacity:.45;cursor:default}.kv-chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.kv-chip{border:1px solid var(--line);border-radius:12px;padding:9px 14px;background:transparent;color:var(--ink);cursor:pointer}.kv-chip[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:var(--paper)}.kv-chip:disabled{opacity:.45;text-decoration:line-through;cursor:default}.kv-days{flex-wrap:nowrap;overflow-x:auto;padding:2px 0 8px}.kv-days .kv-chip{min-width:68px;flex-shrink:0;font-size:12px}.kv-muted{color:var(--muted);font-size:12px}.kv-error{color:#8b233e;font-size:13px;margin:12px 0;overflow-wrap:anywhere}.kv-book-form{display:grid;gap:0 16px;grid-template-columns:1fr 1fr;margin-top:20px}.kv-book-form label{min-width:0}.kv-price{font-size:22px}.kv-product-preview{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:center;margin-bottom:20px}.kv-product-preview img{width:130px;height:145px;object-fit:contain}.kv-cart-line{display:grid;grid-template-columns:65px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.kv-cart-line img{width:65px;height:75px;object-fit:contain}.kv-cart-line p{margin:0}.kv-cart-line .kv-chips{align-items:center}.kv-small{border:0;background:transparent;color:var(--ink);text-decoration:underline;padding:5px;cursor:pointer}.kv-summary{border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.kv-summary-row{display:flex;justify-content:space-between;gap:20px}.kv-cart-launch{position:fixed;right:30px;bottom:108px;z-index:30;border:1px solid var(--line);border-radius:50%;height:50px;min-width:50px;background:var(--paper,#fbf7f1);color:var(--ink,#422b38);box-shadow:0 3px 20px #422b3820;cursor:pointer}.kv-cart-launch svg{width:20px;height:20px;vertical-align:middle}.kv-cart-count{font:600 10px sans-serif;position:absolute;right:-2px;top:-2px;background:var(--plum,#604354);color:white;border-radius:30px;min-width:18px;padding:3px}.kv-dialog :focus-visible{outline:3px solid var(--muted);outline-offset:3px}.kv-form-wide{grid-column:1/-1}.kv-qty{max-width:110px}.kv-confirm{text-align:center;padding:30px}.kv-stock{font-size:12px}.kv-panel-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}@media(max-width:600px){.kv-dialog{width:calc(100vw - 16px);max-height:94dvh;border-radius:16px}.kv-modal-head{padding:14px 18px}.kv-modal-body{padding:18px}.kv-modal-head h2{font-size:26px}.kv-book-form{grid-template-columns:1fr}.kv-product-preview{grid-template-columns:95px 1fr;gap:14px}.kv-product-preview img{width:95px;height:110px}.kv-cart-line{grid-template-columns:48px 1fr;gap:10px}.kv-cart-line>div:last-child{grid-column:2}.kv-cart-line img{width:48px;height:60px}.kv-cart-launch{right:16px;bottom:94px}.kv-modal-body input{font-size:16px}.kv-primary{width:100%}}
