/* ==========================================================================
   Custom Site Styles — loaded on every page (frontend)
   ========================================================================== */

/* Prevent horizontal overflow */
html,
body {
	overflow-x: hidden;
}

/* --- Header shadow --- */
header.wp-block-template-part {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	position: relative;
	z-index: 10;
}

/* --- Remove gap between header and next block --- */
header.wp-block-template-part + .wp-block-cover,
header.wp-block-template-part + .wp-block-group {
	margin-block-start: 0;
}

/* --- Contact icons in header --- */
header .bi {
	margin-right: 6px;
	color: var(--wp--preset--color--accent-1);
}

/* --- Remove parallax overlay --- */
.wp-block-cover.has-parallax > .wp-block-cover__background {
	opacity: 0 !important;
}

/* --- Submenu width --- */
.wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 300px !important;
	max-width: 420px !important;
}

/* --- Navigation menu icons --- */
.nav-icon-start .wp-block-navigation-item__content::before      { content: "\F425"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-team .wp-block-navigation-item__content::before       { content: "\F4D0"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-law .wp-block-navigation-item__content::before        { content: "\F472"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-medical .wp-block-navigation-item__content::before    { content: "\F774"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-insolvency .wp-block-navigation-item__content::before { content: "\F111"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-bau .wp-block-navigation-item__content::before        { content: "\F3DE"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-travel .wp-block-navigation-item__content::before     { content: "\F134"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-contract .wp-block-navigation-item__content::before   { content: "\F329"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-civil .wp-block-navigation-item__content::before      { content: "\F4D6"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-employment .wp-block-navigation-item__content::before { content: "\F4DA"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-corporate .wp-block-navigation-item__content::before  { content: "\F1C0"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-rental .wp-block-navigation-item__content::before     { content: "\F3F7"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-contact .wp-block-navigation-item__content::before    { content: "\F32C"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-clients .wp-block-navigation-item__content::before    { content: "\F4CD"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }
.nav-icon-news .wp-block-navigation-item__content::before       { content: "\F490"; font-family: bootstrap-icons; margin-right: 6px; color: var(--wp--preset--color--accent-1); }

/* --- Rechtsgebiete Grid --- */
.rechtsgebiete-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--30);
}

.rechtsgebiete-grid.wp-block-group > .wp-block-group {
	margin-block-start: 0;
}

@media (max-width: 900px) {
	.rechtsgebiete-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.rechtsgebiete-grid {
		grid-template-columns: 1fr;
	}
}

.rechtsgebiet-card {
	position: relative;
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(231, 15, 31, 0.12);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.rechtsgebiet-card > * {
	margin-block-start: 0 !important;
}

.rechtsgebiet-card:hover {
	border-color: var(--wp--preset--color--accent-7);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transform: translateY(-4px);
}

.rechtsgebiet-card .card-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.rechtsgebiet-card .card-icon {
	font-size: 40px;
	color: var(--wp--preset--color--accent-7);
	display: inline-block;
	line-height: 1;
}

.rechtsgebiet-card .card-icon img {
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.rechtsgebiet-card .card-title {
	font-size: var(--wp--preset--font-size--medium);
	margin-bottom: var(--wp--preset--spacing--10);
}

.rechtsgebiet-card .card-title a {
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

.rechtsgebiet-card .card-text {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--accent-4);
	line-height: 1.5;
	margin: 0;
}

.justify { text-align: justify; }
