:root{
  /* New BH Herbal palette (navy/indigo + lime green) mapped onto the v2 tokens */
  --bh-green:#2A3A8C; --bh-teal:#5E9E27; --bh-clay:#5E9E27; --bh-buy:#5E9E27;
  --bh-cream:#F4F6FC; --bh-wash:#EEF2FB; --bh-line:#E3E8F5; --bh-text:#1E2747;
}
/* =====================================================================
   BH Herbal — Address Book UI (My Account + Checkout selector)
   ===================================================================== */

/* -------- My Account -------- */
.bh-ab-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.bh-ab-head h3{ margin:0; color:var(--bh-green,#2A3A8C); }
.bh-ab .button.bh-ab-add{ background:var(--bh-green,#2A3A8C); color:#fff; border:none; border-radius:8px; padding:10px 18px; font-weight:600; }
.bh-ab .button.bh-ab-add:hover{ background:var(--bh-teal,#5E9E27); }
.bh-ab-empty{ color:#6b7680; }

.bh-ab-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.bh-ab-card{ position:relative; border:1px solid var(--bh-line,#E3E8F5); border-radius:12px; padding:18px; background:#fff; }
.bh-ab-card:hover{ box-shadow:0 8px 22px rgba(42,58,140,.10); }
.bh-ab-badges{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; min-height:4px; }
.bh-ab-badge{ font-size:.68rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; padding:3px 8px; border-radius:99px; }
.bh-ab-badge.ship{ background:#E7ECF8; color:var(--bh-green,#2A3A8C); }
.bh-ab-badge.bill{ background:#EAF4DA; color:var(--bh-teal,#5E9E27); }
.bh-ab-label{ font-weight:700; color:var(--bh-clay,#5E9E27); margin-bottom:2px; }
.bh-ab-name{ font-weight:700; color:var(--bh-text,#1E2747); }
.bh-ab-lines{ color:#3a3a3a; font-size:.92rem; line-height:1.5; margin-top:4px; }
.bh-ab-card-actions{ margin-top:12px; display:flex; gap:14px; }
.bh-ab-card-actions button{ background:none; border:none; padding:0; cursor:pointer; font-weight:600; font-size:.9rem; }
.bh-ab-edit{ color:var(--bh-green,#2A3A8C); }
.bh-ab-del{ color:var(--bh-buy,#5E9E27); }

/* -------- Add / edit form -------- */
.bh-ab-form{ margin-top:24px; border:1px solid var(--bh-line,#E3E8F5); border-radius:12px; padding:22px; background:var(--bh-cream,#F4F6FC); max-width:560px; }
.bh-ab-form h4{ margin:0 0 14px; color:var(--bh-green,#2A3A8C); }
.bh-ab-field{ margin:0 0 12px; }
.bh-ab-field label{ display:block; font-weight:600; margin-bottom:5px; color:var(--bh-text,#1E2747); font-size:.9rem; }
.bh-ab-field .bh-ab-input{ width:100%; border:1px solid var(--bh-line,#E3E8F5); border-radius:8px; padding:11px 13px; }
.bh-ab-checks{ display:flex; gap:18px; flex-wrap:wrap; margin:6px 0 14px; }
.bh-ab-checks label{ font-weight:600; font-size:.9rem; }
.bh-ab-actions{ display:flex; align-items:center; gap:14px; }
.bh-ab-actions .bh-ab-save{ background:var(--bh-buy,#5E9E27); color:#fff; border:none; border-radius:8px; padding:12px 24px; font-weight:700; }
.bh-ab-actions .bh-ab-save:hover{ background:var(--bh-green,#2A3A8C); }
.bh-ab-cancel{ background:none; border:none; color:#6b7680; text-decoration:underline; cursor:pointer; }

/* -------- Checkout selector -------- */
.bh-ab-pick{ margin:0 0 20px; }
.bh-ab-pick-title{ font-weight:700; color:var(--bh-green,#2A3A8C); margin-bottom:10px; }
.bh-ab-pick-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.bh-ab-pick-card{ text-align:left; cursor:pointer; border:1.5px solid var(--bh-line,#E3E8F5); border-radius:10px;
  padding:14px; background:#fff; transition:border-color .15s, box-shadow .15s; display:flex; flex-direction:column; gap:4px; }
.bh-ab-pick-card:hover{ border-color:var(--bh-teal,#5E9E27); }
.bh-ab-pick-card.selected{ border-color:var(--bh-green,#2A3A8C); box-shadow:0 0 0 3px rgba(42,58,140,.12); }
.bh-ab-pick-card{ position:relative; }
.bh-ab-pick-card.is-default::after{ content:"Default"; position:absolute; top:8px; right:8px; font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--bh-green,#2A3A8C); background:#E7ECF8; padding:2px 7px; border-radius:99px; }
.bh-ab-pick-name{ font-weight:700; color:var(--bh-text,#1E2747); }
.bh-ab-pick-sub{ font-size:.86rem; color:#3a3a3a; line-height:1.45; }
.bh-ab-pick-new{ align-items:center; justify-content:center; text-align:center; color:var(--bh-green,#2A3A8C); font-weight:700; border-style:dashed; }

@media (max-width:600px){
  .bh-ab-list,.bh-ab-pick-cards{ grid-template-columns:1fr; }
}

/* =====================================================================
   Collapsed checkout selector — current address chip + Change + default
   ===================================================================== */
.bh-ab-pick{ margin:0 0 20px; }
.bh-ab-current{ display:flex; align-items:center; justify-content:space-between; gap:12px;
  border:1px solid var(--bh-line,#E3E8F5); border-radius:12px; padding:14px 16px; background:#fff; }
.bh-ab-current-eyebrow{ display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--bh-teal,#5E9E27); font-weight:700; margin-bottom:3px; }
.bh-ab-current-text strong{ display:block; color:var(--bh-text,#1E2747); }
.bh-ab-current-text span{ color:#3a3a3a; font-size:.9rem; }
.bh-ab-change{ flex:none; background:#fff; border:1.5px solid var(--bh-green,#2A3A8C); color:var(--bh-green,#2A3A8C);
  border-radius:8px; padding:8px 16px; font-weight:600; cursor:pointer; transition:background .15s,color .15s; }
.bh-ab-change:hover{ background:var(--bh-green,#2A3A8C); color:#fff; }
.bh-ab-defcheck{ display:inline-flex; align-items:center; gap:7px; margin:10px 2px 0; font-size:.88rem; color:var(--bh-text,#1E2747); }
.bh-ab-panel{ margin-top:12px; max-height:300px; overflow:auto; padding:8px;
  border:1px solid var(--bh-line,#E3E8F5); border-radius:12px; background:var(--bh-cream,#F4F6FC); }

@media (max-width:600px){
  .bh-ab-current{ flex-direction:column; align-items:flex-start; }
  .bh-ab-change{ width:100%; }
  .bh-ab-panel{ max-height:340px; }
}

/* ---- My Account: default billing/shipping sections + set-default ---- */
.bh-ab-defaults{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:8px 0 26px; }
.bh-ab-default-col h4{ margin:0 0 10px; color:var(--bh-green); font-size:1rem; }
.bh-ab-all-title{ margin:0 0 14px; color:var(--bh-text); border-top:1px solid var(--bh-line); padding-top:20px; }
.bh-ab-setdefs{ margin-top:8px; display:flex; flex-wrap:wrap; gap:8px; }
.bh-ab-setdefs .bh-ab-setdef{ background:#fff; border:1px solid var(--bh-green); color:var(--bh-green);
  border-radius:7px; padding:6px 12px; font-size:.8rem; font-weight:600; cursor:pointer; transition:background .15s,color .15s; }
.bh-ab-setdefs .bh-ab-setdef:hover{ background:var(--bh-green); color:#fff; }

@media (max-width:768px){ .bh-ab-defaults{ grid-template-columns:1fr; } }

/* ---- Checkout saved-address picker: Shopify-style radio list ---- */
.bh-ab-pick{ margin:0 0 16px; border:1px solid var(--bh-line,#E3E8F5); border-radius:12px; overflow:hidden; background:#fff; }
.bh-ab-pick-title{ padding:12px 16px 0; }
.bh-ab-rows{ display:flex; flex-direction:column; max-height:300px; overflow:auto; }
.bh-ab-row{ display:flex; align-items:flex-start; gap:12px; padding:14px 16px; margin:0; cursor:pointer; border-bottom:1px solid var(--bh-line,#E3E8F5); }
.bh-ab-row:last-child{ border-bottom:none; }
.bh-ab-row input[type=radio]{ margin:2px 0 0; width:18px; height:18px; accent-color:var(--bh-green,#2A3A8C); flex:none; }
.bh-ab-row-main{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.bh-ab-row-name{ font-weight:700; color:var(--bh-text,#1E2747); }
.bh-ab-row-sub{ font-size:.88rem; color:#3a3a3a; line-height:1.4; }
.bh-ab-row:has(input:checked){ background:var(--bh-wash,#EEF2FB); }
.bh-ab-row.is-default .bh-ab-row-name::after{ content:" · Default"; color:var(--bh-green,#2A3A8C); font-size:.78rem; font-weight:600; }
.bh-ab-row-new .bh-ab-row-name{ color:var(--bh-green,#2A3A8C); }
.bh-ab-defcheck{ display:flex; align-items:center; gap:8px; padding:11px 16px; margin:0; border-top:1px solid var(--bh-line,#E3E8F5); font-size:.88rem; color:var(--bh-text,#1E2747); }
.bh-ab-defcheck input{ width:16px; height:16px; accent-color:var(--bh-green,#2A3A8C); }
