/*
Theme Name: GruppenTisch Kundenpages
Theme URI: https://gruppentisch.de
Author: GruppenTisch
Description: Weißlabel-Theme für Restaurant-Subdomains. Alle Farben und Inhalte werden per Customizer pro Restaurant konfiguriert.
Version: 1.0
Text Domain: gt
*/
@charset "UTF-8";

/* VARIABLES — werden per wp_add_inline_style nach diesem Sheet ausgegeben */

:root {
	--white: #ffffff;
	--black: #000000;
}


/* ############################################ */

/* Mobile First */
body {
font-family: 'Stack Sans Text', sans-serif;
font-weight: 400;
background: #ffffff;
color: var(--gt-accent);
}

/* Inhaltsbereich: Markenfarbe bei 10% Deckkraft */
#content {
background: rgba(var(--gt-brand-rgb), 0.10);
color: #1a1a18;
}

/* Top-Bar mit GruppenTisch-Branding — Farbe fest, nicht anpassbar */
#gt-topbar {
position: sticky;
top: 0;
z-index: 2001;
background: #004D39;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
}
#gt-topbar a {
display: flex;
align-items: center;
line-height: 0;
}
#gt-topbar img {
height: 16px;
width: auto;
}

#header {
background: var(--gt-brand);
border-bottom: 1px solid rgba(0,0,0,0.08);
transition: background ease .3s;
}

.site-header__logo,
.site-footer__brand > a {
display: block;
line-height: 0;
}

.site-logo {
height: 22px;
width: auto;
display: block;
color: var(--white);
}

.site-header__inner {
max-width: var(--wp--style--global--wide-size, 1296px);
margin: 0 auto;
padding: 1rem 1.5rem;
display: flex;
align-items: center;
justify-content: center;
}

.site-header__logo .site-logo,
.site-header__logo img.site-logo {
width: 80px;
height: auto;
display: block;
}

@media screen and (min-width: 768px) {
	.site-header__logo .site-logo,
	.site-header__logo img.site-logo {
		width: 100px;
	}
}
@media screen and (min-width: 1200px) {
	.site-header__logo .site-logo,
	.site-header__logo img.site-logo {
		width: 130px;
	}
}

.site-header__toggler {
display: none;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 4px;
width: 32px;
height: 32px;
padding: 0;
background: none;
border: 0;
cursor: pointer;
}
.site-header__toggler span {
width: 20px;
height: 2px;
background: var(--white);
border-radius: 2px;
}

.site-header__panel {
display: contents;
}

.site-nav {
display: flex;
gap: 38px;
align-items: center;
}
.site-nav a {
font-weight: 500;
font-size: clamp(.85rem, calc(0.75rem + .2vw), .9rem);
color: var(--gt-accent);
transition: color ease .2s;
}
.site-nav a:hover {
color: rgba(var(--gt-accent-rgb), 0.9);
}

.site-header__actions {
display: flex;
gap: 12px;
align-items: center;
}

.btn-pill {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 9px;
height: 44px;
padding: 0 20px;
border-radius: 999px;
font-weight: 600;
font-size: 15px;
white-space: nowrap;
transition: all ease .2s;
}
.btn-pill--outline {
color: var(--white);
border: 1px solid rgba(255,255,255,0.16);
}
.btn-pill--outline:hover {
color: var(--white);
border-color: rgba(255,255,255,0.32);
}
.btn-pill--lime {
background: var(--lime);
color: var(--forest);
}
.btn-pill--lime:hover {
background: #45DE58;
color: var(--forest);
}

@media screen and (max-width: 991px) {
	.site-header__toggler {
		display: flex;
	}
	.site-header__panel {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding: 24px 1.5rem 28px;
		background: var(--gt-brand);
		border-bottom: 1px solid rgba(255,255,255,0.08);
	}
	.site-header__panel.is-open {
		display: flex;
	}
	.site-nav {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
		width: 100%;
	}
	.site-header__actions {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}
	.site-header__actions .btn-pill {
		width: 100%;
	}
}

/*  Footer  */
#footer {
background: var(--gt-brand);
border-top: 2px solid var(--gt-accent);
}

.site-footer__inner {
max-width: var(--wp--style--global--wide-size, 1296px);
margin: 0 auto;
padding: 4.5rem 1.5rem 2.5rem;
}

.site-footer__top {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: 2.5rem;
padding-bottom: 2.75rem;
border-bottom: 1px solid rgba(255,255,255,0.08);
}

.site-footer__brand {
max-width: 300px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.site-footer__brand .site-logo,
.site-footer__brand img.site-logo {
margin-bottom: 1.1rem;
width: 40px;
height: auto;
}

@media screen and (min-width: 768px) {
	.site-footer__brand .site-logo,
	.site-footer__brand img.site-logo {
		width: 50px;
	}
}
@media screen and (min-width: 1200px) {
	.site-footer__brand .site-logo,
	.site-footer__brand img.site-logo {
		width: 65px;
	}
}
.site-footer__brand p {
margin: 0;
font-size: 14px;
line-height: 1.55;
color: var(--gt-accent);
opacity: 0.7;
}

.site-footer__columns {
display: flex;
gap: 4rem;
flex-wrap: wrap;
}
.site-footer__column h4 {
margin: 0 0 1rem;
font-weight: 600;
font-size: 13px;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--gt-accent);
opacity: 0.6;
}
.site-footer__column a {
display: block;
font-size: 15px;
color: var(--gt-accent);
margin-bottom: 11px;
transition: color ease .2s;
}
.site-footer__column a:hover {
color: rgba(var(--gt-accent-rgb), 0.9);
}

.gt-footer-text {
font-size: 15px;
color: var(--gt-accent);
opacity: 0.8;
display: block;
margin-bottom: 11px;
}

.gt-footer-btn {
display: inline-flex;
align-items: center;
margin-top: 1.25rem;
padding: 11px 28px;
border: 1.5px solid var(--gt-accent);
border-radius: 999px;
font-size: 14px;
font-weight: 400;
color: var(--gt-accent);
background: transparent;
transition: opacity ease .2s;
text-decoration: none;
}
.gt-footer-btn:hover {
color: rgba(var(--gt-accent-rgb), 0.9);
border-color: rgba(var(--gt-accent-rgb), 0.9);
}

.site-footer__bottom {
padding-top: 1.75rem;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: 12px;
font-size: 13px;
color: var(--gt-accent);
opacity: 0.6;
}
.site-footer__bottom .footer-legal {
list-style: none;
margin: 0;
padding: 0;
display: flex;
}
.site-footer__bottom .footer-legal a {
color: var(--gt-accent);
transition: color ease .2s;
}
.site-footer__bottom .footer-legal a:hover {
color: rgba(var(--gt-accent-rgb), 0.9);
}
.site-footer__bottom .footer-legal li:not(:last-child) a::after {
content: " ·";
margin-right: .5rem;
}
.site-footer__ka {
margin-top: 1.5rem;
padding-top: 1.25rem;
border-top: 1px solid rgba(255,255,255,0.15);
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
font-size: 12px;
color: var(--gt-accent);
opacity: 0.45;
}
.site-footer__ka img,
.site-footer__bottom img {
height: 18px;
width: auto;
filter: brightness(0) invert(1);
opacity: 0.55;
}
.cover-top {
	height: 65vh;
}
.cover-bottom {
	height: 49vh;
	}



/* Typo */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	/*font-weight: 600;*/
}

.has-h-1-font-size,
.has-h-2-font-size,
.has-h-3-font-size,
.has-h-4-font-size {
	line-height: 1.2;
	/*font-weight: 600;*/
}

h1, .h1, .has-h-1-font-size {
	/*font-weight: 700;*/
	font-size: clamp(1.75rem, calc(1.375rem + 1.5vw), 2.95rem)!important
}
.h2, .has-h-2-font-size {
	font-size: clamp(1.5rem, calc(1.325rem + .9vw), 2.2rem)!important
}
.h3, .has-h-3-font-size {
	font-size: clamp(1.3rem, calc(1.3rem + .6vw), 1.8rem)!important
}
.h4, .has-h-4-font-size {
	font-size: clamp(1.15rem, calc(1.15rem + .6vw), 1.4rem)!important
}
.has-small-font-size {
	font-weight: 200!important;
}


/* Links */
a {
	color: inherit;
	text-decoration: none;
}
#main a:not([class]) {
	text-decoration: underline;
	text-underline-offset: 5px;
}	
a:hover {
	color: rgba(var(--gt-accent-rgb), 0.9);
}
/* Blocks */
.entry-content > .wp-block-cover:first-child + .wp-block-group {
	margin-top: 0;
}
.wp-block-cover, .wp-block-cover__inner-container {
}
.wp-block-cover + .wp-block-group.alignfull {
	margin-top: 0;
}
.entry-content > .wp-block-group:last-of-type:not(.alignfull) {
	margin-bottom: 4rem;
}
.wp-block-media-text.has-media-on-the-right:not(.has-background) .wp-block-media-text__content {
	padding-left: 0;
}
.wp-block-media-text.has-background .wp-block-media-text__content {
	padding: 1rem;
}
.wp-block-column.has-background {
	padding: 1.5rem
}
.wp-block-columns .wp-block-column.has-white-background-color {
	padding-left: 0;
}
.entry-content > .wp-block-group.alignwide:not(.has-background) {
	padding-left: 0;
	padding-right: 0
}
.entry-content > .wp-block-group.has-background:not(.alignfull),
.entry-content > .wp-block-group > .wp-block-group.has-background:not(.alignfull) {
}

.wp-block-group.alignfull + .wp-block-group.alignfull {
	margin-top: 0;
}

.wp-block-group.alignfull:not(.has-background) + .wp-block-group.alignfull:not(.has-background) {
	padding-top: 0;
}

:where(body .is-layout-flow) > form {
	margin-top: 0;
}

.wp-block-media-text__media {
}
/* List */
.wp-block-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.wp-block-list li {
	position: relative;
	padding-left: 1.5rem;
}

.wp-block-list li::before {
	content: "-";
	position: absolute;
	left: 0;
	top: 0;
}

/*   Contact-list   */
.contact-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.contact-list li {
	position: relative;
	padding-left: 1.5rem;
}

.contact-list li::before {
	content: "→"; /* HTML-Pfeil */
	position: absolute;
	left: 0;
	top: 0;
}


/* Akkordeon */
.wp-block-accordion {
	margin-top: 0!important;
}
.wp-block-accordion-heading__toggle {
	transition: all ease .3s;
}
.wp-block-accordion-heading__toggle :hover {
	text-decoration: none !important;
	color: var(--greenhover)!important;
}
.wp-block-accordion-heading__toggle-title {
	text-decoration: none !important;
	transition: all ease .3s;
	padding-top: 5px;
}
.wp-block-accordion-item {
  border-top: 1px solid #D9E2DD;
}
.wp-block-accordion-heading__toggle-icon {
	color: #ffffff !important;
}


/* Utilities */
.hyphens {
	hyphens: auto
}

.small, small {
	font-size: .85rem;
}

#btn-to-top {
	width: 50px;
	height: 50px;
	font-size: 25px;
	line-height: 50px;
	padding: 0;
	position: fixed;
	z-index: 2000;
	bottom: 1.5rem;
	right: 1.5rem;
	display: none;
}
/* Transitions */
a,
.wp-block-button__link {
	transition: all ease .3s;
}


.scroll-reveal {
  opacity: 1;
  transform: none;
}





/* Fade In Lazeloaded Content */
img[data-src] {
	opacity: 0;
}
img.lazyloaded {
	-webkit-transition: opacity .2s linear 0.15s;
	-moz-transition: opacity .2s linear 0.15s;
	transition: opacity .2s linear 0.15s;
	opacity: 1;
}




/* XS */
@media screen and (max-width: 575px) {
	
	.wp-block-group {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}	
	.wp-block-media-text .wp-block-media-text__content {
		padding: 1rem 0
	}

	.pattern {
		min-height: 40vh!important;
	}

}


/* SM+ */
@media screen and (min-width: 576px) {

	h1, .h1, .has-h-1-font-size {
	/*font-weight: 700;*/
	font-size: clamp(2.75rem, calc(1.375rem + 1.5vw), 2.95rem)!important
	}
	.cover-top {
	height: 65vh;
	}
	.cover-bottom {
	height: 65vh;
	}
}

/* XL+ */
@media screen and (min-width: 1200px) {

	/* General Alignment */
	body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
	.wp-block-cover__inner-container > :where(:not(.alignleft):not(.alignright):not(.alignfull))  {
		max-width: var(--wp--style--global--content-size);
		margin-left: auto !important;
		margin-right: auto !important;
	}
	body .is-layout-constrained > .alignwide,
	.wp-block-cover__inner-container > .alignwide {
		max-width: var(--wp--style--global--wide-size);
		margin-left: auto !important;
		margin-right: auto !important;
	}

}


/* XXL+ */
@media screen and (min-width: 1400px) {	

	.wp-block-group > .wp-block-columns.is-layout-flex {
		gap: 2.5rem;
	}

}

/* XXL++ */
@media screen and (min-width: 1600px) {	

	:root :where(.wp-block-group) {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}

}
