.shop-pickup-details { border: 1px solid var(--journey-line, var(--line)); border-radius: 10px; padding: 16px; margin: 18px 0; min-width: 0; }
.shop-pickup-details legend { font-weight: 750; padding-inline: 4px; }
.shop-pickup-details p, .shop-pickup-consent { font-size: 1rem; line-height: 1.5; }
.shop-pickup-details > label:not(.shop-pickup-consent) { display: grid; gap: 8px; font-weight: 650; }
.shop-pickup-details textarea { box-sizing: border-box; width: 100%; min-height: 90px; padding: 10px; font: inherit; font-size: 1rem; border: 1px solid #9fa8ac; border-radius: 6px; resize: vertical; }
.shop-pickup-details small { display: block; margin-top: 8px; line-height: 1.5; color: var(--journey-muted, var(--muted)); }
.shop-pickup-consent { display: flex; align-items: flex-start; gap: 12px; margin-top: 18px; cursor: pointer; }
.shop-pickup-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 3px; }
.shop-pickup-consent span { min-width: 0; font-weight: 400; }
.shop-pickup-consent input { padding: 0; min-height: 20px; }
.shop-pickup-details[hidden], .reservation-payment-choice[hidden], .reservation-no-show-notice[hidden] { display: none; }
.shop-pickup-details :focus-visible { outline: 2px solid #a8332e; outline-offset: 3px; }
.shop-address-search { margin-bottom: 20px; }
.shop-address-search[hidden], .shop-address-results[hidden] { display: none; }
.shop-address-search > label { display: block; margin-bottom: 8px; font-weight: 650; }
.shop-address-search > input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; font: inherit; font-size: 1rem; }
.shop-address-results { list-style: none; margin: 10px 0 0; padding: 0; max-height: 17rem; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--journey-line, var(--line)); border-radius: 6px; background: #fff; }
.shop-address-results li + li { border-top: 1px solid var(--journey-line, var(--line)); }
.shop-address-results button { display: grid; gap: 4px; width: 100%; min-height: 52px; margin: 0; padding: 12px; border: 0; border-radius: 0; background: transparent; color: var(--journey-ink, var(--ink)); font: inherit; font-size: 1rem; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.shop-address-results button:hover, .shop-address-results button[aria-selected="true"] { background: var(--journey-paper); outline: 2px solid var(--journey-red); outline-offset: -2px; }
.shop-address-results button span { color: var(--journey-muted, var(--muted)); font-weight: 400; }
.shop-address-search #pickup-search-status:empty { display: none; }
.shop-address-credit a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
