/*
 * V2 footer composition.
 *
 * The German reference gives the footer a quiet paper background, a branded
 * left column, and a clean link matrix to the right.  Everything is scoped to
 * .v2-footer so the legacy templates retain their existing footer geometry.
 */
.v2-footer {
	position: relative;
	clear: both;
	width: 100%;
	overflow: hidden;
	/* Reserve a clean strip above both the logo and the oversized A. Without
	   it the watermark begins at the content/footer boundary on small screens. */
	padding-top: 24px;
	background: #fbfaf7;
	color: #272421;
}

/* Match the publishing blocks' 1680px content area and external gutters.
 * The footer also has Bootstrap's .container class; scope this selector to
 * outrank the header's later legacy .container width/padding declarations.
 * Keep the footer background full bleed without changing any shared grid. */
.v2-footer .v2-footer__inner {
	position: relative;
	z-index: 1;
	width: calc(100% - 40px);
	max-width: 1680px;
	margin: 0 auto;
	padding: 96px 0 40px;
	box-sizing: border-box;
}

/* This is the same style of oversized, low-contrast shape as the German
 * footer: it deliberately extends beyond the left edge instead of becoming a
 * separate decorative card. */
.v2-footer__background-shape {
	position: absolute;
	/* Absolute top is measured from the padding edge, so zero here places the
	   SVG below the new 24px strip without doubling that spacing. */
	top: 0;
	left: -290px;
	z-index: 0;
	width: 900px;
	height: calc(100% - 24px);
	pointer-events: none;
}

.v2-footer__background-shape svg {
	display: block;
	width: 100%;
	height: auto;
	min-height: 820px;
}

.v2-footer__layout {
	position: relative;
	display: grid;
	grid-template-columns: minmax(245px, .85fr) minmax(0, 2.15fr);
	align-items: start;
	gap: 74px;
}

.v2-footer__brand {
	min-width: 0;
}

.v2-footer__logo {
	display: inline-flex;
	align-items: center;
	margin-bottom: 46px;
}

.v2-footer__logo img {
	display: block;
	width: 190px;
	height: auto;
}

.v2-footer__brand h2 {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
}

.v2-footer__contact {
	display: grid;
	gap: 8px;
	margin-bottom: 32px;
}

.v2-footer__contact a {
	width: fit-content;
	color: #272421;
	font-size: 15px;
	line-height: 1.35;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.v2-footer__contact a:hover,
.v2-footer__contact a:focus-visible {
	color: #a6612b;
}

.v2-footer__guarantee {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-bottom: 24px;
	padding: 10px 16px;
	border: 1px solid #d6cec5;
	border-radius: 9px 13px 8px 12px / 8px 10px 9px 7px;
	background: rgba(255, 255, 255, .6);
	color: #272421;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.v2-footer__guarantee:hover,
.v2-footer__guarantee:focus-visible {
	background: #fff;
	color: #272421;
	outline: 2px solid rgba(255, 179, 111, .5);
	outline-offset: 2px;
}

.v2-footer__withdraw {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 22px;
	border-radius: 13px 22px 11px 17px / 10px 14px 12px 9px;
	background: #ffb36f;
	color: #272421;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.v2-footer__withdraw:hover,
.v2-footer__withdraw:focus-visible {
	background: #ffa45d;
	color: #272421;
	outline: 2px solid rgba(233, 154, 86, .32);
	outline-offset: 2px;
}

.v2-footer__payments {
	margin-top: 56px;
}

.v2-footer__payment-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.v2-footer__payment {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 32px;
	padding: 5px 9px;
	border-radius: 6px;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
}

.v2-footer__payment--paypal {
	color: #1769aa;
}

.v2-footer__payment--klarna {
	background: #ffb9cb;
	color: #272421;
}

.v2-footer__links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: start;
	gap: 42px 38px;
	min-width: 0;
}

/* The PHP footer builder still adds Bootstrap classes for compatibility;
 * these V2 rules replace their floats with a stable link matrix. */
.v2-footer__links > .v2-footer__column {
	float: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.v2-footer__links .footer-link-titles {
	margin: 0 0 15px;
	color: #272421;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.v2-footer__links .footer-link-titles .graylink {
	font-weight: 700;
}

.v2-footer__links .footer-link-boxes {
	display: block;
	float: none !important;
	width: auto !important;
	margin: 0 0 5px;
}

.v2-footer__links .graylink,
.v2-footer__links .website-mainfont {
	color: #3a3531;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
}

.v2-footer__links a.graylink:hover,
.v2-footer__links a.graylink:focus-visible {
	color: #a6612b;
}

.v2-footer__copyright {
	position: relative;
	font-size: 13px;
	line-height: 1.55;
	text-align: left;
}

.v2-footer__copyright p {
	margin: 0;
}
/* Copyright remains on the left; legal links wrap independently on the
 * right so adding a document never compresses the six-column matrix. */
.v2-footer__bottom{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:22px 36px;margin-top:72px;padding-top:22px;border-top:1px solid rgba(39,36,33,.12)}
.v2-footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 28px;max-width:75%;font-size:13px;line-height:1.55}
.v2-footer-legal a{color:#5c5853;text-decoration:none}
.v2-footer-legal a:hover,.v2-footer-legal a:focus-visible{color:#a6612b;text-decoration:underline}

@media (max-width: 1080px) {
	.v2-footer__layout {
		grid-template-columns: minmax(220px, .75fr) minmax(0, 1.7fr);
		gap: 42px;
	}

	.v2-footer__links {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 34px 26px;
	}
}

@media (max-width: 780px) {
	.v2-footer .v2-footer__inner {
		padding: 72px 0 28px;
	}
	.v2-footer__bottom{display:block;margin-top:48px}
	.v2-footer-legal{justify-content:flex-start;max-width:none;margin-top:18px}

	.v2-footer__layout {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.v2-footer__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.v2-footer__background-shape {
		left: -430px;
		width: 820px;
	}
}

/* On narrow screens, 20px side gutters keep the logo and links clear of the
 * viewport edge while retaining a single readable footer column. */
@media (max-width: 680px) {
	.v2-footer .v2-footer__inner {
		width: calc(100% - 40px);
	}
}

@media (max-width: 460px) {
	.v2-footer__links {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.v2-footer__logo {
		margin-bottom: 34px;
	}

	.v2-footer__payments {
		margin-top: 42px;
	}
}

/* The layout document owns all six desktop slots, including intentional
 * whitespace. Empty slots disappear on smaller screens; content stays in
 * column order and never inherits Bootstrap's legacy footer floats. */
.v2-footer .v2-footer__layout--editable{display:block}
.v2-footer .v2-footer-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:32px;min-width:0}
.v2-footer .v2-footer-slot{min-width:0}
.v2-footer .v2-footer-group{min-width:0;margin:0 0 32px;font-size:14px;line-height:1.65}
.v2-footer .v2-footer-heading{margin:0 0 16px;font-weight:700;line-height:1.4}
.v2-footer .v2-footer-item{margin:0 0 9px;min-width:0;font-size:14px;line-height:1.65;font-weight:400;color:#272421}
.v2-footer :is(.v2-footer-heading,.v2-footer-item) p{margin:0 0 1em;font:inherit;color:inherit}
.v2-footer :is(.v2-footer-heading,.v2-footer-item)>:last-child,.v2-footer :is(.v2-footer-heading,.v2-footer-item) a>:last-child{margin-bottom:0}
.v2-footer .v2-footer-grid a{color:inherit;text-decoration:none}
.v2-footer .v2-footer-grid a:hover{text-decoration:underline;text-underline-offset:3px}
.v2-footer .v2-footer-grid a:focus-visible{outline:2px solid #086bd8;outline-offset:4px}
.v2-footer .v2-footer-item--text a,.v2-footer .v2-footer-item--phone a,.v2-footer .v2-footer-item--email a{text-decoration:underline;text-underline-offset:3px}
.v2-footer .v2-footer-item--heading{font-weight:700;margin-top:20px;font-size:16px}
.v2-footer .v2-footer-item--subheading{font-weight:700;margin-top:18px}
.v2-footer .v2-footer-item--image{margin-bottom:20px}
.v2-footer .v2-footer-item--image img{display:block;max-width:100%;height:auto!important;object-fit:contain}
.v2-footer .v2-footer-item--button{margin-top:18px;margin-bottom:16px}
.v2-footer .v2-footer-item--button>a{display:inline-block;padding:10px 14px;max-width:100%;box-sizing:border-box;border:1px solid #c9c2ba;border-radius:6px;font-weight:600;font-size:inherit;background:#fff;color:#272421}
.v2-footer .v2-footer-item--button.v2-footer-style-accent>a{background:#ffb36f;border-color:#ffb36f}
.v2-footer .v2-footer-style-bold{font-weight:700}
.v2-footer .v2-footer-style-muted{color:#605d59}
.v2-footer .v2-footer-grid :is(h2,h3,h4,p,li,a,span,div){overflow-wrap:normal;word-break:normal;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3;letter-spacing:0}
.v2-footer .v2-footer-grid ul,.v2-footer .v2-footer-grid ol{padding-left:1.4em;margin:0 0 1em}
.v2-footer .v2-footer-size-1{font-size:12px}.v2-footer .v2-footer-size-2{font-size:13px}.v2-footer .v2-footer-size-3{font-size:14px}.v2-footer .v2-footer-size-4{font-size:16px}.v2-footer .v2-footer-size-5{font-size:20px}.v2-footer .v2-footer-size-6{font-size:24px}.v2-footer .v2-footer-size-7{font-size:28px}
/* Inline formats use exactly the publishing editor's named vocabulary. The
 * footer-level size is a compact preset; explicitly selected rich-text sizes
 * keep their established publishing values rather than accepting free CSS. */
.v2-footer-grid .v2-copy-size-1{font-size:12px}.v2-footer-grid .v2-copy-size-2{font-size:14px}.v2-footer-grid .v2-copy-size-3{font-size:inherit}.v2-footer-grid .v2-copy-size-4{font-size:24px}.v2-footer-grid .v2-copy-size-5{font-size:38px}.v2-footer-grid .v2-copy-size-6{font-size:56px}.v2-footer-grid .v2-copy-size-7{font-size:76px}
.v2-footer-grid :is(.v2-copy-line-1,.v2-copy-leading-1){line-height:1.65!important}.v2-footer-grid :is(.v2-copy-line-2,.v2-copy-leading-2){line-height:1.8!important}.v2-footer-grid :is(.v2-copy-line-3,.v2-copy-leading-3){line-height:2!important}.v2-footer-grid :is(.v2-copy-line-4,.v2-copy-leading-4){line-height:2.25!important}.v2-footer-grid :is(.v2-copy-line-5,.v2-copy-leading-5){line-height:2.5!important}
.v2-footer-grid .v2-copy-section-start{margin-top:1.5em!important}
.v2-footer-grid .v2-copy-align-left{text-align:left!important}
.v2-footer-grid .v2-copy-align-center{text-align:center!important}
.v2-footer-grid .v2-copy-align-right{text-align:right!important}
.v2-footer-grid h3{font-size:24px;line-height:1.3;margin:1.2em 0 .6em}.v2-footer-grid h4{font-size:20px;line-height:1.35;margin:1.2em 0 .6em}
.v2-footer-grid .v2-copy-style-lead{font-size:20px!important;font-weight:500}
.v2-footer-grid blockquote{border-left:4px solid #6e8792;margin:1em 0;padding:.5em 1em;background:#f2f5f5;font-style:italic}
.v2-footer-grid .v2-copy-style-fact{padding:1em;background:#edf4f5;border:1px solid #b8cdd1;border-radius:4px}
@media(max-width:1199px){.v2-footer .v2-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.v2-footer .v2-footer-slot.is-empty{display:none}}
@media(max-width:760px){.v2-footer .v2-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.v2-footer-grid .v2-copy-size-4{font-size:22px}.v2-footer-grid .v2-copy-size-5{font-size:28px}.v2-footer-grid .v2-copy-size-6{font-size:42px}.v2-footer-grid .v2-copy-size-7{font-size:56px}}
@media(max-width:480px){.v2-footer .v2-footer-grid{grid-template-columns:minmax(0,1fr)}.v2-footer .v2-footer-item--image img{max-width:220px}}
