/** Shopify CDN: Minification failed

Line 401:0 Unexpected "}"

**/
/* -------- Scope -------- */
#bls-product-v2 { width: 100%; padding: 16px 18px 36px; }
@media (min-width: 1280px){ #bls-product-v2 { padding: 20px 26px 44px; } }

/* -------- Outer grid (3 columns, 3 rows) -------- */
#bls-product-v2 .bls-v2__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
/* === BLS v2 — Desktop layout: pathbar (row1), title (row2), headline (row3), content (row4) === */
@media (min-width: 1280px){
  #bls-product-v2 .bls-v2__grid{
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,0.65fr); /* 1: media | 2: middle | 3: right */
    grid-template-rows: auto auto auto auto; /* 1:pathbar, 2:title, 3:headline, 4:content */
    column-gap: 28px;
    row-gap: 10px;
    align-items: start;
  }

  /* Path bar: explicit row 1 (it already spans full width via your existing rule) */
  #bls-product-v2 .bls-v2__pathbar { grid-row: 1; }

  /* LEFT column (sticky gallery), starts on row 2 so the pathbar stays above it */
  #bls-product-v2 .bls-v2__media{
    grid-column: 1;
    grid-row: 2 / span 3;       /* spans rows 2–4 */
    position: sticky;
    top: 72px;                   /* adjust to match your header height */
    align-self: start;
  }

  /* TITLE row (middle+right) */
  #bls-product-v2 .bls-v2__title--span,
  #bls-product-v2 .bls-v2__title{
    grid-column: 2 / 4;
    grid-row: 2;
    margin: 0;
  }

  /* HEADLINE row (middle+right) */
  #bls-product-v2 .bls-v2__headline-price{
    grid-column: 2 / 4;
    grid-row: 3;
  }

  /* CONTENT zone (middle+right) */
  #bls-product-v2 .bls-v2__cols23{
    grid-column: 2 / 4;
    grid-row: 4;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,0.52fr); /* ~20% narrower preview column */
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "finishbox finishbox"     /* Finishing options + Preview on one line */
      "features  purchase"      /* Features | Purchase */
      "custom    purchase";     /* Upload/Customisation | Purchase */
    column-gap: 28px;
    row-gap: 18px;
    align-items: start;
  }

  /* Children inside cols23 */
  /* NOTE: keep only the area assignment here—avoid setting columns here to prevent overrides */
  #bls-product-v2 .bls-v2__finishbox{ grid-area: finishbox; }
  #bls-product-v2 #bls-v2-finish { min-width: 0; }     /* Finishing options (left half) */
  #bls-product-v2 .bls-v2__finish-image { min-width: 0; } /* Preview (right half) */
  #bls-product-v2 .bls-v2__features{ grid-area: features; }
  #bls-product-v2 .bls-v2__custom-wrap{ grid-area: custom; }
  #bls-product-v2 .bls-v2__purchase{
    grid-area: purchase;
    position: sticky; top: 72px;  /* same offset as gallery */
    align-self: start;
  }
}



/* -------- Headline price -------- */
#bls-product-v2 .bls-v2__headline-price{ display:flex; gap:10px; align-items:baseline; }
#bls-product-v2 .bls-v2__headline-now{ font-size: clamp(22px,2.2vw,28px); font-weight: 700; }
#bls-product-v2 .bls-v2__headline-was{ opacity:.6; }
#bls-product-v2 .bls-v2__headline-off{ background:#d32f2f; border-color: #d32f2f; color:#fff; border-radius:999px; padding:8px 18px; font-size:16px; font-weight:800; letter-spacing:.3px; line-height:1; display:inline-flex; align-items:center; }



/* -------- Gallery (thumbs LEFT of image) -------- */
#bls-product-v2 .bls-v2__media{
  display: grid;
  grid-template-columns: 96px 1fr; /* thumbs | stage */
  gap: 12px;
  align-items: stretch; /* NEW: rail matches the stage column height */
}

#bls-product-v2 .bls-v2__thumbs{
  display: grid;
  grid-auto-rows: 84px;
  gap: 8px;
  overflow-y: auto;
  padding-right: 4px;
}
#bls-product-v2 .bls-v2__thumb{ border:1px solid #eee; background:#fff; padding:2px; border-radius:8px; cursor:pointer; }
#bls-product-v2 .bls-v2__thumb[aria-selected="true"]{ outline:2px solid #111; }
#bls-product-v2 .bls-v2__thumb-img{ width:100%; height:100%; object-fit:cover; border-radius:6px; display:block; }

#bls-product-v2 .bls-v2__stage{ position:relative; }
#bls-product-v2 .bls-v2__slide{ display:none; }
#bls-product-v2 .bls-v2__slide.is-active{ display:block; }
#bls-product-v2 .bls-v2__stage-inner{ position:relative; }
#bls-product-v2 .bls-v2__img{ width:100%; height:auto; display:block; border-radius:12px; cursor:zoom-in; }
/* Share button (replaces removed .bls-v2__zoom-cue) */
#bls-product-v2 .bls-v2__share-btn{
  position:absolute; right:10px; bottom:10px;
  width:44px; height:44px; border:0; border-radius:50%;
  background:rgba(0,0,0,.55); color:#fff; cursor:pointer;
  display:grid; place-items:center;
}
#bls-product-v2 .bls-v2__share-btn:hover{ background:rgba(0,0,0,.70); }
#bls-product-v2 .bls-v2__share-btn:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
#bls-product-v2 .bls-v2__share-ico{
  width:22px; height:22px; display:block; position:relative;
}
#bls-product-v2 .bls-v2__share-ico::before{
  content:'↗'; /* share arrow; swap for SVG if you like */
  position:absolute; inset:0; display:grid; place-items:center;
  font-weight:700; line-height:1; font-size:18px;
}

#bls-product-v2 .bls-v2__nav{ position:absolute; top:50%; transform:translateY(-50%); border:none; background:rgba(0,0,0,.5); color:#fff; width:36px;height:36px;border-radius:999px; cursor:pointer; }
#bls-product-v2 .bls-v2__nav--prev{ left:10px; }
#bls-product-v2 .bls-v2__nav--next{ right:10px; }
/* Line box around the main image */
#bls-product-v2 .bls-v2__stage-inner{
  border: 2px solid #e5e5e5;
  border-radius: 12px;
  padding: 6px;           /* small inner breathing room */
  background: #fff;
}
/* No inner border on the swatch panel to preserve single-box design */
#bls-product-v2 #bls-v2-finish{ border:0; padding:0; background:transparent; }

#bls-product-v2 .bls-v2__img{
  border-radius: 8px;     /* inner image radius to match the frame */
}


/* Keep stage and thumb rail within the sticky height */
#bls-product-v2 .bls-v2__stage{
  max-height: calc(100vh - 26px - 24px);
  overflow: hidden;
}
#bls-product-v2 .bls-v2__stage-inner img{
  max-height: 100%;
  height: auto;
  object-fit: contain;
}

#bls-product-v2 .bls-v2__thumbs{
  max-height: calc(100vh - 26px - 24px);
  overflow-y: auto;     /* scroll the thumbnails if they exceed the viewport */
  overscroll-behavior: contain;
}



/* One line-box wrapping finishing + preview */
#bls-product-v2 .bls-v2__finishbox{
  align-items: start;
  grid-area: finishbox;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,0.52fr); /* ~20% narrower preview column */
  column-gap: 28px;
  align-items: stretch;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  padding: 20px 14px 14px 14px; /* 20px top padding as requested */
  background: #fff;
}
/* single-box design: no inner frame on the swatches */
#bls-product-v2 #bls-v2-finish{ border:0; padding:0; background:transparent; }

/* Finishing options (4×3) */
#bls-product-v2 .bls-v2__option{ margin: 0 0 12px; }
#bls-product-v2 .bls-v2__finish-swatchgrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 12px; }
#bls-product-v2 .bls-v2__swatch{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
#bls-product-v2 .bls-v2__swatch input{ display:none; }
#bls-product-v2 .bls-v2__swatch span{ width:100%; text-align:center; padding:10px 8px; border:1px solid #ddd; border-radius:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#bls-product-v2 .bls-v2__swatch input:checked + span{ border-color:#111; box-shadow: inset 0 0 0 2px rgba(17,17,17,.06); }

/* Preview figure matches finishing height (JS sets fixed height) */
#bls-product-v2 .bls-v2__finish-image {
  align-self: start;             /* do not stretch full height */
  margin-top: var(--bls-finish-tags-offset, 0px); /* will be set by JS */
}
#bls-product-v2 .bls-v2__finish-figure{
  margin:0; border:0; border-radius:12px; overflow:hidden; background:transparent;
  padding:0; display:flex; flex-direction:column; width:100%;
  min-height: 0;
}
#bls-product-v2 .bls-v2__finish-figure img{
  width:100%; height:auto; object-fit:contain; border-radius:12px; flex: 1 1 auto; max-height: 100%;
}
#bls-product-v2 .bls-v2__finish-figure{ position: relative; overflow: hidden; }
#bls-product-v2 .bls-v2__finish-figure.is-zooming{
  cursor: zoom-in;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 200% auto; /* zoom factor (2x). Tweak to 250%/300% if you want more zoom */
}
#bls-product-v2 .bls-v2__finish-figure.is-zooming img{
  opacity: 0; /* keep dimensions for height sync, but show the background zoom instead */
  transition: opacity .08s linear;
}
#bls-product-v2 .bls-v2__finish-figure figcaption{ font-size:12px; color:#555; margin-top:6px; }

/* Features (bulleted) */
#bls-product-v2 .bls-v2__features{ grid-area: features; margin-top: 0; }
#bls-product-v2 .bls-v2__features-head{ margin: 6px 0 8px; font-weight: 600; }
#bls-product-v2 .bls-v2__feature-list{ list-style: disc; padding-left: 18px; display: grid; gap: 6px; }

/* Purchase & Ask (stacked) */
#bls-product-v2 .bls-v2__purchase-card,
#bls-product-v2 .bls-v2__ask-card{
  border:1px solid #e5e5e5; border-radius:16px; padding:16px; box-shadow:0 2px 8px rgba(0,0,0,.05); background:#fff;
}
#bls-product-v2 .bls-v2__ask-card{ margin-top:18px; }

#bls-product-v2 .bls-v2__price-wrap{ display:flex; align-items:baseline; gap:10px; margin-bottom:12px; }
#bls-product-v2 .bls-v2__price{ font-size:28px; font-weight:700; }
#bls-product-v2 .bls-v2__price-compare{ opacity:.6; }
#bls-product-v2 .bls-v2__badge-off{
  background:#d32f2f;
  border-color: #d32f2f;
  color:#000000;
  border-radius:999px;
  padding:6px 12px;
  font-size:13px;
    font-weight:800;
  letter-spacing:.3px;
  line-height:1;
  display:inline-flex;
  align-items:center;
}
@media (min-width: 1280px){
  #bls-product-v2 .bls-v2__badge-off{ font-size:14px; padding:8px 14px; }
}

#bls-product-v2 .bls-v2__meta{ list-style:none; margin:12px 0; padding:0; display:grid; gap:6px; }
#bls-product-v2 .bls-v2__qty{ display:grid; gap:6px; margin:12px 0; }
#bls-product-v2 .bls-v2__qty-ctrls{ display:inline-flex; align-items:center; border:1px solid #ddd; border-radius:10px; overflow:hidden; }
#bls-product-v2 .bls-v2__qty-btn{ border:none; background:transparent; padding:8px 12px; font-size:18px; cursor:pointer; }
#bls-product-v2 .bls-v2__qty input{ width:64px; text-align:center; border:none; padding:8px; font-size:16px; }
#bls-product-v2 .bls-v2__add{ width:100%; padding:12px 16px; border-radius:10px; border:none; background:#111; color:#fff; font-weight:600; cursor:pointer; }
#bls-product-v2 .bls-v2__add:disabled{ opacity:.5; cursor:not-allowed; }

/* Ask form fields */
#bls-product-v2 .bls-v2__ask{ margin-top:4px; display:grid; gap:10px; }
#bls-product-v2 .bls-v2__ask-title{ margin:4px 0; font-size:16px; font-weight:600; }
#bls-product-v2 .bls-v2__ask-field{ display:grid; gap:4px; }
#bls-product-v2 .bls-v2__ask-field input,
#bls-product-v2 .bls-v2__ask-field textarea{
  width:100%; border:1px solid #ddd; border-radius:10px; padding:10px; font-size:14px;
}
#bls-product-v2 .bls-v2__ask-submit{ padding:10px 14px; border:none; background:#111; color:#fff; border-radius:10px; font-weight:600; cursor:pointer; }

/* Tabs (page-wide) */
/* Tabs: single row across the entire page, centered content */
#bls-product-v2 .bls-v2__tabs--full {
  grid-column: 1 / -1;   /* span the WHOLE grid */
  width: 100%;
  margin-top: 24px;      /* top spacing */
}
#bls-product-v2 .bls-v2__tabs-inner {
  max-width: 1320px;
  margin: 20px auto 0;
  padding: 0 24px;
}

#bls-product-v2 .bls-v2__tablist {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
#bls-product-v2 .bls-v2__tablist button {
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 999px;
  padding: 6px 10px;
  cursor: pointer;
}
#bls-product-v2 .bls-v2__tablist button[aria-selected="true"] {
  background: #111;
  color: #fff;
  border-color: #111;
}
#bls-product-v2 .bls-v2__tabs section {
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}
#bls-product-v2 .bls-v2__dims-figure { margin: 6px 0 12px; text-align:center; }
#bls-product-v2 .bls-v2__dims-figure img { max-width:100%; height:auto; }
#bls-product-v2 .bls-v2__dims { width:100%; border-collapse: collapse; margin-top: 8px; }
#bls-product-v2 .bls-v2__dims th,
#bls-product-v2 .bls-v2__dims td { padding:8px 10px; border-bottom:1px solid #eee; text-align:left; }
#bls-product-v2 .bls-v2__dims th { width: 40%; color:#444; font-weight:600; }


/* Mobile */
@media (max-width: 1279.98px){
  #bls-product-v2 .bls-v2__grid{ grid-template-columns: 1fr; }
  #bls-product-v2 .bls-v2__media{ grid-template-columns: 84px 1fr; }
  #bls-product-v2 .bls-v2__cols23{ display:grid; gap:16px; grid-column: 1; }
  #bls-product-v2 .bls-v2__tabs--full{ grid-column: 1; }
}
/* ===== Extra-narrow phones: stack gallery & thumbs under image ===== */
@media (max-width: 575.98px){
  /* Gallery drops to single column, stage first, thumbs below */
  #bls-product-v2 .bls-v2__media{
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
  #bls-product-v2 .bls-v2__stage{ order: 1; }
  #bls-product-v2 .bls-v2__thumbs{
    order: 2;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-top: 6px;
    height: auto !important;    /* defeat JS height on phones */
    max-height: none !important;
  }
  #bls-product-v2 .bls-v2__thumb{ flex: 0 0 72px; height: 72px; }
}

/* ===== Finish box: stack on tablets/phones ===== */
@media (max-width: 991.98px){
  #bls-product-v2 .bls-v2__finishbox{
    grid-template-columns: 1fr;   /* one column */
  }
  #bls-product-v2 .bls-v2__finish-image{
    margin-top: 10px !important;  /* small separation when stacked */
  }
}

/* ===== Mobile content order: put Purchase earlier ===== */
@media (max-width: 1279.98px){
  #bls-product-v2 .bls-v2__cols23{
    grid-template-columns: 1fr;
    grid-template-areas:
      "purchase"
      "finishbox"
      "features"
      "custom";
  }
  #bls-product-v2 .bls-v2__purchase{ grid-area: purchase; }
  #bls-product-v2 .bls-v2__finishbox{ grid-area: finishbox; }
  #bls-product-v2 .bls-v2__features{ grid-area: features; }
  #bls-product-v2 .bls-v2__custom-wrap{ grid-area: custom; }
}

/* ===== Prevent horizontal overflow in the section ===== */
#bls-product-v2 .bls-v2__cols23,
#bls-product-v2 .bls-v2__media,
#bls-product-v2 .bls-v2__finishbox,
#bls-product-v2 .bls-v2__purchase,
#bls-product-v2 .bls-v2__features{
  min-width: 0;
}
#bls-product-v2{ overflow-x: clip; } /* contain any tiny sub-pixel overflow */

#bls-product-v2 .bls-v2__card{
  border:1px solid #e5e5e5;
  border-radius:16px;
  padding:16px;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}
#bls-product-v2 .bls-v2__card-title{ margin:0 0 8px; font-weight:600; }
#bls-product-v2 .bls-v2__card-help{ margin:0 0 10px; font-size:12px; color:#666; }
#bls-product-v2 .bls-v2__grid2{ display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; }
@media (max-width: 767.98px){ #bls-product-v2 .bls-v2__grid2{ grid-template-columns:1fr; } }
/* === Exceptions: keep Color/HEX/Drop from being forced to 100% === */
#bls-product-v2 .ppv2-color-row input,
#bls-product-v2 #ppv2-color,
#bls-product-v2 #ppv2-color-hex,
#bls-product-v2 #ppv2-drop{
  width: auto !important;
  max-width: none;
}

}
#bls-product-v2 .bls-v2__file-field input[type="file"]{
  display:block; width:100%; padding:8px; border:1px dashed #ccc; border-radius:10px; background:#fafafa;
}


/* ===== Page-wide path bar (row 1) ===== */
#bls-product-v2 .bls-v2__pathbar{
  grid-column: 1 / -1;          /* full width row across all columns */
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  padding: 8px 0;
  border-bottom: 1px solid #e8e8e8;
  color: #666;
  font-size: 14px;
}
#bls-product-v2 .bls-v2__pathbar a{
  color: inherit;
  text-decoration: none;
}
#bls-product-v2 .bls-v2__pathbar a:hover{ text-decoration: underline; }
#bls-product-v2 .bls-v2__pathbar .sep{ opacity: .5; }
#bls-product-v2 .bls-v2__pathbar .current{ color:#222; font-weight: 500; }

/* Ensure the gallery sticks below your site header */
@media (min-width:1280px){
  #bls-product-v2 .bls-v2__media{
    position: sticky;
    top: 72px;   /* ← set to your actual fixed header height (try 64/72/80/88) */
    align-self: start;
  }
}
/* Keep the path bar as a real block (do not flatten it) */
@media (min-width:1280px){
  /* If you have a rule like:
     #bls-product-v2 > .bls-v2__grid > * { display: contents !important; ... }
     this override restores the box for the path bar only. */
  #bls-product-v2 > .bls-v2__grid > .bls-v2__pathbar{
    display: block !important;
    grid-column: 1 / -1 !important;   /* full-width row */
    position: relative;               /* sit above sticky media if overlapping */
    z-index: 3;
    margin-bottom: 8px;               /* small buffer before title/media */
    background: transparent;          /* set a color if your header overlaps */
  }
}
/* ==== Compact "Ask a question" section ==== */

/* Card: smaller padding (mobile + desktop) */
#bls-product-v2 .bls-v2__ask-card{
  padding: 10px;            /* was 16px */
  border-radius: 14px;      /* keep style, slightly tighter */
}
@media (min-width: 1280px){
  #bls-product-v2 .bls-v2__ask-card{ padding: 12px; } /* was 16px */
}

/* Section spacing + internal gaps */
#bls-product-v2 .bls-v2__ask{ 
  margin-top: 2px;          /* was 4px */
  display: grid; 
  gap: 8px;                 /* was 10px */
}

/* Title smaller */
#bls-product-v2 .bls-v2__ask-title{
  margin: 2px 0;            /* was 4px 0 */
  font-size: 14px;          /* was 16px */
  font-weight: 600;
  line-height: 1.2;
}

/* Field blocks tighter */
#bls-product-v2 .bls-v2__ask-field{
  gap: 3px;                 /* was 4px */
}

/* Inputs/textarea: smaller padding & font size */
#bls-product-v2 .bls-v2__ask-field input,
#bls-product-v2 .bls-v2__ask-field textarea{
  padding: 8px;             /* was 10px */
  font-size: 13px;          /* was 14px */
  border-radius: 8px;       /* was 10px */
  line-height: 1.3;
}

/* Submit button: smaller */
#bls-product-v2 .bls-v2__ask-submit{
  padding: 8px 12px;        /* was 10px 14px */
  font-size: 14px;          /* was 16px-ish by default */
  border-radius: 10px;      /* keep look, slightly tighter ok */
}

/* Optional: slightly reduce card shadow so it feels leaner */
#bls-product-v2 .bls-v2__ask-card{
  box-shadow: 0 1px 6px rgba(0,0,0,.04); /* was 0 2px 8px .05 */
}
/* ==== Add to Cart hover/active effects ==== */
#bls-product-v2 .bls-v2__add{
  transition: box-shadow 120ms ease, transform 120ms ease, background-color 120ms ease;
  will-change: box-shadow, transform;
}

/* Hover: shadow + tiny lift (only when enabled) */
#bls-product-v2 .bls-v2__add:not(:disabled):hover{
  box-shadow: 0 6px 18px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.08);
  transform: translateY(-1px);
}

/* Pressed: reduce shadow, reset lift */
#bls-product-v2 .bls-v2__add:not(:disabled):active{
  box-shadow: 0 3px 10px rgba(0,0,0,.12), 0 1px 3px rgba(0,0,0,.08);
  transform: translateY(0);
}

/* Keyboard focus: keep accessibility ring in addition to shadow */
#bls-product-v2 .bls-v2__add:focus-visible{
  outline: 2px solid #111;
  outline-offset: 2px;
}
/* ==== Remove "Order quantity" UI in purchase card ==== */
#bls-product-v2 .bls-v2__qty,
#bls-product-v2 .bls-v2__qty-ctrls,
#bls-product-v2 .bls-v2__qty label,
#bls-product-v2 .bls-v2__qty input {
  display: none !important;
  visibility: hidden !important;
}

/* Optional: tighten spacing where qty used to be */
#bls-product-v2 .bls-v2__purchase-card {
  gap: 10px; /* if your card uses CSS grid/flex gaps */
}
/* ==== Hide balance/remaining quantity text in the purchase section ==== */
/* Common/likely classes */
#bls-product-v2 .bls-v2__purchase-card :is(.bls-v2__qty-balance,
                                           .bls-v2__balance,
                                           .bls-v2__stock,
                                           .product__inventory,
                                           .inventory,
                                           .stock){
  display: none !important;
}

/* Fallback: hide any element whose class name mentions "balance" or "stock" */
#bls-product-v2 .bls-v2__purchase-card [class*="balance"],
#bls-product-v2 .bls-v2__purchase-card [class*="stock"]{
  display: none !important;
}

/* (If your theme renders balance inside the qty block, it will already be hidden by the qty removal) */
/* ==== Extra spacing above the Add to Cart button ==== */
/* Add a comfortable gap above the button */
#bls-product-v2 .bls-v2__add{
  margin-top: 16px;            /* increase if you want more space (e.g., 20px) */
}

/* If the row above uses tight layout, add bottom padding to its container too (optional) */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__qty,
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-wrap{
  padding-bottom: 4px;         /* mild buffer so the gap feels intentional */
}
/* Free Delivery highlight — soft pill */
#bls-product-v2 .bls-v2__meta .bls-v2__eta{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f3fff0;            /* soft green */
  border: 1px solid #cdecc7;
  font-weight: 600;
}
#bls-product-v2 .bls-v2__meta .bls-v2__eta::before{
  content: "🚚";
  font-size: 12px;
  line-height: 1;
}
/* Date as a badge */
#bls-product-v2 #BlsV2Eta{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #0000FF;
  color: #fff;
  font-weight: 700;
  letter-spacing: .2px;
  margin-left: 6px;
}
@keyframes blsPulseOnce { 0%{box-shadow:0 0 0 0 rgba(60,179,113,.35);} 100%{box-shadow:0 0 0 14px rgba(60,179,113,0);} }
#bls-product-v2 .bls-v2__meta .bls-v2__eta{
  animation: blsPulseOnce 1.5s ease-out 10;
}
/* Purchase section discount tag: force white text */
#bls-product-v2 .bls-v2__badge-off{
  color: #fff !important;
}
#bls-product-v2 .bls-v2__badge-off *{
  color: inherit !important; /* keep any nested text/icons white too */
}

/* ==== Add to Cart → blue ==== */
#bls-product-v2 .bls-v2__add{
  background: #1e63ff;        /* blue */
  border-color: #1e63ff;
  color: #fff;
  transition: background-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

/* Hover */
#bls-product-v2 .bls-v2__add:not(:disabled):hover{
  background: #1852d1;        /* darker blue */
  border-color: #1852d1;
  box-shadow: 0 6px 18px rgba(24,82,209,.25), 0 2px 6px rgba(24,82,209,.18);
  transform: translateY(-1px);
}

/* Active (pressed) */
#bls-product-v2 .bls-v2__add:not(:disabled):active{
  background: #143faa;        /* deepest on press */
  border-color: #143faa;
  box-shadow: 0 3px 10px rgba(20,63,170,.22), 0 1px 3px rgba(20,63,170,.12);
  transform: translateY(0);
}

/* Focus ring (keyboard) */
#bls-product-v2 .bls-v2__add:focus-visible{
  outline: 2px solid #143faa;
  outline-offset: 2px;
}

/* Disabled stays muted */
#bls-product-v2 .bls-v2__add:disabled{
  opacity: .5;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

/* ===== Title price (under the product title) ===== */
#bls-product-v2 .bls-title-price{
  margin-top: 6px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  color: #1e63ff;              /* base blue */
}

#bls-product-v2 .bls-price-now{
  color: #1e63ff;              /* blue */
  font-weight: 800;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.1;
}

#bls-product-v2 .bls-price-was{
  color: #1e63ff;              /* keep blue per your request */
  opacity: .65;                /* lighter */
  text-decoration: line-through;
  font-size: clamp(14px, 1.6vw, 16px);
}

#bls-product-v2 .bls-price-off{
  background: #d32f2f;   /* blue tint */
  color: #ffffff;
  border: 1px solid #d32f2f;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
/* Purchase card: price only → blue */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price {
  color: #1e63ff; /* blue */
  /* ===== Reassurance row (under title price) ===== */
#bls-product-v2 .bls-assure{
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 13.5px;
  color: #444;
}
#bls-product-v2 .bls-assure span{
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid #e8e8e8;
  border-radius: 999px;   /* pill look */
  background: #fff;
  white-space: nowrap;    /* keep each item on one line */
  line-height: 1.25;
}

}

/* (optional) if something else is overriding it, use this stronger rule */
/*
#bls-product-v2 .bls-v2__purchase .bls-v2__price-wrap .bls-v2__price {
  color: #1e63ff !important;
}
*/
/* ==== Zoom overlay (main gallery) ==== */
.bls-v2__zoom-overlay{
  position: fixed;
  inset: 0;
  display: none;                 /* hidden by default */
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.78);
  z-index: 9999;                 /* above everything */
  cursor: zoom-out;
  padding: 4vh 4vw;
}

.bls-v2__zoom-overlay.is-open{
  display: flex;                 /* show when JS adds .is-open */
}

.bls-v2__zoom-img{
  max-width: 92vw;
  max-height: 92vh;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(0,0,0,.35);
}

.bls-v2__zoom-close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px; height: 38px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #111;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.bls-v2__zoom-close:hover{ background: #fff; }
/* ==== Zoom overlay with thumbnail strip ==== */
.bls-v2__zoom-overlay{
  position: fixed;
  inset: 0;
  display: none;                 /* hidden by default */
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.78);
  z-index: 9999;
  cursor: zoom-out;
  padding: 4vh 4vw;
}
.bls-v2__zoom-overlay.is-open{ display: flex; }

.bls-v2__zoom-img{
  max-width: 92vw;
  max-height: 72vh;              /* leave room for thumbs below */
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(0,0,0,.35);
}

/* Close button */
.bls-v2__zoom-close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px; height: 38px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #111;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.bls-v2__zoom-close:hover{ background: #fff; }

/* Thumbnail strip inside overlay */
.bls-v2__zoom-strip{
  position: absolute;
  left: 12px; right: 12px; bottom: 12px;
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  padding: 8px 10px;
  background: rgba(0,0,0,.25);
  backdrop-filter: blur(2px);
  border-radius: 10px;
}

.bls-v2__zoom-thumb{
  border: 2px solid transparent;
  border-radius: 8px;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.bls-v2__zoom-thumb[aria-selected="true"]{ border-color: #fff; }

.bls-v2__zoom-thumb img{
  width: 56px; height: 56px;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}
@media (min-width: 1280px){
  .bls-v2__zoom-thumb img{ width: 72px; height: 72px; }
}
/* Payment icons row under Add to Cart */
#bls-product-v2 .bls-v2__payicons{
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  list-style: none;
}
#bls-product-v2 .bls-v2__pay-label{
  font-weight: 600;
  margin-right: 2px;
}
#bls-product-v2 .bls-v2__pay-logos{
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* Normalize sizes */
#bls-product-v2 .bls-payicon{
  width: 40px;
  height: 26px;
  display: inline-block;
  vertical-align: middle;
}
#bls-product-v2 svg.bls-payicon{
  width: 40px;
  height: auto;
}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  #bls-product-v2 .bls-v2__add { animation: none !important; box-shadow: none !important; }
}

/* Same pulse halo effect we used on the "shipping by" line */
@keyframes blsPulseHalo {
  0%   { box-shadow: 0 0 0 0 rgba(30,99,255,.40); transform: translateZ(0); }
  70%  { box-shadow: 0 0 0 16px rgba(30,99,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(30,99,255,0); }
}

/* Apply-once helper class */
#bls-product-v2 .bls-v2__add.bls-pulse-once {
  animation: blsPulseHalo 1200ms ease-out 1;
}
/* ===== Phones: thumbnails BELOW the main image (enforced) ===== */
@media (max-width: 767.98px){
  #bls-product-v2 .bls-v2__media{
    grid-template-columns: 1fr !important;   /* beat the 84px 1fr mobile rule */
    grid-template-rows: auto auto;
  }
  #bls-product-v2 .bls-v2__stage{
    grid-column: 1; grid-row: 1;
  }
  #bls-product-v2 .bls-v2__thumbs{
    grid-column: 1; grid-row: 2;

    /* horizontal strip */
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-top: 6px;

    /* kill any vertical-rail heights that JS may have set earlier */
    height: auto !important;
    max-height: none !important;
  }
  #bls-product-v2 .bls-v2__thumb{ flex: 0 0 72px; height: 72px; }
}

/* Contain micro overflows inside the product section */
#bls-product-v2{ overflow-x: clip; }
#bls-product-v2 .bls-v2__media,
#bls-product-v2 .bls-v2__finishbox,
#bls-product-v2 .bls-v2__cols23 { min-width: 0; }
/* Ensure inactive tabpanels really hide (some themes override [hidden]) */
#bls-product-v2 [hidden]{
  display: none !important;
}
/* Dimensions tab — center the image and add a line box */
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure{
  /* center + line box */
  margin: 12px auto 16px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 8px;          /* remove if you want sharp corners */
  background: #fff;            /* keeps the box clean over tinted bg */
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);

  /* control width of the box */
  width: fit-content;          /* shrink-wrap to image */
  max-width: min(560px, 92%);  /* smaller and centered on all screens */
}

#bls-product-v2 #tab-dimensions .bls-v2__dims-figure img{
  display: block;
  max-width: 100%;
  height: auto;                /* keep aspect ratio */
}

/* Optional: tidy caption */
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure figcaption{
  margin-top: 6px;
  text-align: center;
  font-size: 0.9rem;
  color: #666;
}

/* Optional: give a touch more width on big desktops only */
@media (min-width: 1280px){
  #bls-product-v2 #tab-dimensions .bls-v2__dims-figure{
    max-width: 640px;
  }
}
/* Dimensions tab – two-column layout (stacks on mobile) */
#bls-product-v2 #tab-dimensions .bls-v2__dims-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: start;
}

@media (min-width: 768px){
  #bls-product-v2 #tab-dimensions .bls-v2__dims-grid{
    grid-template-columns: 1fr 1fr; /* Col 1: image, Col 2: specs */
  }
}

/* Image column: centered with a line box */
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure{
  margin: 0 auto;                 /* center the box in its grid cell */
  padding: 12px;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  width: fit-content;             /* shrink-wrap to image */
  max-width: min(560px, 100%);    /* cap width; still responsive */
}
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure img{
  display: block;
  max-width: 100%;
  height: auto;
}

/* Dimensions tab — inline label : value alignment */
#bls-product-v2 #tab-dimensions .bls-v2__specs{
  display: grid;
  grid-template-columns: minmax(140px, 220px) 1fr; /* col1 = label, col2 = value */
  row-gap: 10px;
  align-items: start;
}
#bls-product-v2 #tab-dimensions .bls-v2__specs dt{
  grid-column: 1;
  margin: 0;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}
#bls-product-v2 #tab-dimensions .bls-v2__specs dd{
  grid-column: 2;
  margin: 0;
  color: #555;
  display: inline;
}
#bls-product-v2 #tab-dimensions .bls-v2__specs dd::before{
  content: ":";
  margin-right: 8px;
  color: #333;
}
@media (max-width: 360px){
  #bls-product-v2 #tab-dimensions .bls-v2__specs{
    grid-template-columns: minmax(110px, 160px) 1fr;
  }
}
/* Right column (specs) top margin */
#bls-product-v2 #tab-dimensions .bls-v2__dims-specs{
  margin-top: 30px;
}

/* Final note styling */
#bls-product-v2 #tab-dimensions .bls-v2__bulbs-note{
  margin-top: 14px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #333;
}
/* Ensure inactive tabs hide */
#bls-product-v2 [hidden]{ display:none !important; }

/* Two-column layout with explicit areas so items can't drift */
#bls-product-v2 #tab-dimensions .bls-v2__dims-grid{
  display:grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "img"
    "specs";
  gap:16px;
  align-items:start;
}
@media (min-width:768px){
  #bls-product-v2 #tab-dimensions .bls-v2__dims-grid{
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "img specs";
  }
}
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure{ grid-area: img; }
#bls-product-v2 #tab-dimensions .bls-v2__dims-specs{ grid-area: specs; }

/* Put a 150px gap above the entire specs column (right side) */
#bls-product-v2 #tab-dimensions .bls-v2__dims-grid > .bls-v2__dims-specs{
  margin-top:100px !important;   /* forces the big top gap */
  align-self:start;               /* make sure margin applies inside grid */
}

/* Image box styling (keeps it neat & centered in its cell) */
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure{
  margin:0 auto;
  padding:12px;
  border:1px solid rgba(0,0,0,0.15);
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,0.04);
  width:fit-content;
  max-width:min(560px,100%);
}
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure img{
  display:block; max-width:100%; height:auto;
}

/* Inline "Label : Value" formatting */
#bls-product-v2 #tab-dimensions .bls-v2__specs{
  display:grid;
  grid-template-columns:minmax(140px,220px) 1fr;
  row-gap:10px;
  align-items:start;
}
#bls-product-v2 #tab-dimensions .bls-v2__specs dt{
  margin:0; font-weight:600; color:#333; white-space:nowrap;
}
#bls-product-v2 #tab-dimensions .bls-v2__specs dd{
  margin:0; color:#555; display:inline;
}
#bls-product-v2 #tab-dimensions .bls-v2__specs dd::before{
  content: ":"; margin-right:8px; color:#333;
}

/* Note styling in the right column */
#bls-product-v2 #tab-dimensions .bls-v2__bulbs-note{
  margin-top:14px; font-weight:700; letter-spacing:.4px; color:#333;
}
/* Centered "SPECIFICATIONS" with clear gap to the list */
#bls-product-v2 #tab-dimensions .bls-v2__specs-title{
  text-align: center;
  margin: 0 0 24px;     /* gap between title and specs list */
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #222;
}

/* Optional: bigger gap on larger screens */
@media (min-width: 768px){
  #bls-product-v2 #tab-dimensions .bls-v2__specs-title{
    margin-bottom: 32px;
  }
}

/* Optional: thin divider under the centered title
#bls-product-v2 #tab-dimensions .bls-v2__specs-title{
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}
*/
/* Bigger, centered SPECIFICATIONS title */
#bls-product-v2 #tab-dimensions .bls-v2__specs-title{
  text-align: center;
  margin: 0 0 32px;
  font-size: clamp(3.00rem, 2.2vw, 1.6rem); /* ~20px → 25.6px */
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #222;
}


/* Make tab button labels visible (override any theme rules) */
#bls-product-v2 .bls-v2__tablist [role="tab"]{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #222 !important;          /* ensure text is visible */
  background: transparent !important;
  text-indent: 0 !important;       /* undo hidden text tricks */
  opacity: 1 !important;
  filter: none !important;
  visibility: visible !important;
  overflow: visible !important;
  clip-path: none !important;

  font-size: clamp(14px, 1.6vw, 16px) !important;
  line-height: 1.2 !important;
  text-transform: none;             /* or uppercase if you prefer */
}

/* In case pseudo-elements were covering the text */
#bls-product-v2 .bls-v2__tablist [role="tab"]::before,
#bls-product-v2 .bls-v2__tablist [role="tab"]::after{
  content: none !important;
}

/* Optional: selected vs. not-selected colors */
#bls-product-v2 .bls-v2__tablist [role="tab"][aria-selected="true"]{
  color: #111 !important;
  font-weight: 700 !important;
}
#bls-product-v2 .bls-v2__tablist [role="tab"][aria-selected="false"]{
  color: #333 !important;
  font-weight: 600 !important;
}
/* Dimensions tab image zoom */
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure{
  position: relative;
  overflow: hidden;            /* clip when zoomed */
  cursor: zoom-in;
}

#bls-product-v2 #tab-dimensions .bls-v2__dims-figure img{
  display: block;
  will-change: transform;
  transform: translate(var(--tx, 0px), var(--ty, 0px)) scale(var(--scale, 1));
  transition: transform 160ms ease;
  user-select: none;
  -webkit-user-drag: none;
}

/* When zoomed */
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure.is-zoomed{
  cursor: zoom-out;
  touch-action: none;          /* allow finger-drag panning */
}

/* Optional: make the box feel a bit deeper when zoomed */
#bls-product-v2 #tab-dimensions .bls-v2__dims-figure.is-zoomed{
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
}
/* Refund/Exchange tab — larger headings */
#bls-product-v2 #tab-refund .policy{
  font-size: 16.5px;
  line-height: 1.7;
}

/* MAIN TITLE (center) */
#bls-product-v2 #tab-refund .policy h3{
  text-align: center !important;
  margin: 0 0 22px !important;
  font-weight: 800;
  letter-spacing: 0.015em;
  text-transform: none;
  font-size: clamp(1.9rem, 3.2vw, 2.6rem) !important; /* ~30px → 41.6px max */
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,0,0,.12);
}

/* SECTION HEADINGS (left) */
#bls-product-v2 #tab-refund .policy h4{
  text-align: left !important;
  margin: 24px 0 12px !important;
  font-weight: 750;
  letter-spacing: 0.01em;
  text-transform: none;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important; /* ~21.6px → 28.8px */
}

/* Meta line under title */
#bls-product-v2 #tab-refund .policy .meta{
  text-align: left !important;
  margin: 0 0 20px !important;
  color: #555;
  font-size: 0.97em;
}

/* Table readability tweaks (optional) */
#bls-product-v2 #tab-refund .policy table.outcomes{
  font-size: 15.5px;
}
#bls-product-v2 #tab-refund .policy table.outcomes thead th{
  font-weight: 800;
  font-size: 16px;
}
#bls-product-v2 #tab-refund .policy table.outcomes th,
#bls-product-v2 #tab-refund .policy table.outcomes td{
  padding: 10px 12px;
}
/* Refund/Exchange tab — restore normal bullet lists */
#bls-product-v2 #tab-refund .policy ul{
  list-style: disc !important;          /* filled black dots */
  list-style-position: outside !important;
  margin: 0 0 14px 22px !important;     /* left indent for bullets */
  padding: 0 !important;
}
#bls-product-v2 #tab-refund .policy ul li{
  display: list-item !important;        /* undo any 'display:block' resets */
  margin: 6px 0 !important;
}
#bls-product-v2 #tab-refund .policy ul li::marker{
  color: #000;                          /* ensure solid black dot */
}

/* Nested bullets: a bit more indent, same disc style */
#bls-product-v2 #tab-refund .policy ul ul{
  margin-left: 20px !important;
  list-style: disc !important;
}

/* (Optional) keep ordered lists normal numbers if you use them */
#bls-product-v2 #tab-refund .policy ol{
  list-style: decimal !important;
  margin: 0 0 14px 22px !important;
  padding: 0 !important;
}
#bls-product-v2 #tab-refund .policy ol li{
  margin: 6px 0 !important;
}
/* Apply the same policy styling to the Shipping tab */
#bls-product-v2 #tab-refund .policy,
#bls-product-v2 #tab-ship .policy{
  font-size: 16.5px;
  line-height: 1.7;
  color: #222;
}

/* Main title: big; centered */
#bls-product-v2 #tab-refund .policy h3,
#bls-product-v2 #tab-ship .policy h3{
  text-align: center !important;
  margin: 0 0 22px !important;
  font-weight: 800;
  letter-spacing: 0.015em;
  text-transform: none;
  font-size: clamp(1.9rem, 3.2vw, 2.6rem) !important;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,0,0,.12);
}

/* Section headings: larger; left-aligned */
#bls-product-v2 #tab-refund .policy h4,
#bls-product-v2 #tab-ship .policy h4{
  text-align: left !important;
  margin: 24px 0 12px !important;
  font-weight: 750;
  letter-spacing: 0.01em;
  text-transform: none;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important;
}

/* Meta under the title */
#bls-product-v2 #tab-refund .policy .meta,
#bls-product-v2 #tab-ship .policy .meta{
  text-align: left !important;
  margin: 0 0 20px !important;
  color: #555;
  font-size: 0.97em;
}

/* Callout row */
#bls-product-v2 #tab-refund .policy .callouts,
#bls-product-v2 #tab-ship .policy .callouts{
  display: grid; gap: 8px; margin: 0 0 18px;
}
@media (min-width:768px){
  #bls-product-v2 #tab-refund .policy .callouts,
  #bls-product-v2 #tab-ship .policy .callouts{
    grid-template-columns: repeat(3,1fr);
  }
}
#bls-product-v2 #tab-refund .policy .callouts > div,
#bls-product-v2 #tab-ship .policy .callouts > div{
  background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:8px;
  padding:10px 12px;
}

/* Bulleted lists: standard filled black dots */
#bls-product-v2 #tab-refund .policy ul,
#bls-product-v2 #tab-ship .policy ul{
  list-style: disc !important;
  list-style-position: outside !important;
  margin: 0 0 14px 22px !important;
  padding: 0 !important;
}
#bls-product-v2 #tab-refund .policy ul li,
#bls-product-v2 #tab-ship .policy ul li{
  display: list-item !important;
  margin: 6px 0 !important;
}
#bls-product-v2 #tab-refund .policy ul ul,
#bls-product-v2 #tab-ship .policy ul ul{
  margin-left: 20px !important;
}

/* Outcomes table */
#bls-product-v2 #tab-refund .policy table.outcomes,
#bls-product-v2 #tab-ship .policy table.outcomes{
  width:100%; border-collapse:collapse; margin: 6px 0 14px;
  font-size: 15.5px;
}
#bls-product-v2 #tab-refund .policy table.outcomes th,
#bls-product-v2 #tab-ship .policy table.outcomes th,
#bls-product-v2 #tab-refund .policy table.outcomes td,
#bls-product-v2 #tab-ship .policy table.outcomes td{
  border-bottom:1px solid rgba(0,0,0,.12);
  text-align:left; padding:10px 12px; vertical-align:top;
}
#bls-product-v2 #tab-refund .policy table.outcomes thead th,
#bls-product-v2 #tab-ship .policy table.outcomes thead th{
  font-weight:800; font-size:16px;
}
/* Apply the same policy styling to the Custom Designs tab */
#bls-product-v2 #tab-refund .policy,
#bls-product-v2 #tab-ship .policy,
#bls-product-v2 #tab-custom .policy{
  font-size: 16.5px;
  line-height: 1.7;
  color: #222;
}

/* Main title: big; centered */
#bls-product-v2 #tab-refund .policy h3,
#bls-product-v2 #tab-ship .policy h3,
#bls-product-v2 #tab-custom .policy h3{
  text-align: center !important;
  margin: 0 0 22px !important;
  font-weight: 800;
  letter-spacing: 0.015em;
  text-transform: none;
  font-size: clamp(1.9rem, 3.2vw, 2.6rem) !important;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,0,0,.12);
}

/* Section headings: larger; left-aligned */
#bls-product-v2 #tab-refund .policy h4,
#bls-product-v2 #tab-ship .policy h4,
#bls-product-v2 #tab-custom .policy h4{
  text-align: left !important;
  margin: 24px 0 12px !important;
  font-weight: 750;
  letter-spacing: 0.01em;
  text-transform: none;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important;
}

/* Meta under the title */
#bls-product-v2 #tab-refund .policy .meta,
#bls-product-v2 #tab-ship .policy .meta,
#bls-product-v2 #tab-custom .policy .meta{
  text-align: left !important;
  margin: 0 0 20px !important;
  color: #555;
  font-size: 0.97em;
}

/* Callout row */
#bls-product-v2 #tab-refund .policy .callouts,
#bls-product-v2 #tab-ship .policy .callouts,
#bls-product-v2 #tab-custom .policy .callouts{
  display: grid; gap: 8px; margin: 0 0 18px;
}
@media (min-width:768px){
  #bls-product-v2 #tab-refund .policy .callouts,
  #bls-product-v2 #tab-ship .policy .callouts,
  #bls-product-v2 #tab-custom .policy .callouts{
    grid-template-columns: repeat(3,1fr);
  }
}
#bls-product-v2 #tab-refund .policy .callouts > div,
#bls-product-v2 #tab-ship .policy .callouts > div,
#bls-product-v2 #tab-custom .policy .callouts > div{
  background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:8px;
  padding:10px 12px;
}

/* Bullet lists: standard filled black dots */
#bls-product-v2 #tab-refund .policy ul,
#bls-product-v2 #tab-ship .policy ul,
#bls-product-v2 #tab-custom .policy ul{
  list-style: disc !important;
  list-style-position: outside !important;
  margin: 0 0 14px 22px !important;
  padding: 0 !important;
}
#bls-product-v2 #tab-refund .policy ul li,
#bls-product-v2 #tab-ship .policy ul li,
#bls-product-v2 #tab-custom .policy ul li{
  display: list-item !important;
  margin: 6px 0 !important;
}
#bls-product-v2 #tab-refund .policy ul ul,
#bls-product-v2 #tab-ship .policy ul ul,
#bls-product-v2 #tab-custom .policy ul ul{
  margin-left: 20px !important;
}

/* Ordered lists for steps */
#bls-product-v2 #tab-custom .policy ol{
  list-style: decimal;
  margin: 0 0 14px 22px;
}
#bls-product-v2 #tab-custom .policy .note{
  color:#666; margin-top: 6px;
}

/* Button inside policy (optional) */
#bls-product-v2 #tab-custom .policy .btn{
  display:inline-block; padding:10px 16px; border:1px solid #111;
  border-radius:8px; text-decoration:none; color:#111;
}
/* Center the product tabs */
#bls-product-v2 .bls-v2__tablist{
  display: flex !important;
  justify-content: center !important;  /* center align */
  align-items: center;
  gap: 12px;                            /* space between tabs */
  flex-wrap: wrap;                      /* wrap on small screens */
  padding: 0 8px;
  margin: 0 auto;                       /* keep the whole group centered */
  text-align: center;                   /* fallback if theme switches to inline layout */
}

/* Make sure each tab behaves nicely inside the centered row */
#bls-product-v2 .bls-v2__tablist [role="tab"]{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;                            /* remove any old left-leaning margins */
  white-space: nowrap;                  /* keep short labels on one line */
}
/* Add vertical padding around the centered tabs */
#bls-product-v2 .bls-v2__tablist{
  padding-block: 16px;   /* equal padding top & bottom */
}

/* (Optional) a touch more on larger screens */
@media (min-width: 768px){
  #bls-product-v2 .bls-v2__tablist{
    padding-block: 20px;
  }
}

/* (Optional) make each tab button a bit taller for better tap targets */
#bls-product-v2 .bls-v2__tablist [role="tab"]{
  padding: 10px 14px;    /* increases button height + horizontal comfort */
}
/* Active/selected tab = black bg + white text */
#bls-product-v2 .bls-v2__tablist [role="tab"][aria-selected="true"]{
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;   /* if your tabs have borders */
  border-radius: 8px;              /* optional: rounded pill look */
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

/* Keep inactive tabs unchanged; optional hover for them */
#bls-product-v2 .bls-v2__tablist [role="tab"][aria-selected="false"]{
  /* no changes needed; inherits your existing styles */
}

/* Accessibility: clear focus ring on keyboard nav */
#bls-product-v2 .bls-v2__tablist [role="tab"]:focus-visible{
  outline: 2px solid #000;
  outline-offset: 2px;
}
/* Reuse your policy typography for this tab */
#bls-product-v2 #tab-custom .policy{
  font-size: 16.5px;
  line-height: 1.7;
  color: #222;
}

/* Main title (match other tabs) */
#bls-product-v2 #tab-custom .policy h3{
  text-align: center !important;
  margin: 0 0 22px !important;
  font-weight: 800;
  letter-spacing: 0.015em;
  text-transform: none;
  font-size: clamp(1.9rem, 3.2vw, 2.6rem) !important;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,0,0,.12);
}

/* Section headings */
#bls-product-v2 #tab-custom .policy h4{
  text-align: left !important;
  margin: 24px 0 12px !important;
  font-weight: 750;
  letter-spacing: 0.01em;
  text-transform: none;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important;
}

/* Callouts row (Experience/Workshop/Safety) */
#bls-product-v2 #tab-custom .policy .callouts{
  display: grid; gap: 8px; margin: 0 0 18px;
}
@media (min-width:768px){
  #bls-product-v2 #tab-custom .policy .callouts{ grid-template-columns: repeat(3,1fr); }
}
#bls-product-v2 #tab-custom .policy .callouts > div{
  background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:8px;
  padding:10px 12px;
}

/* Bulleted & ordered lists */
#bls-product-v2 #tab-custom .policy ul{
  list-style: disc !important;
  margin: 0 0 14px 22px !important;
  padding: 0 !important;
}
#bls-product-v2 #tab-custom .policy ol{
  list-style: decimal;
  margin: 0 0 14px 22px;
}
#bls-product-v2 #tab-custom .policy ul li{ margin: 6px 0 !important; }

/* Form layout */
#bls-product-v2 #tab-custom .bls-custom-form{
  margin-top: 6px;
}
#bls-product-v2 #tab-custom .bls-custom-form .grid-2{
  display: grid; grid-template-columns: 1fr; gap: 12px;
}
@media (min-width:768px){
  #bls-product-v2 #tab-custom .bls-custom-form .grid-2{
    grid-template-columns: 1fr 1fr;
  }
}
#bls-product-v2 #tab-custom .bls-custom-form .field{
  display: flex; flex-direction: column; gap: 6px;
}
#bls-product-v2 #tab-custom .bls-custom-form label{
  font-weight: 600; color: #222;
}
#bls-product-v2 #tab-custom .bls-custom-form input,
#bls-product-v2 #tab-custom .bls-custom-form textarea{
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 8px;
  padding: 10px 12px;
  font: inherit;
}
#bls-product-v2 #tab-custom .bls-custom-form small{
  color:#666;
}
#bls-product-v2 #tab-custom .bls-custom-form .actions{
  margin-top: 12px;
}
#bls-product-v2 #tab-custom .bls-custom-form .btn{
  padding: 10px 16px;
  border: 1px solid #111;
  border-radius: 8px;
  background: #111;
  color: #fff;
}

/* Messages */
#bls-product-v2 #tab-custom .bls-custom-form .success{
  background:#f0fff2; border:1px solid #bfe8c6; padding:10px 12px; border-radius:8px; margin-bottom:10px;
}
#bls-product-v2 #tab-custom .bls-custom-form .errors{
  background:#fff5f5; border:1px solid #f1b3b3; padding:10px 12px; border-radius:8px; margin-bottom:10px;
}

/* Honeypot */
#bls-product-v2 #tab-custom .bls-custom-form .hp{
  position:absolute; left:-9999px;
}
/* Center + enlarge the "Send my request" button in Custom Designs tab */
#bls-product-v2 #tab-custom .bls-custom-form .actions{
  display: flex;
  justify-content: center;   /* centers the button */
  margin-top: 16px;
}

#bls-product-v2 #tab-custom .bls-custom-form .actions .btn{
  font-size: clamp(1.95rem, 2.2vw, 1.25rem);  /* bigger label text (~16.8–20px) */
  font-weight: 700;
  padding: 14px 22px;                          /* larger button */
  min-width: 220px;                            /* wider presence */
  border-radius: 10px;
  background: #111;
  color: #fff;
  border: 1px solid #111;
  transition: transform .12s ease, box-shadow .12s ease, background .2s ease;
}

#bls-product-v2 #tab-custom .bls-custom-form .actions .btn:hover{
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  background: #000;
}

#bls-product-v2 #tab-custom .bls-custom-form .actions .btn:active{
  transform: translateY(0) scale(0.995);
  box-shadow: 0 2px 8px rgba(0,0,0,.10);
}

/* Optional: full-width button on small phones */
@media (max-width: 420px){
  #bls-product-v2 #tab-custom .bls-custom-form .actions .btn{
    width: 100%;
    min-width: 0;
  }
}
/* Add an "ask" row under Features in the middle+right grid */
@media (min-width: 1280px){
  #bls-product-v2 .bls-v2__cols23{
    grid-template-rows: auto auto auto auto; /* +1 row */
    grid-template-areas:
      "finishbox finishbox"
      "features  purchase"
      "ask       purchase"   /* NEW row for Ask */
      "custom    purchase";
  }
  /* map the new ask card to the ask area */
  #bls-product-v2 .bls-v2__ask--middle{ grid-area: ask; }
}

/* On mobile/tablet, decide the order. We'll show it after Features. */
@media (max-width: 1279.98px){
  #bls-product-v2 .bls-v2__cols23{
    grid-template-areas:
      "purchase"
      "finishbox"
      "features"
      "ask"        /* NEW: after features */
      "custom";
  }
  #bls-product-v2 .bls-v2__ask--middle{ grid-area: ask; }
}
#bls-product-v2 .bls-v2__ask--middle{
  margin-top: 10px; /* tweak to taste */
}
/* Apply the same policy typography to the About tab */
#bls-product-v2 #tab-about .policy{
  font-size: 16.5px;
  line-height: 1.7;
  color: #222;
}

/* Beige theme for About Us */
#bls-product-v2 #tab-about .bls-aboutus{
  background: #F5EEDF;           /* beige */
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  padding: 18px 16px;
}

/* Main title: big; centered (consistent with other tabs) */
#bls-product-v2 #tab-about .policy h3{
  text-align: center !important;
  margin: 0 0 22px !important;
  font-weight: 800;
  letter-spacing: 0.015em;
  text-transform: none;
  font-size: clamp(1.9rem, 3.2vw, 2.6rem) !important;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,0,0,.12);
}

/* Section headings: larger; left-aligned */
#bls-product-v2 #tab-about .policy h4{
  text-align: left !important;
  margin: 24px 0 12px !important;
  font-weight: 750;
  letter-spacing: 0.01em;
  text-transform: none;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important;
}

/* Bulleted lists: standard filled black dots */
#bls-product-v2 #tab-about .policy ul{
  list-style: disc !important;
  list-style-position: outside !important;
  margin: 0 0 14px 22px !important;
  padding: 0 !important;
}
#bls-product-v2 #tab-about .policy ul li{
  display: list-item !important;
  margin: 6px 0 !important;
}

/* Keep tabs showing/hiding correctly */
#bls-product-v2 [hidden]{ display: none !important; }

/* Keep ETA on one line; ellipsis the date if it overflows */
#bls-product-v2 .bls-v2__purchase .bls-v2__eta{
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
#bls-product-v2 .bls-v2__purchase .bls-v2__eta .eta-text{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
@media (max-width: 1280px){
  #bls-product-v2 .bls-v2__purchase .bls-v2__eta{ font-size: 0.95em; }
}
/* Finishes tab layout */
#bls-product-v2 #tab-finishes .bls-v2__finishes{ padding: 8px 0; }
#bls-product-v2 #tab-finishes .bls-v2__finishes-title{
  text-align:center; margin: 0 0 18px; font-weight: 800;
  font-size: clamp(1.6rem, 2.6vw, 2rem); letter-spacing: .01em;
  padding-bottom: 6px; border-bottom: 1px solid rgba(0,0,0,.12);
}
#bls-product-v2 #tab-finishes .bls-v2__finishes-list{ display: grid; gap: 16px; }

/* Each row: two columns (image | text); alternate with .is-rtl */
#bls-product-v2 #tab-finishes .bls-v2__finish-row{
  display: grid; grid-template-columns: minmax(220px, 380px) 1fr; gap: 16px; align-items: center;
}
#bls-product-v2 #tab-finishes .bls-v2__finish-row.is-rtl{ grid-template-columns: 1fr minmax(220px, 380px); }
#bls-product-v2 #tab-finishes .bls-v2__finish-row.is-rtl .bls-v2__finish-figure{ order: 2; }
#bls-product-v2 #tab-finishes .bls-v2__finish-row.is-rtl .bls-v2__finish-text{ order: 1; }

/* Image box */
#bls-product-v2 #tab-finishes .bls-v2__finish-figure{
  margin: 0; padding: 10px; border: 1px solid rgba(0,0,0,.15); border-radius: 10px; background: #fff; width: 100%;
}
#bls-product-v2 #tab-finishes .bls-v2__finish-figure img{
  display: block; width: 100%; height: auto; border-radius: 6px;
}
#bls-product-v2 #tab-finishes .bls-v2__finish-placeholder{
  aspect-ratio: 4/3; display:grid; place-items:center; color:#777;
  background: repeating-linear-gradient(45deg,#fafafa,#fafafa 10px,#f1f1f1 10px,#f1f1f1 20px);
  border-radius: 6px;
}

/* Text */
#bls-product-v2 #tab-finishes .bls-v2__finish-text p{
  margin: 0; font-size: 16px; line-height: 1.65; color: #222;
}

/* Mobile stack */
@media (max-width: 767.98px){
  #bls-product-v2 #tab-finishes .bls-v2__finish-row,
  #bls-product-v2 #tab-finishes .bls-v2__finish-row.is-rtl{
    grid-template-columns: 1fr;
  }
  #bls-product-v2 #tab-finishes .bls-v2__finish-figure{ order: 1; }
  #bls-product-v2 #tab-finishes .bls-v2__finish-text{ order: 2; }
}

#bls-product-v2 .bls-v2__assure .bls-assure-accent,
#bls-assure .bls-assure-accent {
  color: #1e63ff !important;
  font-weight: 700 !important;
}

/* Color palette + HEX arranged in a single row with fixed block height */
/* Keep the row on one line and add bottom spacing so Drop length never overlaps */
#bls-product-v2 .ppv2-color-row{
  flex-wrap: nowrap !important;
  min-width: 0 !important;
  height: 48px !important;
  margin-bottom: 10px; /* space before the Drop length block */
}



/* Make the palette a bit smaller */
#ppv2-color {
  display: inline-block !important;
  flex: 0 0 36px !important;   /* reserves space in the row */
  width: 36px !important;      /* fixed swatch size */
  height: 28px !important;
  padding: 0 !important;
  border: 1px solid var(--border, #ddd);
  border-radius: 6px;
  box-sizing: border-box;
}


/* Tiny label between palette and hex field */
.ppv2-hex-label {
  font-size: 12px;
  color: #666;
  line-height: 1;
  margin-right: 4px;      /* a little extra space before the hex box */
  white-space: nowrap;
}

/* HEX: shorter height, comfortably wide */
/* HEX: bounded & defeats global input{width:100%} */
#bls-product-v2 .bls-v2__field #ppv2-color-hex {
  height: 28px !important;
  width: auto !important;        /* override any 100% rules */
  max-width: 160px !important;   /* ~20% smaller so it never spills */
  flex: 1 1 120px;               /* lets it shrink within the row */
  padding: 4px 8px !important;
  box-sizing: border-box;
}


/* Drop length: larger input so its block height = 48px */
/* Drop length: visible and stable width */
#bls-product-v2 .bls-v2__field #ppv2-drop {
  display: inline-block !important;
  height: 48px !important;
  width: 220px !important;     /* ~15–20% smaller so it doesn't collide */
  max-width: none !important;
  box-sizing: border-box;
}



/* Keep Drop length label neat */
.bls-v2__label--drop {
  font-size: 0.95em;
  white-space: nowrap;
}

/* Mobile tweak */
@media (max-width: 480px) {
  #ppv2-color-hex { width: 200px !important; }
  #ppv2-drop { width: 200px !important; }
}
/* === FIX: Color & Drop-length row layout (scoped) === */
#bls-product-v2 .ppv2-color-row{
  display:flex; align-items:center; gap:8px;
  flex-wrap:nowrap;          /* stay on one line */
  min-width:0;               /* allow shrinking inside grid cells */
  height:48px;               /* matches drop-length block height */
}

/* Color palette swatch: fixed size so it never collapses to a line */
#bls-product-v2 #ppv2-color{
  appearance:auto;           /* ensure native color input renders */
  display:inline-block !important;
  flex:0 0 36px !important;  /* reserve space in the row */
  width:36px !important;
  height:28px !important;
  padding:0 !important;
  border:1px solid var(--border,#ddd);
  border-radius:6px;
  box-sizing:border-box;
  background:initial;        /* defeat theme resets */
}

/* Small 'HEX' label: don't let it steal width */
#bls-product-v2 .ppv2-hex-label{
  flex:0 0 auto;
  font-size:12px; line-height:1; white-space:nowrap; color:#666;
}

/* HEX input: bounded so it cannot overflow the field */
#bls-product-v2 .bls-v2__field #ppv2-color-hex{
  height:28px !important;
  width:auto !important;         /* beat any width:100% globals */
  max-width:170px !important;    /* adjust 160–190 to taste */
  flex:1 1 140px;                /* cooperate with palette + label */
  padding:4px 8px !important;
  box-sizing:border-box;
}

/* Drop length input: visible and not overlapping the HEX field */
#bls-product-v2 .bls-v2__field #ppv2-drop{
  display:inline-block !important;
  height:48px !important;
  width:200px !important;        /* keep narrower than before */
  max-width:none !important;
  box-sizing:border-box;
}

/* (Optional) mobile tweak */
@media (max-width: 480px){
  #bls-product-v2 .bls-v2__field #ppv2-color-hex{ max-width:150px !important; }
  #bls-product-v2 .bls-v2__field #ppv2-drop{ width:190px !important; }
}
/* ===== FINAL FIX: Color + HEX + Drop length layout (scoped) ===== */
#bls-product-v2 .ppv2-color-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;     /* keep on one line */
  min-width:0;          /* allow children to shrink inside grid cells */
  height:44px;          /* compact row height */
}

/* Color palette: fixed, visible swatch (was collapsing to a 1px line) */
#bls-product-v2 #ppv2-color{
  appearance:auto;              /* ensure native color input renders */
  display:inline-block !important;
  flex:0 0 32px !important;     /* reserve space in the row */
  width:32px !important;
  height:28px !important;
  padding:0 !important;
  border:1px solid var(--border,#ddd);
  border-radius:6px;
  box-sizing:border-box;
  background:initial;           /* defeat theme resets */
}

/* Tiny 'HEX' label between palette and input */
#bls-product-v2 .ppv2-hex-label{
  flex:0 0 auto;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
  color:#666;
}

/* HEX input: bounded so it never overflows the field */
#bls-product-v2 .bls-v2__field #ppv2-color-hex{
  height:28px !important;
  width:auto !important;        /* beat any global width:100% rules */
  max-width:160px !important;   /* trim ~20% so it stays inside */
  flex:1 1 120px;               /* cooperates with palette + label */
  padding:4px 8px !important;
  box-sizing:border-box;
  overflow:hidden;              /* belt-and-suspenders */
}

/* Drop length input: visible, smaller, and NOT overlapping HEX */
#bls-product-v2 .bls-v2__field #ppv2-drop{
  display:inline-block !important;
  height:40px !important;       /* a bit shorter so rows align nicely */
  width:190px !important;       /* narrower to avoid collision */
  max-width:none !important;
  box-sizing:border-box;
  visibility:visible !important; /* guard against accidental hides */
}

/* On very small screens, let HEX + Drop shrink a little more */
@media (max-width: 480px){
  #bls-product-v2 .bls-v2__field #ppv2-color-hex{ max-width:140px !important; }
  #bls-product-v2 .bls-v2__field #ppv2-drop{ width:180px !important; }
}
/* ===== FINAL SIZE OVERRIDES for Color / HEX / Drop ===== */
#bls-product-v2 #ppv2-color{
  -webkit-appearance: color-well !important;
  appearance: auto !important;
  display: inline-block !important;
  width: 34px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 1px solid #ddd;
  border-radius: 6px;
  box-sizing: border-box;
  flex: 0 0 34px !important;
}

#bls-product-v2 .ppv2-hex-label{
  font-size: 12px;
  color: #666;
  white-space: nowrap;
}

/* HEX: smaller so it stays inside the field line */
#bls-product-v2 #ppv2-color-hex{
  height: 28px !important;
  max-width: 150px !important;   /* adjust 140–170 if you want */
  padding: 4px 8px !important;
  box-sizing: border-box;
  flex: 1 1 120px;
}

/* Drop length: visible, not too wide, sits below color row */
#bls-product-v2 #ppv2-drop{
  display: block !important;     /* force its own line */
  height: 40px !important;
  width: 220px !important;       /* reduce size so it never collides */
  box-sizing: border-box;
  margin-top: 2px;               /* tiny breathing room */
}

/* Safety net on phones */
@media (max-width: 480px){
  #bls-product-v2 #ppv2-color-hex{ max-width: 140px !important; }
  #bls-product-v2 #ppv2-drop{ width: 190px !important; }
}
/* === FINAL CLAMP: HEX field at 50% width, cannot overflow === */
#bls-product-v2 .bls-v2__field .ppv2-color-row input#ppv2-color-hex,
#bls-product-v2 .ppv2-color-row input#ppv2-color-hex,
#bls-product-v2 input#ppv2-color-hex {
  width: 90px !important;       /* ~50% of previous 180px */
  max-width: 90px !important;
  min-width: 90px !important;
  flex: 0 0 90px !important;     /* fixes flex-grow/flex-basis */
  height: 28px !important;
  padding: 4px 8px !important;
  box-sizing: border-box;
}

/* Keep swatch visible and compact */
#bls-product-v2 #ppv2-color {
  appearance: auto !important;
  -webkit-appearance: color-well !important;
  display: inline-block !important;
  flex: 0 0 32px !important;
  width: 32px !important;
  height: 28px !important;
}

/* Drop length: prevent overlap & keep reasonable size */
#bls-product-v2 .bls-v2__field #ppv2-drop {
  display: inline-block !important;
  width: 190px !important;     /* smaller so it never sits over HEX */
  height: 40px !important;
  box-sizing: border-box;
}

/* Row behavior: never wrap inside grid cells */
#bls-product-v2 .ppv2-color-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
  height: 44px;
}
#bls-product-v2 .ppv2-color-row input#ppv2-color-hex.ppv2-hex { width: 90px !important; max-width: 90px !important; min-width: 90px !important; flex: 0 0 90px !important; }

/* === FINAL CLAMP: Drop length input size === */
#bls-product-v2 .bls-v2__field #ppv2-drop,
#bls-product-v2 .ppv2-color-row ~ .bls-v2__field #ppv2-drop,
#bls-product-v2 input#ppv2-drop {
  display: inline-block !important;
  height: 30px !important;
  width: 120px !important;      /* ← adjust this value to your taste */
  max-width: 120px !important;
  min-width: 120px !important;
  flex: 0 0 120px !important;    /* prevents flex grow/overflow */
  box-sizing: border-box;
}

/* optional: on small screens let it shrink a bit */
@media (max-width: 480px){
  #bls-product-v2 input#ppv2-drop { width: 150px !important; max-width: 150px !important; min-width: 150px !important; flex-basis: 150px !important; }
}


/* (Optional) a tiny nudge on the input itself */
#bls-product-v2 #ppv2-drop {
  margin-top: 8px !important;    /* remove or tweak if not needed */
}
/* === Restore width for "Optional further details" field === */
/* Works whether it's an <input> or <textarea> */
#bls-product-v2 .bls-v2__field input[name="properties[Optional further details]"],
#bls-product-v2 .bls-v2__field textarea[name="properties[Optional further details]"] {
  width: 310px !important;      /* set your preferred width */
  max-width: none !important;
  min-width: 280px;              /* avoid collapsing too small */
  box-sizing: border-box;
}

/* Optional: make it full-row if your layout is tight */
@media (max-width: 768px){
  #bls-product-v2 .bls-v2__field input[name="properties[Optional further details]"],
  #bls-product-v2 .bls-v2__field textarea[name="properties[Optional further details]"] {
    width: 100% !important;
    min-width: 0;
  }
}
/* ===========================
   PURCHASE CARD: containment
   =========================== */

/* 0) (TEMP DEBUG) visualize the card bounds while testing */
/* #bls-product-v2 .bls-v2__purchase-card { outline: 1px dashed red; } */

/* 1) The card sets the max width; everyone inside must respect that */
#bls-product-v2 .bls-v2__purchase-card {
  --card-max: 520px;            /* tweak if you want it narrower/wider */
  max-width: var(--card-max);
  overflow-wrap: anywhere;      /* break long tokens if needed */
  word-break: break-word;
}
#bls-product-v2 .bls-v2__purchase-card,
#bls-product-v2 .bls-v2__purchase-card * {
  box-sizing: border-box;
  min-width: 0;                 /* KEY: stop flex children forcing overflow */
}

/* 2) Inputs & CTAs always fill the card width */
#bls-product-v2 .bls-v2__purchase-card select,
#bls-product-v2 .bls-v2__purchase-card input[type="text"],
#bls-product-v2 .bls-v2__purchase-card input[type="number"],
#bls-product-v2 .bls-v2__purchase-card input[type="email"],
#bls-product-v2 .bls-v2__purchase-card .shopify-payment-button,
#bls-product-v2 .bls-v2__purchase-card .bls-v2__add {
  width: 100%;
}

/* 3) PRICE ROW — let tokens wrap within the card */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-wrap {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;              /* price + compare + %off can go to 2 lines */
}
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price,
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-compare,
#bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off {
  flex: 0 0 auto;
  max-width: 100%;
}
#bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off { line-height: 1; }

/* 4) ETA ROW — label + date badge wrap neatly */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__meta { display: grid; row-gap: 8px; }
#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;              /* green label & blue date can stack */
  min-width: 0;
}
#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta .eta-label,
#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta .eta-text { min-width: 0; }
#bls-product-v2 .bls-v2__purchase-card #BlsV2Eta {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* 5) Shopify-injected payment “terms / more options” must wrap too */
#bls-product-v2 .bls-v2__purchase-card .shopify-payment-terms,
#bls-product-v2 .bls-v2__purchase-card .shopify-payment-button__more-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* 6) Images/badges inside the card never overflow their container */
#bls-product-v2 .bls-v2__purchase-card img { max-width: 100%; height: auto; }
/* ===== Keep PRICE row on one line ===== */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-wrap{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap: nowrap;          /* force single line */
}

#bls-product-v2 .bls-v2__purchase-card .bls-v2__price{
  flex: 1 1 auto;             /* main price can shrink */
  min-width: 0;               /* allow ellipsis */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-compare{
  flex: 0 0 auto;             /* don't shrink into ellipsis */
  white-space: nowrap;
}

#bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off{
  flex: 0 0 auto;             /* keep badge intact */
  white-space: nowrap;
  line-height: 1;
}

/* Optional: on very narrow viewports, hide compare-at to protect the row */
@media (max-width: 420px){
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__price-compare{ display:none; }
}

/* ===== Keep ETA row on one line ===== */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap: nowrap;          /* force single line */
}

#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta .eta-label{
  flex: 0 0 auto;             /* fixed */
  white-space: nowrap;
}

#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta .eta-text{
  flex: 1 1 auto;             /* the date can shrink */
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;    /* … if too long */
}

/* General safety so nothing pushes the card wider */
#bls-product-v2 .bls-v2__purchase-card,
#bls-product-v2 .bls-v2__purchase-card *{
  box-sizing: border-box;
  min-width: 0;
}
/* ===========================
   PURCHASE CARD: responsive font sizing
   =========================== */

/* 0) Set tunable vars on the card */
#bls-product-v2 .bls-v2__purchase-card{
  --price-size: 28px;      /* main price */
  --compare-size: 16px;    /* compare-at */
  --badge-size: 14px;      /* % OFF */
  --eta-label-size: 14px;  /* "Free Delivery by:" */
  --eta-date-size: 14px;   /* the date pill */
}

/* 1) Apply the vars */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price{ font-size: var(--price-size); }
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-compare{ font-size: var(--compare-size); }
#bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off{ font-size: var(--badge-size); }

#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta .eta-label{ font-size: var(--eta-label-size); }
#bls-product-v2 .bls-v2__purchase-card #BlsV2Eta{ font-size: var(--eta-date-size); }

/* 2) Smart scaling with clamp to fit within one line across widths */
@media (max-width: 1280px){
  #bls-product-v2 .bls-v2__purchase-card{
    --price-size: clamp(22px, 2.2vw, 26px);
    --compare-size: clamp(13px, 1.1vw, 15px);
    --badge-size: clamp(12px, 1.0vw, 14px);
    --eta-label-size: clamp(12px, 1.0vw, 14px);
    --eta-date-size: clamp(12px, 1.0vw, 14px);
  }
}

@media (max-width: 992px){
  #bls-product-v2 .bls-v2__purchase-card{
    --price-size: clamp(20px, 2.6vw, 24px);
    --compare-size: clamp(12px, 1.2vw, 14px);
    --badge-size: clamp(11px, 1.1vw, 13px);
    --eta-label-size: clamp(12px, 1.2vw, 13px);
    --eta-date-size: clamp(12px, 1.2vw, 13px);
  }
}

/* Optional: on very tight screens, prioritize keeping everything visible */
@media (max-width: 420px){
  #bls-product-v2 .bls-v2__purchase-card{
    --price-size: 18px;
    --compare-size: 12px;
    --badge-size: 11px;
    --eta-label-size: 12px;
    --eta-date-size: 12px;
  }
}
/* ===========================
   PURCHASE CARD: stronger down-scaling
   =========================== */

/* Base vars (desktop) */
#bls-product-v2 .bls-v2__purchase-card{
  --price-size: 26px;      /* main price */
  --compare-size: 15px;    /* compare-at */
  --badge-size: 13px;      /* % OFF */
  --eta-label-size: 14px;  /* "Free Delivery by:" */
  --eta-date-size: 14px;   /* date pill */
  --row-gap: 8px;          /* gaps between bits */
}

/* Apply */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price{ font-size: var(--price-size); }
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-compare{ font-size: var(--compare-size); }
#bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off{ font-size: var(--badge-size); }
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-wrap{ gap: var(--row-gap); }

#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta .eta-label{ font-size: var(--eta-label-size); }
#bls-product-v2 .bls-v2__purchase-card #BlsV2Eta{ font-size: var(--eta-date-size); }
#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta{ gap: calc(var(--row-gap) - 2px); }

/* Tighter badge/date padding as we shrink */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off{ padding: 6px 10px; line-height: 1; }
#bls-product-v2 .bls-v2__purchase-card #BlsV2Eta{ padding: 6px 10px; }

/* Step-down 1 */
@media (max-width: 1280px){
  #bls-product-v2 .bls-v2__purchase-card{
    --price-size: clamp(19px, 1.9vw, 22px);
    --compare-size: clamp(12px, 1.05vw, 14px);
    --badge-size: clamp(11px, 0.95vw, 13px);
    --eta-label-size: clamp(12px, 1.0vw, 13px);
    --eta-date-size: clamp(12px, 1.0vw, 13px);
    --row-gap: 6px;
  }
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off,
  #bls-product-v2 .bls-v2__purchase-card #BlsV2Eta{ padding: 5px 9px; }
}

/* Step-down 2 */
@media (max-width: 1024px){
  #bls-product-v2 .bls-v2__purchase-card{
    --price-size: clamp(17px, 2.2vw, 20px);
    --compare-size: clamp(11px, 1.2vw, 13px);
    --badge-size: clamp(10px, 1.1vw, 12px);
    --eta-label-size: clamp(11px, 1.2vw, 12px);
    --eta-date-size: clamp(11px, 1.2vw, 12px);
    --row-gap: 5px;
  }
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__price-wrap,
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__eta{ gap: 5px; }
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off,
  #bls-product-v2 .bls-v2__purchase-card #BlsV2Eta{ padding: 4px 8px; }
}

/* Step-down 3 (tablet/compact) */
@media (max-width: 768px){
  #bls-product-v2 .bls-v2__purchase-card{
    --price-size: clamp(16px, 2.8vw, 19px);
    --compare-size: clamp(10px, 1.4vw, 12px);
    --badge-size: clamp(9px, 1.3vw, 11px);
    --eta-label-size: clamp(10px, 1.4vw, 12px);
    --eta-date-size: clamp(10px, 1.4vw, 12px);
    --row-gap: 4px;
  }
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__price-wrap,
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__eta{ gap: 4px; }
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off,
  #bls-product-v2 .bls-v2__purchase-card #BlsV2Eta{ padding: 3px 7px; }
}

/* Step-down 4 (very tight) */
@media (max-width: 420px){
  #bls-product-v2 .bls-v2__purchase-card{
    --price-size: 15px;
    --compare-size: 10px;
    --badge-size: 9px;
    --eta-label-size: 10px;
    --eta-date-size: 10px;
    --row-gap: 3px;
  }
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__price-wrap,
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__eta{ gap: 3px; }
  #bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off,
  #bls-product-v2 .bls-v2__purchase-card #BlsV2Eta{ padding: 2px 6px; }
}
/* ===== PURCHASE CARD: ultra-compact single-line for Price + ETA ===== */

/* Price row: single line, aggressive size + spacing */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-wrap{
  display:flex; align-items:baseline; gap:6px; flex-wrap:nowrap;
}
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price{
  font-size: 18px;            /* << smaller main price */
  line-height: 1.1;
  white-space:nowrap; overflow:hidden; text-overflow:clip;
  min-width: 0; flex: 0 1 auto;   /* allow to shrink before clipping */
}
#bls-product-v2 .bls-v2__purchase-card .bls-v2__price-compare{
  font-size: 11px;            /* << smaller compare */
  line-height: 1.1;
  white-space:nowrap; flex:0 0 auto;
}
#bls-product-v2 .bls-v2__purchase-card .bls-v2__badge-off{
  font-size: 10px;            /* << smaller %OFF */
  line-height: 1;
  padding: 2px 6px;           /* tighter pill */
  white-space:nowrap; flex:0 0 auto;
  transform: translateY(-1px); /* optically align with baseline */
}

/* ETA row: single line, aggressive size + spacing */
#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta{
  display:flex; align-items:center; gap:6px; flex-wrap:nowrap;
}
#bls-product-v2 .bls-v2__purchase-card .bls-v2__eta .eta-label{
  font-size: 11px;            /* << smaller label */
  line-height: 1.1;
  white-space:nowrap; flex:0 0 auto;
}
#bls-product-v2 .bls-v2__purchase-card #BlsV2Eta{
  font-size: 11px;            /* << smaller date pill */
  line-height: 1.1;
  padding: 2px 6px;           /* tighter pill */
  white-space:nowrap; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:clip;
}

/* General safety so nothing widens the card */
#bls-product-v2 .bls-v2__purchase-card,
#bls-product-v2 .bls-v2__purchase-card *{ box-sizing:border-box; min-width:0; }
