/* Featured shortcode cards. Original product media and editorial fields stay in WooCommerce. */
.vc_row.bfl-feature-row{display:grid!important;grid-template-columns:repeat(var(--bfl-feature-columns,4),minmax(0,1fr));gap:28px;align-items:stretch!important;margin-top:30px;margin-bottom:38px}
.vc_row.bfl-feature-row::before,.vc_row.bfl-feature-row::after{display:none!important}
.vc_row.bfl-feature-row>.bfl-feature-column{width:auto!important;float:none!important;min-width:0;margin:0!important;padding:0!important;display:flex;align-items:stretch}
.bfl-feature-column>.vc_column-inner,.bfl-feature-column>.vc_column-inner>.wpb_wrapper,.bfl-feature-column .wpb_text_column,.bfl-feature-column .wpb_text_column>.wpb_wrapper{display:flex;flex-direction:column;flex:1;min-width:0;width:100%;margin-bottom:0!important}
.bfl-feature-column>.vc_column-inner{padding:0!important}
.bfl-feature-card{--bfl-feature-annotation-height:40px;display:flex;flex-direction:column;min-width:0;width:100%;height:100%;margin:0;padding:0;text-align:center;color:#45545f;background:#fff;font-family:Lato,sans-serif}
.bfl-feature-card *{box-sizing:border-box}
.bfl-feature-card .bfl-feature-card__category{font:400 12px/1.5 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#45545f;min-height:36px;margin:0 0 8px;padding:0}
.bfl-feature-card__media{position:relative;height:clamp(280px,26vw,340px);flex:none;margin:0 0 10px;background:#fff}
.bfl-feature-card__photo{position:absolute;inset:0 0 calc(max(54px,var(--bfl-feature-annotation-height)) + 12px);display:flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}
.bfl-feature-card .bfl-feature-card__image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;object-fit:contain;object-position:center;transition:opacity .2s}
.bfl-feature-card__photo:hover .bfl-feature-card__image{opacity:.9}
.bfl-feature-card__annotation{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);padding:0 0 0 12px;border-left:1px solid #c2d0de;background:none;text-align:left;box-shadow:none}
.bfl-feature-card .bfl-feature-card__annotation p{max-width:215px;margin:0;padding:0;color:#45545f;font:400 14px/1.45 Lato,sans-serif;overflow-wrap:break-word}
.bfl-feature-card .bfl-feature-card__title{min-height:var(--bfl-feature-title-height,0px);margin:0;padding:0;font:700 18px/1.35 Montserrat,sans-serif;letter-spacing:1px;color:#45545f;overflow-wrap:break-word}
.bfl-feature-card__title a{color:inherit!important;text-decoration:none!important}
.bfl-feature-card__title a:hover{color:#1a4775!important}
.bfl-feature-card .bfl-feature-card__slogan{min-height:var(--bfl-feature-slogan-height,0px);font:300 16px/1.45 Lato,sans-serif;color:#3f3f3f;margin:8px 0 0;padding:0;overflow-wrap:break-word}
.bfl-feature-card__footer{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:auto;padding-top:14px;width:100%}
:is(.bfl-feature-card,.bfl-feature-dialog) .bfl-feature-card__price{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;min-height:32px;margin:0 0 13px;padding:0;color:#0a0a0a;font:700 24px/1.3 Lato,sans-serif;text-align:center}
.bfl-feature-card__price .amount{white-space:nowrap;font:inherit;color:inherit}
.bfl-feature-card__price del{opacity:.55;font-size:.76em}
.bfl-feature-card__price ins{background:none;text-decoration:none;color:inherit}
.bfl-feature-card__price small{font-size:.65em}
:is(.bfl-feature-card,.bfl-feature-dialog) .bfl-feature-card__add{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;height:auto;max-width:none;border:0;border-radius:26px;padding:12px 16px;margin:0;background:#1a4775;color:#fff;font:700 15px/1.4 Lato,sans-serif;letter-spacing:normal;text-transform:none;text-decoration:none;box-shadow:none;cursor:pointer;transition:background .2s,opacity .2s}
:is(.bfl-feature-card,.bfl-feature-dialog) .bfl-feature-card__add:hover{background:#1f4d5e;color:#fff}
:is(.bfl-feature-card,.bfl-feature-dialog) .bfl-feature-card__add[disabled]{cursor:wait;opacity:.65}
.bfl-feature-card .bfl-feature-card__details{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:44px;min-height:44px;height:auto;margin:0;border:0;border-radius:0;padding:8px 4px;background:none;color:#1a4775;font:400 14px/1.4 Lato,sans-serif;letter-spacing:normal;text-transform:none;text-decoration:underline;text-underline-offset:4px;box-shadow:none;cursor:pointer}
:is(.bfl-feature-card,.bfl-feature-dialog) button:focus-visible,:is(.bfl-feature-card,.bfl-feature-dialog) a:focus-visible{outline:2px solid #1a4775;outline-offset:4px}
:is(.bfl-feature-card,.bfl-feature-dialog) .bfl-feature-card__status{font:400 14px/1.4 Lato,sans-serif;color:#45545f;margin:5px 0 0;padding:0}
.bfl-feature-card__status:empty{display:none}
.bfl-feature-card__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bfl-feature-dialog{width:min(820px,calc(100% - 48px));max-width:none;max-height:88vh;max-height:88dvh;margin:auto;padding:0;border:0;border-radius:16px;background:#fff;color:#45545f;text-align:left;box-shadow:0 24px 90px #122b3f44;overflow:hidden}
.bfl-feature-dialog:not([open]){display:none}
.bfl-feature-dialog[open]{display:flex;flex-direction:column}
.bfl-feature-dialog::backdrop{background:#142d4270}
.bfl-feature-dialog__heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 24px;border-bottom:1px solid #e5ebef;flex:none}
.bfl-feature-dialog .bfl-feature-dialog__heading h2{font:500 25px/1.35 Montserrat,sans-serif;letter-spacing:.5px;color:#45545f;margin:0;padding:0}
.bfl-feature-dialog .bfl-feature-dialog__close{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:0;background:none;color:#45545f;font:300 30px/1 Lato,sans-serif;cursor:pointer;box-shadow:none}
.bfl-feature-dialog__scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px}
.bfl-feature-dialog__intro{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center}
.bfl-feature-dialog .bfl-feature-card__image{width:100%;height:200px;object-fit:contain;object-position:center;margin:0}
.bfl-feature-dialog .bfl-feature-dialog__slogan{font:400 18px/1.5 Lato,sans-serif;margin:0 0 14px;color:#45545f}
.bfl-feature-dialog .bfl-feature-dialog__arguments{font:300 16px/1.5 Lato,sans-serif;margin:0 0 10px;padding-left:20px;list-style:disc;color:#3f3f3f}
.bfl-feature-dialog__arguments li{margin-bottom:6px}
.bfl-feature-dialog__description{font:300 17px/1.6 Lato,sans-serif;color:#3f3f3f;margin-top:18px;overflow-wrap:break-word}
.bfl-feature-dialog__description p{margin:0 0 16px!important;line-height:inherit!important;font:inherit!important}
.bfl-feature-dialog__description strong{font-weight:700}
.bfl-feature-dialog__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:14px 24px;padding:16px 24px;border-top:1px solid #e5ebef;flex:none;background:#f8fafb}
.bfl-feature-dialog .bfl-feature-card__price{margin:0;flex:none}
.bfl-feature-dialog .bfl-feature-card__add{width:auto;min-width:210px;max-width:100%}
.bfl-feature-dialog .bfl-feature-card__status{width:100%;text-align:right}
.bfl-feature-dialog.bfl-feature-dialog--fallback{position:fixed;z-index:999999;inset:5vh 0 auto;outline:100vmax solid #142d4270}
@media(max-width:1099px){.vc_row.bfl-feature-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.bfl-feature-card__media{height:300px}}
@media(max-width:599px){.vc_row.bfl-feature-row{grid-template-columns:minmax(0,1fr);gap:34px;margin-top:24px;margin-bottom:30px}.bfl-feature-card{max-width:380px;margin-left:auto;margin-right:auto}.bfl-feature-card__media{height:290px}.bfl-feature-card .bfl-feature-card__category{min-height:0}.bfl-feature-card .bfl-feature-card__title{font-size:18px}.bfl-feature-dialog{width:100%;max-height:92vh;max-height:92dvh;max-width:100%;margin:auto 0 0;border-radius:16px 16px 0 0}.bfl-feature-dialog__heading{padding:10px 16px}.bfl-feature-dialog .bfl-feature-dialog__heading h2{font-size:22px}.bfl-feature-dialog__scroll{padding:18px}.bfl-feature-dialog__intro{grid-template-columns:105px minmax(0,1fr);gap:16px}.bfl-feature-dialog .bfl-feature-card__image{height:140px}.bfl-feature-dialog .bfl-feature-dialog__slogan{font-size:16px}.bfl-feature-dialog__arguments{grid-column:1/-1}.bfl-feature-dialog__footer{padding:14px 18px;gap:10px}.bfl-feature-dialog .bfl-feature-card__add{min-width:0;flex:1}.bfl-feature-dialog .bfl-feature-card__price{font-size:22px}.bfl-feature-dialog__description{font-size:16px}}
@media(max-height:480px){.bfl-feature-dialog{max-height:95vh;max-height:95dvh}.bfl-feature-dialog__heading,.bfl-feature-dialog__footer{padding-top:8px;padding-bottom:8px}}
@media(prefers-reduced-motion:reduce){.bfl-feature-card *{transition:none!important;scroll-behavior:auto!important}}

.bfl-feature-card__status:not(:empty):not(.is-error){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* WPBakery's content-middle and the theme's heading-link rules must not override this component. */
.vc_row.bfl-feature-row>.bfl-feature-column{align-items:stretch!important;justify-content:flex-start!important}
.bfl-feature-column>.vc_column-inner{align-items:stretch!important;justify-content:flex-start!important}
.bfl-feature-card .bfl-feature-card__title a{font:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}

.vc_row.bfl-feature-row{margin-left:0!important;margin-right:0!important}
.bfl-feature-card__media{min-height:calc(var(--bfl-feature-annotation-height,40px) + 220px)}
@media(max-width:1024px){body.bfl-feature-cards-in-view .agJsWidget,body.bfl-feature-cards-in-view .progress-page{visibility:hidden!important;pointer-events:none!important}}
.bfl-feature-dialog{margin:auto!important}
@media(max-width:599px){.bfl-feature-dialog{margin:auto 0 0!important}}

/* Compact purchase control; keep a comfortable touch target. */
.bfl-feature-card__footer .bfl-feature-card__add{width:min(100%,220px);min-height:44px;padding:10px 18px;font-size:14px;border-radius:24px}
.bfl-feature-dialog .bfl-feature-card__add{min-height:44px;padding:10px 18px;font-size:14px}
.bfl-feature-card .bfl-feature-card__arrow{display:block;width:14px;height:14px;flex:0 0 14px;color:inherit}

.vc_row.bfl-feature-row--flatten>.bfl-feature-column,
.bfl-feature-row--flatten>.bfl-feature-column :is(.vc_column-inner,.wpb_wrapper,.wpb_text_column){display:contents!important}
.bfl-feature-row--flatten>.bfl-feature-column::before,.bfl-feature-row--flatten>.bfl-feature-column::after,
.bfl-feature-row--flatten>.bfl-feature-column :is(.vc_column-inner,.wpb_wrapper,.wpb_text_column)::before,
.bfl-feature-row--flatten>.bfl-feature-column :is(.vc_column-inner,.wpb_wrapper,.wpb_text_column)::after{display:none!important}

/* Mini PDP only. Load after feature-cards.css; card fronts keep their existing rules. */
.bfl-mini-pdp.bfl-feature-dialog {
    --bfl-mini-ink: #45545f;
    --bfl-mini-navy: #1a4775;
    --bfl-mini-line: #e4e9ed;
    width: min(1040px, calc(100% - 40px));
    max-width: none;
    max-height: 92vh;
    max-height: 92dvh;
    margin: auto !important;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: #fff;
    color: var(--bfl-mini-ink);
    font: 400 15px/1.55 'Lato', sans-serif;
    text-align: left;
    box-shadow: 0 24px 80px rgb(18 43 63 / 24%);
    overflow: hidden;
}
.bfl-mini-pdp, .bfl-mini-pdp * { box-sizing: border-box; }
.bfl-mini-pdp.bfl-feature-dialog[open] { display: flex; flex-direction: column; }
.bfl-mini-pdp.bfl-feature-dialog:not([open]) { display: none; }
.bfl-mini-pdp.bfl-feature-dialog::backdrop { background: rgb(20 45 66 / 48%); }
.bfl-mini-pdp .bfl-feature-dialog__heading {
    flex: 0 0 auto;
    gap: 18px;
    padding: 16px 28px;
    border-bottom: 1px solid var(--bfl-mini-line);
    background: #fff;
}
.bfl-mini-pdp.bfl-feature-dialog .bfl-feature-dialog__heading h2 {
    min-width: 0;
    margin: 0;
    padding: 0;
    color: var(--bfl-mini-ink);
    font: 700 29px/1.25 'Montserrat', sans-serif;
    letter-spacing: .6px;
    text-wrap: balance;
    text-transform: none;
    overflow-wrap: anywhere;
}
.bfl-mini-pdp .bfl-feature-dialog__close {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    min-height: 44px;
    border-radius: 50%;
    background: #f3f6f8;
    color: var(--bfl-mini-ink);
}
.bfl-mini-pdp .bfl-feature-dialog__close:hover { background: #f1f5f7; color: var(--bfl-mini-navy); }
.bfl-mini-pdp .bfl-feature-dialog__scroll {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    padding: 24px 28px 28px;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}
.bfl-mini-pdp .bfl-mini-pdp__grid {
    display: grid;
    grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
    align-items: start;
    gap: 30px;
    min-width: 0;
}
.bfl-mini-pdp .bfl-mini-pdp__media,
.bfl-mini-pdp .bfl-mini-pdp__summary { min-width: 0; text-align: left; }
.bfl-mini-pdp .bfl-mini-pdp__media { position: sticky; top: 0; align-self: start; }
.bfl-mini-pdp .bfl-mini-pdp__gallery-stage {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: clamp(280px, 32vw, 360px);
    margin: 0 0 12px;
    padding: 8px;
    background: #fff;
}
.bfl-mini-pdp .bfl-mini-pdp__gallery-image,
.bfl-mini-pdp .bfl-mini-pdp__gallery-stage img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    object-fit: contain;
    object-position: center;
}
.bfl-mini-pdp .bfl-mini-pdp__thumbnails {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    width: max-content;
    max-width: 100%;
    margin: 0 auto 20px;
    padding: 2px 2px 6px;
    overflow-x: auto;
    scrollbar-width: thin;
}
.bfl-mini-pdp .bfl-mini-pdp__thumbnails button {
    display: flex;
    flex: 0 0 64px;
    align-items: center;
    justify-content: center;
    width: 64px;
    min-width: 64px;
    height: 64px;
    min-height: 64px;
    margin: 0;
    padding: 4px;
    border: 1px solid var(--bfl-mini-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}
.bfl-mini-pdp .bfl-mini-pdp__thumbnails button:hover { border-color: #91a5b5; }
.bfl-mini-pdp .bfl-mini-pdp__thumbnails button:is([aria-pressed="true"], [aria-current="true"], .is-active) {
    border-color: var(--bfl-mini-navy);
    background: #f3f7fa;
    box-shadow: inset 0 0 0 1px var(--bfl-mini-navy);
}
.bfl-mini-pdp .bfl-mini-pdp__thumbnails img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
}
.bfl-mini-pdp .bfl-mini-pdp__icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px 12px;
    margin: 4px 0 0;
    padding: 0;
}
.bfl-mini-pdp .bfl-mini-pdp__icons img {
    display: block;
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    max-width: 80px;
    margin: 0;
    object-fit: contain;
}
.bfl-mini-pdp .bfl-mini-pdp__eyebrow {
    margin: 0 0 7px;
    color: var(--bfl-mini-ink);
    font: 500 11px/1.5 'Montserrat', sans-serif;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}
.bfl-mini-pdp .bfl-mini-pdp__slogan,
.bfl-mini-pdp .bfl-mini-pdp__slogan p {
    margin: 0 0 12px;
    color: var(--bfl-mini-ink);
    font: 400 25px/1.32 'Lato', sans-serif;
    text-wrap: balance;
    letter-spacing: normal;
}
.bfl-mini-pdp .bfl-mini-pdp__rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 9px;
    margin: 0 0 16px;
    color: #65747e;
    font: 400 13px/1.45 'Lato', sans-serif;
    text-decoration: none;
}
.bfl-mini-pdp .bfl-mini-pdp__rating:hover { color: var(--bfl-mini-navy); }
.bfl-mini-pdp .bfl-mini-pdp__rating strong { font-weight: 700; }
.bfl-mini-pdp .bfl-mini-pdp__rating small { display: block; margin-top: 1px; color: #79858f; font: 400 11px/1.4 'Lato', sans-serif; }
.bfl-mini-pdp .bfl-mini-pdp__rating a { color: var(--bfl-mini-navy); text-underline-offset: 3px; }
.bfl-mini-pdp .bfl-mini-pdp__stars { position: relative; display: inline-block; flex: 0 0 88px; width: 88px; height: 16px; overflow: hidden; color: #d5dde3; line-height: 0; vertical-align: middle; }
.bfl-mini-pdp .bfl-mini-pdp__stars > span { position: absolute; top: 0; left: 0; display: flex; gap: 2px; height: 16px; white-space: nowrap; }
.bfl-mini-pdp .bfl-mini-pdp__stars > span:first-child { width: 100%; color: #d5dde3; }
.bfl-mini-pdp .bfl-mini-pdp__stars > span:last-child { overflow: hidden; color: #b59453; }
.bfl-mini-pdp .bfl-mini-pdp__stars svg { display: block; flex: 0 0 16px; width: 16px; height: 16px; fill: currentColor; }
.bfl-mini-pdp .bfl-mini-pdp__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 11px;
    margin: 15px 0 17px;
    padding: 5px 0 5px 13px;
    border-left: 2px solid #c2d0de;
    color: var(--bfl-mini-navy);
    font: 700 16px/1.55 'Lato', sans-serif;
    list-style: none;
    overflow-wrap: anywhere;
}
.bfl-mini-pdp .bfl-mini-pdp__benefits > li { display: inline; min-width: 0; margin: 0; padding: 0; list-style: none; }
.bfl-mini-pdp .bfl-mini-pdp__benefits strong { font: inherit; color: inherit; background: linear-gradient(transparent 70%, #e1ebf3 70%, #e1ebf3 94%, transparent 94%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.bfl-mini-pdp .bfl-mini-pdp__benefits > li:not(:last-child)::after { content: '·'; margin-left: 11px; color: #98aebb; font-weight: 400; }
.bfl-mini-pdp .bfl-mini-pdp__lead {
    margin: 0 0 20px;
    color: #586873;
    font: 400 16px/1.65 'Lato', sans-serif;
    overflow-wrap: anywhere;
}
.bfl-mini-pdp .bfl-mini-pdp__lead p { margin: 0 0 10px; font: inherit; line-height: inherit; }
.bfl-mini-pdp .bfl-mini-pdp__lead > :last-child { margin-bottom: 0; }
.bfl-mini-pdp .bfl-mini-pdp__ingredients { margin: 16px 0 20px; padding: 15px 14px 16px; border: 1px solid #e3eaf0; border-radius: 10px; background: #f7f9fb; }
.bfl-mini-pdp .bfl-mini-pdp__ingredients h3 {
    margin: 0 0 13px;
    padding: 0;
    color: var(--bfl-mini-ink);
    font: 700 15px/1.4 'Montserrat', sans-serif;
    letter-spacing: .2px;
    text-transform: none;
}
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(112px, 100%), 1fr));
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid > li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    list-style: none;
    text-align: center;
}
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid img { display: block; width: 72px; height: 72px; max-width: 100%; margin: 0; border-radius: 50%; object-fit: cover; }
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid li > a { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; min-width: 0; color: inherit; text-decoration: none; }
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid li span { display: block; color: var(--bfl-mini-ink); font: 700 12px/1.4 'Lato', sans-serif; overflow-wrap: anywhere; }
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid li > a:hover span { color: var(--bfl-mini-navy); text-decoration: underline; text-underline-offset: 3px; }
.bfl-mini-pdp .bfl-mini-pdp__accordions { margin: 0 0 14px; border-top: 1px solid var(--bfl-mini-line); }
.bfl-mini-pdp .bfl-mini-pdp__accordions details,
.bfl-mini-pdp .bfl-mini-pdp__reviews details { margin: 0; padding: 0; border-bottom: 1px solid var(--bfl-mini-line); }
.bfl-mini-pdp .bfl-mini-pdp__accordions summary,
.bfl-mini-pdp .bfl-mini-pdp__reviews summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    min-height: 48px;
    margin: 0;
    padding: 13px 0;
    color: var(--bfl-mini-ink);
    font: 700 13px/1.45 'Montserrat', sans-serif;
    letter-spacing: .1px;
    text-transform: none;
    list-style: none;
    cursor: pointer;
}
.bfl-mini-pdp .bfl-mini-pdp__accordions summary::-webkit-details-marker,
.bfl-mini-pdp .bfl-mini-pdp__reviews summary::-webkit-details-marker { display: none; }
.bfl-mini-pdp .bfl-mini-pdp__accordions summary::after,
.bfl-mini-pdp .bfl-mini-pdp__reviews summary::after { content: none; }
.bfl-mini-pdp .bfl-mini-pdp__accordions summary > svg,
.bfl-mini-pdp .bfl-mini-pdp__reviews summary > svg { display: block; flex: 0 0 16px; width: 16px; height: 16px; margin-left: auto; color: var(--bfl-mini-navy); transition: transform .15s ease; }
.bfl-mini-pdp .bfl-mini-pdp__accordions details[open] > summary > svg,
.bfl-mini-pdp details.bfl-mini-pdp__reviews[open] > summary > svg { transform: rotate(180deg); }
.bfl-mini-pdp .bfl-mini-pdp__accordions details > :not(summary) { color: #586873; font: 400 14px/1.65 'Lato', sans-serif; overflow-wrap: anywhere; }
.bfl-mini-pdp .bfl-mini-pdp__accordions details > :last-child { margin-bottom: 15px; }
.bfl-mini-pdp .bfl-mini-pdp__accordions p { margin: 0 0 10px; font: inherit; }
.bfl-mini-pdp .bfl-mini-pdp__accordions :is(ul, ol) { margin: 8px 0 12px; padding-left: 20px; }
.bfl-mini-pdp .bfl-mini-pdp__reviews { margin: 8px 0 14px; }
.bfl-mini-pdp .bfl-mini-pdp__reviews blockquote {
    margin: 0 0 12px;
    padding: 13px 15px;
    border: 0;
    border-left: 2px solid #c2d0dd;
    border-radius: 0 7px 7px 0;
    background: #f7f9fb;
    color: #586873;
    font: 400 14px/1.6 'Lato', sans-serif;
    quotes: none;
    overflow-wrap: anywhere;
}
.bfl-mini-pdp .bfl-mini-pdp__reviews blockquote::before,
.bfl-mini-pdp .bfl-mini-pdp__reviews blockquote::after { content: none; }
.bfl-mini-pdp .bfl-mini-pdp__reviews blockquote p { margin: 0 0 7px; font: inherit; }
.bfl-mini-pdp .bfl-mini-pdp__reviews blockquote .bfl-mini-pdp__stars { margin-bottom: 8px; }
.bfl-mini-pdp .bfl-mini-pdp__reviews :is(cite, blockquote footer) { display: block; margin-top: 8px; padding: 0; color: #65747e; font: 400 12px/1.5 'Lato', sans-serif; }
.bfl-mini-pdp .bfl-mini-pdp__product-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--bfl-mini-navy); font: 400 13px/1.5 'Lato', sans-serif; text-decoration: underline; text-underline-offset: 4px; }
.bfl-mini-pdp .bfl-mini-pdp__product-link svg { display: block; flex: 0 0 15px; width: 15px; height: 15px; }
.bfl-mini-pdp .bfl-feature-dialog__footer.bfl-mini-pdp__purchase {
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 7px;
    width: 100%;
    margin: 0;
    padding: 14px 28px 11px;
    border-top: 1px solid var(--bfl-mini-line);
    background: #f6f9fc;
    box-shadow: 0 -5px 18px rgb(18 43 63 / 4%);
}
.bfl-mini-pdp .bfl-mini-pdp__purchase-row { display: grid; grid-template-columns: 134px minmax(0, 1fr) 210px; align-items: end; gap: 20px; min-width: 0; width: 100%; }
.bfl-mini-pdp .bfl-mini-pdp__purchase-row:not(:has(.bfl-mini-pdp__quantity)) { grid-template-columns: minmax(0, 1fr) 210px; }
.bfl-mini-pdp .bfl-mini-pdp__quantity,
.bfl-mini-pdp .bfl-mini-pdp__total { min-width: 0; margin: 0; }
.bfl-mini-pdp .bfl-mini-pdp__quantity label,
.bfl-mini-pdp .bfl-mini-pdp__total > span,
.bfl-mini-pdp .bfl-mini-pdp__total > label,
.bfl-mini-pdp .bfl-mini-pdp__total > small { display: block; margin: 0 0 4px; padding: 0; color: #65747e; font: 400 11px/1.3 'Lato', sans-serif; letter-spacing: normal; text-transform: none; }
.bfl-mini-pdp .bfl-mini-pdp__total { text-align: right; }
.bfl-mini-pdp .bfl-mini-pdp__stepper { display: grid; grid-template-columns: repeat(3, 44px); width: 134px; min-width: 134px; height: 46px; margin: 0; padding: 0; overflow: hidden; border: 1px solid #ced8df; border-radius: 7px; background: #fff; }
.bfl-mini-pdp .bfl-mini-pdp__stepper button { display: flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--bfl-mini-ink); box-shadow: none; font: 400 21px/1 'Lato', sans-serif; letter-spacing: normal; cursor: pointer; }
.bfl-mini-pdp .bfl-mini-pdp__stepper button:hover:not(:disabled) { background: #f1f5f7; color: var(--bfl-mini-navy); }
.bfl-mini-pdp .bfl-mini-pdp__stepper button:disabled { opacity: .35; cursor: default; }
.bfl-mini-pdp .bfl-mini-pdp__stepper input { display: block; width: 44px; min-width: 0; max-width: none; height: 44px; min-height: 44px; margin: 0; padding: 0 2px; border: 0; border-radius: 0; background: #fff; color: var(--bfl-mini-ink); box-shadow: none; font: 400 16px/1 'Lato', sans-serif; text-align: center; appearance: textfield; -moz-appearance: textfield; }
.bfl-mini-pdp .bfl-mini-pdp__stepper input::-webkit-inner-spin-button,
.bfl-mini-pdp .bfl-mini-pdp__stepper input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.bfl-mini-pdp .bfl-mini-pdp__total [data-bfl-mini-price],
.bfl-mini-pdp .bfl-mini-pdp__total .bfl-feature-card__price { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: baseline; gap: 4px 7px; min-height: 32px; margin: 0; padding: 0; color: var(--bfl-mini-ink); font: 700 28px/1.25 'Lato', sans-serif; text-align: right; }
.bfl-mini-pdp .bfl-mini-pdp__total :is(.amount, bdi, .woocommerce-Price-currencySymbol) { color: inherit; font: inherit; white-space: nowrap; }
.bfl-mini-pdp .bfl-mini-pdp__total del { opacity: .6; font-size: 14px; font-weight: 400; }
.bfl-mini-pdp .bfl-mini-pdp__total ins { background: none; color: inherit; text-decoration: none; }
.bfl-mini-pdp .bfl-mini-pdp__total small { font-size: 11px; font-weight: 400; }
.bfl-mini-pdp .bfl-mini-pdp__discount { display: inline-block; align-self: center; padding: 3px 6px; border-radius: 4px; background: var(--bfl-mini-navy); color: #fff; font: 700 10px/1.2 'Lato', sans-serif; white-space: nowrap; }
.bfl-mini-pdp.bfl-feature-dialog .bfl-feature-card__add { width: 210px; min-width: 0; max-width: 100%; min-height: 46px; margin: 0; padding: 11px 16px; border: 0; border-radius: 24px; background: var(--bfl-mini-navy); color: #fff; font: 700 15px/1.4 'Lato', sans-serif; letter-spacing: normal; text-transform: none; }
.bfl-mini-pdp.bfl-feature-dialog .bfl-feature-card__add:hover { background: #244f70; color: #fff; }
.bfl-mini-pdp.bfl-feature-dialog .bfl-feature-card__add:disabled { opacity: .6; cursor: not-allowed; }
.bfl-mini-pdp.bfl-feature-dialog .bfl-feature-card__add.is-loading { cursor: wait; }
.bfl-mini-pdp .bfl-mini-pdp__shipping { display: flex; align-items: flex-start; justify-content: flex-end; gap: 7px; min-width: 0; margin: 0; color: #65747e; font: 400 12px/1.45 'Lato', sans-serif; text-align: right; overflow-wrap: anywhere; }
.bfl-mini-pdp .bfl-mini-pdp__shipping > svg { display: block; flex: 0 0 17px; width: 17px; height: 17px; margin-top: 1px; color: var(--bfl-mini-ink); }
.bfl-mini-pdp .bfl-mini-pdp__shipping a { color: var(--bfl-mini-navy); text-underline-offset: 3px; white-space: normal; }
.bfl-mini-pdp .bfl-mini-pdp__wishlist { display: flex; justify-content: flex-end; align-items: center; gap: 7px; min-height: 30px; margin: 0; padding: 0; color: var(--bfl-mini-navy); }
.bfl-mini-pdp .bfl-mini-pdp__wishlist-icon,
.bfl-mini-pdp .bfl-mini-pdp__wishlist-icon svg { display: block; flex: 0 0 17px; width: 17px; height: 17px; color: inherit; }
.bfl-mini-pdp .bfl-mini-pdp__wishlist button,
.bfl-mini-pdp button.bfl-mini-pdp__wishlist { width: auto; min-width: 0; min-height: 30px; height: auto; margin: 0; padding: 5px 0; border: 0; border-radius: 0; background: transparent; color: var(--bfl-mini-navy); box-shadow: none; font: 400 12px/1.5 'Lato', sans-serif; letter-spacing: normal; text-transform: none; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bfl-mini-pdp .bfl-mini-pdp__wishlist button:disabled { opacity: .6; cursor: wait; }
.bfl-mini-pdp .bfl-mini-pdp__wishlist a { color: inherit; font: 400 12px/1.5 'Lato', sans-serif; text-underline-offset: 3px; }
.bfl-mini-pdp .bfl-feature-card__status.is-error { position: static; width: 100%; height: auto; margin: 0; padding: 0; clip: auto; overflow: visible; color: #9d3232; font: 400 12px/1.4 'Lato', sans-serif; white-space: normal; text-align: right; }
.bfl-mini-pdp .bfl-mini-pdp__quote-status { margin: 0; padding: 0; color: #65747e; font: 400 11px/1.35 'Lato', sans-serif; text-align: right; }
.bfl-mini-pdp .bfl-mini-pdp__quote-status.is-error { color: #9d3232; }
.bfl-mini-pdp [data-bfl-mini-wishlist-status] { color: #65747e; font: 400 11px/1.35 'Lato', sans-serif; }
.bfl-mini-pdp :is(button, a, input, summary):focus-visible { outline: 2px solid var(--bfl-mini-navy); outline-offset: 3px; }
.bfl-mini-pdp .bfl-mini-pdp__stepper :is(button, input):focus-visible { position: relative; outline-offset: -3px; }
.bfl-mini-pdp [hidden] { display: none !important; }

@media (max-width: 900px) and (min-width: 701px) {
    .bfl-mini-pdp .bfl-mini-pdp__grid { gap: 22px; }
    .bfl-mini-pdp .bfl-feature-dialog__scroll { padding: 20px 22px; }
    .bfl-mini-pdp .bfl-mini-pdp__ingredient-grid { gap: 8px; }
    .bfl-mini-pdp .bfl-mini-pdp__ingredient-grid img { width: 62px; height: 62px; }
    .bfl-mini-pdp .bfl-mini-pdp__purchase-row { gap: 16px; }
}
@media (max-width: 700px) {
    .bfl-mini-pdp.bfl-feature-dialog { width: calc(100% - 16px); max-width: none; margin: auto !important; border-radius: 12px; }
    .bfl-mini-pdp .bfl-feature-dialog__heading { gap: 10px; padding: 9px 16px; }
    .bfl-mini-pdp.bfl-feature-dialog .bfl-feature-dialog__heading h2 { font-size: 23px; line-height: 1.25; }
    .bfl-mini-pdp .bfl-feature-dialog__scroll { padding: 14px 18px 20px; scrollbar-gutter: auto; }
    .bfl-mini-pdp .bfl-mini-pdp__grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .bfl-mini-pdp .bfl-mini-pdp__media { position: static; }
    .bfl-mini-pdp .bfl-mini-pdp__gallery-stage { height: 250px; max-height: 38dvh; margin-bottom: 8px; padding: 2px 12px; }
    .bfl-mini-pdp .bfl-mini-pdp__thumbnails { justify-content: flex-start; width: max-content; max-width: 100%; margin: 0 auto 12px; }
    .bfl-mini-pdp .bfl-mini-pdp__icons { gap: 8px 10px; margin-top: 2px; }
    .bfl-mini-pdp .bfl-mini-pdp__eyebrow { margin-bottom: 5px; }
    .bfl-mini-pdp .bfl-mini-pdp__slogan,
    .bfl-mini-pdp .bfl-mini-pdp__slogan p { font-size: 22px; }
    .bfl-mini-pdp .bfl-mini-pdp__benefits { gap: 6px; font-size: 14px; }
    .bfl-mini-pdp .bfl-mini-pdp__lead { font-size: 15px; }
    .bfl-mini-pdp .bfl-mini-pdp__ingredient-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 30px) / 4); gap: 10px; padding-bottom: 7px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; }
    .bfl-mini-pdp .bfl-mini-pdp__ingredient-grid > li { scroll-snap-align: start; }
    .bfl-mini-pdp .bfl-mini-pdp__ingredient-grid img { width: 64px; height: 64px; }
    .bfl-mini-pdp .bfl-mini-pdp__ingredient-grid li span { font-size: 11px; }
    .bfl-mini-pdp .bfl-feature-dialog__footer.bfl-mini-pdp__purchase { gap: 5px; max-height: 46vh; max-height: min(46dvh, 280px); padding: 10px 18px 9px; overflow-y: auto; overscroll-behavior: contain; }
    .bfl-mini-pdp .bfl-mini-pdp__purchase-row { grid-template-columns: 134px minmax(0, 1fr) minmax(145px, 190px); gap: 12px; }
    .bfl-mini-pdp .bfl-mini-pdp__purchase-row:not(:has(.bfl-mini-pdp__quantity)) { grid-template-columns: minmax(0, 1fr) minmax(145px, 190px); }
    .bfl-mini-pdp .bfl-mini-pdp__total [data-bfl-mini-price],
    .bfl-mini-pdp .bfl-mini-pdp__total .bfl-feature-card__price { gap: 3px 5px; font-size: 25px; }
    .bfl-mini-pdp.bfl-feature-dialog .bfl-feature-card__add { width: 100%; font-size: 13px; }
    .bfl-mini-pdp .bfl-mini-pdp__shipping { font-size: 11px; line-height: 1.4; }
    .bfl-mini-pdp .bfl-mini-pdp__wishlist { min-height: 28px; }
    .bfl-mini-pdp .bfl-mini-pdp__wishlist button,
    .bfl-mini-pdp button.bfl-mini-pdp__wishlist { min-height: 28px; padding: 3px 0; }
}
@media (max-width: 480px) {
    .bfl-mini-pdp .bfl-mini-pdp__purchase-row { grid-template-columns: 134px minmax(0, 1fr); gap: 8px 12px; }
    .bfl-mini-pdp .bfl-mini-pdp__purchase-row:not(:has(.bfl-mini-pdp__quantity)) { grid-template-columns: minmax(0, 1fr); }
    .bfl-mini-pdp .bfl-mini-pdp__purchase-row > .bfl-feature-card__add { grid-column: 1 / -1; width: 100%; min-height: 44px; padding: 10px 15px; font-size: 14px; }
    .bfl-mini-pdp .bfl-mini-pdp__shipping { justify-content: flex-start; text-align: left; }
    .bfl-mini-pdp .bfl-mini-pdp__wishlist { justify-content: center; }
    .bfl-mini-pdp .bfl-feature-card__status.is-error { text-align: left; }
    .bfl-mini-pdp .bfl-mini-pdp__quote-status { text-align: left; }
}
@media (max-height: 520px) {
    .bfl-mini-pdp.bfl-feature-dialog { max-height: 92vh; max-height: 92dvh; }
    .bfl-mini-pdp .bfl-feature-dialog__heading { padding-top: 5px; padding-bottom: 5px; }
    .bfl-mini-pdp.bfl-feature-dialog .bfl-feature-dialog__heading h2 { font-size: 18px; }
    .bfl-mini-pdp .bfl-feature-dialog__footer.bfl-mini-pdp__purchase { max-height: 46vh; max-height: 46dvh; padding-top: 7px; padding-bottom: 6px; overflow-y: auto; }
    .bfl-mini-pdp .bfl-mini-pdp__shipping { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
    .bfl-mini-pdp *, .bfl-mini-pdp *::before, .bfl-mini-pdp *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Keep the product's commitments and full-page link in reach on shorter screens. */
@media(min-width:701px){
.bfl-mini-pdp .bfl-mini-pdp__gallery-stage{height:clamp(210px,32dvh,320px)}
.bfl-mini-pdp .bfl-mini-pdp__thumbnails{margin-bottom:12px}
.bfl-mini-pdp .bfl-mini-pdp__thumbnails button{flex-basis:52px;min-width:52px;width:52px;min-height:52px;height:52px}
.bfl-mini-pdp .bfl-mini-pdp__icons img{flex-basis:68px;width:68px;max-width:68px;height:68px}
}
.bfl-mini-pdp .bfl-mini-pdp__secondary{display:flex;align-items:center;justify-content:space-between;gap:4px 16px;flex-wrap:wrap}
.bfl-mini-pdp .bfl-mini-pdp__secondary .bfl-mini-pdp__product-link{min-height:30px;gap:4px;font-size:12px}
.bfl-mini-pdp .bfl-mini-pdp__secondary .bfl-mini-pdp__product-link svg{width:15px;height:15px}
.bfl-mini-pdp .bfl-mini-pdp__wishlist{flex-wrap:wrap}
@media(max-width:480px){.bfl-mini-pdp .bfl-mini-pdp__secondary{justify-content:center;gap:0 12px}}
@media(max-width:700px){
.bfl-mini-pdp .bfl-mini-pdp__gallery-stage{height:190px;max-height:28dvh}
.bfl-mini-pdp .bfl-mini-pdp__thumbnails button{flex-basis:48px;min-width:48px;width:48px;min-height:48px;height:48px}
.bfl-mini-pdp .bfl-mini-pdp__icons img{flex-basis:60px;width:60px;max-width:60px;height:60px}
}
@media(max-height:520px){.bfl-mini-pdp .bfl-mini-pdp__media{position:static}}

/* Editorial hierarchy, using the site's Montserrat/Lato and Bulb palette. */
.bfl-mini-pdp .bfl-feature-dialog__heading{background:linear-gradient(100deg,#f5f8fb,#fff 75%)}
.bfl-mini-pdp .bfl-mini-pdp__eyebrow{display:flex;align-items:center;gap:10px;color:#1a4775}
.bfl-mini-pdp .bfl-mini-pdp__eyebrow::after{content:"";display:block;width:28px;height:1px;background:#b7cadb;flex:none}
.bfl-mini-pdp .bfl-mini-pdp__section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:13px}
.bfl-mini-pdp .bfl-mini-pdp__section-heading h3{margin:0;font-size:15px}
.bfl-mini-pdp .bfl-mini-pdp__ingredient-count{flex:none;color:#6e7f8e;font:400 11px/1.4 Lato,sans-serif;white-space:nowrap}
.bfl-mini-pdp .bfl-mini-pdp__lead strong,.bfl-mini-pdp .bfl-mini-pdp__rich-text strong{font-weight:700;color:#45545f}
.bfl-mini-pdp .bfl-mini-pdp__accordions summary{transition:color .18s,background .18s}
.bfl-mini-pdp .bfl-mini-pdp__accordions details[open]>summary{color:#1a4775}
.bfl-mini-pdp .bfl-mini-pdp__secondary .bfl-mini-pdp__product-link{font-weight:700}
.bfl-mini-pdp.bfl-feature-dialog .bfl-feature-card__add{transition:background .18s,box-shadow .18s,transform .18s}
@media(hover:hover) and (pointer:fine){
.bfl-mini-pdp.bfl-feature-dialog .bfl-feature-card__add:hover{background:#244f70;box-shadow:0 6px 14px #1a477524;transform:translateY(-1px)}
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid a img{transition:transform .18s}
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid a:hover img{transform:translateY(-2px)}
.bfl-mini-pdp .bfl-mini-pdp__accordions summary:hover{color:#1a4775;background:#f8fafc}
}
@media(max-width:700px){
.bfl-mini-pdp .bfl-mini-pdp__benefits{font-size:14px;padding-left:11px;gap:4px 9px;margin-top:12px;margin-bottom:15px}
.bfl-mini-pdp .bfl-mini-pdp__benefits>li:not(:last-child)::after{margin-left:9px}
.bfl-mini-pdp .bfl-mini-pdp__ingredients{padding:13px 11px 10px;margin-top:16px}
.bfl-mini-pdp .bfl-mini-pdp__section-heading{gap:7px;margin-bottom:12px}
.bfl-mini-pdp .bfl-mini-pdp__section-heading h3{font-size:14px}
.bfl-mini-pdp .bfl-mini-pdp__ingredient-count{font-size:10px}
.bfl-mini-pdp .bfl-mini-pdp__secondary .bfl-mini-pdp__product-link{font-size:12px}
}
.bfl-mini-pdp .bfl-mini-pdp__benefits>li,.bfl-mini-pdp .bfl-mini-pdp__benefits>li>strong{color:#1a4775}
@media(min-width:701px) and (max-height:800px){
.bfl-mini-pdp .bfl-feature-dialog__heading{padding:12px 26px}
.bfl-mini-pdp .bfl-feature-dialog__scroll{padding:20px 26px 24px}
.bfl-mini-pdp .bfl-mini-pdp__rating{margin-bottom:12px}
.bfl-mini-pdp .bfl-mini-pdp__benefits{margin:12px 0 14px;padding-top:3px;padding-bottom:3px}
.bfl-mini-pdp .bfl-mini-pdp__lead{font-size:15px;line-height:1.55;margin-bottom:16px}
.bfl-mini-pdp .bfl-mini-pdp__ingredients{margin:14px 0 16px;padding:12px}
.bfl-mini-pdp .bfl-mini-pdp__section-heading{margin-bottom:10px}
}
@media(max-width:700px){.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid{grid-auto-columns:calc((100% - 20px)/3.4)}}
@media(max-width:360px){.bfl-mini-pdp.bfl-feature-dialog .bfl-feature-dialog__heading h2{font-size:20px;letter-spacing:.2px}}

/* Let long ingredient names breathe; short lists fill their available row. */
@media(max-width:700px){
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid{grid-auto-columns:minmax(112px,calc((100% - 20px)/2.7));scroll-padding-inline:2px}
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid li span{font:400 12px/1.4 Lato,sans-serif}
.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid--short{grid-template-columns:repeat(var(--bfl-mini-ingredient-columns,3),minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto}
}

@media(min-width:701px) and (max-width:900px){.bfl-mini-pdp .bfl-mini-pdp__ingredient-grid:has(>li:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
