/*
Theme Name: Golf-Livescoring24.de
Theme URI: https://golf-livescoring24.de
Author: Golf-Livescoring24
Description: Individuelles WordPress-Theme für golf-livescoring24.de. Kopfbereich mit mehreren nebeneinander liegenden Menüs und Suche, mittig ausgerichteter Hauptinhalt sowie bis zu drei optionale Footer-Menüs. Logo, Favicon, Menüs und Farben sind vollständig über den Adminbereich (Customizer) administrierbar.
Version: 1.1.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: golf-livescoring24
*/

/* ==========================================================================
   CSS-Variablen (Default-Werte – werden vom Customizer per Inline-CSS
   überschrieben, siehe inc/customizer.php -> golf_ls24_customizer_css())
   ========================================================================== */
:root{
	--gls-primary: #229922;
	--gls-header-bg: #229922;
	--gls-header-text: #ffffff;
	--gls-footer-bg: #229922;
	--gls-footer-text: #ffffff;
	--gls-body-bg: #ffffff;
	--gls-body-text: #333333;
	--gls-link-color: #229922;
	--gls-button-bg: #229922;
	--gls-button-text: #ffffff;
	--gls-search-bg: #ffffff;
	--gls-search-text: #000000;
	--gls-content-max-width: 1140px;
}

/* ==========================================================================
   Reset / Basis
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
	margin:0;
	background:var(--gls-body-bg);
	color:var(--gls-body-text);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	font-size:16px;
	line-height:1.6;
}
img{ max-width:100%; height:auto; }
a{ color:var(--gls-link-color); text-decoration:none; }
a:hover{ text-decoration:underline; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,h5,h6{ line-height:1.25; margin:0 0 .6em; }
.screen-reader-text{
	position:absolute !important;
	width:1px; height:1px; overflow:hidden;
	clip:rect(1px,1px,1px,1px);
	white-space:nowrap;
}
.gls-container{
	max-width:var(--gls-content-max-width);
	margin:0 auto;
	padding:0 20px;
}

/* ==========================================================================
   Top-Kontaktleiste
   ========================================================================== */
.gls-topbar{
	background:rgba(0,0,0,.12);
	font-size:14px;
}
.gls-topbar .gls-container{
	display:flex; flex-wrap:wrap; gap:6px 20px;
	justify-content:flex-end;
	padding-top:6px; padding-bottom:6px;
	color:var(--gls-header-text);
}
.gls-topbar a{ color:var(--gls-header-text); }

/* ==========================================================================
   Kopfbereich
   ========================================================================== */
.gls-header{
	background:var(--gls-header-bg);
	color:var(--gls-header-text);
}
.gls-header-inner{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:16px 24px;
	padding:16px 20px;
}
.gls-branding{
	display:flex;
	align-items:center;
	gap:12px;
}
.gls-branding img.custom-logo{
	max-height:70px;
	width:auto;
	display:block;
}
.gls-branding .gls-site-title{
	font-size:24px;
	font-weight:700;
	margin:0;
}
.gls-branding .gls-site-title a{
	color:var(--gls-header-text);
}
.gls-branding .gls-site-description{
	font-size:13px;
	opacity:.85;
	margin:2px 0 0;
}

.gls-header-menus{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px 28px;
	flex:1 1 auto;
	justify-content:flex-start;
}
/* Ausrichtung des gesamten Menü-/Suchbereichs (Customizer: Kopfbereich -> Ausrichtung) */
.gls-header-menus.gls-align-left{ justify-content:flex-start; }
.gls-header-menus.gls-align-center{ justify-content:center; }
.gls-header-menus.gls-align-right{ justify-content:flex-end; }
.gls-header-menus nav{
	display:flex;
}
.gls-header-menus ul{
	display:flex;
	flex-wrap:wrap;
	gap:4px 22px;
}
.gls-header-menus li{ position:relative; }
.gls-header-menus li > a{
	display:block;
	padding:8px 2px;
	color:var(--gls-header-text);
	font-weight:600;
	white-space:nowrap;
}
.gls-header-menus li > a:hover,
.gls-header-menus li.current-menu-item > a{
	text-decoration:underline;
}
.gls-header-menus ul ul{
	position:absolute;
	top:100%; left:0;
	background:var(--gls-header-bg);
	flex-direction:column;
	min-width:200px;
	padding:6px 0;
	box-shadow:0 6px 16px rgba(0,0,0,.18);
	display:none;
	z-index:50;
}
.gls-header-menus li:hover > ul{ display:flex; }
.gls-header-menus ul ul li > a{ padding:8px 16px; }

.gls-header-search{
	/* Ausrichtung erfolgt gemeinsam mit den Menüs über .gls-header-menus (siehe Customizer: Ausrichtung) */
}
.gls-search-form{
	display:flex;
	background:var(--gls-search-bg);
	border-radius:4px;
	overflow:hidden;
}
.gls-search-form input[type="search"]{
	border:0;
	padding:8px 12px;
	font-size:14px;
	background:transparent;
	color:var(--gls-search-text);
	min-width:160px;
}
.gls-search-form input[type="search"]:focus{ outline:none; }
.gls-search-form button{
	border:0;
	background:var(--gls-button-bg);
	color:var(--gls-button-text);
	padding:0 14px;
	cursor:pointer;
	font-size:14px;
}

/* Mobiler Menü-Umschalter */
.gls-menu-toggle{
	display:none;
	background:transparent;
	border:2px solid var(--gls-header-text);
	color:var(--gls-header-text);
	padding:8px 12px;
	border-radius:4px;
	font-size:14px;
	cursor:pointer;
}

@media (max-width: 860px){
	.gls-menu-toggle{ display:inline-block; }
	.gls-header-menus{
		display:none;
		flex-direction:column;
		align-items:stretch;
		width:100%;
	}
	.gls-header-menus.is-open{ display:flex; }
	.gls-header-menus ul{ flex-direction:column; gap:0; }
	.gls-header-menus ul ul{ position:static; box-shadow:none; }
	.gls-header-search{ margin-left:0; width:100%; }
	.gls-search-form{ width:100%; }
	.gls-search-form input[type="search"]{ flex:1; }
}

/* ==========================================================================
   Hauptinhalt (mittig)
   ========================================================================== */
.gls-main{
	padding:40px 20px;
	min-height:200px;
}
.gls-main .gls-container > *:first-child{ margin-top:0; }
.gls-entry-title{ margin-bottom:.5em; }
.gls-button,
.gls-content a.button,
.wp-block-button__link{
	display:inline-block;
	background:var(--gls-button-bg);
	color:var(--gls-button-text) !important;
	padding:10px 22px;
	border-radius:4px;
	text-decoration:none !important;
	font-weight:600;
}
.gls-button:hover{ opacity:.9; }

/* ==========================================================================
   Footer
   ========================================================================== */
.gls-footer{
	background:var(--gls-footer-bg);
	color:var(--gls-footer-text);
	margin-top:40px;
}
.gls-footer a{ color:var(--gls-footer-text); }
.gls-footer-menus{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
	gap:28px;
	padding:36px 20px 20px;
}
.gls-footer-col h3{
	font-size:16px;
	text-transform:uppercase;
	letter-spacing:.03em;
	margin-bottom:14px;
	opacity:.9;
}
.gls-footer-col li{ margin-bottom:8px; }
.gls-footer-bottom{
	border-top:1px solid rgba(255,255,255,.2);
	padding:16px 20px;
	font-size:13px;
	text-align:center;
	opacity:.85;
}

/* ==========================================================================
   Formulare / Kommentare (Basis)
   ========================================================================== */
input,textarea,select{
	font-family:inherit;
	font-size:15px;
	padding:8px 10px;
	border:1px solid #ccc;
	border-radius:4px;
}
table{ border-collapse:collapse; width:100%; }
table th,table td{ border:1px solid #e0e0e0; padding:8px; text-align:left; }
