.h-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  flex: none;
  background: currentColor;
  mask: var(--symbol) center / contain no-repeat;
}
.rating {
  box-sizing: border-box;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  max-width: 100%;
  min-height: 40px;
  color: #150707;
  background: white;
  border: 1px solid rgb(21 7 7 / 12%);
  border-radius: 8px;
  padding: 8px 16px;
  line-height: 18px;
  white-space: nowrap;
}
.rating .review-stars { width: 90px; min-width: 0; }
.rating .review-logo { width: 80px; min-width: 0; }
.hero { min-height: 70vh; }
.hero-inner, .hero h1, .hero p { max-width: 720px; }
.hero h1 { line-height: 1.25; }
.hero .wrap { width: min(100%, 1440px); }
.cta, .hp-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 10px 20px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
}
.cta:hover, .hp-add:hover { text-decoration: none; filter: brightness(.92); }
.cta.wide { align-self: stretch; width: 100%; margin-inline: 0; }
.editor.red .cta { background: #150707; color: white; }
.editor .cta.secondary { background: #e8dcd2; color: #150707; }
.mobileNav summary, cart-icon { line-height: 1; }
cart-icon small:empty, cart-icon:has([data-empty]) small { display: none; }
.hp-pack del { display: block; font-size: 13px; font-weight: 400; color: #85777a; text-align: right; }
.ribbon { overflow: hidden; background: #c80f2e; color: white; }
.ribbon-track, .ribbon-track > div, .ribbon span { display: flex; align-items: center; }
.ribbon-track { width: max-content; animation: hony-ribbon 25s linear infinite; }
.ribbon-track > div { padding-right: 30px; gap: 30px; }
.ribbon span { white-space: nowrap; gap: 5px; min-height: 46px; }
.ribbon img { width: 25px; }
.ribbon .h-icon { width: 22px; height: 22px; }
@keyframes hony-ribbon { to { transform: translateX(-25%); } }
@media (prefers-reduced-motion: reduce) { .ribbon-track { animation: none; } }
.ingredient-cards { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); align-items: start; gap: 20px; padding: 16px 0; text-align: left; }
.ingredient-cards img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.ingredient-cards h3 { margin: 14px 0 6px; }
.vids { scroll-snap-type: x mandatory; }
.vids video { scroll-snap-align: start; }
.perks { display: grid; grid-template-columns: repeat(3,1fr); padding: 60px max(20px,4vw); background: white; color: #150707; text-align: center; }
.perks > div { display: grid; justify-items: center; gap: 5px; }
.perks .h-icon { width: 36px; height: 36px; margin-bottom: 6px; }
footer { background: #c80f2e; color: white; padding: 60px max(40px,calc((100% - 1360px)/2)) 20px; }
footer .logo { max-width: 100%; padding-right: 12px; }
footer h3 { font-weight: 400; font-size: 18px; }
footer a { font-size: 14px; }
.newsletter form { display: flex; min-height: 48px; }
.newsletter input { color: #150707; padding: 10px 12px; width: 100%; height: 100%; min-width: 0; border: none; border-radius: 8px 0 0 8px; }
.newsletter label { flex: 1; min-width: 0; }
.newsletter button { border: none; border-radius: 0 8px 8px 0; padding: 8px 12px; background: #150707; color: white; }
.footer-service { grid-column: 1/-1; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; border-top: 1px solid #ffffff50; padding-top: 20px; }
.footer-service h3 { margin: 0; }
.footer-service a:last-child { margin-left: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 820px) {
  .rating { gap: 7px; font-size: 13px; padding: 8px clamp(7px,3vw,16px); }
  .rating .excellent { display: none; }
  .rating .review-stars { width: min(80px,19vw); }
  .rating .review-logo { width: min(80px,19vw); }
  .ingredient-cards { grid-auto-columns: 82%; overflow: auto; scroll-snap-type: x mandatory; }
  .ingredient-cards article { scroll-snap-align: start; }
  .perks { grid-template-columns: 1fr; padding: 35px 20px; gap: 25px; }
  footer { grid-template-columns: 1fr; gap: 35px; padding: 45px 20px 16px; }
  footer .logo { max-width: 220px; }
  .footer-service { gap: 8px 16px; }
}
.hero h1, .panel h2, .editor h2, .read h1 { letter-spacing: normal; }
.cta, .hp-add { letter-spacing: .4px; }
.hero p { line-height: 1.25; }
@media (max-width: 820px) {
  .product { padding-top: 60px; }
  .rating { padding: 8px 15px; }
  .rating .review-stars, .rating .review-logo { width: min(80px, 21vw); }
  .announce { font-size: 14px; }
}
.ingredient-cards article { background: white; color: #150707; border-radius: 14px; overflow: hidden; padding: 16px; }
.ingredient-cards article p { margin: 6px 0; }
.hony-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 2px; margin-top: 12px; }
.hony-pagination button { width: 24px; height: 24px; padding: 8px; border: none; background: none; }
.hony-pagination button::after { content: ''; display: block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; opacity: .35; }
.hony-pagination button[aria-current=true]::after { opacity: 1; }
.product-page .product { padding-top: 30px; gap: 60px; grid-template-columns: minmax(0,1.11fr) minmax(0,1fr); }
.product-page .gallery { padding-top: 0; }
.panel h2 { font-size: 32px; line-height: 1.25; margin: 12px 0; font-weight: 600; }
.thumbs button[aria-pressed=true] { border-color: #150707; }
.hony-benefits { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; padding: 0; list-style: none; font-size: 14px; }
.hony-benefits li::before { content: '✓'; margin-right: 8px; }
.buy-dock { position: fixed; z-index: 4; inset: auto 0 0; background: #fbf3db; padding: 10px 20px max(10px,env(safe-area-inset-bottom)); text-align: center; border-top: 1px solid #e8dcd2; }
.buy-dock button { color: white; background: #c80f2e; border: none; border-radius: 10px; padding: 12px 20px; width: min(100%, 450px); }
.hp-order .hony-pack-picker legend { width: 100%; text-align: center; }
@media (max-width:820px) {
  .product-page .product { padding-top: 0; grid-template-columns: minmax(0,1fr); gap: 16px; }
  .product-page .featured { width: calc(100% + 40px); max-width: none; margin-left: -20px; border-radius: 0; }
  .product-page .thumbs { gap: 10px; padding: 12px 0 0; }
  .product-page .thumbs button { flex-basis: 70px; border-radius: 8px; }
  .panel h2 { font-size: 24px; }
  .hony-benefits { grid-template-columns: 1fr; }
}
@media (min-width: 821px) {
  .hero h1 { max-width: 650px; }
}

/* Pack selector from the Höny product page. */
[data-subscription] { gap: 10px; }
[data-subscription] .hony-pack-picker { min-width: 0; gap: 4px; }
[data-subscription] .hony-pack-picker legend {
  float: left; display: flex; align-items: center; gap: 8px;
  justify-content: center; margin: 24px 0 8px; padding: 0;
}
[data-subscription] legend::before, [data-subscription] legend::after {
  content: ''; flex: 1; height: 2px; background: #e9b6c0;
}
[data-subscription] .subscription-banner {
  margin: 0 0 1px; border-radius: 40px; padding: 10px;
  text-align: center; background: #c80f2e; color: white; font-size: 13px; font-weight: 700;
}
[data-subscription] .hp-pack {
  padding: 8px; gap: 0 15px; grid-template-columns: 24px minmax(0,1fr) auto;
  border: 1px solid #f5bac3; border-radius: 24px; min-height: 62px;
}
[data-subscription] .hp-pack:has(input:checked) {
  padding: 8px; border-color: #c80f2e; background: #fbd8de;
}
[data-subscription] .hp-pack input {
  appearance: none; margin: 0; width: 24px; height: 24px; border-radius: 50%;
  border: 2px solid #f4bbc4; background: white; cursor: pointer;
}
[data-subscription] .hp-pack input:checked {
  border-color: #c80f2e; background: radial-gradient(circle,#c80f2e 0 48%,white 51%);
}
[data-subscription] .hp-pack strong { font-size: 19px; line-height: 1.2; white-space: nowrap; }
[data-subscription] .hp-pack strong del { margin-top: 3px; }
[data-subscription] .hp-pack small { line-height: 1.25; }
[data-subscription] .hp-pack:has(.hony-pack-extras) { padding-top: 12px; }
[data-subscription] .hony-pack-badge { top: -9px; right: 6%; border-radius: 3px; padding: 3px 8px; }
[data-subscription] .hony-pack-extras {
  padding: 0; margin: 10px -8px -8px; overflow: hidden;
  text-align: left; border-radius: 0 0 23px 23px;
}
[data-subscription] .hony-pack-extras > div {
  display: flex; align-items: center; gap: 6px; padding: 6px 9px; min-height: 39px;
}
[data-subscription] .hony-pack-extras > div + div { border-top: 1px solid white; }
[data-subscription] .hony-pack-extras img { width: 25px; height: 25px; border-radius: 50%; object-fit: cover; }
[data-subscription] .hony-pack-extras del { margin-left: auto; font-size: 12px; font-weight: 400; color: inherit; }
.buy-once { text-align: center; text-decoration: underline; text-underline-offset: 3px; font-size: 15px; }
.panel:has([data-subscription]) > p { font-size: 14px; }
.panel:has([data-subscription]) .hony-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 12px; font-size: 14px; }
@media(max-width:480px) {
  [data-subscription] .hp-pack { column-gap: 8px; }
  [data-subscription] .hp-pack b, [data-subscription] .hp-pack strong { font-size: 16px; }
}
[data-subscription] .hony-pack-extras span { flex: 0 0 25px; }
[data-subscription] .hp-pack:has(.hony-pack-badge) { padding-top: 16px; }

.panel .buy-once { margin: 0 0 17px; }
.panel .hp-add { font-weight: 400; }
.order-followup { color: #150707; font-size: 14px; line-height: 1.4; }
.payment-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 5px; margin: 10px 0 12px; }
.payment-row img { width: 35px; height: 22px; }
.dispatch-strip { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-bottom: 13px; padding: 6px 10px; background: #e9e9e9; color: #111; border-radius: 6px; font: 13px/1.3 Arial,sans-serif; }
.dispatch-strip > span:first-child::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #22c55e; }
.product-detail { border-bottom: 1px solid rgb(21 7 7 / 12%); }
.product-detail:last-of-type { border-bottom: 0; }
.product-detail summary { display:flex; justify-content: space-between; align-items:center; gap: 16px; padding: 10px 0; list-style:none; font-size: 14px; line-height: 19px; font-weight:600; }
.product-detail summary::-webkit-details-marker {display:none}
.product-detail summary::after { content:''; width:7px; height:7px; margin-right:9px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); }
.product-detail[open] summary::after {transform:rotate(225deg)}
.product-detail > div { padding:0 0 12px; }
.buyer-review { margin-top: 16px; background:#fff; color:#150707; border:1px solid rgb(21 7 7 / 12%); border-radius:6px; padding:15px; text-align:left; font-size:14px; }
.review-score {color:#c80f2e; font-size:17px; letter-spacing:1px}
.buyer-review h3,.buyer-review p {font-size:14px; line-height:1.4; margin:10px 0}
.buyer-review h3 {font-weight:600}
.review-credit {display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:18px}
.sf-section { color:#150707; }
.sf-section.cream,.sf-flow.cream,.policy-page main { background:#fbf4da; }
.sf-section.gray,.sf-flow.gray { background:#f2f2f2; }
.sf-section.white,.sf-flow.white { background:white; }
.sf-section.red,.sf-flow.red { background:#c80f2e; color:white; }
.sf-card { border-radius:16px; background:white; padding:20px; color:#150707; }
.sf-flow { display:flex; flex-direction:var(--d,column); gap:var(--g,0); align-items:var(--a,stretch); justify-content:var(--j,flex-start); min-width:0; }
.sf-flow:not(.wrap) {width:var(--w,100%); margin-block:var(--mt,0) var(--mb,0);}
.sf-flow.wrap.narrow {max-width:900px;}
.sf-picture {width:100%; min-width:0;}
.sf-picture img {width:100%; height:auto; border-radius:12px;}
.sf-logo img {width:auto;height:40px;}
.sf-text { min-width:0; }
.sf-text :is(h1,h2,h3,h4,h5,h6,p) {font:inherit; margin:0;}
.sf-text p + p { margin-top:.8em; }
.sf-text.sf-h1 {font-size:48px;line-height:1.25;font-weight:600}
.sf-text.sf-h2 {font-size:36px;line-height:1.25;font-weight:600}
.sf-text.sf-h3 {font-size:26px;line-height:1.25;font-weight:600}
.sf-text.sf-h4 {font-size:20px;line-height:1.25;font-weight:600}
.sf-flow[style*="--a:center"] > .sf-text {text-align:center}
.sf-icon { flex:none; } .sf-icon img {width:36px;height:36px;object-fit:contain}
.sf-disclosures {width:100%}
.sf-section.red .cta {background:#150707}
.sf-section .cta.secondary {color:#150707;background:#e8dcd2}
.sf-section .rating img {border-radius:0}
.policy-page .read { margin:0 auto;padding:55px 24px; }
.source-contact {display:grid;gap:12px}
.source-contact input:not([type=hidden]),.source-contact textarea {width:100%;padding:12px;border:1px solid #bbb;border-radius:8px;font:inherit}
.source-contact button {padding:12px 20px;background:#c80f2e;color:white;border:0;border-radius:10px;}
@media (max-width:749px) {
 .sf-flow {flex-direction:var(--md,column);gap:var(--mg,8px);align-items:var(--ma,stretch);justify-content:var(--mj,flex-start)}
 .sf-flow:not(.wrap) {width:var(--mw,100%)}
 .sf-text.sf-h1 {font-size:32px}.sf-text.sf-h2 {font-size:26px}.sf-text.sf-h3 {font-size:20px}
 .dispatch-strip {font-size:12px}
 .sf-section .sf-picture img {max-height:none}
}
.sf-text.sf-body { font-size: 14px; line-height:1.4; }
.sf-disclosures summary {font-weight:400}
.sf-flow .sf-text + .cta,.sf-flow .sf-text + .sf-text {margin-top:8px}
.five-reasons > header,.five-reasons > .announce,.five-reasons > footer,.five-reasons > .perks {display:none}
.five-reasons .sf-section:first-child .sf-logo img {height:30px}
.couples-rating {font-size:12px; font-weight:700; padding:8px 12px}
.couples-rating b {color:#c80f2e}
.contact-page .read {margin:0 auto;max-width:900px;padding:60px 40px;}
.contact-page main {background:#fbf4da}
.contact-page .read h1 {margin:0 0 20px}
.source-contact {gap:14px}
.source-contact .textfields-group {display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.source-contact textarea {min-height:100px}
.source-contact input:not([type=hidden]),.source-contact textarea {border-color:#e4e4e4;background:white}
@media (max-width:749px) {
 .contact-page .read {padding:60px 20px}
 .source-contact .textfields-group {grid-template-columns:1fr}
}
.footer-bottom {grid-column:1 / -1;display:grid;justify-items:center;gap:4px}
.footer-bottom .payment-row {margin:0}
.footer-bottom > a {font-size:12px}
@media(max-width:749px){
.perks {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
}
