/*
	Venus & Apoll - visitor areas ("Bereichsaufteilung")

	Everything the split into the two visitor areas needs:
	  1. area switch      - pills in the top bar, round icons on mobile, pills in the menu overlay
	  2. colour world     - green (med / Naturheilpraxis) on top of the red theme default (cos / Beauty)
	  3. portal header    - page heading "type-5" with its two image halves
	  4. block type 31    - area teasers (home page)
	  5. block type 32    - area tiles (area start pages)

	Loaded after style.css and css/responsive.css, so plain overrides are enough.
	Colours: med #007333 (hover #005c29), cos #B81C38 (hover #950720).
*/

/* ============================================================
   1. Area switch
   ============================================================ */

/* Shared pill geometry - the colours come from the context below. */
.seg-tab
{
	display: inline-block;
	text-transform: uppercase;
	font-size: 11.5px;
	line-height: 1.3;
	font-weight: 600;
	letter-spacing: .1em;
	padding: 5px 13px 4px;
	border-radius: 999px;
	border: 1px solid transparent;
	text-decoration: none;
	white-space: nowrap;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}

/* --- Desktop: pills on the left of the top bar (no extra header height) --- */

.page-header .top .container
{
	position: relative;
}

.seg-tabs
{
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	gap: 6px;
	align-items: center;
	z-index: 5;
}

.seg-tabs .seg-tab
{
	color: rgba(255,255,255,.9);
	border-color: rgba(255,255,255,.55);
}

.seg-tabs .seg-tab:hover
{
	color: #fff;
	border-color: #fff;
}

.seg-tabs .seg-tab-med.is-active,
.seg-tabs .seg-tab-med.is-active:hover
{
	background: #007333;
	border-color: #007333;
	color: #fff;
}

.seg-tabs .seg-tab-cos.is-active,
.seg-tabs .seg-tab-cos.is-active:hover
{
	background: #B81C38;
	border-color: #B81C38;
	color: #fff;
}

/* Room for the pills: drop the opening hours first, then the address. */
@media (max-width: 1580px)
{
	.page-header .top .hours
	{
		display: none;
	}
}

@media (max-width: 1399px)
{
	.page-header .top .address
	{
		display: none;
	}
}

/* Below 992px the burger takes over: pills out, round icons in. */
@media (max-width: 991px)
{
	.seg-tabs
	{
		display: none;
	}
}

/* --- Mobile: round icons next to the booking button --- */

.area-switch-icons
{
	display: none;
}

@media (max-width: 991px)
{
	.area-switch-icons
	{
		display: flex;
		gap: 8px;
		align-items: center;
		margin-right: 10px;
	}
}

.area-icon
{
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	color: rgba(255,255,255,.85);
	border: 1px solid rgba(255,255,255,.55);
	text-decoration: none;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.area-icon:hover
{
	color: #fff;
	border-color: #fff;
}

.area-icon-med.is-active,
.area-icon-med.is-active:hover
{
	background: #007333;
	border-color: #007333;
	color: #fff;
}

.area-icon-cos.is-active,
.area-icon-cos.is-active:hover
{
	background: #B81C38;
	border-color: #B81C38;
	color: #fff;
}

/* --- Mobile menu overlay: the same pills on a white background --- */

#menu-overlay .area-switch-big
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 0 2.4rem;
}

#menu-overlay .area-switch-big .seg-tab
{
	font-size: 12px;
	padding: 8px 18px;
	color: #192226;
	border-color: rgba(25,34,38,.35);
}

#menu-overlay .area-switch-big .seg-tab:hover
{
	border-color: #192226;
}

#menu-overlay .area-switch-big .seg-tab-med.is-active,
#menu-overlay .area-switch-big .seg-tab-med.is-active:hover
{
	background: #007333;
	border-color: #007333;
	color: #fff;
}

#menu-overlay .area-switch-big .seg-tab-cos.is-active,
#menu-overlay .area-switch-big .seg-tab-cos.is-active:hover
{
	background: #B81C38;
	border-color: #B81C38;
	color: #fff;
}

/* Inherited area (client-side memory on neutral-by-default pages, see header.php): the switch shows
   the remembered area as active - the server rendered the pills without an active state. */
body.area-inherited.area-med .seg-tabs .seg-tab-med,
body.area-inherited.area-med .seg-tabs .seg-tab-med:hover,
body.area-inherited.area-med .area-icon-med,
body.area-inherited.area-med .area-icon-med:hover,
body.area-inherited.area-med #menu-overlay .area-switch-big .seg-tab-med,
body.area-inherited.area-med #menu-overlay .area-switch-big .seg-tab-med:hover
{
	background: #007333;
	border-color: #007333;
	color: #fff;
}

body.area-inherited.area-cos .seg-tabs .seg-tab-cos,
body.area-inherited.area-cos .seg-tabs .seg-tab-cos:hover,
body.area-inherited.area-cos .area-icon-cos,
body.area-inherited.area-cos .area-icon-cos:hover,
body.area-inherited.area-cos #menu-overlay .area-switch-big .seg-tab-cos,
body.area-inherited.area-cos #menu-overlay .area-switch-big .seg-tab-cos:hover
{
	background: #B81C38;
	border-color: #B81C38;
	color: #fff;
}

/* ============================================================
   2. Colour world
   The cos area keeps the red theme default, med turns green.
   ============================================================ */

body.area-med .page-header .booking
{
	background: #007333;
}

body.area-med .page-header .booking:hover
{
	background: #005c29;
}

body.area-med #menu-top > li ul,
body.area-med #menu-top > li ul > li > ul
{
	background: #007333;
}

/* Colour world of the content: buttons, list ticks and the Bookly booking form follow the
   area (customer wish 19.08.2026: green elements in the Naturheilpraxis area, red in Beauty).
   Bookly 27 colours its form via CSS custom properties set on :root (#147210 by default);
   a value on <body> wins for everything inside, including the #bookly-popup modal. */
body.area-med
{
	--bookly-main-color: #007333 !important;
	--bookly-color: #007333 !important;
}

body.area-cos
{
	--bookly-main-color: #B81C38 !important;
	--bookly-color: #B81C38 !important;
}

body.area-med .page-content a.button-big,
body.area-med .button.red
{
	background: #007333 !important;
	color: #fff !important;
}

body.area-med .page-content a.button-big:hover,
body.area-med .button.red:hover
{
	background: #005c29 !important;
	color: #fff !important;
}

body.area-med ul li:before,
body.area-med .block-type-20 ul li:before
{
	background-image: url(../images/tick-green.svg);
}

/* Portal start page: the whole site header (topbar with pills/hours/address/languages, logo row,
   booking button, burger) is hidden - the start page opens with the portal alone, exactly like the
   approved prototype. Navigation there = the two portal halves, the teaser cards and their linked
   items; every other page keeps the header. */
body.has-portal .page-header
{
	display: none !important;
}

/* ============================================================
   3. Portal header (page heading type-5)
   ============================================================ */

.page-heading.type-5
{
	position: relative;
	display: flex;
	height: 100vh;
	height: 100svh; /* mobile browsers: small viewport, keeps the lower label above the toolbar on first paint */
	margin-bottom: 0;
	overflow: hidden;
}

body.admin-bar .page-heading.type-5
{
	height: calc(100vh - 32px);
}

@media (max-width: 782px)
{
	body.admin-bar .page-heading.type-5
	{
		height: calc(100vh - 46px);
	}
}

.page-heading.type-5 .portal-half
{
	flex: 1;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	text-decoration: none;
	color: #fff;
}

.page-heading.type-5 .bg
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	transform: scale(1.02);
	transition: transform .6s ease;
}

/* The theme darkens .page-heading .bg with two overlays - the portal has its own tints. */
.page-heading.type-5 .bg:before,
.page-heading.type-5 .bg:after
{
	content: none;
	display: none;
}

.page-heading.type-5 .portal-half:hover .bg
{
	transform: scale(1.07);
}

.page-heading.type-5 .tint
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.page-heading.type-5 .portal-half.tint-green .tint
{
	background: linear-gradient(200deg, rgba(0,63,29,.28) 0%, rgba(0,63,29,.78) 100%);
}

.page-heading.type-5 .portal-half.tint-red .tint
{
	background: linear-gradient(160deg, rgba(90,10,26,.28) 0%, rgba(90,10,26,.78) 100%);
}

.page-heading.type-5 .label
{
	position: relative;
	z-index: 2;
	padding: 0 56px 90px;
	color: #fff;
}

.page-heading.type-5 .eyebrow
{
	text-transform: uppercase;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: .28em;
	opacity: .9;
	margin-bottom: 14px;
}

.page-heading.type-5 .label h2
{
	font-family: "Lora", serif;
	font-weight: 400;
	font-size: 52px;
	line-height: 1.1;
	margin: 0 0 16px;
	color: #fff;
}

@media (max-width: 1499px)
{
	.page-heading.type-5 .label h2
	{
		font-size: 44px;
	}
}

.page-heading.type-5 .label p
{
	font-weight: 300;
	font-size: 17px;
	max-width: 420px;
	opacity: .92;
	margin: 0 0 26px;
}

.page-heading.type-5 .enter
{
	display: inline-block;
	border: 1px solid rgba(255,255,255,.85);
	color: #fff;
	text-transform: uppercase;
	font-size: 14px;
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: .08em;
	padding: 13px 30px;
	transition: background .3s ease, color .3s ease;
}

.page-heading.type-5 .portal-half.tint-green:hover .enter
{
	background: #fff;
	color: #007333;
}

.page-heading.type-5 .portal-half.tint-red:hover .enter
{
	background: #fff;
	color: #B81C38;
}

/* Second half is mirrored on desktop. */
.page-heading.type-5 .portal-half-2
{
	justify-content: flex-end;
}

.page-heading.type-5 .portal-half-1 .label
{
	padding-right: 130px;
}

.page-heading.type-5 .portal-half-2 .label
{
	text-align: right;
	padding-left: 130px;
}

.page-heading.type-5 .portal-half-2 .label p
{
	margin-left: auto;
	margin-right: 0;
}

.page-heading.type-5 .divider
{
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 1px;
	background: rgba(255,255,255,.35);
	z-index: 5;
}

/* Logo medallion vertically centred on the seam (customer wish: "Logo mittig"); the labels keep
   130px clear of the seam so headings never run under it. */
.page-heading.type-5 .center-logo
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	width: 168px;
	height: 168px;
	border-radius: 50%;
	display: block;
	perspective: 900px;
	text-decoration: none;
	color: #fff;
}

.page-heading.type-5 .center-logo:hover,
.page-heading.type-5 .center-logo:focus
{
	text-decoration: none;
	color: #fff;
}

/* Two faces on a card that flips around the vertical axis on hover/focus; the back says "Termin buchen",
   the click opens the Bookly popup (booking shortcut for regulars). Touch devices: the tap opens it directly. */
.page-heading.type-5 .medallion-inner
{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform .7s cubic-bezier(.4, .2, .2, 1);
}

.page-heading.type-5 .center-logo:hover .medallion-inner,
.page-heading.type-5 .center-logo:focus-visible .medallion-inner
{
	transform: rotateY(180deg);
}

.page-heading.type-5 .medallion-face
{
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: rgba(12,14,16,.88);
	border: 1px solid rgba(255,255,255,.25);
	box-shadow: 0 10px 40px rgba(0,0,0,.45);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.page-heading.type-5 .medallion-back
{
	transform: rotateY(180deg);
	background: rgba(12,14,16,.94);
	gap: 10px;
}

.page-heading.type-5 .medallion-back i
{
	font-size: 20px;
	line-height: 1;
	opacity: .9;
}

.page-heading.type-5 .medallion-back-text
{
	display: block;
	max-width: 110px;
	font-family: "DM Sans", sans-serif;
	font-size: 12px;
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	text-align: center;
	color: #fff;
}

/* The shift compensates the empty padding at the top of the logo SVG. */
.page-heading.type-5 .center-logo img
{
	width: 116px;
	transform: translate(-7px, -6px);
}

@media (prefers-reduced-motion: reduce)
{
	.page-heading.type-5 .medallion-inner
	{
		transition: none;
	}
}

.page-heading.type-5 .scroll-hint
{
	position: absolute;
	bottom: 26px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	color: rgba(255,255,255,.85);
	font-size: 12.5px;
	font-weight: 400;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-align: center;
}

.page-heading.type-5 .scroll-hint .chev
{
	display: block;
	font-size: 18px;
	margin-top: 6px;
	animation: venus-hintbob 2s ease-in-out infinite;
}

@keyframes venus-hintbob
{
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(6px); }
}

@media (prefers-reduced-motion: reduce)
{
	.page-heading.type-5 .scroll-hint .chev
	{
		animation: none;
	}

	.page-heading.type-5 .bg,
	.page-heading.type-5 .portal-half:hover .bg
	{
		transition: none;
		transform: none;
	}
}

/* Portal on small screens: the halves stack; label 1 left, label 2 right (prototype). */
@media (max-width: 820px)
{
	.page-heading.type-5
	{
		flex-direction: column;
		height: 100vh;
		height: 100svh;
	}

	.page-heading.type-5 .portal-half
	{
		flex: 1;
		min-height: 0;
	}

	.page-heading.type-5 .portal-half-1 .label
	{
		padding: 0 28px 88px;
	}

	/* Second half stays right-aligned on the seam - as in the approved prototype. */
	.page-heading.type-5 .portal-half-2 .label
	{
		padding: 0 28px 44px;
	}

	.page-heading.type-5 .label h2
	{
		font-size: 30px;
	}

	.page-heading.type-5 .label p
	{
		display: none;
	}

	.page-heading.type-5 .divider,
	.page-heading.type-5 .scroll-hint
	{
		display: none;
	}

	.page-heading.type-5 .center-logo
	{
		top: 50%;
		transform: translate(-50%, -50%);
		width: 112px;
		height: 112px;
	}

	.page-heading.type-5 .center-logo img
	{
		width: 76px;
		transform: translate(-4.5px, -4px);
	}

	.page-heading.type-5 .medallion-back i
	{
		font-size: 16px;
	}

	.page-heading.type-5 .medallion-back-text
	{
		max-width: 80px;
		font-size: 10px;
		letter-spacing: .16em;
	}
}

/* Language switch on the portal (the site header is hidden there): small DE | EN pills, top right,
   semi-transparent on the photo; the current language is filled. */
.page-heading.type-5 .portal-lang
{
	position: absolute;
	top: 22px;
	right: 26px;
	z-index: 12;
	display: flex;
	gap: 6px;
	padding: 4px;
	border-radius: 999px;
	background: rgba(12,14,16,.38);
	border: 1px solid rgba(255,255,255,.35);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.page-heading.type-5 .portal-lang-item
{
	display: inline-block;
	min-width: 40px;
	padding: 6px 12px;
	border-radius: 999px;
	font-family: "DM Sans", sans-serif;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: .16em;
	text-align: center;
	text-decoration: none;
	color: rgba(255,255,255,.85);
	transition: background .25s ease, color .25s ease;
}

.page-heading.type-5 .portal-lang-item:hover,
.page-heading.type-5 .portal-lang-item:focus
{
	color: #fff;
	text-decoration: none;
	background: rgba(255,255,255,.16);
}

.page-heading.type-5 .portal-lang-item.is-current
{
	background: #fff;
	color: #0c0e10;
}

@media (max-width: 820px)
{
	.page-heading.type-5 .portal-lang
	{
		top: 14px;
		right: 14px;
		padding: 3px;
	}

	.page-heading.type-5 .portal-lang-item
	{
		min-width: 36px;
		padding: 5px 10px;
		font-size: 11px;
	}
}

/* ============================================================
   4./5. Shared: the theme hides .to-animate (opacity:0) until a block
   specific script reveals it - blocks 31/32 have none. Force them visible
   with a short fade-in; as the first row (block-count-1) no animation at
   all, so nothing moves under the portal.
   ============================================================ */

.block-type-31 .to-animate,
.block-type-32 .to-animate
{
	opacity: 1;
	animation: venus-area-fade-in .9s ease both;
}

.block-type-31.block-count-1 .to-animate,
.block-type-32.block-count-1 .to-animate
{
	animation: none;
}

@keyframes venus-area-fade-in
{
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce)
{
	.block-type-31 .to-animate,
	.block-type-32 .to-animate
	{
		animation: none;
	}
}

/* ============================================================
   4. Block type 31 - area teasers (home page)
   ============================================================ */

.block-type-31 .area-intro
{
	max-width: 900px;
	margin: 0 auto 40px;
	padding-top: 80px; /* the portal above has no bottom margin (prototype: 80px) */
	text-align: center;
}

.block-type-31 .area-intro h1,
.block-type-31 .area-intro h2,
.block-type-31 .area-intro h3
{
	font-family: "Lora", serif;
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 18px;
}

.block-type-31 .area-intro h1
{
	font-size: 40px;
}

.block-type-31 .area-intro h2
{
	font-size: 36px;
}

.block-type-31 .area-intro h3
{
	font-size: 30px;
}

.block-type-31 .area-intro .text p
{
	font-weight: 300;
	font-size: 18px;
	color: #33373b;
	margin: 0 0 18px;
}

.block-type-31 .area-intro .text *:last-child
{
	margin-bottom: 0;
}

.block-type-31 .area-teasers
{
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
}

@media (min-width: 992px)
{
	.block-type-31 .area-teasers
	{
		grid-template-columns: 1fr 1fr;
	}
}

.area-teaser
{
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	min-height: 340px;
	color: #fff;
	text-decoration: none;
}

@media (min-width: 992px)
{
	.area-teaser
	{
		min-height: 440px;
	}
}

.area-teaser .bg
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform .5s ease;
}

.area-teaser:hover .bg
{
	transform: scale(1.05);
}

.area-teaser .tint
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.area-teaser.tint-green .tint
{
	background: linear-gradient(185deg, rgba(12,14,16,.05) 25%, rgba(0,51,24,.74) 100%);
}

.area-teaser.tint-red .tint
{
	background: linear-gradient(185deg, rgba(12,14,16,.05) 25%, rgba(74,10,23,.74) 100%);
}

.area-teaser .inner
{
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 34px 40px;
}

.area-teaser .eyebrow
{
	text-transform: uppercase;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 600;
	letter-spacing: .2em;
	opacity: .85;
	color: #fff;
	margin-bottom: 8px;
}

.area-teaser h3
{
	font-family: "Lora", serif;
	font-weight: 400;
	font-size: 29px;
	line-height: 1.25;
	margin: 0 0 14px;
	color: #fff;
}

/* The theme decorates every content list with a tick graphic - not here. */
.area-teaser ul
{
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	font-weight: 300;
}

.area-teaser ul li
{
	padding: 5px 0;
	margin: 0;
	border-bottom: 1px solid rgba(255,255,255,.3);
	list-style: none;
	background: none;
	color: #fff;
}

.area-teaser ul li:before,
.area-teaser ul li:after
{
	content: none;
	display: none;
}

.area-teaser .more
{
	display: inline-block;
	border: 1px solid rgba(255,255,255,.85);
	padding: 11px 24px;
	text-transform: uppercase;
	font-size: 13px;
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: .08em;
	color: #fff;
	transition: background .3s ease, color .3s ease;
}

.area-teaser.tint-green:hover .more
{
	background: #fff;
	color: #007333;
}

.area-teaser.tint-red:hover .more
{
	background: #fff;
	color: #B81C38;
}

/* The card is a <div>; a.more stretches its click area over the whole card (::after), item
   links sit above it. No underlines anywhere on the card (the theme underlines a:hover). */
.area-teaser a,
.area-teaser a:hover,
.area-teaser a:focus,
.area-teaser:hover a,
.area-teaser:hover .inner *
{
	text-decoration: none;
}

.area-teaser a.card-link
{
	position: absolute;
	inset: 0;
	z-index: 1;
}

.area-teaser .inner
{
	z-index: 2;
}

.area-teaser ul li a.item-link,
.area-teaser a.more
{
	position: relative;
	z-index: 3;
}

.area-teaser ul li a.item-link
{
	color: #fff;
	display: inline-block;
	transition: transform .25s ease, opacity .25s ease;
}

.area-teaser ul li a.item-link:hover,
.area-teaser ul li a.item-link:focus
{
	color: #fff;
	transform: translateX(4px);
	opacity: .85;
}

/* ============================================================
   5. Block type 32 - area tiles (area start pages)
   ============================================================ */

.block-type-32 .area-tiles-head
{
	margin: 0 0 36px;
}

.block-type-32 .area-tiles-head h1,
.block-type-32 .area-tiles-head h2,
.block-type-32 .area-tiles-head h3
{
	font-family: "Lora", serif;
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 10px;
}

.block-type-32 .area-tiles-head h1
{
	font-size: 40px;
}

.block-type-32 .area-tiles-head h2
{
	font-size: 34px;
}

.block-type-32 .area-tiles-head h3
{
	font-size: 28px;
}

/* .lead is also a Bootstrap class (plugins.css: font-size 1.25rem = 12.5px here) - set the size explicitly. */
.block-type-32 .area-tiles-head .lead
{
	max-width: 720px;
	font-size: 18px;
	font-weight: 300;
}

.block-type-32 .area-tiles-head .lead p
{
	font-size: inherit;
	font-weight: 300;
	color: #33373b;
	margin: 0 0 10px;
}

.block-type-32 .area-tiles-head .lead *:last-child
{
	margin-bottom: 0;
}

.area-tiles
{
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
}

@media (min-width: 768px)
{
	.area-tiles
	{
		grid-template-columns: repeat(2, 1fr);
	}

	.area-tiles.cols-1
	{
		grid-template-columns: 1fr;
	}
}

@media (min-width: 992px)
{
	.area-tiles.cols-3,
	.area-tiles.cols-5,
	.area-tiles.cols-6
	{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1200px)
{
	.area-tiles.cols-4
	{
		grid-template-columns: repeat(4, 1fr);
	}
}

.area-tile
{
	position: relative;
	display: block;
	height: 220px;
	overflow: hidden;
	text-decoration: none;
}

@media (min-width: 768px)
{
	.area-tile
	{
		height: 320px;
	}
}

.area-tile .bg
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform .5s ease;
}

.area-tile:hover .bg
{
	transform: scale(1.06);
}

.area-tile .tint
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(12,14,16,.08) 30%, rgba(12,14,16,.68) 100%);
}

.area-tile span
{
	position: absolute;
	left: 26px;
	right: 20px;
	bottom: 22px;
	z-index: 2;
	color: #fff;
	font-family: "Lora", serif;
	font-size: 25px;
	line-height: 1.2;
}

@media (prefers-reduced-motion: reduce)
{
	.area-teaser .bg,
	.area-teaser:hover .bg,
	.area-tile .bg,
	.area-tile:hover .bg
	{
		transition: none;
		transform: none;
	}
}

/* ============================================================
   6. Theme fix (found during the area rollout, 19.08.2026)
   style.css sets `.page-content a { color: #198754 }`, which also
   recolours the text of the red .button-big (block_type_19) to
   green. Restore the white label on every page.
   ============================================================ */

.page-content a.button-big,
.page-content a.button-big:hover,
.page-content a.button-big:focus
{
	color: #fff;
}
