/*
 * Better Foar Letter — Frontend
 * Slate-palet, rounded-xl, soft shadows, Inter. Gescoped op .bfl-scope.
 */

.bfl-scope{
	--slate-50:#f8fafc; --slate-100:#f1f5f9; --slate-200:#e2e8f0; --slate-300:#cbd5e1;
	--slate-400:#94a3b8; --slate-500:#64748b; --slate-600:#475569; --slate-700:#334155;
	--slate-800:#1e293b; --slate-900:#0f172a;
	--emerald-50:#ecfdf5; --emerald-600:#059669;
	--amber-50:#fffbeb; --amber-600:#d97706;
	--rose-50:#fff1f2; --rose-600:#e11d48;
	--brand:#4F7A28; --brand-dk:#3f6120; --brand-soft:#eef4e8;
	--radius:10px; --radius-lg:14px; --radius-xl:18px;
	--shadow-xs:0 1px 2px rgba(15,23,42,.05);
	--shadow-sm:0 1px 2px rgba(15,23,42,.05),0 1px 3px rgba(15,23,42,.03);
	--shadow:0 1px 2px rgba(15,23,42,.04),0 4px 12px rgba(15,23,42,.06);

	font-family:var(--bfl-font,'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif);
	color:var(--slate-900); line-height:1.55; -webkit-font-smoothing:antialiased;
}
.bfl-scope *{box-sizing:border-box;}
.bfl-scope a{color:var(--brand);text-decoration:none;}
.bfl-scope a:hover{color:var(--brand-dk);}
.bfl-scope a.bfl-btn--primary,.bfl-scope a.bfl-btn--ink,.bfl-scope a.bfl-btn--primary:hover,.bfl-scope a.bfl-btn--ink:hover{color:#fff;}
.bfl-scope a.bfl-btn--ghost,.bfl-scope a.bfl-btn--ghost:hover{color:var(--slate-700);}

/* Deadline-banner */
.bfl-deadline{display:flex;align-items:center;gap:8px;background:var(--brand-soft);color:var(--brand-dk);border:1px solid #d4e3c4;border-radius:var(--radius-lg);padding:11px 16px;font-size:14px;margin-bottom:18px;}
.bfl-topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;flex-wrap:wrap;}
.bfl-topbar__filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bfl-topbar__filters .bfl-input{margin:0;width:auto;padding:8px 10px;font-size:13.5px;}
.bfl-topbar__check{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--slate-700);white-space:nowrap;margin:0;}
.bfl-topbar__reset{font-size:13px;color:var(--rose-600);text-decoration:underline;white-space:nowrap;}
.bfl-topbar__reset:hover{color:var(--rose-700, #be123c);}
.bfl-topbar__account{display:flex;align-items:center;gap:18px;flex:0 0 auto;}
.bfl-topbar__link{display:flex;align-items:center;gap:6px;color:var(--slate-600);text-decoration:none;font-size:13.5px;font-weight:600;white-space:nowrap;}
.bfl-topbar__link:hover{color:var(--slate-900);}

/* Notices */
.bfl-notice{border-radius:var(--radius-lg);padding:13px 16px;margin-bottom:16px;font-size:14px;}
.bfl-notice--ok{background:var(--emerald-50);color:var(--emerald-600);border:1px solid #a7f3d0;}
.bfl-notice--warn{background:var(--amber-50);color:var(--amber-600);border:1px solid #fcd9a4;}
.bfl-notice--err{background:var(--rose-50);color:var(--rose-600);border:1px solid #fecdd3;}

.bfl-shop{max-width:1400px;margin:0 auto;padding:32px 24px;}

/* Layout: main + cart rechts */
.bfl-layout{display:grid;grid-template-columns:1fr 400px;gap:24px;align-items:start;}
.bfl-main{min-width:0;}

/* Filters */
.bfl-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.bfl-input{border:1px solid var(--slate-300);border-radius:var(--radius);padding:10px 12px;font-size:14px;font-family:inherit;background:#fff;color:var(--slate-900);}
.bfl-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);}
.bfl-input--qty{width:52px;padding:8px 6px;text-align:center;}
.bfl-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--slate-700);}
.bfl-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.bfl-chip{padding:6px 13px;border-radius:999px;border:1px solid var(--slate-300);font-size:13px;color:var(--slate-600);background:#fff;}
.bfl-chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff;}

/* Product grid */
.bfl-grid{display:grid;gap:18px;}
.bfl-grid--2{grid-template-columns:repeat(2,1fr);}
.bfl-grid--3{grid-template-columns:repeat(3,1fr);}
.bfl-grid--4{grid-template-columns:repeat(4,1fr);}
.bfl-card-product{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s;}
.bfl-card-product:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.bfl-card-product__media{position:relative;display:block;aspect-ratio:4/3;background:var(--slate-100);overflow:hidden;}
.bfl-card-product__media img{width:100%;height:100%;object-fit:cover;display:block;}
.bfl-card-product__noimg{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--slate-100),var(--slate-200));}
.bfl-badge{position:absolute;top:10px;left:10px;background:var(--brand);color:#fff;font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;}
.bfl-badge--inline{position:static;display:inline-block;margin-bottom:10px;}
.bfl-card-product__body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.bfl-card-product__farmer{font-size:12px;color:var(--slate-500);font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
.bfl-card-product__title{font-size:15.5px;font-weight:700;margin:0;line-height:1.3;}
.bfl-card-product__title a{color:var(--slate-900);}
.bfl-card-product__price{font-size:15px;font-weight:700;color:var(--brand-dk);margin-top:auto;}
.bfl-card-product__price span{font-size:12.5px;color:var(--slate-500);font-weight:500;}

/* Buttons */
.bfl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--radius);padding:10px 16px;font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;transition:all .15s;text-decoration:none;}
.bfl-btn--primary{background:var(--brand);color:#fff;}
.bfl-btn--primary:hover{background:var(--brand-dk);color:#fff;}
.bfl-btn--ghost{background:#fff;border-color:var(--slate-300);color:var(--slate-700);}
.bfl-btn--ghost:hover{background:var(--slate-100);}
.bfl-btn--ink{background:var(--slate-900);color:#fff;}
.bfl-btn--ink:hover{background:var(--slate-700);color:#fff;}
.bfl-btn--block{width:100%;margin-top:4px;}

/* Cart rechterkant */
.bfl-cart{position:sticky;top:24px;}
.bfl-cart__inner{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:20px;}
.bfl-cart__title{font-size:18px;font-weight:800;margin:0 0 14px;}
.bfl-cart__lines{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;}
.bfl-cart__empty{color:var(--slate-500);font-size:15.5px;padding:8px 0;}
.bfl-cart__line{display:flex;gap:10px;align-items:center;}
.bfl-cart__line img{width:42px;height:42px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--slate-100);}
.bfl-cart__line-main{flex:1;min-width:0;}
.bfl-cart__line-title{font-size:13.5px;font-weight:600;line-height:1.25;}
.bfl-cart__line-farmer{font-style:italic;color:var(--slate-500);font-size:12px;margin-top:1px;}
.bfl-cart__line-meta{font-size:12px;color:var(--slate-500);}
.bfl-cart__qty{display:inline-flex;align-items:center;border:1px solid var(--slate-300);border-radius:999px;overflow:hidden;flex-shrink:0;align-self:center;}
.bfl-cart__qty button{width:30px;height:30px;border:none;background:#fff;cursor:pointer;font-size:16px;font-weight:700;color:var(--slate-600);line-height:1;display:flex;align-items:center;justify-content:center;}
.bfl-cart__qty button:hover{background:var(--slate-100);}
.bfl-cart__qty span{min-width:30px;align-self:stretch;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;font-weight:700;border-left:1px solid var(--slate-200);border-right:1px solid var(--slate-200);}
.bfl-cart__totals{border-top:1px solid var(--slate-200);padding-top:12px;margin-bottom:14px;}
.bfl-cart__row{display:flex;justify-content:space-between;font-size:15.5px;color:var(--slate-600);padding:3px 0;}
.bfl-cart__row--total{font-size:18px;font-weight:800;color:var(--slate-900);border-top:1px solid var(--slate-100);margin-top:6px;padding-top:8px;}
.bfl-cart__checkout{display:flex;flex-direction:column;gap:8px;}
.bfl-cart__msg{font-size:15px;color:var(--rose-600);}

/* Single product */
.bfl-single{max-width:1400px;margin:0 auto;padding:32px 24px;}
.bfl-back{display:inline-block;margin-bottom:16px;font-size:15.5px;font-weight:700;color:var(--slate-500);}
.bfl-single__top{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.bfl-single__hero{aspect-ratio:1;border-radius:var(--radius-xl);overflow:hidden;background:var(--slate-100);}
.bfl-single__hero img{width:100%;height:100%;object-fit:cover;}
.bfl-single__thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.bfl-single__thumbs span{display:block;cursor:pointer;border-radius:8px;overflow:hidden;}
.bfl-single__thumbs img{width:64px;height:64px;border-radius:8px;object-fit:cover;border:1px solid var(--slate-200);transition:border-color .15s;}
.bfl-single__thumbs span.is-active img,.bfl-single__thumbs span:hover img{border-color:var(--slate-900);border-width:2px;}
.bfl-single__title{font-size:28px;font-weight:400;margin:6px 0;letter-spacing:-.02em;}
.bfl-single__price{font-size:22px;font-weight:800;color:var(--brand-dk);margin-bottom:14px;}
.bfl-single__price span{font-size:14px;color:var(--slate-500);font-weight:500;}
.bfl-single__desc{color:var(--slate-700);margin-bottom:18px;}
.bfl-single__buy{display:flex;gap:10px;align-items:center;margin-bottom:22px;}
.bfl-supplier{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius-lg);padding:16px;}
.bfl-supplier__head{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-500);}
.bfl-supplier__name{font-size:16px;font-weight:700;margin:3px 0;}
.bfl-supplier__meta{font-size:13px;color:var(--slate-500);}
.bfl-supplier__info{font-size:15.5px;color:var(--slate-600);margin:8px 0;}
.bfl-supplier__logo{margin-bottom:10px;}
.bfl-supplier__logo img{max-height:150px;width:auto;max-width:150px;object-fit:contain;display:block;}
.bfl-supplier__photo{display:block;margin-top:10px;border-radius:var(--radius-lg);overflow:hidden;cursor:zoom-in;}
.bfl-supplier__photo img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .2s;}
.bfl-supplier__photo:hover img{transform:scale(1.03);}
.bfl-supplier__all{display:block;text-align:center;margin-top:12px;font-size:13.5px;}

/* Account */
.bfl-account__title{font-size:24px;font-weight:400;}
.bfl-account__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.bfl-card{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:22px;}
.bfl-card__h{font-size:16px;font-weight:700;margin:0 0 14px;}
.bfl-reg,.bfl-form{display:flex;flex-direction:column;gap:10px;}
.bfl-reg__msg,.bfl-form__msg{font-size:13.5px;}

/* Portaal */
.bfl-portal__head{margin-bottom:18px;}
.bfl-portal__title{font-size:26px;font-weight:400;margin:2px 0 0;letter-spacing:-.02em;}
.bfl-portal__tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--slate-200);padding:6px;border-radius:var(--radius-lg);margin-bottom:18px;width:fit-content;flex-wrap:wrap;}
.bfl-tab{padding:8px 16px;border:none;background:none;border-radius:var(--radius);font-weight:600;font-size:13.5px;color:var(--slate-600);cursor:pointer;font-family:inherit;}
.bfl-tab:hover{background:var(--slate-100);}
.bfl-tab.is-active{background:var(--brand);color:#fff;}
.bfl-pane{display:none;}
.bfl-pane.is-active{display:block;}
.bfl-form__row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bfl-media{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.bfl-media__status{font-size:12.5px;color:var(--slate-500);}

/* Tables (gedeeld) */
.bfl-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.bfl-table th{text-align:left;font-weight:600;color:var(--slate-500);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;padding:9px 10px;border-bottom:1px solid var(--slate-200);}
.bfl-table td{padding:11px 10px;border-bottom:1px solid var(--slate-100);}
.bfl-table tfoot th{border-top:2px solid var(--slate-200);color:var(--slate-900);text-transform:none;font-size:13px;}

.bfl-empty{text-align:center;color:var(--slate-500);padding:32px 20px;border:1px dashed var(--slate-300);border-radius:var(--radius-lg);background:var(--slate-50);}
.bfl-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);}
.bfl-link{font-size:13.5px;font-weight:600;display:inline-block;margin-top:8px;}

/* WP login-form binnen account */
.bfl-account .login-username label,.bfl-account .login-password label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:var(--slate-700);}
.bfl-account input[type=text],.bfl-account input[type=password]{width:100%;border:1px solid var(--slate-300);border-radius:var(--radius);padding:10px 12px;font-size:14px;margin-bottom:10px;}
.bfl-account .button{background:var(--brand);color:#fff;border:none;border-radius:var(--radius);padding:10px 18px;font-weight:600;cursor:pointer;}

@media (max-width:900px){
	.bfl-layout{grid-template-columns:1fr;}
	.bfl-cart{position:static;}
	.bfl-single__top{grid-template-columns:1fr;}
	.bfl-account__grid{grid-template-columns:1fr;}
	.bfl-grid--3,.bfl-grid--4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
	.bfl-grid--2,.bfl-grid--3,.bfl-grid--4{grid-template-columns:repeat(2,1fr);gap:12px;}
	.bfl-form__row{grid-template-columns:1fr;}
}

/* Favorieten-hartje */
.bfl-card-product__open{display:block;width:100%;height:100%;}
.bfl-fav{width:42px;height:42px;border-radius:10px;border:1px solid var(--slate-300);background:#fff;color:var(--slate-400);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;padding:0;}
.bfl-fav:hover{color:#e11d48;border-color:#fecdd3;}
.bfl-fav.is-active{color:#e11d48;border-color:#fecdd3;background:#fff1f2;}
.bfl-card-product__media .bfl-fav.is-active,.bfl-qv__hero .bfl-fav.is-active{background:#e11d48;color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);}

/* Productgroep-filter als links i.p.v. dropdown */
.bfl-group-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.bfl-group-link{display:block;padding:6px 4px;font-size:15.5px;color:#000;font-weight:700;text-decoration:none;border-radius:6px;}
.bfl-group-link:hover{background:var(--slate-50);color:var(--slate-900);}
.bfl-group-link.is-active{color:var(--slate-900);font-weight:700;background:var(--slate-100);}

/* Mijn favorieten-knop bovenaan de filters */
.bfl-fav-link{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--slate-300);color:var(--slate-600);text-decoration:none;font-size:13.5px;font-weight:600;margin-bottom:10px;}
.bfl-fav-link:hover{border-color:#fecdd3;color:#e11d48;}
.bfl-fav-link.is-active{background:#fff1f2;border-color:#fecdd3;color:#e11d48;}
.bfl-fav svg{display:block;}
.bfl-card-product__media .bfl-fav,.bfl-qv__hero .bfl-fav{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:999px;border:none;background:rgba(255,255,255,.92);box-shadow:var(--shadow-xs);z-index:2;}
.bfl-card-product__zoom{position:absolute;left:10px;bottom:10px;width:26px;height:26px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-xs);display:flex;align-items:center;justify-content:center;color:var(--slate-600);z-index:2;}

/* Quick-view pop-up */
.bfl-scope .bfl-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;}
.bfl-scope .bfl-modal[hidden]{display:none;}
.bfl-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);}
.bfl-modal__panel{position:relative;background:#fff;border-radius:var(--radius-xl);max-width:860px;width:calc(100% - 32px);max-height:88vh;overflow:auto;box-shadow:0 20px 50px rgba(15,23,42,.3);padding:24px;}
.bfl-modal__close{position:absolute;top:12px;right:12px;border:none;background:var(--slate-100);width:40px;height:40px;border-radius:10px;cursor:pointer;font-size:17px;color:var(--slate-600);z-index:10;line-height:1;display:flex;align-items:center;justify-content:center;}
.bfl-modal__close:hover{background:var(--slate-200);}
.bfl-qv{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.bfl-qv__hero{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:var(--slate-100);}
.bfl-qv__hero img{width:100%;height:100%;object-fit:cover;}
.bfl-qv__thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.bfl-qv__thumbs span{display:inline-block;}
.bfl-qv__thumbs img{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--slate-200);}
.bfl-qv__title{font-size:24px;font-weight:800;margin:6px 0 4px;letter-spacing:-.02em;}
.bfl-qv__price{font-size:19px;font-weight:800;color:var(--brand-dk);margin-bottom:12px;}
.bfl-qv__price span{font-size:13px;color:var(--slate-500);font-weight:500;}
.bfl-qv__desc{color:var(--slate-700);margin-bottom:16px;}
@media (max-width:680px){.bfl-qv{grid-template-columns:1fr;}}

/* Account: pills, foto-upload, kleine knop, supplier-logo */
.bfl-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;}
.bfl-pill--ok{background:#dcfce7;color:#166534;}
.bfl-pill--open{background:#fef9c3;color:#854d0e;}
.bfl-muted{color:var(--slate-500);font-size:13px;}
.bfl-btn--sm{padding:6px 12px;font-size:13px;}
.bfl-cust-photo{display:flex;align-items:center;gap:14px;margin-bottom:6px;}
.bfl-upload__preview{width:216px;height:216px;border-radius:12px;overflow:hidden;background:var(--slate-100);display:flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--slate-200);}
.bfl-upload__preview img{width:100%;height:100%;object-fit:cover;}
.bfl-upload__preview span{font-size:11px;color:var(--slate-400);text-align:center;}
.bfl-supplier__top{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.bfl-supplier__top .bfl-supplier__logo img{max-width:300px;max-height:300px;width:auto;height:auto;object-fit:contain;display:block;border-radius:10px;}

/* Registratieformulieren */
.bfl-reg .bfl-label{display:block;margin-bottom:5px;font-weight:600;font-size:14px;color:var(--slate-700);}
.bfl-reg .bfl-label .bfl-input{margin-top:4px;font-weight:400;}
.bfl-sublabel{display:block;font-size:12px;color:var(--slate-500);margin-top:3px;font-weight:400;}
.bfl-reg__section{margin:18px 0 8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-600);}
.bfl-radios{border:none;padding:0;margin:0 0 14px;}
.bfl-radios legend{font-weight:600;font-size:14px;color:var(--slate-700);margin-bottom:6px;}
.bfl-radio{display:flex;align-items:center;gap:8px;font-size:14px;margin:4px 0;cursor:pointer;}
.bfl-radio input{width:auto;}

/* Rechterkolom: mandje + filters onder elkaar */
.bfl-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:18px;}
.bfl-side .bfl-cart{position:static;}
.bfl-filters--side{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:20px;display:flex;flex-direction:column;gap:10px;}
.bfl-filters__title{font-size:15px;font-weight:800;margin:0 0 4px;}
.bfl-filters__group{display:flex;flex-direction:column;gap:6px;margin-top:4px;border-top:1px solid var(--slate-100);padding-top:10px;}
.bfl-filters__label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-500);}
.bfl-filters__reset{display:inline-block;text-align:center;margin-top:4px;font-size:13px;}
@media (max-width:900px){ .bfl-layout{grid-template-columns:1fr;} .bfl-side{position:static;} }

/* Account: twee kolommen */
.bfl-account__cols{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start;margin-bottom:20px;}
.bfl-account__aside{display:flex;flex-direction:column;gap:16px;}
.bfl-form--stack{display:flex;flex-direction:column;gap:3px;}
.bfl-form--stack .bfl-label{display:block;font-weight:600;font-size:13.5px;color:var(--slate-700);margin-bottom:0;}
.bfl-form--stack .bfl-label .bfl-input{margin-top:2px;font-weight:400;width:100%;}
.bfl-filters__hint{font-size:12px;color:var(--slate-500);text-align:center;font-style:italic;}
@media (max-width:768px){ .bfl-account__cols{grid-template-columns:1fr;} }

/* Mobiel: producten altijd twee naast elkaar + compactere kaarten */
@media (max-width:560px){
	.bfl-shop .bfl-grid,.bfl-grid--2,.bfl-grid--3,.bfl-grid--4{grid-template-columns:repeat(2,1fr)!important;gap:12px;}
	.bfl-card-product__body{padding:10px;}
	.bfl-card-product__title{font-size:13.5px;}
	.bfl-card-product__price{font-size:14px;}
	.bfl-card-product__farmer{font-size:11px;}
}

/* Pop-up: favoriet linksboven zodat hij de sluitknop niet overlapt */
.bfl-qv__hero .bfl-fav{left:10px;right:auto;}
.bfl-modal__close{z-index:10;width:38px;height:38px;font-size:17px;}
.bfl-modal__panel{padding-top:54px;}
@media (max-width:680px){
	.bfl-modal__panel{width:calc(100% - 20px);max-height:90vh;}
}

/* Donatie in winkelmandje */
.bfl-cart__row--donation{align-items:center;}
.bfl-cart__info{font-size:12px;color:var(--slate-500);text-decoration:underline;margin-left:4px;}
.bfl-cart__info:hover{color:var(--slate-900);}
.bfl-cart__donation{display:flex;align-items:center;gap:4px;color:var(--slate-600);}
.bfl-input--donation{width:72px;padding:5px 8px;text-align:right;font-size:14px;}

/* Leveranciers- en accountpagina's: professioneler formulier, max 1000px */
.bfl-account,.bfl-portal{max-width:1000px;margin:0 auto;padding:32px 24px;}
.bfl-account__grid{gap:24px;}
.bfl-scope .bfl-input,.bfl-scope #loginform input[type="text"],.bfl-scope #loginform input[type="password"]{min-height:46px;padding:11px 14px;font-size:15px;border:1px solid var(--slate-300);border-radius:10px;background:#fff;color:var(--slate-900);width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;}
.bfl-scope .bfl-input:focus,.bfl-scope #loginform input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,122,40,.15);}
.bfl-scope textarea.bfl-input{min-height:120px;line-height:1.5;}
.bfl-scope select.bfl-input{appearance:auto;}
.bfl-scope .bfl-input--qty,.bfl-scope .bfl-input--donation,.bfl-topbar__filters .bfl-input{min-height:0;width:auto;font-size:13.5px;padding:8px 10px;}
.bfl-scope .bfl-input--qty{width:52px;padding:8px 6px;}
.bfl-scope .bfl-input--donation{width:72px;padding:5px 8px;}
.bfl-reg,.bfl-form{gap:14px;}
.bfl-reg .bfl-label,.bfl-form .bfl-label{font-size:13.5px;color:var(--slate-700);}
.bfl-reg .bfl-label .bfl-input,.bfl-form .bfl-label .bfl-input{margin-top:6px;}
.bfl-scope #loginform{display:flex;flex-direction:column;gap:14px;}
.bfl-scope #loginform p{margin:0;}
.bfl-scope #loginform label{display:block;font-weight:600;font-size:13.5px;color:var(--slate-700);margin-bottom:6px;}
.bfl-scope #loginform .login-remember label{display:flex;align-items:center;gap:8px;font-weight:400;}
.bfl-scope #loginform #wp-submit{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer;min-height:46px;}
.bfl-scope #loginform #wp-submit:hover{background:var(--brand-dk);}
.bfl-scope .bfl-card__h{font-size:18px;font-weight:600;margin-bottom:16px;}
@media (max-width:760px){.bfl-account__grid{grid-template-columns:1fr;}}
/* Portaal-tabs: witte tekst, actieve tab lichter groen (hoge specificiteit t.o.v. de Elementor-kit knopstijl) */
.bfl-scope .bfl-portal__tabs button.bfl-tab{background:#85B90D;color:#fff;border:none;border-radius:var(--radius);padding:10px 18px;font-weight:600;transition:background .15s;}
.bfl-scope .bfl-portal__tabs button.bfl-tab:hover{background:#93C725;color:#fff;}
.bfl-scope .bfl-portal__tabs button.bfl-tab.is-active{background:#A6D94E;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.12);}

/* ===== Inlog- en registratieformulieren: professionele opmaak ===== */
.bfl-account__grid{align-items:start;}
.bfl-scope .bfl-card__h{font-size:20px;font-weight:600;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--slate-200);}
.bfl-reg,.bfl-form{display:flex;flex-direction:column;gap:14px;}
.bfl-reg p,.bfl-form p{display:contents;}
.bfl-reg .bfl-label,.bfl-form .bfl-label,.bfl-scope #loginform label{display:block;font-size:13px;font-weight:600;color:var(--slate-700);margin:0;}
.bfl-reg .bfl-label .bfl-input,.bfl-form .bfl-label .bfl-input{margin-top:6px;font-weight:400;}
.bfl-reg .bfl-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:-6px;}
.bfl-reg .bfl-sublabel{display:none;}
.bfl-reg .bfl-muted{font-size:12px;color:var(--slate-500);margin-top:-8px;}
.bfl-reg__section{margin:6px 0 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);font-weight:700;}
.bfl-radios{border:none;margin:0;padding:0;}
.bfl-radios legend{font-size:13px;font-weight:600;color:var(--slate-700);margin-bottom:8px;padding:0;}
.bfl-radios p{display:flex;gap:10px;}
.bfl-radio{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--slate-300);border-radius:10px;font-size:14px;cursor:pointer;background:#fff;}
.bfl-radio:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dk);font-weight:600;}
.bfl-radio input{accent-color:var(--brand);margin:0;}
.bfl-reg .bfl-btn--block{margin-top:6px;}
.bfl-reg__msg:empty{display:none;}
.bfl-scope #loginform{gap:14px;}
.bfl-scope #loginform .login-username,.bfl-scope #loginform .login-password{display:flex;flex-direction:column;gap:6px;}
.bfl-scope #loginform br{display:none;}
.bfl-scope #loginform .login-remember label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:14px;}
.bfl-scope #loginform .login-remember input{accent-color:var(--brand);margin:0;width:16px;height:16px;}
.bfl-scope #loginform #wp-submit{width:100%;}
.bfl-scope #loginform .login-submit{margin-top:4px;}
.bfl-login__extra{margin-top:14px;padding-top:14px;border-top:1px solid var(--slate-100);font-size:13px;color:var(--slate-500);}
.bfl-login__extra a{color:var(--brand-dk);text-decoration:underline;}
.bfl-scope h4.bfl-reg__section{font-size:12px !important;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);font-weight:700;margin:6px 0 0;font-family:inherit;}
.bfl-scope #loginform #wp-submit{background:#85B90D;}
.bfl-scope #loginform #wp-submit:hover{background:#9BD24B;}

/* Beschikbaarheid-toggle in leveranciersportaal */
.bfl-scope button.bfl-avail{border:1px solid var(--slate-300);background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--slate-600);}
.bfl-scope button.bfl-avail.is-on{background:var(--brand-soft);border-color:#c9dcb5;color:var(--brand-dk);}
.bfl-scope button.bfl-avail.is-off{background:var(--rose-50);border-color:#fecdd3;color:var(--rose-600);}

/* Filterbalk + deadline blijven bovenaan in beeld tijdens scrollen */
.bfl-stickybar{position:sticky;top:0;z-index:50;background:#fff;padding:10px 0 4px;margin:-10px 0 0;}
.bfl-stickybar .bfl-topbar{margin-bottom:8px;}
.bfl-stickybar .bfl-deadline{margin-bottom:10px;}
.bfl-stickybar::after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:10px;background:linear-gradient(rgba(15,23,42,.06),rgba(15,23,42,0));pointer-events:none;}
body.admin-bar .bfl-stickybar{top:32px;}
@media (max-width:782px){body.admin-bar .bfl-stickybar{top:46px;}}
@media (max-width:760px){.bfl-stickybar{position:static;}}

/* Winkelmandje blijft netjes onder de vaste filterbalk hangen */
.bfl-shop .bfl-side{position:sticky;top:calc(var(--bfl-sticky-h,120px) + 12px);align-self:start;max-height:calc(100vh - var(--bfl-sticky-h,120px) - 24px);overflow-y:auto;scrollbar-width:thin;}
body.admin-bar .bfl-shop .bfl-side{top:calc(var(--bfl-sticky-h,120px) + 12px + 32px);}
@media (max-width:760px){.bfl-shop .bfl-side{position:static;max-height:none;overflow:visible;}}

/* Vaste filterbalk: fade naar groen zodra hij bovenaan plakt */
.bfl-sticky-sentinel{height:1px;margin-top:-1px;}
.bfl-stickybar{transition:background-color .7s ease,padding .4s ease,border-radius .4s ease,box-shadow .7s ease;border-radius:0 0 14px 14px;}
.bfl-stickybar.is-stuck{background-color:#3F9A64;padding:12px 14px 6px;box-shadow:0 6px 18px rgba(0,0,0,.14);}
.bfl-stickybar.is-stuck::after{display:none;}
.bfl-stickybar .bfl-topbar__link,.bfl-stickybar .bfl-topbar__check,.bfl-stickybar .bfl-topbar__reset{transition:color .7s ease;}
.bfl-stickybar.is-stuck .bfl-topbar__link,.bfl-stickybar.is-stuck .bfl-topbar__check,.bfl-stickybar.is-stuck .bfl-topbar__reset{color:#fff;}
.bfl-stickybar.is-stuck .bfl-topbar__link:hover{color:#fff;opacity:.85;}
.bfl-stickybar.is-stuck .bfl-topbar__filters .bfl-input{border-color:rgba(255,255,255,.6);}
.bfl-stickybar.is-stuck .bfl-deadline{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.9);}
/* Productgroepen-strook in de vaste balk (alleen zichtbaar als de balk bovenaan plakt) */
.bfl-groupstrip{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:2px 0 10px;font-size:14.5px;}
.bfl-groupstrip a{color:#3F9A64;text-decoration:none;font-weight:700;padding:2px 2px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .7s ease,border-color .3s ease;}
.bfl-groupstrip a:hover{border-bottom-color:rgba(63,154,100,.5);}
.bfl-groupstrip a.is-active{border-bottom-color:#3F9A64;}
.bfl-groupstrip__sep{color:rgba(63,154,100,.45);font-weight:700;transition:color .7s ease;}
.bfl-stickybar.is-stuck .bfl-groupstrip a{color:#fff;}
.bfl-stickybar.is-stuck .bfl-groupstrip a:hover{border-bottom-color:rgba(255,255,255,.6);}
.bfl-stickybar.is-stuck .bfl-groupstrip a.is-active{border-bottom-color:#fff;}
.bfl-stickybar.is-stuck .bfl-groupstrip__sep{color:rgba(255,255,255,.55);}