.retail-checkout{--retail-accent:var(--color-pine,#1e4d3b);max-width:1100px;margin:36px auto;padding:24px;color:inherit;font:inherit;line-height:1.6}
.retail-checkout *{box-sizing:border-box;min-width:0}.retail-checkout h1{font-size:clamp(28px,5vw,42px);line-height:1.2;margin:0 0 16px}.retail-checkout h2{font-size:22px;margin:0 0 20px}
.retail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;margin-top:28px}.retail-grid>aside,.retail-grid>div{border:1px solid #8b958b66;border-radius:20px;padding:24px}
.retail-checkout label{display:block;margin:0 0 18px}.retail-checkout input:not([type=checkbox]),.retail-checkout select{display:block;width:100%;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid #8b958b;border-radius:8px;color:inherit;background:transparent;font:inherit}
.retail-checkout input:focus-visible,.retail-checkout select:focus-visible,.retail-checkout button:focus-visible{outline:3px solid var(--retail-accent);outline-offset:3px}
.retail-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.retail-checkout .retail-consent{display:flex;align-items:flex-start;gap:10px}.retail-consent input{margin-top:7px;flex:0 0 auto}
.retail-checkout button{min-height:44px;border:1px solid var(--retail-accent);padding:10px 18px;border-radius:8px;font:inherit;cursor:pointer;color:inherit;background:transparent}.retail-checkout button[type=submit]{background:var(--retail-accent);color:white}.retail-checkout button:disabled{cursor:not-allowed;opacity:.6}
.retail-checkout dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 18px;margin:24px 0}.retail-checkout dd{text-align:right;margin:0;overflow-wrap:anywhere}.retail-checkout p{margin:8px 0 18px;overflow-wrap:anywhere}.retail-line{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid #8b958b66}.retail-line input{max-width:96px}.retail-line button{margin-top:8px}.retail-checkout [hidden]{display:none!important}
[data-retail-review-panel]{scroll-margin-top:150px}[data-retail-review-panel] button{margin:6px 8px 6px 0}
@media(max-width:760px){.retail-checkout{padding:20px 12px}.retail-grid{grid-template-columns:minmax(0,1fr);gap:20px}.retail-grid>aside,.retail-grid>div{padding:20px}.retail-address-grid{grid-template-columns:minmax(0,1fr)}}
