/* ABL theme repairs: flow-based badges, source photo ratios and clear offer type. */
.abl-offer .abl-supply-tile__name { font:600 12px/1.4 'General Sans',sans-serif; }
.abl-offer .abl-tier-price { margin-top:4px; }
#main-add-to-cart svg,.abl-pdp-sticky .abl-pdp-cta svg { width:19px; height:19px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.abl-pdp-sticky .abl-pdp-cta { gap:8px; }
#MainContent .abl-guarantee-shipping { display:grid; grid-template-columns:1fr 1fr; margin:14px 0; gap:0; padding:14px 10px; border:1px solid #E6E7E9; border-radius:10px; background:#F7F8FA; text-align:center; }
.abl-guarantee-shipping a { display:flex; flex-direction:column; gap:3px; color:#0A1628; text-decoration:none; }
.abl-guarantee-shipping a+a { border-left:1px solid #D5DAE1; }
.abl-guarantee-shipping strong { font:700 18px/1.2 'Cabinet Grotesk',sans-serif; }
.abl-guarantee-shipping span { font:400 11px/1.4 'General Sans',sans-serif; }
#MainContent .ba__images,#MainContent .ba__composite { width:100%; height:auto; aspect-ratio:8/5; overflow:hidden; position:relative; }
#MainContent .ba__img-col { min-width:0; height:100%; }
#MainContent .ba__img-wrap { height:100%; aspect-ratio:auto; }
#MainContent .ba__images img,#MainContent .ba__composite>img { width:100%; height:100%; max-height:none; object-fit:contain; }
#MainContent .ba__compare-arrow { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid #E6E7E9; border-radius:50%; background:#fff; color:#0A1628; box-shadow:0 2px 8px #0a16281a; pointer-events:none; }
#MainContent .ba__compare-arrow svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#MainContent .ba__attribution { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:5px; min-height:0; margin:16px 16px 0; padding-top:0; }
#MainContent .ba__verified { position:static; justify-self:start; margin:4px 0 0; }
#MainContent .ba__card { padding-bottom:16px; }
#MainContent .pi__rating { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
#MainContent .pi__rating-value { font:600 13px/1.3 'General Sans',sans-serif; }
#MainContent .pi__rating-count { font:400 12px/1.4 'General Sans',sans-serif; text-decoration:underline; white-space:nowrap; }
#MainContent .prv__top { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; column-gap:12px; row-gap:5px; }
#MainContent .prv__avatar { grid-column:1; grid-row:1 / span 2; }
#MainContent .prv__id { grid-column:2; min-width:0; }
#MainContent .prv__name { flex-wrap:wrap; row-gap:3px; }
#MainContent .prv__top .prv__stars { grid-column:2; margin:0; }
#MainContent .prv__summary { flex-wrap:wrap; white-space:normal; max-width:100%; line-height:1.5; }
#MainContent .prv__card { min-width:0; overflow-wrap:break-word; }
#MainContent .phow__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
#MainContent .phow__img { width:100%; aspect-ratio:800/668; height:auto; max-height:none; }
#MainContent .phow__img img { display:block; width:100%; height:100%; max-height:none; object-fit:contain; }
#MainContent .phow__title { margin:8px 0; }
#MainContent .phow__body { margin:0; }
#MainContent .ablpm-close { min-width:40px; min-height:40px; font-size:24px; color:#0A1628; }
#MainContent .ablpm-dialog[open] { overflow-y:auto; padding:0; }
.announcement-bar__track { animation-name:abl-announcement-scroll; }
@keyframes abl-announcement-scroll { from {transform:translateX(0);} to {transform:translateX(-50%);} }
.announcement-bar:focus-within .announcement-bar__track { animation-play-state:paused; }
.abl-claim-reference { font-size:.65em; line-height:0; vertical-align:.55em; color:inherit; margin-left:1px; font-weight:400; }
.abl-research-note { max-width:1120px; margin:24px auto; padding:0 20px; font:12px/1.7 'General Sans',sans-serif; color:#5D6773; }
.abl-research-note ol { padding-left:20px; }
@media(max-width:749px) {
 #MainContent .phow__steps { grid-template-columns:1fr; gap:26px; max-width:480px; margin:auto; }
 #MainContent .phow__img { max-width:400px; margin:0 auto 16px; }
 #MainContent .phow__step { text-align:center; }
 .abl-offer .abl-supply-tile__name { font-size:11px; }
 .abl-pdp-sticky .abl-pdp-cta { min-width:160px; font-size:12px; }
}

#MainContent .ablpm-chip{min-height:44px}#MainContent .phow-template--21378321940589__how_to{padding-bottom:40px}

/* Subscription terms directly under the CTA (small, quiet). */
.abl-app-disclosure { margin:10px 0 0; color:#5d6773; font:11.5px/1.55 "General Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:center; }
.abl-research-note p { margin:0 0 4px; }
.abl-dagger { margin-left:1px; font-size:.55em; line-height:0; vertical-align:.6em; opacity:.8; }
/* Before/after compliance line under the section heading. */
.ba__disclaimer { margin:6px 0 20px; color:#5d6773; font:500 13px/1.5 'General Sans',sans-serif; }
/* Add-to-cart in progress: the arrow becomes a spinner until the drawer slides in. */
.abl-pdp-cta.is-loading { cursor:progress; }
.abl-pdp-cta.is-loading svg { display:none; }
.abl-pdp-cta.is-loading::after { content:""; width:16px; height:16px; flex:none; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:abl-spin .7s linear infinite; }
@keyframes abl-spin { to { transform:rotate(360deg); } }
