.ksm-online-root{max-width:1040px;margin:32px auto;font-family:Pretendard,sans-serif;line-height:1.6}
.ksm-online-root .ksm-card{padding:32px;border:1px solid var(--ksm-border);border-radius:10px;background:#fff}
.ksm-online-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.ksm-online-grid>*{min-width:0}
.ksm-online-root label.ksm-field{display:flex;flex-direction:column;gap:8px;font-weight:600}.ksm-online-root .ksm-input{width:100%}
.ksm-online-root fieldset{border:1px solid var(--ksm-border);padding:16px;margin:24px 0}.ksm-online-root legend{font-weight:700;padding:0 8px}
.ksm-online-root .ksm-online-message{color:var(--ksm-primary);overflow-wrap:anywhere}.ksm-online-result-details{overflow-wrap:anywhere}.ksm-online-root .ksm-btn:disabled{opacity:.6;cursor:wait}
.ksm-online-root button,.ksm-online-root input{min-height:44px}.ksm-online-root input[type=checkbox]{min-height:0;accent-color:var(--ksm-primary)}
@media(max-width:767px){.ksm-online-root{margin:20px 0}.ksm-online-root .ksm-card{padding:20px 16px}.ksm-online-grid{grid-template-columns:minmax(0,1fr)}}

.ksm-online-root .ksm-postcode-actions{margin:20px 0 12px}
.ksm-online-root .ksm-postcode-panel[hidden]{display:none!important}
.ksm-online-root .ksm-postcode-panel{width:100%;min-width:0;margin:12px 0;border:1px solid var(--ksm-border,#e2e8f0);border-radius:8px;overflow:hidden}
.ksm-online-root .ksm-postcode-close{margin:8px}
.ksm-online-root .ksm-postcode-embed{width:100%;height:420px;min-width:0}
.ksm-online-root .ksm-postcode-embed iframe{max-width:100%}
.ksm-online-root .ksm-postcode-message{font-size:14px;color:var(--ksm-primary,#00276b);overflow-wrap:anywhere}
.ksm-online-root .ksm-postcode-message:empty{display:none}
.ksm-online-root .ksm-shipping-address-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;width:100%;align-items:end}
.ksm-online-root .ksm-shipping-address-row>*{min-width:0}
.ksm-online-root .ksm-shipping-detail{margin-top:16px;width:100%}
@media(max-width:767px){.ksm-online-root .ksm-shipping-address-row{grid-template-columns:82px minmax(0,1fr);gap:10px}.ksm-online-root input[name=postcode]{padding-left:8px;padding-right:8px}}
