/* Halden PDP conversion mechanics — buy-box rating, bundle tiers, trust badges,
   and the reviews section. Theme-agnostic, scoped to .hl-* classes. */
:root { --hl-accent:#1f6fa8; --hl-gold:#f7a600; }

/* ---- star rating under the title ---- */
.hl-stars { display:inline-flex; gap:1px; line-height:1; vertical-align:middle; }
.hl-star { color:#d8d8d8; font-size:1.15rem; }
.hl-star.is-on { color:var(--hl-gold); }
.hl-stars--sm .hl-star { font-size:0.95rem; }
.hl-rating { display:inline-flex; align-items:center; gap:8px; margin:6px 0 14px; text-decoration:none; color:#333; font-family:'Poppins',system-ui,sans-serif; }
.hl-rating strong { font-size:0.95rem; color:#111; }
.hl-rating__count { font-size:0.9rem; color:#666; text-decoration:underline; }

/* ---- bundle tiers ---- */
.hl-buybox { font-family:'Poppins',system-ui,sans-serif; margin:18px 0 20px; }
.hl-bundles__label { font-size:0.95rem; font-weight:600; color:#111; margin-bottom:10px; }
.hl-bundles { display:flex; flex-direction:column; gap:10px; }
.hl-bundle {
  position:relative; display:flex; align-items:center; gap:12px;
  border:2px solid #e6e6e6; border-radius:12px; padding:12px 14px; cursor:pointer;
  background:#fff; transition:border-color .15s ease, box-shadow .15s ease;
}
.hl-bundle:hover { border-color:#c9d6df; }
.hl-bundle.is-active { border-color:var(--hl-accent); box-shadow:0 0 0 3px rgba(31,111,168,.12); background:#f7fbfe; }
.hl-bundle__radio { flex:0 0 auto; width:20px; height:20px; border-radius:50%; border:2px solid #cdcdcd; position:relative; }
.hl-bundle.is-active .hl-bundle__radio { border-color:var(--hl-accent); }
.hl-bundle.is-active .hl-bundle__radio::after { content:""; position:absolute; inset:3px; border-radius:50%; background:var(--hl-accent); }
.hl-bundle__img { flex:0 0 auto; width:52px; height:52px; object-fit:contain; border-radius:8px; background:#f3f3f3; }
.hl-bundle__info { flex:1; display:flex; flex-direction:column; gap:2px; }
.hl-bundle__title { font-weight:600; font-size:1rem; color:#111; }
.hl-bundle__sub { font-size:0.8rem; color:#777; }
.hl-bundle__pricing { flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:1px; }
.hl-bundle__price { font-weight:700; font-size:1.05rem; color:#111; }
.hl-bundle__compare { font-size:0.8rem; color:#999; text-decoration:line-through; }
.hl-bundle__save { font-size:0.72rem; font-weight:600; color:#1ca15a; }
.hl-bundle__badge {
  position:absolute; top:-9px; right:14px; background:var(--hl-accent); color:#fff;
  font-size:0.66rem; font-weight:700; letter-spacing:.04em; padding:3px 9px; border-radius:20px;
}
.hl-bundle:nth-child(3) .hl-bundle__badge { background:#1ca15a; }

/* ---- trust badges above ATC ---- */
.hl-trust { list-style:none; display:flex; gap:8px; margin:16px 0 4px; padding:0; flex-wrap:wrap; }
.hl-trust li { flex:1 1 0; min-width:96px; display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; padding:10px 6px; background:#f6f7f8; border-radius:10px; font-size:0.74rem; font-weight:500; color:#333; line-height:1.25; }
.hl-trust svg { color:var(--hl-accent); }

/* ---- reviews section ---- */
.hl-reviews { background:#fafafa; padding:60px 20px; font-family:'Poppins',system-ui,sans-serif; border-top:1px solid #eee; }
.hl-reviews__inner { max-width:1080px; margin:0 auto; }
.hl-reviews__title { text-align:center; font-size:2rem; font-weight:700; color:#111; margin:0 0 28px; }
.hl-reviews__summary { display:flex; gap:40px; align-items:center; justify-content:center; flex-wrap:wrap; background:#fff; border:1px solid #eee; border-radius:16px; padding:26px 32px; margin-bottom:32px; }
.hl-reviews__score { text-align:center; }
.hl-reviews__avg { font-size:3rem; font-weight:700; color:#111; line-height:1; }
.hl-reviews__score .hl-star { font-size:1.3rem; }
.hl-reviews__count { font-size:0.85rem; color:#777; margin-top:6px; }
.hl-dist { flex:1; min-width:240px; max-width:380px; display:flex; flex-direction:column; gap:6px; }
.hl-dist__row { display:flex; align-items:center; gap:10px; font-size:0.82rem; color:#666; }
.hl-dist__lbl { width:26px; color:#888; }
.hl-dist__bar { flex:1; height:8px; background:#ececec; border-radius:5px; overflow:hidden; }
.hl-dist__bar span { display:block; height:100%; background:var(--hl-gold); }
.hl-dist__n { width:32px; text-align:right; color:#999; }
.hl-reviews__grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:18px; }
.hl-rev { background:#fff; border:1px solid #eee; border-radius:14px; padding:18px 20px; }
.hl-rev__head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.hl-rev__avatar { flex:0 0 auto; width:38px; height:38px; border-radius:50%; background:var(--hl-accent); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:600; }
.hl-rev__who { flex:1; display:flex; flex-direction:column; }
.hl-rev__name { font-weight:600; font-size:0.92rem; color:#111; display:flex; align-items:center; gap:6px; }
.hl-rev__verified { font-size:0.68rem; color:#1ca15a; font-weight:600; }
.hl-rev__loc { font-size:0.76rem; color:#999; }
.hl-rev__date { font-size:0.76rem; color:#aaa; }
.hl-rev .hl-stars { margin-bottom:8px; }
.hl-rev__body { font-size:0.9rem; color:#444; line-height:1.55; margin:0; }
.hl-rev__photo { margin-top:12px; width:100%; max-height:200px; object-fit:cover; border-radius:10px; }
.hl-reviews__more { display:block; margin:28px auto 0; background:#fff; border:1.5px solid #111; color:#111; border-radius:10px; padding:13px 34px; font-weight:600; font-size:0.95rem; cursor:pointer; font-family:inherit; }
.hl-reviews__more:hover { background:#111; color:#fff; }
@media (max-width:560px){ .hl-reviews__summary{ flex-direction:column; gap:20px; } }

/* ---- FAQ accordion — matched to the brand's own FAQ page ----
   Poppins 14px, bold near-black question (#02060b), light chevron-right that
   rotates open, hairline divider; no cards / no fills (native <details>). */
.hl-faq { font-family:'Poppins',system-ui,sans-serif; padding:44px 20px; background:#fff; }
.hl-faq__inner { max-width:1000px; margin:0 auto; }
.hl-faq__title { font-size:22px; font-weight:600; color:#02060b; text-align:center; margin:0 0 26px; }
.hl-faq__item { border-bottom:1px solid #ececec; }
.hl-faq__q {
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 2px; font-size:14px; font-weight:600; color:#02060b;
}
.hl-faq__q::-webkit-details-marker { display:none; }
.hl-faq__q::marker { content:""; }
.hl-faq__chev { flex:0 0 auto; color:#9aa0a6; transition:transform .2s ease; }
.hl-faq__item[open] .hl-faq__chev { transform:rotate(90deg); }
.hl-faq__a { padding:0 2px 18px; }
.hl-faq__a p { margin:0; font-size:14px; line-height:1.7; color:#5a5f66; font-weight:400; }

/* ---- shrink the buy-box product description (intro + benefit bullets) ----
   Theme renders it at 18px/27px; bring it down to a tighter, more compact size. */
.t4s-product__description.t4s-rte,
.t4s-product__description.t4s-rte p,
.t4s-product__description.t4s-rte li {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* ---- remove the broken "GUARANTEED SAFE CHECKOUT" payment cards ----
   The theme's payment-seal images are dead refs (grey broken boxes). */
.t4s-pr_trust_seal,
.t4s-pr-mess_trust { display:none !important; }

/* ---- compact Product Description / Shipping Details dropdowns (buy box) ----
   Same on-brand accordion language as the FAQ, sized for inside the buy box. */
.hl-pdacc { font-family:'Poppins',system-ui,sans-serif; margin:18px 0 6px; }
.hl-pdacc__item { border-bottom:1px solid #ececec; }
.hl-pdacc__item:first-child { border-top:1px solid #ececec; }
.hl-pdacc__q {
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 2px; font-size:14px; font-weight:600; color:#02060b;
}
.hl-pdacc__q::-webkit-details-marker { display:none; }
.hl-pdacc__q::marker { content:""; }
.hl-pdacc__item[open] .hl-faq__chev { transform:rotate(90deg); }
.hl-pdacc__a { padding:0 2px 16px; font-size:13.5px; line-height:1.65; color:#5a5f66; }
.hl-pdacc__a p { margin:0 0 8px; }
.hl-pdacc__a ul { margin:8px 0 0; padding-left:18px; }
.hl-pdacc__a li { margin:3px 0; }

/* ---- subtle on-scroll reveal (motion only; respects reduced-motion) ---- */
.hl-reveal { opacity:0; transform:translateY(18px); }
.hl-reveal.is-in {
  opacity:1; transform:none;
  transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1);
}
@media (prefers-reduced-motion: reduce) {
  .hl-reveal, .hl-reveal.is-in { opacity:1; transform:none; transition:none; }
}
