body.kc-tailoring-open{overflow:hidden}
.kc-tailoring-modal,.kc-tailoring-details-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:18px}
.kc-tailoring-modal.is-open,.kc-tailoring-details-modal.is-open{display:flex}
.kc-tailoring-backdrop{position:absolute;inset:0;background:rgba(22,15,27,.72);backdrop-filter:blur(3px)}
.kc-tailoring-card{position:relative;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.3);padding:28px 28px 24px}
.kc-tailoring-close{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;border:0;border-radius:999px;background:#f3eef6;color:#3b2044;font-size:28px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.kc-tailoring-close:hover,.kc-tailoring-close:focus-visible{background:#b42318;color:#fff}
.kc-tailoring-form h2,.kc-tailoring-details-card h2{margin:0 44px 6px 0;font-size:26px;color:#2b1633}
.kc-tailoring-intro,.kc-tailoring-note{color:#5f5662;margin:0 0 18px}
.kc-tailoring-size{display:flex;flex-direction:column;gap:10px;font-weight:600;margin-bottom:18px}
.kc-tailoring-size-circles{display:flex;flex-wrap:wrap;gap:10px}
.kc-tailoring-size-circle{min-width:48px;min-height:48px;padding:0 12px;border:1.5px solid #cfc7d1;border-radius:999px;background:#fff;color:#3b2044;font-weight:700;cursor:pointer}
.kc-tailoring-size-circle:hover,.kc-tailoring-size-circle:focus-visible{border-color:#6b2b70;color:#6b2b70}
.kc-tailoring-size-circle.is-selected{background:#6b2b70;border-color:#6b2b70;color:#fff}
.kc-tailoring-field{display:flex;flex-direction:column;gap:6px;font-weight:600}
.kc-tailoring-field input,.kc-tailoring-note-field textarea{width:100%;min-height:44px;border:1px solid #cfc7d1;border-radius:8px;padding:8px 10px;background:#fff;font-size:16px}
.kc-tailoring-note-field{display:flex;flex-direction:column;gap:6px;font-weight:600;margin-top:16px}
.kc-tailoring-note-field textarea{min-height:88px;resize:vertical}
.kc-tailoring-units{display:flex;flex-wrap:wrap;gap:8px 20px;border:0;padding:0;margin:0 0 14px}
.kc-tailoring-units legend{width:100%;font-weight:600;margin-bottom:5px}
.kc-tailoring-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.kc-tailoring-field small{min-height:18px;color:#706776;font-weight:400}
.kc-tailoring-field.is-disabled{display:none}
.kc-tailoring-field input[aria-invalid=true]{border-color:#b42318;outline:1px solid #b42318}
.kc-tailoring-error{color:#b42318;background:#fff1f0;border-radius:8px;padding:10px 12px;margin:16px 0 0}
.kc-tailoring-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.kc-tailoring-actions button{min-height:44px;border-radius:8px;padding:9px 18px;font-weight:700;cursor:pointer}
.kc-tailoring-cancel{border:1px solid #6b2b70;background:#fff;color:#6b2b70}
.kc-tailoring-continue{border:1px solid #6b2b70;background:#6b2b70;color:#fff}
.kc-tailoring-details-btn{display:inline-flex;align-items:center;margin:.35rem 0 0;padding:.25rem .7rem;border:1px solid #6b2b70;border-radius:999px;background:#fff;color:#6b2b70;font-size:.82rem;font-weight:700;text-decoration:none;cursor:pointer}
.kc-tailoring-details-btn:hover,.kc-tailoring-details-btn:focus-visible{background:#6b2b70;color:#fff}
.kc-tailoring-details-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #eee}
.kc-tailoring-details-scroll{overflow:auto;margin:8px 0 16px}
.kc-tailoring-details-table{width:100%;border-collapse:collapse;min-width:420px;font-size:.9rem}
.kc-tailoring-details-table th,.kc-tailoring-details-table td{border:1px solid #eadff0;padding:8px 10px;text-align:center;white-space:nowrap}
.kc-tailoring-details-table thead th{background:#f7f1fa;color:#6b2b70;font-weight:700}
.kc-tailoring-details-table tbody th{background:#fff;color:#3b2044;font-weight:700}
.kc-tailoring-details-note{margin-top:14px}
.kc-tailoring-details-note span{display:block;font-weight:700;margin-bottom:4px}
.kc-tailoring-details-note p{margin:0;color:#5f5662;white-space:pre-wrap}
@media(max-width:520px){
  .kc-tailoring-modal,.kc-tailoring-details-modal{padding:0;align-items:flex-end}
  .kc-tailoring-card{width:100%;max-height:92vh;border-radius:18px 18px 0 0;padding:24px 18px}
  .kc-tailoring-size-circle{min-width:46px;min-height:46px}
  .kc-tailoring-actions{position:sticky;bottom:-24px;background:#fff;padding:12px 0 24px}
  .kc-tailoring-actions button{flex:1}
}
