/*
 * Home v7, inside the shop layout (v3.css): the panels sit in the main column
 * beside the left-hand categories, on the same white cards, borders and radius
 * as the rest of the shop. Colours are the shop's own tokens; the brief's red
 * is the shop's own red (--v3-red), used for the Foundation Plan action only,
 * and its green is --v3-green, for nurse support and the Guided Start.
 */
.hv7 { --hv7-green-soft:#e9f5ee; --hv7-green-line:#bfe0cc; --hv7-amber:#8a5a00; --hv7-amber-soft:#fff4d6 }
.hv7 h1, .hv7 h2, .hv7 h3 { color:var(--navy) }
.hv7-h2 { font-size:clamp(1.45rem, 2.1vw, 1.9rem); line-height:1.2; margin:4px 0 10px }
.hv7-h3 { font-family:var(--fb); font-size:1.02rem; font-weight:800; margin:18px 0 10px; color:var(--navy) }
.hv7-small { font-size:.86rem; color:var(--muted); margin:12px 0 0 }
.hv7-green { color:var(--v3-green); font-weight:800 }
.hv7-amber { color:var(--hv7-amber); font-weight:800 }
.hv7-eyebrow--green { color:var(--v3-green) }

/* buttons */
.hv7-btn--red { background:var(--v3-red); color:#fff }
.hv7-btn--red:hover { background:#a82d22; color:#fff }
.hv7-btn--green { background:var(--v3-green); color:#fff }
.hv7-btn--green:hover { background:#17603c; color:#fff }
.hv7 .btn { white-space:normal; text-align:center }

/* ── opening ───────────────────────────────────────────────────────────── */
.hv7-hero { background:linear-gradient(135deg, var(--sky), #fff); border:1px solid var(--sky-line); border-radius:var(--v3-r); padding:28px; display:grid; grid-template-columns:minmax(0, 1.55fr) minmax(0, 1fr); gap:24px; align-items:center }
.hv7-hero h1 { font-size:clamp(1.9rem, 3vw, 2.6rem); line-height:1.12; margin:14px 0 12px }
.hv7-lead { font-size:1.12rem; font-weight:700; color:var(--navy); margin:0 0 10px }
.hv7-body { color:var(--muted); margin:0 }
.hv7-first { font-weight:700; color:var(--navy); margin:16px 0 2px; font-size:.95rem }
.hv7-hero .hv7-small { margin:0 0 6px }
.hv7-greenlink { font-weight:800; color:var(--v3-green) }
.hv7-hero__side { display:flex; flex-direction:column; gap:14px }
.hv7-math { display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--hair); border-radius:var(--v3-r); padding:16px; color:var(--navy) }
.hv7-math img { flex:none; width:96px; height:96px; object-fit:contain }
.hv7-math > span { display:flex; flex-direction:column; gap:2px }
.hv7-math__sum { font-weight:700 }
.hv7-math__n { font-family:var(--fd); font-size:2rem; color:var(--blue); line-height:1.1 }
.hv7-math small { color:var(--muted) }
.hv7-rn { display:flex; gap:12px; align-items:flex-start; background:var(--navy-deep); color:#fff; border-radius:var(--v3-r); padding:16px }
.hv7-rn b { color:#fff }
.hv7-rn p { margin:4px 0 0; font-size:.9rem; opacity:.92 }
.hv7-rn a { color:#fff; text-decoration:underline; white-space:nowrap }
.hv7-rn__ic { flex:none; width:36px; height:36px; border-radius:50%; background:var(--v3-green); position:relative }
.hv7-rn__ic::before, .hv7-rn__ic::after { content:''; position:absolute; background:#fff; left:50%; top:50%; transform:translate(-50%, -50%) }
.hv7-rn__ic::before { width:16px; height:4px }
.hv7-rn__ic::after { width:4px; height:16px }

/* trust strip */
.hv7-trust { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px }
.hv7-trust > div { display:flex; gap:12px; background:#fff; border:1px solid var(--hair); border-radius:var(--v3-r); padding:16px }
.hv7-trust b { display:block; color:var(--navy) }
.hv7-trust p { margin:2px 0 0; color:var(--muted); font-size:.9rem }
.hv7-ic { flex:none; width:36px; height:36px; border-radius:10px; display:grid; place-items:center; font-weight:800; font-size:1.1rem }
.hv7-ic--price { background:var(--sky); color:var(--blue) }
.hv7-ic--nurse { background:var(--hv7-green-soft); color:var(--v3-green) }
.hv7-ic--stop { background:var(--hv7-amber-soft); color:var(--hv7-amber) }

/* ── testing supplies ──────────────────────────────────────────────────── */
.hv7-cards { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:14px }
.hv7-card--plan { border:2px solid var(--v3-red) }
.hv7-badge--red { background:var(--v3-red) }
.hv7-per { color:var(--muted); font-size:.85rem }
.hv7-chip { align-self:flex-start; background:var(--sky); color:var(--blue); font-size:.78rem; font-weight:800; border-radius:6px; padding:3px 8px; margin:6px 0 0 }
.hv7-cards .v3card__s { margin-top:4px }

/* ── Foundation Plan ───────────────────────────────────────────────────── */
.hv7-plan { background:var(--navy-deep); color:#fff; border-radius:var(--v3-r); padding:28px; display:grid; grid-template-columns:minmax(0, 1.5fr) minmax(300px, 1fr); gap:28px; align-items:start; scroll-margin-top:150px }
.hv7-plan h2 { color:#fff; font-size:clamp(1.45rem, 2.2vw, 2rem); margin:6px 0 10px }
.hv7-plan__txt > p { opacity:.92; margin:0 }
.hv7-plan .hv7-h3 { color:#fff }
.hv7-ticks { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px }
.hv7-ticks > div { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:10px; padding:12px }
.hv7-ticks b { display:block; color:#fff; padding-left:20px; position:relative }
.hv7-ticks b::before { content:''; position:absolute; left:2px; top:5px; width:9px; height:5px; border-left:2px solid #8fd6ae; border-bottom:2px solid #8fd6ae; transform:rotate(-45deg) }
.hv7-ticks span { display:block; font-size:.86rem; opacity:.88; margin-top:4px }
.hv7-later { border:1px dashed var(--hair); border-radius:10px; padding:12px 14px; margin-top:12px; background:var(--mist) }
.hv7-later__tag { display:inline-block; background:var(--hv7-amber-soft); color:var(--hv7-amber); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; border-radius:99px; padding:3px 10px }
.hv7-later ul { margin:8px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; font-size:.9rem; color:var(--muted) }
.hv7-later li b { color:var(--navy); margin-right:4px }
.hv7-later--dark { background:transparent; border-color:rgba(255,255,255,.35) }
.hv7-later--dark ul { color:#fff; opacity:.9 }
.hv7-later--dark li b { color:#fff }
.hv7-plan__boxes { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; margin-top:14px }
.hv7-plan__boxes > div { border:1px solid rgba(255,255,255,.25); border-radius:10px; padding:12px; font-size:.9rem; display:flex; flex-direction:column; gap:4px }
.hv7-plan__boxes b { color:#fff }
.hv7-plan__boxes a { color:#bfe0ff; font-weight:800 }
.hv7-buy { background:#fff; color:var(--navy); border-radius:var(--v3-r); padding:20px; display:flex; flex-direction:column; gap:10px }
.hv7-buy__head { display:flex; justify-content:space-between; align-items:center; gap:8px }
.hv7-buy__head b { font-size:1.1rem }
.hv7-pill--red { background:var(--v3-red); color:#fff; font-size:.72rem; font-weight:800; text-transform:uppercase; border-radius:99px; padding:3px 10px; white-space:nowrap }
.hv7-buy dl { margin:0 }
.hv7-buy dl > div { display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid var(--hair); font-size:.92rem }
.hv7-buy dd { margin:0; font-weight:800; white-space:nowrap }
.hv7-buy__big { margin:4px 0 0; color:var(--muted); font-size:.88rem }
.hv7-buy__big b { font-family:var(--fd); font-size:2.2rem; color:var(--navy); margin-right:4px }
.hv7-buy__tick { display:flex; gap:10px; align-items:center; background:var(--mist); border-radius:10px; padding:10px 12px; cursor:pointer; min-height:44px; font-weight:700 }
.hv7-buy__tick input { width:20px; height:20px; accent-color:var(--blue); flex:none }
.hv7-buy__due { border:1px solid var(--hair); border-radius:10px; padding:0 12px }
.hv7-buy__due > div:last-child { border-bottom:0 }
.hv7-buy__note, .hv7-buy__foot { font-size:.82rem; color:var(--muted); margin:0 }
.hv7-buy__foot { text-align:center }
.hv7-err { color:var(--coral); font-size:.88rem; margin:0 }

/* ── nurse support ─────────────────────────────────────────────────────── */
.hv7-nurse { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr); gap:28px; scroll-margin-top:150px }
.hv7-nurse__txt > p { color:var(--muted); margin:0 0 10px }
.hv7-med { font-size:.9rem; background:var(--hv7-green-soft); border:1px solid var(--hv7-green-line); border-radius:10px; padding:10px 12px; color:var(--navy) !important }
.hv7-mentor { display:flex; gap:14px; background:var(--mist); border-radius:var(--v3-r); padding:16px; margin-top:14px }
.hv7-mentor img { flex:none; width:64px; height:64px; border-radius:50%; object-fit:cover }
.hv7-mentor p { margin:4px 0 10px; font-size:.92rem; color:var(--muted) }
.hv7-mentor__btns { display:flex; gap:8px; flex-wrap:wrap }
.hv7-nurse__list .hv7-h3 { margin-top:0 }
.hv7-means { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px }
.hv7-means li { display:flex; gap:12px; align-items:flex-start; border:1px solid var(--hair); border-radius:10px; padding:12px }
.hv7-means b { display:block; color:var(--navy) }
.hv7-means span:not(.hv7-means__ic) { font-size:.9rem; color:var(--muted) }
.hv7-means__ic { flex:none; width:32px; height:32px; border-radius:8px; background:var(--hv7-green-soft); position:relative }
.hv7-means__ic::after { content:''; position:absolute; inset:9px; border:2px solid var(--v3-green); border-radius:3px }
.hv7-means__ic--phone::after { border-radius:50% 50% 4px 4px }
.hv7-means__ic--time::after { border-radius:50% }

/* ── Guided Start ──────────────────────────────────────────────────────── */
.hv7-guided { background:var(--hv7-green-soft); border:1px solid var(--hv7-green-line); border-radius:var(--v3-r); padding:28px; scroll-margin-top:150px }
.hv7-guided__top { display:grid; grid-template-columns:minmax(0, 1.4fr) minmax(280px, 1fr); gap:24px; align-items:start }
.hv7-guided .hv7-h2 { color:#17603c; margin-top:12px }
.hv7-guided__top p { margin:0; color:var(--navy) }
.hv7-pill--green { display:inline-block; background:var(--v3-green); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; border-radius:99px; padding:4px 12px }
.hv7-facts { background:#fff; border-radius:var(--v3-r); padding:16px; box-shadow:0 2px 10px rgba(52,68,106,.08) }
.hv7-facts dl { margin:0 0 12px }
.hv7-facts dl > div { display:flex; justify-content:space-between; gap:10px; padding:5px 0; font-size:.9rem }
.hv7-facts dt { color:var(--muted) }
.hv7-facts dd { margin:0; font-weight:800; text-align:right; color:var(--navy) }
.hv7-pilot { display:flex; flex-direction:column; gap:8px; border-top:1px solid var(--hair); padding-top:12px }
.hv7-pilot label { display:flex; flex-direction:column; gap:3px; font-size:.86rem; font-weight:700; color:var(--navy) }
.hv7-pilot label small { font-weight:400; color:var(--muted) }
.hv7-pilot input:not([type="radio"]):not([type="checkbox"]) { border:1px solid var(--hair); border-radius:8px; padding:10px 12px; font:inherit; font-weight:400; min-height:44px }
.hv7-pilot fieldset { border:0; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 16px; align-items:center; font-size:.86rem }
.hv7-pilot legend { font-weight:700; color:var(--navy); padding:0; margin-bottom:4px; width:100% }
.hv7-pilot fieldset label { flex-direction:row; align-items:center; gap:6px; font-weight:400; min-height:36px }
.hv7-pilot fieldset input { width:18px; height:18px; accent-color:var(--v3-green) }
.hv7-pilot__note { font-size:.84rem; color:var(--muted); margin:0 }
.hv7-pilot .consent__n { font-size:.8rem; color:var(--muted); margin:0 }
/* The consent line keeps the site's own layout: box beside the words, not a field label. */
.hv7-pilot label.consent { flex-direction:row; gap:10px; font-weight:400; color:inherit; font-size:.82rem; margin-top:4px }
.hv7-tablewrap { margin-top:20px; background:#fff; border-color:var(--hv7-green-line) }
.hv7-stages thead th { background:#fff; color:#17603c }
.hv7-num { font-weight:800; color:var(--v3-green) }
.hv7-get { font-weight:700; color:#17603c }
.hv7-leave { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px }
.hv7-leave > div { background:#fff; border:1px solid var(--hv7-green-line); border-radius:10px; padding:14px }
.hv7-leave span { display:block; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--v3-green) }
.hv7-leave b { display:block; color:var(--navy); margin:4px 0 }
.hv7-leave p { margin:0; font-size:.9rem; color:var(--muted) }

/* ── four ways, and how it will be measured ────────────────────────────── */
.hv7-offers { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; margin-top:6px }
.hv7-offer { border:1px solid var(--hair); border-radius:var(--v3-r); padding:16px; display:flex; flex-direction:column; gap:6px }
.hv7-offer--green { border:2px solid var(--v3-green) }
.hv7-offer__h { display:flex; justify-content:space-between; align-items:flex-start; gap:8px }
.hv7-offer__h b { color:var(--navy); line-height:1.25 }
.hv7-offer p { margin:0; font-size:.9rem; color:var(--muted) }
.hv7-offer .hv7-offer__p { margin-top:auto; padding-top:8px; font-weight:800; color:var(--navy) }
.hv7-offer .hv7-offer__p.hv7-green { color:var(--v3-green) }
.hv7-offer a { font-weight:800 }
.hv7-tag { flex:none; background:var(--sky); color:var(--blue); font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; border-radius:6px; padding:3px 7px; white-space:nowrap }
.hv7-tag--green { background:var(--v3-green); color:#fff }
.hv7-tag--amber { background:var(--hv7-amber-soft); color:var(--hv7-amber) }
.hv7-measure { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:20px; background:var(--mist); border-radius:var(--v3-r); padding:20px; margin-top:18px }
.hv7-measure h3 { font-family:var(--fb); font-size:1.12rem; font-weight:800; margin:4px 0 6px }
.hv7-measure p { margin:0; font-size:.92rem; color:var(--muted) }
.hv7-measure ol { margin:0; padding-left:20px; display:flex; flex-direction:column; gap:6px; color:var(--navy) }

/* ── support table ─────────────────────────────────────────────────────── */
.hv7-r { text-align:right !important; white-space:nowrap }
.hv7-support tbody th { font-weight:800; color:var(--navy) }
.hv7-support__later th { background:var(--hv7-amber-soft); color:var(--hv7-amber); font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; font-weight:800 }
.hv7-support__soon > * { color:var(--muted) }
.hv7-support__soon .hv7-r { color:var(--hv7-amber); font-weight:800 }

/* ── honest pricing, foot care, daily support ──────────────────────────── */
.hv7-pricing { background:var(--sky); border:1px solid var(--sky-line); border-radius:var(--v3-r); padding:24px; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:24px; align-items:start }
.hv7-pricing p { color:var(--muted); margin:0 0 14px }
.hv7-pricing .hv7-h3 { margin-top:0 }
.hv7-rules { list-style:none; counter-reset:hv7r; margin:0; padding:0; display:flex; flex-direction:column; gap:8px }
.hv7-rules li { counter-increment:hv7r; background:#fff; border-radius:10px; padding:12px 14px; display:flex; gap:12px; align-items:baseline; font-weight:700; color:var(--navy) }
.hv7-rules li::before { content:counter(hv7r); font-family:var(--fd); font-size:1.3rem; color:var(--blue) }
.hv7-foot { display:grid; grid-template-columns:minmax(0, 260px) minmax(0, 1fr); gap:24px; align-items:center }
.hv7-foot__img { background:var(--mist); border-radius:var(--v3-r); aspect-ratio:1; overflow:hidden }
.hv7-foot__img img { width:100%; height:100%; object-fit:contain; display:block }
.hv7-foot p { color:var(--muted); margin:0 }
.hv7-foot__row { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:14px }
.hv7-foot__row b { color:var(--navy) }
.hv7-daily { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:12px }
.hv7-daily .v3card__t { font-size:.92rem }

/* ── organizations, questions, closing ─────────────────────────────────── */
.hv7-orgs { background:var(--navy-deep); color:#fff; border-radius:var(--v3-r); padding:28px; display:grid; grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr); gap:24px; align-items:center }
.hv7-orgs .hv7-h2 { color:#fff }
.hv7-orgs p { opacity:.92; margin:0 }
.hv7-orgs__chips { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 16px; padding:0 }
.hv7-orgs__chips li { border:1px solid rgba(255,255,255,.4); border-radius:99px; padding:4px 12px; font-size:.86rem }
.hv7-lic { background:#fff; color:var(--navy); border-radius:var(--v3-r); padding:18px }
.hv7-lic a { color:var(--navy) }
.hv7-lic p { opacity:1; color:var(--muted); font-size:.92rem; margin:6px 0 10px }
.hv7-faq details { border-top:1px solid var(--hair) }
.hv7-faq details:last-child { border-bottom:1px solid var(--hair) }
.hv7-faq summary { cursor:pointer; list-style:none; padding:14px 34px 14px 0; font-weight:700; color:var(--navy); position:relative; min-height:44px }
.hv7-faq summary::-webkit-details-marker { display:none }
.hv7-faq summary::after { content:'+'; position:absolute; right:4px; top:12px; color:var(--blue); font-weight:800; font-size:1.2rem }
.hv7-faq details[open] summary::after { content:'−' }
.hv7-faq details p { margin:0 0 14px; color:var(--muted); max-width:75ch }
.hv7-close { background:var(--navy-deep); color:#fff; border-radius:var(--v3-r); padding:32px; text-align:center }
.hv7-close h2 { color:#fff; font-size:clamp(1.45rem, 2.4vw, 2rem); margin:0 0 8px }
.hv7-close p { margin:0; opacity:.92 }
.hv7-close .v3btns { justify-content:center }
.hv7-close__ph { margin-top:14px !important; font-size:.92rem }
.hv7-close a:not(.btn) { color:#fff; text-decoration:underline }

/* ── smaller screens ───────────────────────────────────────────────────── */
@media (max-width:1300px) {
  .hv7-cards { grid-template-columns:repeat(3, minmax(0, 1fr)) }
  .hv7-daily { grid-template-columns:repeat(3, minmax(0, 1fr)) }
  .hv7-offers { grid-template-columns:repeat(2, minmax(0, 1fr)) }
  .hv7-ticks { grid-template-columns:minmax(0, 1fr) }
}
@media (max-width:1100px) {
  .hv7-hero, .hv7-plan, .hv7-nurse, .hv7-guided__top, .hv7-pricing, .hv7-orgs { grid-template-columns:minmax(0, 1fr) }
  .hv7-trust { grid-template-columns:minmax(0, 1fr) }
}
@media (max-width:700px) {
  .hv7-hero, .hv7-plan, .hv7-guided, .hv7-orgs, .hv7-pricing { padding:18px }
  .hv7-close { padding:22px 18px }
  .hv7-cards, .hv7-daily { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px }
  .hv7-offers, .hv7-leave, .hv7-measure, .hv7-plan__boxes { grid-template-columns:minmax(0, 1fr) }
  .hv7-foot { grid-template-columns:minmax(0, 1fr) }
  .hv7-foot__img { max-width:220px }
  .hv7-math__n { font-size:1.6rem }
  .hv7-mentor { flex-direction:column }
  .hv7 .v3btns .btn { flex:1 1 100% }
  .hv7-mentor__btns .btn { flex:1 1 100% }
}

/* Card buttons: one line where the card allows it. */
.hv7-cards .v3card .btn, .hv7-daily .v3card .btn { min-height:44px; padding:8px 10px; font-size:.92rem; white-space:nowrap }
.hv7-ticks b { font-size:.95rem }
.hv7-buy__tick span { font-size:.95rem }
