/* RUN B2B Catalog V39.3 — Catalog stat color and alignment fix UAT */
:root {
  --run-navy-950: #020817;
  --run-navy-900: #06162d;
  --run-navy-800: #0b274b;
  --run-blue: #1269e8;
  --run-red: #ee2533;
  --run-green: #159b63;
  --run-line: #d7e2f1;
  --run-muted: #63748a;
}

.catalog-stats .catalog-stat-card {
  appearance: none;
  width: 100%;
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: default;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 124px;
  padding: 22px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
  border: 1px solid rgba(189, 215, 247, .24);
  box-shadow: 0 14px 30px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
}
.catalog-stats .catalog-stat-card span,
.catalog-stats .catalog-stat-card small { display:block; color:#c4d3e6; font-size:14px; }
.catalog-stats .catalog-stat-card strong { display:block; margin:5px 0; font-size:32px; line-height:1; color:#fff; font-weight:900; }
.catalog-stats .catalog-stat-card:first-child strong { color:#ff2525; text-shadow:0 0 18px rgba(230,0,0,.2); }
.catalog-stats .delivery-estimator-stat {
  cursor: pointer;
  position: relative;
  isolation: isolate;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.catalog-stats .delivery-estimator-stat::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  opacity: 0;
  background: linear-gradient(120deg, rgba(238,37,51,.22), rgba(18,105,232,.15));
  transition: opacity .2s ease;
}
.catalog-stats .delivery-estimator-stat:hover,
.catalog-stats .delivery-estimator-stat:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(255,83,94,.9);
  box-shadow: 0 18px 42px rgba(0,0,0,.24), 0 0 0 3px rgba(238,37,51,.12);
  outline: none;
}
.catalog-stats .delivery-estimator-stat:hover::after,
.catalog-stats .delivery-estimator-stat:focus-visible::after { opacity:1; }
.catalog-stats .catalog-stat-card .delivery-calculate-now {
  color: var(--run-red);
  font-size: 21px;
  letter-spacing: -.02em;
  text-shadow: 0 0 18px rgba(238,37,51,.18);
}
.catalog-stats .catalog-stat-card .delivery-calculate-now b {
  color: inherit;
  font-size: 19px;
}
.catalog-stats .catalog-stat-card .last-updated-value {
  display: inline-flex;
  align-items: baseline;
  gap: .24em;
  white-space: nowrap;
}
.catalog-stats .catalog-stat-card .last-updated-value .month-accent {
  display: inline;
  color: var(--run-red);
  font: inherit;
  text-shadow: 0 0 18px rgba(238,37,51,.18);
}
.catalog-stats .catalog-stat-card .last-updated-value .year-value {
  display: inline;
  color: #fff;
  font: inherit;
}
.catalog-stats .delivery-icon { font-size:30px; }

.drawer-cta-row.delivery-drawer-actions { grid-template-columns: 1fr 1fr; }
.drawer-cta.delivery-estimate-cta {
  border: 1px solid #1d6fe8;
  background: #fff;
  color: #0d55b4;
  cursor: pointer;
}
.drawer-cta.delivery-estimate-cta:hover { background:#edf5ff; }
.drawer-delivery-eligibility { margin:10px 0 0; color:#64748b; font-size:13px; line-height:1.45; }

body.delivery-estimator-lock { overflow:hidden; }
.delivery-estimator-overlay {
  position: fixed;
  inset: 0;
  z-index: 210;
  display: none;
  align-items: stretch;
  justify-content: center;
  padding: 14px;
  background: rgba(2, 8, 23, .76);
  backdrop-filter: blur(12px);
}
.delivery-estimator-overlay.open { display:flex; }
.delivery-estimator-modal {
  width: min(1180px, 100%);
  height: calc(100dvh - 28px);
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 28px;
  background: #f7f9fc;
  color: #07172b;
  border: 1px solid rgba(255,255,255,.38);
  box-shadow: 0 35px 110px rgba(0,0,0,.45);
}
.delivery-estimator-header {
  position: sticky;
  top: 0;
  z-index: 7;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 78px;
  padding: 14px 22px;
  color: #fff;
  background: linear-gradient(120deg, #06162d 0%, #0b2c55 58%, #07172b 100%);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.delivery-estimator-brand { display:flex; align-items:center; gap:14px; min-width:0; }
.delivery-estimator-brand img { width:58px; height:42px; object-fit:contain; border-radius:11px; background:#fff; padding:4px; }
.delivery-estimator-brand span { display:block; color:#8ec3ff; font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:900; }
.delivery-estimator-brand h2 { margin:3px 0 0; color:#fff; font-size:25px; line-height:1.05; letter-spacing:-.035em; }
.delivery-estimator-header-actions { display:flex; align-items:center; gap:10px; }
.delivery-estimator-close {
  border: 0;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-weight:850;
}
.delivery-estimator-close { width:44px; height:44px; border-radius:14px; background:rgba(255,255,255,.12); font-size:29px; line-height:1; }
.delivery-estimator-close:hover { filter:brightness(1.08); }

.delivery-estimator-progress {
  display:grid;
  grid-template-columns:auto minmax(30px,1fr) auto minmax(30px,1fr) auto;
  align-items:center;
  max-width:760px;
  margin:14px auto 2px;
  padding:0 24px;
}
.delivery-estimator-progress > div { display:flex; align-items:center; gap:9px; color:#8090a4; font-size:13px; }
.delivery-estimator-progress > div span { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; border:1px solid #b9c7d8; background:#fff; font-weight:900; }
.delivery-estimator-progress > div.active { color:#0e4ea4; }
.delivery-estimator-progress > div.active span { color:#fff; background:var(--run-blue); border-color:var(--run-blue); box-shadow:0 5px 15px rgba(18,105,232,.25); }
.delivery-estimator-progress i { height:2px; background:#d9e2ee; }
.delivery-estimator-progress i.active { background:var(--run-blue); }

.delivery-estimator-view { padding:14px 22px 22px; }
.delivery-estimator-loading { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#0b274b; }
.delivery-estimator-loading[hidden] { display:none; }
.delivery-loader { width:38px; height:38px; border-radius:50%; border:4px solid #dce9f9; border-top-color:var(--run-blue); animation:delivery-spin .8s linear infinite; }
@keyframes delivery-spin { to { transform:rotate(360deg); } }
.delivery-estimator-loading strong { margin-top:8px; font-size:19px; }
.delivery-estimator-loading small { color:var(--run-muted); }


.delivery-category-section,
.delivery-panel {
  margin-top:12px;
  border:1px solid #dbe5f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,49,83,.07);
}
.delivery-category-section { padding:13px 15px; }
.delivery-section-title { display:flex; align-items:center; gap:10px; }
.delivery-section-title > span { width:31px; height:31px; display:grid; place-items:center; border-radius:10px; color:#fff; background:var(--run-red); font-weight:900; box-shadow:0 6px 15px rgba(238,37,51,.22); }
.delivery-section-title h3 { margin:0; font-size:18px; letter-spacing:-.025em; }
.delivery-category-grid { display:flex; flex-wrap:wrap; gap:9px; margin-top:13px; }
.delivery-category-grid button {
  min-height:40px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid #ccd9e8;
  background:#f7f9fc;
  color:#203853;
  font-weight:850;
  cursor:pointer;
}
.delivery-category-grid button small { margin-left:6px; color:#718399; font-weight:750; }
.delivery-category-grid button.active { color:#fff; background:linear-gradient(120deg,#ea2635,#c91526); border-color:#e32031; box-shadow:0 8px 20px rgba(226,31,48,.18); }
.delivery-category-grid button.active small { color:#ffe4e7; }

.delivery-input-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:16px; }
.delivery-panel { padding:16px; }
.delivery-field { display:block; position:relative; min-width:0; }
.delivery-field > span { display:block; margin-bottom:7px; color:#40546b; font-size:11px; text-transform:uppercase; letter-spacing:.06em; font-weight:900; }
.delivery-field input,
.delivery-field select,
.delivery-field textarea {
  width:100%;
  box-sizing:border-box;
  min-height:46px;
  padding:0 13px;
  border:1px solid #cad7e6;
  border-radius:12px;
  background:#f9fbfe;
  color:#0b1f37;
  font:inherit;
  font-size:14px;
  outline:none;
}
.delivery-field textarea { padding:12px 13px; resize:vertical; }
.delivery-field input:focus,
.delivery-field select:focus,
.delivery-field textarea:focus { border-color:#4f94ed; box-shadow:0 0 0 3px rgba(18,105,232,.12); background:#fff; }
.delivery-field input[readonly] { color:#132e4e; background:#eef4fb; font-weight:850; }
.delivery-field select:disabled { opacity:.62; cursor:not-allowed; }
.delivery-search-field { margin-top:16px; }
.delivery-suggest {
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 5px);
  z-index:12;
  display:none;
  max-height:270px;
  overflow:auto;
  border-radius:14px;
  border:1px solid #cbd9e8;
  background:#fff;
  box-shadow:0 18px 45px rgba(6,29,58,.2);
}
.delivery-suggest.open { display:block; }
.delivery-suggest button { width:100%; padding:11px 13px; border:0; border-bottom:1px solid #edf1f6; background:#fff; text-align:left; cursor:pointer; }
.delivery-suggest button:hover { background:#edf5ff; }
.delivery-suggest strong { display:block; color:#0b1f37; font-size:13px; }
.delivery-suggest small { display:block; margin-top:3px; color:#687b91; font-size:11px; }
.delivery-suggest-empty { padding:15px; color:#6a7c90; font-size:13px; }

.delivery-selected-product {
  margin-top:11px;
  padding:14px;
  border:1px dashed #a9bdd3;
  border-radius:15px;
  background:#f5f9fe;
  color:#233b57;
}
.delivery-selected-product.empty { color:#6a7d92; }
.delivery-selected-product strong { display:block; color:#07172b; line-height:1.35; }
.delivery-selected-product span { display:block; margin-top:5px; color:#5b7088; font-size:12px; }
.delivery-selected-product .delivery-product-price { color:#d91f30; font-size:16px; font-weight:900; }
.delivery-product-controls { display:grid; grid-template-columns:.75fr 1.25fr; gap:12px; margin-top:14px; }
.delivery-qty-control { display:grid; grid-template-columns:42px minmax(50px,1fr) 42px; }
.delivery-qty-control button,
.delivery-qty-control input { min-height:46px; border:1px solid #cad7e6; background:#fff; color:#0b1f37; font:inherit; font-weight:900; text-align:center; }
.delivery-qty-control button { cursor:pointer; }
.delivery-qty-control button:first-child { border-radius:12px 0 0 12px; }
.delivery-qty-control button:last-child { border-radius:0 12px 12px 0; }
.delivery-qty-control input { min-width:0; padding:0; border-left:0; border-right:0; border-radius:0; }
.delivery-qty-control input::-webkit-inner-spin-button { appearance:none; }

.delivery-destination-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.delivery-packing-field { margin-top:12px; }
.delivery-estimator-error { margin:16px 0 0; padding:13px 15px; border-radius:13px; border:1px solid #f6b4ba; background:#fff0f1; color:#9e1723; font-weight:750; }
.delivery-calculate-btn {
  width:100%;
  min-height:54px;
  margin-top:13px;
  border:0;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(120deg,#f02f3c,#d51425);
  font:inherit;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 13px 28px rgba(222,24,42,.22);
}
.delivery-calculate-btn:hover { filter:brightness(1.04); }
.delivery-calculate-btn:disabled { cursor:wait; opacity:.7; }
.delivery-estimate-note { margin:9px 0 0; text-align:center; color:#697c91; font-size:12px; }

.delivery-result-view[hidden],
.delivery-estimator-view[hidden] { display:none; }
.delivery-result-heading { display:flex; align-items:center; gap:13px; }
.delivery-result-heading h3 { color:#07172b; }
.delivery-result-back { width:44px; height:44px; border:1px solid #cbd8e6; border-radius:14px; background:#fff; color:#0b3768; font-size:22px; cursor:pointer; }
.delivery-result-summary { margin-top:18px; padding:18px; border:1px solid #d8e2ee; border-radius:18px; background:#fff; }
.delivery-result-summary h4,
.delivery-service-title h4 { margin:0; font-size:17px; }
.delivery-summary-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:12px; border:1px solid #e1e8f0; border-radius:14px; overflow:hidden; }
.delivery-summary-grid > div { padding:14px; }
.delivery-summary-grid > div + div { border-left:1px solid #e1e8f0; }
.delivery-summary-grid span { display:block; color:#6b7e93; font-size:11px; text-transform:uppercase; letter-spacing:.06em; font-weight:850; }
.delivery-summary-grid strong { display:block; margin-top:5px; font-size:14px; line-height:1.4; }
.delivery-summary-grid small { display:block; margin-top:4px; color:#64778d; }
.delivery-result-summary > p { margin:12px 0 0; text-align:center; color:#176646; font-size:12px; font-weight:800; }
.delivery-service-section { margin-top:18px; }
.delivery-service-title p { margin:5px 0 0; color:#6a7d92; font-size:12px; }
.delivery-service-cards { display:grid; gap:12px; margin-top:13px; }
.delivery-service-card {
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  min-height:104px;
  padding:15px;
  border:1px solid #cfddec;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 24px rgba(13,47,83,.06);
}
.delivery-service-card .service-icon { width:53px; height:53px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:24px; font-weight:900; }
.delivery-service-card.express .service-icon { background:linear-gradient(135deg,#fa3442,#cf1324); }
.delivery-service-card.air .service-icon { background:linear-gradient(135deg,#2479e8,#104a9c); }
.delivery-service-card.cargo .service-icon { background:linear-gradient(135deg,#20a86c,#087c4a); }
.delivery-service-card h5 { margin:0; font-size:19px; }
.delivery-service-card .service-badge { display:inline-block; margin-left:7px; padding:3px 7px; border-radius:999px; color:#fff; background:var(--run-red); font-size:9px; text-transform:uppercase; letter-spacing:.06em; vertical-align:middle; }
.delivery-service-card .service-sla { display:block; margin-top:6px; color:#354b64; font-size:13px; }
.delivery-service-card .service-insurance { display:block; margin-top:8px; color:#13734d; font-size:12px; font-weight:800; }
.delivery-service-card .service-price { min-width:160px; text-align:right; font-size:24px; line-height:1.1; font-weight:950; color:#07172b; letter-spacing:-.035em; }
.delivery-service-card.unavailable { background:#f4f6f9; border-style:dashed; box-shadow:none; }
.delivery-service-card.unavailable .service-icon { background:#9aa9b9; }
.delivery-service-card.unavailable .service-price { max-width:245px; color:#687b90; font-size:14px; line-height:1.4; }
.delivery-result-disclaimer { display:flex; gap:11px; align-items:flex-start; margin-top:18px; padding:14px; border:1px solid #b8d3f6; border-radius:14px; background:#edf5ff; color:#24588e; }
.delivery-result-disclaimer > span { flex:0 0 auto; width:23px; height:23px; display:grid; place-items:center; border:2px solid #1e6bd2; border-radius:50%; font-weight:900; }
.delivery-result-disclaimer p { margin:0; font-size:12px; line-height:1.55; }
.delivery-result-actions { display:grid; grid-template-columns:1fr 1.25fr; gap:12px; margin-top:18px; }
.delivery-result-actions button,
.delivery-result-actions a { min-height:50px; display:flex; align-items:center; justify-content:center; border-radius:13px; font:inherit; font-weight:900; text-decoration:none; cursor:pointer; }
.delivery-secondary-action { border:1px solid #1c64c5; color:#1253a7; background:#fff; }
.delivery-primary-action { border:1px solid var(--run-red); color:#fff; background:linear-gradient(120deg,#f02f3c,#d51425); }
.delivery-toast { position:sticky; bottom:16px; margin:12px auto 0; width:max-content; max-width:100%; padding:10px 14px; border-radius:999px; background:#09294d; color:#fff; font-size:12px; font-weight:800; box-shadow:0 10px 30px rgba(0,0,0,.22); }
.delivery-toast[hidden] { display:none; }



/* V39.2 one-page estimator: remove duplicate intro and optimize vertical space. */
@media (min-width: 1101px) and (min-height: 700px) {
  .delivery-estimator-modal { overflow-y:auto; }
  .delivery-estimator-header { min-height:68px; padding:10px 20px; }
  .delivery-estimator-brand img { width:52px; height:38px; }
  .delivery-estimator-brand h2 { font-size:23px; }
  .delivery-estimator-progress { margin-top:12px; }
  .delivery-category-grid { margin-top:9px; }
  .delivery-search-field { margin-top:12px; }
  .delivery-selected-product { margin-top:9px; padding:11px 13px; }
  .delivery-product-controls { margin-top:10px; }
  .delivery-destination-grid { margin-top:9px; gap:9px; }
  .delivery-packing-field { margin-top:9px; }
  .delivery-calculate-btn { min-height:50px; }
}
@media (max-width: 1100px) {
  .catalog-stats .catalog-stat-card { min-height:110px; }
  .delivery-input-layout { grid-template-columns:1fr; }
}

@media (max-width: 700px) {
  .catalog-stats .catalog-stat-card { grid-template-columns:62px minmax(0,1fr); gap:14px; min-height:100px; padding:16px; border-radius:18px; }
  .catalog-stats .catalog-stat-card .stat-icon { width:58px; height:58px; }
  .catalog-stats .catalog-stat-card strong { font-size:25px; }
  .catalog-stats .catalog-stat-card .delivery-calculate-now { font-size:19px; }
  .drawer-cta-row.delivery-drawer-actions { grid-template-columns:1fr; }

  .delivery-estimator-overlay { padding:0; background:#f7f9fc; }
  .delivery-estimator-modal { width:100%; height:100dvh; border:0; border-radius:0; box-shadow:none; }
  .delivery-estimator-header { min-height:62px; padding:10px 12px; padding-top:max(10px, env(safe-area-inset-top)); }
  .delivery-estimator-brand img { width:45px; height:34px; }
  .delivery-estimator-brand span { display:none; }
  .delivery-estimator-brand h2 { font-size:18px; }
  .delivery-estimator-close { width:42px; height:42px; }
  .delivery-estimator-progress { margin:15px auto 0; padding:0 14px; }
  .delivery-estimator-progress > div { flex-direction:column; gap:4px; text-align:center; font-size:10px; }
  .delivery-estimator-progress > div span { width:25px; height:25px; }
  .delivery-estimator-view { padding:14px 12px 22px; padding-bottom:max(22px, env(safe-area-inset-bottom)); }
  .delivery-category-section,
  .delivery-panel { border-radius:18px; }
  /* V40.8 mobile parity: all five categories remain visible without horizontal scrolling. */
  .delivery-category-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    overflow:visible;
    padding-bottom:0;
    scroll-snap-type:none;
  }
  .delivery-category-grid button {
    width:100%;
    min-width:0;
    min-height:46px;
    padding:8px 7px;
    white-space:normal;
    line-height:1.15;
    text-align:center;
    font-size:11px;
  }
  .delivery-category-grid button small {
    display:inline;
    margin-left:3px;
    font-size:9px;
    white-space:nowrap;
  }
  .delivery-category-grid button:nth-child(5) { grid-column:1 / -1; }
  .delivery-panel { padding:15px; }
  .delivery-section-title h3 { font-size:16px; }
  .delivery-product-controls,
  .delivery-destination-grid { grid-template-columns:1fr; }
  .delivery-summary-grid { grid-template-columns:1fr; }
  .delivery-summary-grid > div + div { border-left:0; border-top:1px solid #e1e8f0; }
  .delivery-service-card { grid-template-columns:48px minmax(0,1fr); min-height:0; padding:14px; }
  .delivery-service-card .service-icon { width:45px; height:45px; font-size:21px; }
  .delivery-service-card .service-price { grid-column:2; min-width:0; text-align:left; margin-top:5px; font-size:22px; }
  .delivery-service-card.unavailable .service-price { font-size:13px; }
  .delivery-result-actions { grid-template-columns:1fr; }
}


/* V40.8 MOBILE UX FREEZE CANDIDATE LOCK */
@media (max-width: 700px) {
  #deliveryProductSuggest:not(.open) { display:none !important; }
}

/* V40.9 VERIFIED EMAIL + PASSKEY ACCESS GATE */
.delivery-access-overlay {
  position:fixed; inset:0; z-index:10020; display:none; align-items:center; justify-content:center;
  padding:20px; background:rgba(4,22,43,.72); backdrop-filter:blur(7px);
}
.delivery-access-overlay.open { display:flex; }
.delivery-access-card {
  width:min(520px,100%); max-height:min(760px,calc(100dvh - 32px)); overflow:auto;
  border:1px solid #d8e2ed; border-radius:22px; background:#fff; box-shadow:0 28px 80px rgba(1,20,42,.38);
}
.delivery-access-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:22px 24px 14px; }
.delivery-access-header span { display:block; margin-bottom:5px; color:#d7192d; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.delivery-access-header h3 { margin:0; color:#0a294d; font-size:24px; line-height:1.2; }
.delivery-access-close { width:40px; height:40px; flex:0 0 auto; border:0; border-radius:50%; background:#edf2f7; color:#173d64; font-size:25px; cursor:pointer; }
.delivery-access-body { padding:0 24px 24px; }
.delivery-access-intro { margin:0 0 18px; color:#526b82; font-size:14px; line-height:1.55; }
.delivery-access-field { display:grid; gap:7px; margin-top:13px; }
.delivery-access-field span { color:#294b6d; font-size:12px; font-weight:850; }
.delivery-access-field input { min-height:48px; box-sizing:border-box; border:1px solid #cbd8e5; border-radius:12px; padding:0 13px; color:#0d2947; font:inherit; outline:none; }
.delivery-access-field input:focus { border-color:#347fd8; box-shadow:0 0 0 3px rgba(52,127,216,.13); }
.delivery-access-otp { text-align:center; letter-spacing:.45em; font-size:24px !important; font-weight:900; }
.delivery-turnstile { min-height:65px; margin-top:14px; }
.delivery-access-primary,.delivery-access-secondary,.delivery-access-link {
  width:100%; min-height:48px; margin-top:12px; border-radius:12px; font:inherit; font-weight:900; cursor:pointer;
}
.delivery-access-primary { border:1px solid #d7192d; background:linear-gradient(120deg,#ef3340,#d7192d); color:#fff; }
.delivery-access-secondary { border:1px solid #1b65b9; background:#fff; color:#1558a3; }
.delivery-access-link { min-height:38px; border:0; background:transparent; color:#316b9f; font-size:12px; }
.delivery-access-divider { display:flex; align-items:center; gap:10px; margin:15px 0 2px; color:#8b9bab; font-size:11px; font-weight:800; text-transform:uppercase; }
.delivery-access-divider::before,.delivery-access-divider::after { content:""; flex:1; height:1px; background:#e2e9f0; }
.delivery-access-error { margin-top:12px; padding:11px 12px; border:1px solid #f0b9bf; border-radius:11px; background:#fff2f3; color:#a31625; font-size:12px; line-height:1.45; }
.delivery-access-busy { margin:12px 0 0; text-align:center; color:#315c86; font-size:12px; font-weight:800; }
.delivery-access-privacy { margin:14px 0 0; color:#718398; font-size:10.5px; line-height:1.5; }
.delivery-access-otp-help {
  margin:12px 0 0;
  padding:10px 12px;
  border:1px solid #f1c3c8;
  border-radius:10px;
  background:#fff6f7;
  color:#b51224;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}
.delivery-access-otp-help strong { font-weight:900; }
.delivery-access-success { padding:18px; border:1px solid #bcdcc8; border-radius:16px; background:#f0fbf4; text-align:center; }
.delivery-access-success strong { display:block; color:#126634; font-size:18px; }
.delivery-access-success p { margin:8px 0 0; color:#436452; font-size:13px; line-height:1.5; }
@media (max-width:700px) {
  .delivery-access-overlay { padding:0; align-items:flex-end; }
  .delivery-access-card { width:100%; max-height:92dvh; border-radius:22px 22px 0 0; }
  .delivery-access-header { padding:20px 18px 13px; }
  .delivery-access-header h3 { font-size:21px; }
  .delivery-access-body { padding:0 18px max(22px,env(safe-area-inset-bottom)); }
}

/* V40.9.3 passkey cross-device guidance */
.delivery-access-passkey-hint {
  margin: 8px 2px 0;
  color: #6b7f95;
  font-size: 10.5px;
  line-height: 1.45;
  text-align: center;
}


/* =========================================================
   V40.9.3.2 PRODUCT SEARCH PRESENTATION LOCK
   Calculator product search uses an inline selectable result list,
   never a floating dropdown. Location suggestions remain unchanged.
========================================================= */
#deliveryProductSuggest.delivery-product-inline-results {
  position: static;
  inset: auto;
  z-index: auto;
  width: 100%;
  margin-top: 8px;
  max-height: 284px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid #cbd9e8;
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
  overscroll-behavior: contain;
}
#deliveryProductSuggest.delivery-product-inline-results.open { display: block; }
#deliveryProductSuggest.delivery-product-inline-results:not(.open) { display: none !important; }
#deliveryProductSuggest .delivery-inline-results-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  border-bottom: 1px solid #e4edf6;
  background: #f6f9fd;
  color: #284662;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
#deliveryProductSuggest .delivery-inline-results-head span {
  color: #71859a;
  font-weight: 750;
  text-transform: none;
  letter-spacing: 0;
}
#deliveryProductSuggest.delivery-product-inline-results button {
  min-height: 56px;
  padding: 11px 13px;
}
@media (max-width: 700px) {
  #deliveryProductSuggest.delivery-product-inline-results {
    max-height: min(310px, 38dvh);
    margin-top: 7px;
    -webkit-overflow-scrolling: touch;
  }
  #deliveryProductSuggest.delivery-product-inline-results button {
    min-height: 58px;
    padding: 12px;
  }
  #deliveryProductSuggest.delivery-product-inline-results strong { font-size: 12.5px; }
  #deliveryProductSuggest.delivery-product-inline-results small { font-size: 10.5px; }
}

#deliveryDeclaredValueField small{display:block;margin-top:5px;color:#667085;font-size:11px}#deliveryDeclaredValue{font-weight:700}
