/*
 * EdenBoost footer (every page): "Service & Kontakt", the link columns (desktop) and accordion (phones)
 * of UX block 306 "collapsible-footer", and Flatsome's absolute footer. Loaded site wide by
 * mu-plugins/eb-product-ui.php, scoped under body.eb-site; the block's sections get their classes
 * (eb-ft-support, eb-ft-cols, eb-ft-acc) at render time. Same tokens as eb-home.css / eb-product-ui.css.
 */

.eb-site {
	--eb-ft-primary: #1fa8e6;
	--eb-ft-primary-dark: #0b7fb3;
	--eb-ft-ink: #0f1f33;
	--eb-ft-text: #34465a;
	--eb-ft-line: #e2ecf3;
	--eb-ft-dark: #0f1f33;
	--eb-ft-darker: #0b1726;
	--eb-ft-light: #c9d6e2;
	--eb-ft-font: Manrope, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.eb-site #footer { font-family: var(--eb-ft-font); }

/* ---------- Service & Kontakt (eb_ft_service_html: full, or compact on pages with a help card) ---------- */
.eb-site #footer .eb-ft-support {
	margin: 0 !important; padding: 0 !important; color: var(--eb-ft-text);
	background: linear-gradient(180deg, #eef8fd 0%, #f4f9fc 100%) !important; border-top: 1px solid var(--eb-ft-line);
}
.eb-site #footer .eb-ft-support .section-bg { background: none !important; }
.eb-svc { --svc-pd: #0b7fb3; --svc-ink: #0f1f33; --svc-muted: #56687b; --svc-line: #e2ecf3; --svc-soft: #f4f9fc; --svc-tint: #eef8fd; font-family: var(--eb-ft-font); color: var(--eb-ft-text); }
.eb-svc .eb-svc-in { box-sizing: border-box; max-width: 1180px; margin: 0 auto; padding: 28px 16px 26px; }
.eb-svc :is(h2, h3, p, ul) { margin: 0; padding: 0; }
.eb-svc a { text-decoration: none; }
.eb-svc a:focus-visible { outline: 3px solid rgba(31, 168, 230, .55); outline-offset: 2px; }
.eb-svc .eb-svc-h { font-family: var(--eb-ft-font); font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -.02em; color: var(--svc-ink); }
.eb-svc .eb-svc-main { display: grid; gap: 14px; }
.eb-svc .eb-svc-card {
	display: grid; gap: 12px; padding: 16px; background: #fff; border: 1.5px solid #b9dcef; border-radius: 18px;
	box-shadow: 0 12px 28px rgba(15, 31, 51, .06);
}
.eb-svc .eb-svc-who { display: flex; align-items: center; gap: 12px; }
body.eb-site:not(#eb) .eb-svc .eb-svc-who .eb-pg-faces { flex: none; display: inline-flex; margin: 0; }
body.eb-site:not(#eb) .eb-svc .eb-svc-who .eb-pg-faces img { display: block; width: 44px; height: 44px; margin: 0; border: 2px solid #fff; border-radius: 50%; object-fit: cover; background: var(--svc-line); }
body.eb-site:not(#eb) .eb-svc .eb-svc-who .eb-pg-faces img + img { margin-left: -12px; }
.eb-svc .eb-svc-who-t { display: grid; gap: 4px; justify-items: start; min-width: 0; }
.eb-svc .eb-svc-who-t strong { font-size: 16px; font-weight: 800; line-height: 1.3; color: var(--svc-ink); }
.eb-svc .eb-svc-state {
	display: inline-flex; align-items: center; gap: 6px; min-height: 24px; padding: 2px 10px; box-sizing: border-box; border-radius: 999px;
	background: #eef3f7; color: var(--svc-muted); font-size: 12.5px; font-weight: 800; line-height: 1.3; visibility: hidden;
}
.eb-svc .eb-svc-state.is-set { visibility: visible; }
.eb-svc .eb-svc-state > span { width: 8px; height: 8px; border-radius: 50%; background: #9aabbb; }
.eb-svc .eb-svc-state em { font-style: normal; }
.eb-svc .eb-svc-state.is-on { background: #e5f5ec; color: #157347; }
.eb-svc .eb-svc-state.is-on > span { background: #1c9a5b; box-shadow: 0 0 0 3px rgba(28, 154, 91, .18); }
.eb-svc .eb-svc-btns { display: grid; gap: 10px; }
.eb-svc .eb-svc-btn {
	display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 8px 14px; box-sizing: border-box;
	border-radius: 14px; font-size: 15px; font-weight: 800; line-height: 1.25; text-align: center;
}
.eb-svc .eb-svc-btn svg { flex: none; }
.eb-svc .eb-svc-btn.is-chat { background: var(--svc-pd); color: #fff; }
.eb-svc .eb-svc-btn.is-chat:hover { background: #096d9a; color: #fff; }
.eb-svc .eb-svc-btn.is-mail { background: #fff; border: 1.5px solid #b9dcef; color: var(--svc-ink); overflow-wrap: anywhere; }
.eb-svc .eb-svc-btn.is-mail:hover { border-color: var(--svc-pd); color: var(--svc-ink); }
.eb-svc .eb-svc-hours { display: grid; gap: 3px; padding: 10px 12px; border-radius: 12px; background: var(--svc-soft); font-size: 13px; line-height: 1.45; }
.eb-svc .eb-svc-hours strong { font-weight: 800; color: var(--svc-ink); }
.eb-svc .eb-svc-dt { display: none; }
.eb-svc .eb-svc-self { display: grid; gap: 12px; margin-top: 20px; }
.eb-svc .eb-svc-sub { font-family: var(--eb-ft-font); font-size: 14px; font-weight: 800; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--svc-ink); }
.eb-svc .eb-svc-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; list-style: none; }
.eb-svc .eb-svc-tiles li { margin: 0; }
.eb-svc .eb-svc-tile {
	display: flex; flex-direction: column; gap: 8px; height: 100%; min-height: 104px; padding: 12px; box-sizing: border-box;
	background: #fff; border: 1px solid var(--svc-line); border-radius: 16px; color: var(--svc-ink);
}
.eb-svc .eb-svc-tile:hover { border-color: #9fcfe8; box-shadow: 0 6px 18px rgba(15, 31, 51, .06); color: var(--svc-ink); }
.eb-svc .eb-svc-ic { display: flex; align-items: center; justify-content: center; flex: none; width: 36px; height: 36px; border-radius: 11px; background: var(--svc-tint); color: var(--svc-pd); }
.eb-svc .eb-svc-tt { display: grid; gap: 3px; }
.eb-svc .eb-svc-tt strong { font-size: 14px; font-weight: 800; line-height: 1.25; color: var(--svc-ink); }
.eb-svc .eb-svc-tt span { font-size: 12.5px; line-height: 1.4; color: var(--svc-muted); }
.eb-svc .eb-svc-more { justify-self: start; display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 800; color: var(--svc-pd); }
.eb-svc .eb-svc-more:hover { color: var(--svc-ink); }
/* Compact: heading, the six tiles as links, one contact line. */
.eb-svc.is-compact .eb-svc-in { display: grid; gap: 12px; padding: 22px 16px 20px; }
.eb-svc.is-compact .eb-svc-h { font-size: 19px; line-height: 1.25; letter-spacing: 0; }
.eb-svc.is-compact .eb-svc-tiles { gap: 8px; }
.eb-svc.is-compact .eb-svc-tile {
	flex-direction: row; align-items: center; gap: 8px; min-height: 48px; padding: 8px 10px; border-radius: 12px;
}
.eb-svc.is-compact .eb-svc-ic { width: auto; height: auto; background: none; }
.eb-svc.is-compact .eb-svc-tt strong { font-size: 13.5px; font-weight: 700; }
.eb-svc.is-compact .eb-svc-line { order: 3; font-size: 13px; line-height: 1.9; }
.eb-svc .eb-svc-line a { font-weight: 800; color: var(--svc-pd); }
.eb-svc .eb-svc-line a:hover { color: var(--svc-ink); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 600px) {
	.eb-svc .eb-svc-btns { grid-template-columns: 1fr 1fr; }
	.eb-svc .eb-svc-ph { display: none; }
	.eb-svc .eb-svc-dt { display: inline; }
	.eb-svc .eb-svc-tiles { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 850px) {
	.eb-svc.is-full .eb-svc-in { display: grid; grid-template-columns: 460px 1fr; gap: 32px; align-items: start; padding: 44px 16px 40px; }
	.eb-svc.is-full .eb-svc-h { font-size: 30px; line-height: 1.15; }
	.eb-svc.is-full .eb-svc-card { padding: 20px; border-radius: 20px; }
	.eb-svc.is-full .eb-svc-btn { font-size: 14.5px; }
	.eb-svc.is-full .eb-svc-btns { grid-template-columns: 1.2fr 1fr; }
	.eb-svc.is-full .eb-svc-self { margin-top: 0; padding-top: 6px; gap: 14px; }
	.eb-svc.is-full .eb-svc-sub { font-size: 15px; line-height: 30px; }
	.eb-svc.is-full .eb-svc-tiles { gap: 12px; }
	.eb-svc.is-full .eb-svc-tile { flex-direction: row; align-items: flex-start; gap: 12px; min-height: 92px; padding: 16px; }
	.eb-svc.is-full .eb-svc-ic { width: 40px; height: 40px; border-radius: 12px; }
	.eb-svc.is-full .eb-svc-tt strong { font-size: 15px; }
	.eb-svc.is-full .eb-svc-tt span { font-size: 13px; }
	.eb-svc.is-full .eb-svc-more { justify-self: end; min-height: 40px; }
	.eb-svc.is-compact .eb-svc-in { grid-template-columns: auto 1fr; align-items: baseline; gap: 14px 20px; padding: 24px 16px; }
	.eb-svc.is-compact .eb-svc-h { font-size: 20px; }
	.eb-svc.is-compact .eb-svc-line { order: 0; justify-self: end; text-align: right; font-size: 13.5px; }
	.eb-svc.is-compact .eb-svc-tiles { grid-column: 1 / -1; grid-template-columns: repeat(6, 1fr); gap: 10px; }
	.eb-svc.is-compact .eb-svc-tile { min-height: 50px; padding: 8px 12px; }
}

/* ---------- Link columns (desktop) and accordion (phones) ---------- */
.eb-site #footer .eb-ft-cols,
.eb-site #footer .eb-ft-acc { margin: 0 !important; padding: 44px 0 26px !important; color: #aebdcb; background-color: var(--eb-ft-dark) !important; }
.eb-site #footer .eb-ft-acc { padding: 18px 0 !important; }
.eb-site #footer .eb-ft-cols .section-bg,
.eb-site #footer .eb-ft-acc .section-bg { background: none !important; }
.eb-site #footer .eb-ft-cols > .section-content > .row { max-width: 1180px; }
.eb-site #footer .eb-ft-cols h4,
.eb-site #footer .eb-ft-acc h4 {
	margin: 0 0 4px; font-family: var(--eb-ft-font); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff;
}
.eb-site #footer .eb-ft-acc h4 { margin-top: 14px; }
.eb-site #footer .eb-ft-cols h4.eb-ft-tools { margin-top: 28px; } /* "Kostenlose Tools" under the link list */
.eb-site #footer .eb-ft-cols hr { width: 36px; max-width: 36px; margin: 8px 0 14px; border: 0; border-top: 2px solid var(--eb-ft-primary); opacity: 1; }
.eb-site #footer .eb-ft-cols p,
.eb-site #footer .eb-ft-cols div,
.eb-site #footer .eb-ft-acc p,
.eb-site #footer .eb-ft-acc div { font-size: 14px; line-height: 1.95; color: #aebdcb; }
.eb-site #footer .eb-ft-cols a,
.eb-site #footer .eb-ft-acc a { color: var(--eb-ft-light); text-decoration: none; }
.eb-site #footer .eb-ft-cols a:hover,
.eb-site #footer .eb-ft-acc a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.eb-site #footer .eb-ft-cols img[src*="Sicher-kaufen"],
.eb-site #footer .eb-ft-acc img[src*="Sicher-kaufen"] { padding: 8px; background: #fff; border-radius: 12px; }
.eb-site #footer .eb-ft-acc .accordion-title {
	padding: 14px 4px 14px 36px; font-size: 15px; font-weight: 800; color: #fff; border-top: 1px solid rgba(255, 255, 255, .1); border-bottom: 0;
}
.eb-site #footer .eb-ft-acc .accordion-item:first-child .accordion-title { border-top: 0; }
.eb-site #footer .eb-ft-acc .accordion-title.active { color: #fff; background: rgba(255, 255, 255, .04); }
.eb-site #footer .eb-ft-acc .accordion-title .toggle { color: var(--eb-ft-primary); }
.eb-site #footer .eb-ft-acc .accordion-inner { padding: 4px 4px 16px 36px; }

/* Ratings column: shop and Google as chips, same figures and wording as the homepage (owner, 29 Sep 2026). */
.eb-site #footer .eb-ft-rt { display: grid; gap: 8px; margin: 0 0 24px; line-height: 1.4; }
.eb-site #footer .eb-ft-rt .eb-ft-rt-i {
	display: grid; gap: 4px; padding: 10px 14px; border-radius: 12px; background: rgba(255, 255, 255, .06);
	font-size: 13.5px; line-height: 1.4; color: #aebdcb; text-decoration: none;
}
.eb-site #footer .eb-ft-rt .eb-ft-rt-i:hover { background: rgba(255, 255, 255, .1); color: #fff; text-decoration: none; }
.eb-site #footer .eb-ft-rt-s { font-size: 16px; line-height: 1; letter-spacing: 2px; color: #ffbc00; }
.eb-site #footer .eb-ft-rt-s .is-off { color: rgba(255, 255, 255, .22); }
.eb-site #footer .eb-ft-rt-t strong { font-weight: 800; color: #fff; }

/* ---------- Absolute footer (copyright, payment icons) ---------- */
.eb-site .absolute-footer {
	padding: 16px 0; font-family: var(--eb-ft-font); font-size: 13px; color: #8fa1b3; background-color: var(--eb-ft-darker) !important;
	border-top: 1px solid rgba(255, 255, 255, .06);
}
.eb-site .absolute-footer .container { max-width: 1180px; }
.eb-site .absolute-footer .copyright-footer { color: #8fa1b3; }
.eb-site .absolute-footer .copyright-footer strong { color: #fff; font-weight: 800; }
.eb-site .absolute-footer .payment-icons .payment-icon {
	margin: 3px; padding: 4px 6px; background: rgba(255, 255, 255, .06); border-radius: 8px; opacity: 1;
}
.eb-site .absolute-footer .payment-icons .payment-icon svg { fill: #c9d6e2; }

/* Delivery time of the order under a review (mu-plugins/eb-review-delivery.php): /bewertungen/, product pages,
   CusRev's grid on the homepage. */
body.eb-site .eb-rv-dt { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 12px; background: #e5f5ec; color: #157347; font-family: var(--eb-ft-font); font-size: 12.5px; font-weight: 800; line-height: 1.3; }
body.eb-site .eb-rv-dt svg { display: block; flex: none; }
body.eb-site .eb-rv-dt-row { display: flex; margin: 8px 0 4px; }
body.eb-site .eb-rv-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
body.eb-site .eb-rv-rr { display: inline; padding: 0; background: none; color: inherit; font: inherit; } /* reward note in the grey date line (eb-review-reward.php) */
body.eb-site .eb-rv-dt-row { flex-wrap: wrap; gap: 6px; }
/* Customer Reviews' own reward badge (homepage grid): as discreet as ours. */
body.eb-site .cr-incentivized-row { margin: 4px 0 0; }
body.eb-site .cr-incentivized-badge { display: inline; padding: 0; border: 0; background: none; color: #56687b; font-size: 12px; font-weight: 400; }
body.eb-site .cr-incentivized-badge .cr-incentivized-icon { display: none; }
/* Customer Reviews' homepage grid set its card text to "sans-serif" with a 130 % line height: site font instead. */
body.eb-site .cr-reviews-grid .cr-review-card :is(.middle-row, .cr-incentivized-row, .verified-review-row, .rating-row .rating-label, .top-row .reviewer .reviewer-verified) { font-family: var(--eb-ft-font); }
body.eb-site .cr-reviews-grid .cr-review-card .middle-row { line-height: 1.55; }
body.eb-site :is(.cr-grid-reply-middle-row, .cr-grid-reply-author-name, .cr-grid-reply-author-type) { font-family: var(--eb-ft-font); }

/* Footer sections (plan step 1.16): layout and paint skipped until they come near the screen; the block size is an
   estimate until shown once. Not #footer itself: it holds Flatsome's fixed "back to top" button. Off while the address
   has a #target and after an in-page jump (html.eb4-cv-off, set by eb-product-ui.js on product pages). */
@supports (content-visibility: auto) {
	html:not(.eb4-cv-off):not(:has(:target)) body.eb-site #footer > .eb-ft-sec { content-visibility: auto; contain-intrinsic-block-size: auto 460px; }
	html:not(.eb4-cv-off):not(:has(:target)) body.eb-site #footer > .eb-ft-acc { contain-intrinsic-block-size: auto 700px; }
	html:not(.eb4-cv-off):not(:has(:target)) body.eb-site #footer > .eb-ft-support:has(.eb-svc.is-full) { contain-intrinsic-block-size: auto 880px; }
	html:not(.eb4-cv-off):not(:has(:target)) body.eb-site #footer > .eb-ft-support:has(.eb-svc.is-compact) { contain-intrinsic-block-size: auto 305px; }
	@media (min-width: 850px) {
		html:not(.eb4-cv-off):not(:has(:target)) body.eb-site #footer > .eb-ft-support:has(.eb-svc.is-full) { contain-intrinsic-block-size: auto 405px; }
		html:not(.eb4-cv-off):not(:has(:target)) body.eb-site #footer > .eb-ft-support:has(.eb-svc.is-compact) { contain-intrinsic-block-size: auto 145px; }
		html:not(.eb4-cv-off):not(:has(:target)) body.eb-site #footer > .eb-ft-cols { contain-intrinsic-block-size: auto 640px; }
	}
}
