.cl-checkout__main { display: grid; gap: 24px; }
.cl-recipient { min-width: 0; }
.cl-recipient__explain { margin: 16px 0 24px; padding-left: 14px; border-left: 3px solid var(--cl-yellow); color: var(--cl-ink); font-size: 16px; }
.cl-recipient__fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.cl-recipient__fieldset legend { font-weight: 700; margin-bottom: 12px; }
.cl-recipient__modes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.cl-recipient .cl-recipient__mode { margin: 0; display: flex; align-items: center; gap: 10px; border: 1px solid #bac8d0; border-radius: 6px; padding: 16px; min-height: 80px; cursor: pointer; }
.cl-recipient__mode.is-selected { border-color: var(--cl-blue); box-shadow: inset 0 0 0 1px var(--cl-blue); background: #f3f8fa; }
.cl-recipient__mode input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--cl-blue); }
.cl-recipient__mode strong { display: block; font-size: 15px; }
.cl-recipient__mode small { display: block; font-size: 12px; color: var(--cl-muted); margin-top: 4px; font-weight: 400; }
.cl-recipient__subtitle { margin-top: 28px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.cl-recipient h3 { font-size: 18px; font-weight: 700; line-height: 1.35; margin: 0; }
.cl-recipient__link { color: var(--cl-blue); text-decoration: underline; text-underline-offset: 3px; font-size: 13px; background: none; border: none; min-height: 44px; padding: 8px 0; }
.cl-recipient__book { margin: 10px 0 20px; border-bottom: 1px solid #dce3e6; padding-bottom: 12px; }
.cl-recipient__book summary { cursor: pointer; color: var(--cl-blue); font-size: 14px; padding: 10px 0; min-height: 44px; }
.cl-recipient__cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 14px; max-height: 340px; overflow-y: auto; }
.cl-recipient__person { text-align: left; border: 1px solid #cbd6db; background: #fff; border-radius: 6px; padding: 14px; overflow-wrap: anywhere; }
.cl-recipient__person strong,.cl-recipient__person span,.cl-recipient__person small { display: block; }
.cl-recipient__person strong { font-size: 14px; }.cl-recipient__person span,.cl-recipient__person small { font-size: 12px; }
.cl-recipient__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 16px; margin-top: 18px; }
.cl-recipient__field { min-width: 0; }.cl-recipient__field.is-wide { grid-column: 1/-1; }
.cl-recipient label { font-size: 14px; }
.cl-recipient__field input { display: block; width: 100%; min-width: 0; height: 50px; padding: 12px; border: 1px solid #aab9c2; border-radius: 6px; font-size: 16px; background: white; color: var(--cl-ink); }
.cl-recipient input:focus-visible { outline: 2px solid var(--cl-blue); outline-offset: 2px; }
.cl-recipient input[aria-invalid=true] { border-color: #a52422; }
.cl-recipient__error { font-size: 13px; color: #a52422; margin-top: 6px; }.cl-recipient__error:empty { display:none; }
.cl-recipient__notice { background: #fffbeb; border: 1px solid #ebdc9b; padding: 14px; border-radius: 6px; font-size: 14px; margin: 20px 0; }
.cl-recipient__location { background: #f4f8fa; border: 1px solid #dce5e9; border-radius: 6px; padding: 20px; margin-top: 20px; }
.cl-recipient__location .cl-checkout__eyebrow { margin: 0 0 8px; }
.cl-recipient__location address { font-style: normal; margin-top: 10px; font-size: 15px; }
.cl-recipient__location p:not(.cl-checkout__eyebrow) { font-size: 13px; margin-top: 8px; }
.cl-recipient__destination { margin-top: 28px; }
.cl-recipient__province { font-size: 14px; font-weight: 600; margin: 12px 0; }
.cl-recipient__saved { margin-top: 18px; padding: 16px; border-left: 3px solid var(--cl-blue); background: #f4f8fa; overflow-wrap: anywhere; font-size: 14px; }
.cl-recipient__saved p { margin-top: 5px; }
.cl-recipient__new { display: block; margin: 8px auto 0; }
.cl-recipient__draft-note { padding-top: 16px; border-top: 1px solid #e2e8eb; margin-top: 22px; font-size: 12px; color: var(--cl-muted); }
.cl-recipient__warning { padding: 15px; border: 1px solid #dbbcbc; background: #fff4f4; border-radius: 6px; font-size: 14px; }
@media (max-width: 600px) { .cl-recipient__modes,.cl-recipient__fields,.cl-recipient__cards { grid-template-columns: minmax(0,1fr); }.cl-recipient__subtitle { display:block; }.cl-recipient__mode { min-height: 68px; }.cl-recipient__location { padding:16px; } }
