.hd-files { position:relative; border:1px solid transparent; border-radius:10px; padding:10px; transition:border-color .18s,background-color .18s; }
.hd-files.hd-files--dragover { border-color:#087bb4; background:rgba(8,123,180,.09); }
.hd-image-paste-hint { display:block; margin:8px 0; }
.hd-pending-image { width:64px; height:48px; flex-shrink:0; object-fit:contain; border-radius:5px; background:#fff; }
.hd-attachments .hd-attachment-item { display:flex; flex-direction:column; gap:8px; min-width:0; max-width:260px; }
.hd-attachments .hd-attachment-item>a { overflow-wrap:anywhere; }
.hd-image-preview { display:block; padding:0; border:1px solid #a9c2ce; border-radius:8px; overflow:hidden; background:#fff; cursor:zoom-in; }
.hd-image-preview img { display:block; width:100%; max-height:190px; object-fit:contain; }
.hd-image-dialog { width:min(960px,92vw); max-width:92vw; max-height:90vh; padding:16px; border:1px solid #a9c2ce; border-radius:12px; background:var(--surface,#fff); color:var(--text,#16283c); }
.hd-image-dialog::backdrop { background:rgba(8,20,30,.72); }
.hd-image-dialog header { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:12px; }
.hd-image-dialog header strong { overflow-wrap:anywhere; min-width:0; }
.hd-image-dialog header button { font-size:26px; min-width:36px; min-height:36px; cursor:pointer; }
.hd-image-dialog>img { display:block; max-width:100%; max-height:calc(90vh - 130px); margin:0 auto 12px; object-fit:contain; }
.hd-image-preview:focus-visible,.hd-image-dialog a:focus-visible { outline:2px solid #087bb4; outline-offset:3px; }
@media(prefers-reduced-motion:reduce){.hd-files{transition:none}}

.checkout-additional-service { min-width:0; margin:24px 0; }
.checkout-service-fields { min-width:0; margin:0; border:0; }
.checkout-service-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.checkout-service-option { position:relative; display:flex; min-width:0; min-height:64px; align-items:center; justify-content:center; gap:8px; padding:14px 12px; border:1px solid #a9c5d4; border-radius:6px; color:#173745; background:#fff; cursor:pointer; text-align:center; transition:background-color .18s,border-color .18s,color .18s; }
.checkout-service-option input { position:absolute; width:1px; height:1px; opacity:0; }
.checkout-service-option span { font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.checkout-service-option:hover { background:#edf5f8; border-color:#086e98; }
.checkout-service-option.is-selected,.checkout-service-option.is-selected:hover { color:#fff; background:#086e98; border-color:#086e98; }
.checkout-service-option:focus-within { outline:2px solid #086e98; outline-offset:3px; }
.checkout-service-fields>p { margin:16px 0 0; font-size:14px; line-height:1.55; }
.nxtg-order-service strong { display:block; margin-top:8px; }
@media(max-width:550px){.checkout-service-options{grid-template-columns:1fr}.checkout-service-option{min-height:52px}}
@media(prefers-reduced-motion:reduce){.checkout-service-option{transition:none}}

/* Shared terminal picker: a bounded panel anchored below its trigger. */
.store-shell .checkout-card:has(.parcel-terminal-select) { overflow:visible; position:relative; z-index:2; }
.store-shell .parcel-terminal-field { min-width:0; gap:6px; }
.store-shell .parcel-terminal-select { position:relative; width:100%; min-width:0; }
.store-shell .parcel-terminal-select__trigger {
  box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:16px;
  width:100%; min-width:0; min-height:54px; padding:14px 16px; border:1px solid var(--color-line,#dde5e8);
  border-radius:5px; background:#fff; color:var(--color-text,#173745); font:inherit; line-height:1.5;
  text-align:left; cursor:pointer; transition:border-color .18s,box-shadow .18s; transform:none;
}
.store-shell .parcel-terminal-select__value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.store-shell .parcel-terminal-select__trigger svg { flex:0 0 16px; transition:transform .18s; }
.store-shell .parcel-terminal-select__trigger[aria-expanded=true] svg { transform:rotate(180deg); }
.store-shell .parcel-terminal-select__trigger:hover { border-color:var(--color-accent-primary,#086e98); }
.store-shell .checkout-page .parcel-terminal-select__trigger:focus-visible {
  outline:none; border-color:var(--color-accent-primary,#086e98); box-shadow:0 0 0 2px rgb(8 110 152 / 14%);
}
.store-shell .parcel-terminal-select__trigger[aria-invalid=true] { border-color:#d93025; }
.store-shell .parcel-terminal-select__menu {
  box-sizing:border-box; position:absolute; z-index:40; top:calc(100% + 6px); bottom:auto; left:0; right:0;
  width:100%; max-width:100%; max-height:min(304px,45vh); max-height:min(304px,45dvh);
  margin:0; padding:6px; overflow-y:auto; overscroll-behavior:contain; list-style:none;
  border:1px solid var(--color-line,#dde5e8); border-radius:8px; background:#fff;
  color:var(--color-text,#173745); box-shadow:0 8px 22px rgb(24 55 71 / 15%);
}
.store-shell .parcel-terminal-select__option {
  position:relative; box-sizing:border-box; display:flex; align-items:center; min-height:44px;
  padding:10px 12px; border-radius:4px; font:inherit; line-height:1.45; overflow-wrap:anywhere; cursor:pointer;
}
.store-shell .parcel-terminal-select__option.is-active { background:var(--color-accent-primary-soft,#edf5f8); color:var(--color-accent-primary,#086e98); }
.store-shell .parcel-terminal-select__option[aria-selected=true] { font-weight:600; }
/* Match the selected carrier without a separate stripe on delivery cards. */
.store-shell .checkout-page .checkout-option-grid:not(.checkout-option-grid--payment)>.checkout-option-card.is-active,
.store-shell .checkout-page .checkout-option-grid:not(.checkout-option-grid--payment)>.checkout-option-card.is-active:hover {
  border:1px solid var(--color-accent-primary,#086e98); box-shadow:inset 0 0 0 1px var(--color-accent-primary,#086e98); transform:none;
  background:var(--surface-accent,#edf5f8);
}
.store-shell .checkout-service-fields>#checkout-service-hint { text-align:center; }
/* Full brand-column width is available below the contact details. */
.store-shell .legacy-footer__brand { row-gap:18px; }
.store-shell .legacy-footer .legacy-footer__brand>.footer-payment-marks {
  grid-column:1/-1; display:flex; flex-wrap:nowrap; align-items:center;
  gap:clamp(12px,1.2vw,20px); width:min(100%,252px); max-width:100%; margin-top:8px;
}
.store-shell .legacy-footer .legacy-footer__brand>.footer-payment-marks>.footer-payment-mark { flex:0 1 48px; min-width:0; }
@media(prefers-reduced-motion:reduce){.store-shell .parcel-terminal-select__trigger,.store-shell .parcel-terminal-select__trigger svg{transition:none}}

/* Pointer clicks keep the selected service surface, without a focus frame. */
.store-shell .checkout-page .checkout-additional-service .checkout-service-option:focus-within:not(:has(input:focus-visible)) {
  outline:none;
  outline-offset:0;
}
/* Each customer-type button fills its complete half of the shared control. */
.store-shell .checkout-page .checkout-tabs[role=tablist] {
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:0;
  gap:0;
  overflow:hidden;
}
.store-shell .checkout-page .checkout-tabs[role=tablist]>.checkout-tabs__item {
  min-width:0;
  margin:0;
  border:0;
  border-radius:0;
  align-self:stretch;
  transform:none;
}
@media(max-width:480px) {
  .store-shell .checkout-page .checkout-tabs[role=tablist]>.checkout-tabs__item { padding-inline:8px; }
}
