:root { --fbg: var(--fb-accent, #C8F53C); --fbt: var(--fb-accent-ink, #4A6B00); --fon: var(--fb-on-accent, #0F1311); --fink: var(--fb-ink, #0F1311); --fmut: var(--fb-muted, #5B605C); --fmint: var(--fb-tint, #EEF8D2); --fline: var(--fb-line, #E3E5E0); --fcream: var(--fb-bg, #F2F3F0); }
.fb-search { display: flex; align-items: center; background: #fff; border: 1px solid var(--fb-line, #E3E5E0); border-radius: 10px; padding: 0 .25rem 0 .875rem; width: 100%; max-width: 18rem; transition: border-color .2s; }
.fb-search:focus-within { border-color: var(--fb-accent-ink, #4A6B00); }
.fb-search input[type=search] { flex: 1 1 auto; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; outline: 0; padding: .55rem 0 !important; font: 400 .9375rem 'Geist', sans-serif; color: var(--fb-ink, #0F1311); }
.fb-search input[type=search]::placeholder { color: var(--fb-muted, #5B605C); opacity: .8; }
.fb-search button { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border: 0 !important; border-radius: 8px; background: transparent !important; color: var(--fb-accent-ink, #4A6B00) !important; cursor: pointer; padding: 0 !important; }
.fb-search button:hover { background: var(--fb-tint, #EEF8D2) !important; }
.fb-home-products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { .fb-home-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .fb-home-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }.fb-home-products { padding: 2rem 0 4rem; }
.fb-home-products__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin: 0 0 2rem; }
.fb-home-products__head h2 { margin: 0; }
.fb-home-products__head a { font-family: 'Geist', sans-serif; font-weight: 500; color: var(--fb-accent-ink, #4A6B00); text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
@media (max-width: 767px) { .fb-home-products { padding: 1rem 0 3rem; } .fb-home-products__head { flex-direction: column; align-items: flex-start; gap: .5rem; } }

/* text pages */
body.page:not(.elementor-page):not(.woocommerce-page) .site-main { max-width: 48rem; margin: 0 auto; padding: 3rem 24px 6rem; color: var(--fb-ink, #0F1311); font-family: 'Geist', sans-serif; }
body.page:not(.elementor-page):not(.woocommerce-page) .page-header .entry-title { font-family: 'Geist', sans-serif; font-weight: 700; letter-spacing: -0.04em; font-size: 3rem; letter-spacing: -0.04em; line-height: 1.05; margin: 0 0 1.5rem; }
body.page:not(.elementor-page):not(.woocommerce-page) .page-content h2 { font-family: 'Geist', sans-serif; font-weight: 700; letter-spacing: -0.04em; font-size: 1.625rem; line-height: 1.15; margin: 2.5rem 0 .75rem; }
body.page:not(.elementor-page):not(.woocommerce-page) .page-content p, body.page:not(.elementor-page):not(.woocommerce-page) .page-content li { line-height: 1.65; color: var(--fb-muted, #5B605C); }
body.page:not(.elementor-page):not(.woocommerce-page) .page-content a { color: var(--fb-accent-ink, #4A6B00); }
@media (max-width: 767px) { body.page:not(.elementor-page):not(.woocommerce-page) .site-main { padding: 2rem 20px 4rem; } body.page:not(.elementor-page):not(.woocommerce-page) .page-header .entry-title { font-size: 2.25rem; } }
.fb-home-products__head h2 { font-family: 'Geist', sans-serif; font-weight: 700; letter-spacing: -0.04em; font-size: 2.75rem; letter-spacing: -0.04em; line-height: 1.1; color: var(--fink); }
@media (max-width: 767px) { .fb-home-products__head h2 { font-size: 2rem; } }

/* ---------- header ---------- */
.elementor-location-header { position: sticky; top: 0; z-index: 900; }
.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: 0; } }
.fb-hdr { padding: 12px 24px; background: var(--fcream); font-family: 'Geist', sans-serif; }
.fb-hdr__bar { max-width: 1248px; margin: 0 auto; background: #fff; border: 1px solid var(--fline); border-radius: 16px; height: 72px; padding: 0 16px 0 24px; display: flex; align-items: center; gap: 2rem; transition: box-shadow .25s; }
.fb-hdr.is-scrolled .fb-hdr__bar { box-shadow: 0 10px 30px -12px rgba(15, 19, 17, .14); }
.fb-logo { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; flex: 0 0 auto; }
.fb-logo__mark { display: block; }
.fb-logo__word { font-family: 'Geist', sans-serif; font-weight: 700; font-size: 1.75rem; letter-spacing: -0.05em; line-height: 1; color: var(--fink); padding-bottom: 3px; }
.fb-nav { display: flex; align-items: center; gap: .25rem; flex: 1 1 auto; justify-content: center; min-width: 0; }
.fb-nav a { position: relative; padding: .6rem .8rem; font-weight: 500; font-size: .9875rem; color: var(--fink); text-decoration: none; white-space: nowrap; border-radius: 10px; transition: color .2s; }
.fb-nav a:hover { color: var(--fbt); }
.fb-nav a.is-active { color: var(--fbt); }
.fb-nav a.is-active::after { content: ''; position: absolute; left: .8rem; right: .8rem; bottom: .15rem; height: 3px; border-radius: 2px; background: var(--fbg); }
.fb-hdr__icons { display: flex; align-items: center; gap: .25rem; flex: 0 0 auto; }
.fb-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; color: var(--fink) !important; background: transparent !important; border: 0 !important; padding: 0 !important; cursor: pointer; text-decoration: none; transition: background-color .2s; }
.fb-icon:hover { background: var(--fcream) !important; }
.fb-count { position: absolute; top: 4px; right: 3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--fbg); color: var(--fon); font-size: .6875rem; font-weight: 700; line-height: 18px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.fb-count.is-zero { display: none; }
.fb-btn { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; background: var(--fbg); color: var(--fon) !important; font-family: 'Geist', sans-serif; font-weight: 600; font-size: .9875rem; line-height: 1; padding: 1rem 1.5rem; border-radius: 10px; text-decoration: none !important; white-space: nowrap; transition: background-color .2s; border: 0; }
.fb-btn:hover { background: var(--fb-accent-dark, #B4E02A); color: var(--fon); }
.fb-hdr__burger { display: none !important; }
.fb-hdr__search { max-width: 1248px; margin: 8px auto 0; background: #fff; border: 1px solid var(--fline); border-radius: 16px; padding: 12px; }
.fb-hdr__search[hidden] { display: none; }
.fb-hdr__search .fb-search { max-width: none; }
@media (max-width: 1180px) { .fb-nav a { padding: .6rem .55rem; font-size: .9375rem; } .fb-hdr__bar { gap: 1rem; } }
@media (max-width: 1199px) {
	.fb-nav, .fb-hdr__cta { display: none; }
	.fb-hdr__burger { display: inline-flex !important; margin-left: -8px; }
	.fb-hdr__icons { margin-left: auto; }
	.fb-hdr__bar { padding: 0 10px 0 14px; gap: .5rem; }
}
@media (max-width: 767px) {
	.fb-hdr { padding: 8px 12px; }
	.fb-hdr__bar { height: 60px; border-radius: 14px; }
	.fb-logo__word { font-size: 1.5rem; }
	.fb-logo__mark { width: 22px; height: 27px; }
	.fb-hdr__icons { gap: 0; }
	.fb-icon { width: 40px; height: 40px; }
}
/* drawer */
.fb-drawer { position: fixed; inset: 0; z-index: 100001; background: rgba(15, 19, 17, 0); transition: background-color .3s; }
.fb-drawer[hidden] { display: none; }
.fb-drawer.is-open { background: rgba(15, 19, 17, .4); }
.fb-drawer__panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(380px, 90vw); background: #fff; display: flex; flex-direction: column; transform: translateX(-102%); transition: transform .3s ease; overflow-y: auto; font-family: 'Geist', sans-serif; }
.fb-drawer.is-open .fb-drawer__panel { transform: none; }
.fb-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid var(--fline); }
.fb-drawer__spacer { width: 44px; }
.fb-drawer__search { padding: 16px 20px 4px; }
.fb-drawer__search .fb-search { max-width: none; }
.fb-drawer__nav { display: flex; flex-direction: column; padding: 8px 20px; }
.fb-drawer__nav a { display: flex; align-items: center; justify-content: space-between; text-decoration: none; color: var(--fink); }
.fb-drawer__nav a.is-cat { font-weight: 600; font-size: 1.0625rem; padding: .9rem 0; border-bottom: 1px solid var(--fline); }
.fb-drawer__nav a.is-cat svg { color: var(--fmut); width: 18px; height: 18px; }
.fb-drawer__nav a.is-link { font-weight: 500; font-size: .9875rem; padding: .65rem 0; color: var(--fmut); }
.fb-drawer__sep { height: 12px; }
.fb-drawer__cta { margin: auto 20px 24px; }
.fb-lock, .fb-lock body { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .fb-drawer, .fb-drawer__panel, .fb-hdr__bar { transition: none; } }
@media (max-width: 767px) { .fb-home-products__head a { padding: .5rem 0; } .fb-home-products__head h2 { font-size: 1.875rem; } }

.fb-logo__img { display: block; height: 38px; width: auto; aspect-ratio: 1160 / 360; }
@media (max-width: 767px) { .fb-logo__img { height: 32px; } }

/* Kiirvalik (avaleht) */
.fb-quick { background: #fff; border: 1px solid var(--fb-line, #E3E5E0); border-radius: 28px; padding: 2.5rem; font-family: 'Geist', sans-serif; }
.fb-quick__head { margin: 0 0 1.75rem; }
.fb-quick__title { font-family: 'Geist', sans-serif; font-weight: 700; font-size: 2.25rem; letter-spacing: -0.04em; line-height: 1.05; color: var(--fb-ink, #0F1311); margin: 0 0 .5rem; }
.fb-quick__sub { margin: 0; color: var(--fb-muted, #5B605C); font-size: 1rem; line-height: 1.5; }
.fb-quick__tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.fb-tier { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; padding: 1.5rem; border-radius: 20px; background: var(--fb-bg, #F2F3F0); color: var(--fb-ink, #0F1311); text-decoration: none !important; transition: transform .2s; }
.fb-tier:hover { transform: translateY(-3px); }
.fb-tier__label { font-size: .9375rem; font-weight: 600; color: var(--fb-muted, #5B605C); }
.fb-tier__price { font-weight: 700; font-size: 2.5rem; letter-spacing: -0.045em; line-height: 1.05; margin-top: .2rem; }
.fb-tier__count { font-size: .9375rem; color: var(--fb-muted, #5B605C); }
.fb-tier__cta { margin-top: 1.25rem; display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: 0 1.1rem; border-radius: 10px; background: #fff; border: 1px solid var(--fb-line, #E3E5E0); font-weight: 600; font-size: .9375rem; color: var(--fb-ink, #0F1311); transition: border-color .2s, background-color .2s; }
.fb-tier:hover .fb-tier__cta { border-color: var(--fb-ink, #0F1311); }
.fb-tier--hot { background: var(--fb-ink, #0F1311); color: #fff; }
.fb-tier--hot .fb-tier__label { color: var(--fb-accent, #C8F53C); }
.fb-tier--hot .fb-tier__count { color: rgba(255, 255, 255, .7); }
.fb-tier--hot .fb-tier__cta { background: var(--fb-accent, #C8F53C); border-color: var(--fb-accent, #C8F53C); color: var(--fb-on-accent, #0F1311); }
.fb-tier--hot:hover .fb-tier__cta { background: var(--fb-accent-dark, #B4E02A); border-color: var(--fb-accent-dark, #B4E02A); }
.fb-quick__brands { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--fb-line, #E3E5E0); }
.fb-quick__brands-label { font-size: .9375rem; font-weight: 600; color: var(--fb-ink, #0F1311); }
.fb-quick__logos { display: flex; gap: .75rem; flex-wrap: wrap; }
.fb-brand { display: flex; align-items: center; justify-content: center; width: 7rem; height: 3.5rem; border: 1px solid var(--fb-line, #E3E5E0); border-radius: 12px; background: #fff; transition: border-color .2s; }
.fb-brand img { display: block; max-width: 4.5rem; max-height: 1.75rem; width: auto; height: auto; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.fb-brand:hover { border-color: var(--fb-ink, #0F1311); }
.fb-brand:hover img { filter: none; opacity: 1; }
.fb-tier:focus-visible, .fb-brand:focus-visible { outline: 2px solid var(--fb-accent-ink, #4A6B00); outline-offset: 3px; }
@media (max-width: 900px) {
	.fb-quick { padding: 1.5rem 1.25rem; border-radius: 22px; }
	.fb-quick__title { font-size: 1.75rem; }
	.fb-quick__tiers { grid-template-columns: 1fr; gap: .75rem; }
	.fb-tier { padding: 1.25rem; }
	.fb-tier__price { font-size: 2rem; }
	.fb-tier__cta { margin-top: .75rem; }
	.fb-quick__brands { flex-direction: column; align-items: flex-start; gap: .75rem; }
	.fb-quick__logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; width: 100%; }
	.fb-brand { width: auto; height: 3rem; }
	.fb-brand img { max-width: 80%; max-height: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) { .fb-tier { transition: none; } .fb-tier:hover { transform: none; } }
.fb-quick a.fb-tier, .fb-quick a.fb-tier:hover { color: var(--fb-ink, #0F1311); }
.fb-quick a.fb-tier--hot, .fb-quick a.fb-tier--hot:hover { color: #fff; }

/* Populaarsed mudelid (avaleht) */
.fb-models { font-family: 'Geist', sans-serif; }
.fb-models__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin: 0 0 1.5rem; }
.fb-models__title { font-family: 'Geist', sans-serif; font-weight: 700; font-size: 2.75rem; letter-spacing: -0.04em; line-height: 1.05; color: var(--fb-ink, #0F1311); margin: 0 0 .5rem; }
.fb-models__sub { margin: 0; color: var(--fb-muted, #5B605C); font-size: 1rem; line-height: 1.5; }
.fb-models .fb-models__tabs { display: inline-flex; gap: 4px; padding: 4px; background: #fff; border: 1px solid var(--fb-line, #E3E5E0); border-radius: 12px; }
.fb-models .fb-models__tabs button { border: 0; background: transparent; color: var(--fb-ink, #0F1311); padding: .6rem 1.15rem; min-height: 0; border-radius: 9px; font: 600 .9375rem 'Geist', sans-serif; cursor: pointer; transition: background-color .15s; }
.fb-models .fb-models__tabs button:hover { background: var(--fb-bg, #F2F3F0); color: var(--fb-ink, #0F1311); }
.fb-models .fb-models__tabs button[aria-selected=true] { background: var(--fb-ink, #0F1311); color: #fff; }
.fb-models .fb-models__tabs button:focus-visible { outline: 2px solid var(--fb-accent-ink, #4A6B00); outline-offset: 2px; }
.fb-models__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.fb-models a.fb-model { display: flex; flex-direction: column; gap: .2rem; padding: 1.25rem; background: #fff; border: 1px solid var(--fb-line, #E3E5E0); border-radius: 20px; color: var(--fb-ink, #0F1311); text-decoration: none; transition: transform .2s, border-color .2s; }
.fb-models a.fb-model:hover { transform: translateY(-3px); border-color: var(--fb-ink, #0F1311); color: var(--fb-ink, #0F1311); }
.fb-model__media { display: block; aspect-ratio: 4 / 3; margin: 0 0 .9rem; }
.fb-model__media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.fb-model__name { font-weight: 600; font-size: 1.0625rem; letter-spacing: -0.01em; line-height: 1.3; }
.fb-model__price { font-weight: 700; font-size: 1.5rem; letter-spacing: -0.03em; line-height: 1.2; margin-top: .35rem; }
.fb-model__price .amount { color: inherit; }
.fb-model__count { font-size: .875rem; color: var(--fb-muted, #5B605C); }
.fb-models a.fb-models__all { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.25rem; font-weight: 600; color: var(--fb-accent-ink, #4A6B00); text-decoration: underline; text-underline-offset: 4px; }
.fb-models a.fb-model:focus-visible, .fb-models a.fb-models__all:focus-visible { outline: 2px solid var(--fb-accent-ink, #4A6B00); outline-offset: 3px; }
@media (max-width: 900px) {
	.fb-models__title { font-size: 2rem; }
	.fb-models__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
	.fb-models a.fb-model { padding: .9rem; border-radius: 16px; }
	.fb-model__name { font-size: .9375rem; }
	.fb-model__price { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) { .fb-models a.fb-model { transition: none; } .fb-models a.fb-model:hover { transform: none; } }
/* Värskelt saabunud: mobiilis noolte ja libistusega karussell (ilma horisontaalse kerimiseta) */
.fb-car__nav { display: none; }
@media (max-width: 767px) {
	.fb-car > .woocommerce { overflow: hidden; touch-action: pan-y; }
	.fb-home-products ul.products { display: flex !important; grid-template-columns: none !important; gap: .75rem; transition: transform .35s ease; will-change: transform; }
	.fb-home-products ul.products li.product { flex: 0 0 78% !important; }
	.fb-home-products ul.products li.product:hover { transform: none; }
	.fb-car__nav { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }
	.fb-home-products .fb-car__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1px solid var(--fb-line, #E3E5E0); background: #fff; color: var(--fb-ink, #0F1311); cursor: pointer; transition: background-color .15s, border-color .15s; }
	.fb-home-products .fb-car__btn:hover { background: #fff; border-color: var(--fb-ink, #0F1311); color: var(--fb-ink, #0F1311); }
	.fb-home-products .fb-car__btn:focus-visible { outline: 2px solid var(--fb-accent-ink, #4A6B00); outline-offset: 2px; }
	.fb-home-products .fb-car__btn:disabled { opacity: .35; cursor: default; border-color: var(--fb-line, #E3E5E0); }
}
@media (prefers-reduced-motion: reduce) { .fb-home-products ul.products { transition: none; } }

/* Kontakt + Meist leht */
.fb-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 4rem; align-items: start; margin: 1rem 0 4rem; font-family: 'Geist', sans-serif; }
.fb-contact__card { background: #fff; border: 1px solid var(--fb-line, #E3E5E0); border-radius: 28px; padding: 2rem; }
.fb-contact .fb-contact__title { font-family: 'Geist', sans-serif; font-weight: 700; font-size: 1.75rem; letter-spacing: -0.04em; line-height: 1.1; color: var(--fb-ink, #0F1311); margin: 0 0 1.25rem; }
.fb-contact__list { margin: 0; }
.fb-contact__row { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--fb-line, #E3E5E0); }
.fb-contact__row:first-child { border-top: 0; padding-top: 0; }
.fb-contact__row dt { color: var(--fb-muted, #5B605C); font-size: .9375rem; font-weight: 400; margin: 0; }
.fb-contact__row dd { margin: 0; color: var(--fb-ink, #0F1311); font-weight: 600; font-size: 1rem; }
.fb-contact__row dd a { color: var(--fb-ink, #0F1311); text-decoration: underline; text-decoration-color: var(--fb-accent-ink, #4A6B00); text-underline-offset: 3px; }
.fb-contact a.fb-contact__chat { display: flex; align-items: center; justify-content: center; min-height: 3.25rem; margin: 1.5rem 0; border-radius: 10px; background: var(--fb-accent, #C8F53C); color: var(--fb-on-accent, #0F1311); font-weight: 600; text-decoration: none; transition: background-color .2s; }
.fb-contact a.fb-contact__chat:hover { background: var(--fb-accent-dark, #B4E02A); color: var(--fb-on-accent, #0F1311); }
.fb-contact__list--company { padding-top: 1.25rem; border-top: 1px solid var(--fb-line, #E3E5E0); }
.fb-contact__list--company .fb-contact__row { border-top: 0; padding: .3rem 0; }
.fb-contact__list--company dd { font-weight: 500; font-size: .9375rem; }
.fb-contact__about p { font-size: 1.0625rem; line-height: 1.7; color: var(--fb-muted, #5B605C); margin: 0 0 1.25rem; max-width: 40rem; }
.fb-contact__about p.fb-contact__lead { font-size: 1.3125rem; line-height: 1.5; letter-spacing: -0.01em; color: var(--fb-ink, #0F1311); margin-bottom: 1.75rem; }
@media (max-width: 900px) {
	.fb-contact { grid-template-columns: 1fr; gap: 2.5rem; }
	.fb-contact__card { padding: 1.5rem; border-radius: 22px; }
	.fb-contact__about p.fb-contact__lead { font-size: 1.1875rem; }
}

.site-main:has(.fb-contact) { max-width: 1248px !important; width: 100%; }
.fb-contact h2.fb-contact__title { margin-top: 0; }
.fb-contact__card > :first-child, .fb-contact__about > :first-child { margin-top: 0; }
