/**
* Theme Name: TownPress Child
* Theme URI: http://preview.lsvr.sk/townpress
* Description: TownPress child theme
* Author: LSVRthemes
* Author URI: http://themeforest.net/user/LSVRthemes/portfolio
* Template: townpress
* Version: 3.1.1-szl17
*/

/* =============================================================================
   SZÁRLIGET – egyedi stílusok
   Minden egyedi CSS csak ebben a fájlban van. A színek a Testreszabás /
   Színek beállításaiból jönnek CSS-változóként (functions.php írja ki):
     --szl-accent  kiemelő szín
     --szl-link    linkszín
     --szl-text    szövegszín
     --szl-gold    másodlagos (arany) szín
   Itt ne írj be konkrét színkódot, mindig a változót használd.
   ========================================================================== */

/* ---------------------------------------------------------------------------
   FEJLÉC: címer + felirat
   ------------------------------------------------------------------------- */
.header-logo { width: auto; }
.szl-brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
}
.szl-brand:hover { text-decoration: none; }
.szl-brand .header-logo__image {
	width: 74px;
	height: auto;
	filter: drop-shadow( 0 3px 6px rgba( 0, 0, 0, .35 ) );
}
.szl-brand__text { display: block; color: #fff; }
.szl-brand__name {
	display: block;
	font-size: 2.1em;
	line-height: 1;
	font-weight: 700;
	text-shadow: 0 2px 8px rgba( 0, 0, 0, .5 );
}
.szl-brand__sub {
	display: block;
	white-space: nowrap;
	margin-top: 6px;
	font-size: .88em;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-shadow: 0 1px 5px rgba( 0, 0, 0, .6 );
}

/* ---------------------------------------------------------------------------
   FEJLÉC HÁTTÉRKÉP és ELRENDEZÉS
   ------------------------------------------------------------------------- */
/* A légifotón a falu középső sávja látsszon (a látványterv szerint) */
.header-background__image {
	/* a kép kb. 29%-ától látsszon (16:9-es képnél 16vw), de mindig töltse ki a 500px magas sávot */
	background-position: center max( -16vw, calc( 500px - 56.25vw ) );
}

/* Ha a tartalomrész üres, a téma oldalsávja kicsúszna balra */
.columns__main { min-height: 1px; }
/* ---------------------------------------------------------------------------
   BAL MENÜ (TownPress Menu widget): aktív pont arany jelölővel
   ------------------------------------------------------------------------- */
.lsvr-townpress-menu-widget__item--level-0.current-menu-item > .lsvr-townpress-menu-widget__item-link,
.lsvr-townpress-menu-widget__item--level-0.current-menu-ancestor > .lsvr-townpress-menu-widget__item-link {
	box-shadow: inset 5px 0 0 var( --szl-gold );
}
#sidebar-left .lsvr-townpress-menu-widget .lsvr-townpress-menu-widget__submenu .current-menu-item > .lsvr-townpress-menu-widget__item-link {
	color: var( --szl-gold );
}


/* ---------------------------------------------------------------------------
   OLDALSÁV BLOKK-WIDGETEK (pl. Ügyfélfogadás)
   ------------------------------------------------------------------------- */
.szl-widget-title {
	margin: 0 0 10px;
	font-size: 1em;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.szl-hours { margin: 0 0 12px; }
.szl-hours table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.szl-hours td {
	padding: 5px 0;
	border: 0;
	border-bottom: 1px solid rgba( 0, 0, 0, .1 );
}
.szl-hours td:last-child { text-align: right; }
.szl-hours tr.szl-today td { font-weight: 700; color: var( --szl-accent ); }
.szl-contact { margin: 0; font-size: .92em; line-height: 1.5; }
/* ---------------------------------------------------------------------------
   TARTALMI ELEMEK (oldalakon használt blokk-osztályok)
   ------------------------------------------------------------------------- */

/* Névjegy-kártya: Csoport blokk, osztály: szl-person-card */
.szl-person-card {
	margin: 0 0 28px;
	padding: 20px 24px;
	border-left: 5px solid var( --szl-gold );
	background: rgba( 0, 0, 0, .035 );
}
.szl-person-card .szl-person-card__name { margin: 0; font-size: 1.6em; line-height: 1.2; color: var( --szl-accent ); }
.szl-person-card .szl-person-card__role { margin: 4px 0 0; font-size: 1.05em; }
/* Képes változat: Média és szöveg blokk, osztály: szl-person-card */
.wp-block-media-text.szl-person-card { padding: 0; column-gap: 0; align-items: stretch; }
.wp-block-media-text.szl-person-card .wp-block-media-text__media img { display: block; width: 100%; height: 100%; min-height: 170px; object-fit: cover; object-position: center 20%; }
.wp-block-media-text.szl-person-card .wp-block-media-text__content { padding: 20px 26px; }
@media ( max-width: 480px ) {
	.wp-block-media-text.szl-person-card { grid-template-columns: 34% 1fr !important; }
	.wp-block-media-text.szl-person-card .wp-block-media-text__content { padding: 14px 16px; }
	.szl-person-card .szl-person-card__name { font-size: 1.3em; }
}

/* Adattáblázat: Táblázat blokk, osztály: szl-data-table (1. oszlop a címke) */
.szl-data-table table { width: 100%; border-collapse: collapse; table-layout: auto; }
.szl-data-table td {
	padding: 8px 12px 8px 0;
	border: 0;
	border-bottom: 1px solid rgba( 0, 0, 0, .1 );
	vertical-align: top;
}
.szl-data-table td:first-child { width: 28%; font-weight: 700; white-space: nowrap; }

/* Munkatársi táblázat: Táblázat blokk fejlécsorral, osztály: szl-staff-table */
.szl-staff-table table { width: 100%; border-collapse: collapse; }
.szl-staff-table th {
	padding: 8px 10px 8px 0;
	border: 0;
	border-bottom: 2px solid var( --szl-accent );
	text-align: left;
	font-size: .85em;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.szl-staff-table td {
	padding: 10px 10px 10px 0;
	border: 0;
	border-bottom: 1px solid rgba( 0, 0, 0, .1 );
	vertical-align: top;
}
.szl-staff-table td:first-child { font-weight: 700; }
@media ( max-width: 767px ) {
	.szl-staff-table thead { display: none; }
	.szl-staff-table tr { display: block; padding: 10px 0; border-bottom: 1px solid rgba( 0, 0, 0, .1 ); }
	.szl-staff-table td { display: block; padding: 2px 0; border: 0; }
}

/* Megjegyzés-sor: Bekezdés blokk, osztály: szl-note */
.szl-note {
	padding: 10px 14px;
	border-left: 4px solid var( --szl-gold );
	background: rgba( 0, 0, 0, .035 );
	font-size: .95em;
}

/* A ügyfélfogadási táblázat oldalon is használható (szl-data-table + szl-hours) */
.szl-data-table.szl-hours td:last-child { text-align: left; }
/* Pályázati infoblokk (pl. Széchenyi 2020 logó): Kép blokk, osztály: szl-infoblokk */
.wp-block-image.szl-infoblokk img { width: 100%; max-width: 320px; height: auto; }

/* Beágyazott dokumentumlista (LSVR Document Attachments blokk) a tartalomban */
.c-content-box .widget.lsvr-document-attachments-widget { margin-top: 24px; }
/* Hirdetmény kifüggesztési időszaka (functions.php írja ki) */
.szl-notice-period {
	display: inline-block;
	margin: 0 0 14px;
	padding: 4px 10px;
	border-left: 4px solid var( --szl-accent );
	background: rgba( 0, 0, 0, .035 );
	font-size: .9em;
	font-weight: 600;
}
.szl-notice-period--expired { border-left-color: rgba( 0, 0, 0, .25 ); color: rgba( 0, 0, 0, .55 ); }
.szl-notice-period__status {
	margin-left: 6px;
	padding: 1px 6px;
	border-radius: 2px;
	background: rgba( 0, 0, 0, .12 );
	font-size: .85em;
	text-transform: uppercase;
	letter-spacing: .05em;
}
/* Link-lista: Lista blokk, osztály: szl-link-list */
.szl-link-list { padding-left: 0; list-style: none; }
.szl-link-list li { padding: 6px 0 6px 18px; position: relative; }
.szl-link-list li:before {
	content: "";
	position: absolute;
	left: 0;
	top: .95em;
	width: 7px;
	height: 7px;
	border-top: 2px solid var( --szl-gold );
	border-right: 2px solid var( --szl-gold );
	transform: rotate( 45deg );
}

@media ( max-width: 600px ) {
	.szl-data-table td { display: block; width: auto; padding: 2px 0; border: 0; }
	.szl-data-table td:first-child { width: auto; padding-top: 10px; }
	.szl-data-table tr { display: block; border-bottom: 1px solid rgba( 0, 0, 0, .1 ); padding-bottom: 8px; }
}
/* ---------------------------------------------------------------------------
   LÁBLÉC
   ------------------------------------------------------------------------- */
#footer .wp-block-heading {
	margin: 0 0 12px;
	color: #fff;
	font-size: 1em;
	letter-spacing: .07em;
	text-transform: uppercase;
	border-left: 4px solid var( --szl-gold );
	padding-left: 10px;
}
#footer .wp-block-list { margin: 0; padding-left: 0; list-style: none; }
#footer .wp-block-list li { margin-bottom: 6px; }
#footer a { color: var( --szl-gold ); }
/* ---------------------------------------------------------------------------
   KEZDŐLAP
   ------------------------------------------------------------------------- */
.szl-news__title {
	margin: 0 0 18px;
	font-weight: normal;
}
.szl-news .wp-block-query { margin: 0; }
.szl-news-cards .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 22px;
	margin: 0;
	padding: 0;
}
.szl-news-cards .wp-block-post {
	display: flex;
	flex-direction: column;
	margin: 0;
	border: 1px solid rgba( 0, 0, 0, .1 );
}
.szl-card-thumb.wp-block-post-featured-image {
	margin: 0;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}
.szl-card-thumb.wp-block-post-featured-image a,
.szl-card-thumb.wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.szl-fallback-tile {
	box-sizing: border-box;
	position: relative;
	display: flex !important;
	align-items: flex-end;
	padding: 14px 16px;
	background: var( --szl-accent );
	overflow: hidden;
	text-decoration: none;
}
.szl-fallback-tile::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient( 160deg, transparent, rgba( 0, 0, 0, .35 ) );
}
.szl-card-thumb .szl-fallback-tile img {
	position: absolute;
	top: -18%;
	right: -10%;
	width: 58% !important;
	height: auto !important;
	object-fit: contain;
	opacity: .22;
}
.szl-fallback-tile span {
	position: relative;
	color: #fff;
	font-size: .8em;
	font-weight: bold;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-left: 4px solid var( --szl-gold );
	padding-left: 8px;
}
.szl-card-body {
	flex: 1;
	padding: 14px 16px 16px;
}
.szl-card-body > * { margin: 0 0 6px; }
.szl-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	font-size: .875em;
	opacity: .75;
}
.szl-card-meta > * { margin: 0; }
.szl-card-body .wp-block-post-title {
	font-size: 1.2em;
	line-height: 1.25;
	text-wrap: balance;
}
.szl-card-body .wp-block-post-title { margin-bottom: 10px; }
.szl-card-body .wp-block-post-excerpt { margin: 0; }
.szl-card-body .wp-block-post-excerpt__excerpt {
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.szl-news-rows .wp-block-post-template {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}
.szl-news-rows .wp-block-post {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 14px;
	align-items: baseline;
	margin: 0;
	padding: 9px 0;
	border-top: 1px solid rgba( 0, 0, 0, .1 );
}
.szl-news-rows .wp-block-post-date {
	font-size: .875em;
	opacity: .75;
	font-variant-numeric: tabular-nums;
}
.szl-news-rows .wp-block-post-title {
	margin: 0;
	font-size: 1em;
	font-weight: bold;
}
.szl-more {
	margin: 12px 0 24px;
	font-size: .875em;
	font-weight: bold;
	text-transform: uppercase;
}
.szl-sidebar-logo { margin: 16px 0; text-align: center; }
.szl-sidebar-logo img { width: 170px; max-width: 70%; height: auto; }
.szl-home-duo { gap: 24px; margin-bottom: 0; }
.szl-home-duo > .wp-block-column > .widget { margin-bottom: 24px; }
@media ( max-width: 991px ) {
	.szl-news-cards .wp-block-post-template { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.szl-news-cards .wp-block-post:nth-child( 3 ) { display: none; }
}
@media ( max-width: 600px ) {
	.szl-news-cards .wp-block-post-template { grid-template-columns: 1fr; }
	.szl-news-cards .wp-block-post:nth-child( 3 ) { display: flex; }
	.szl-news-rows .wp-block-post { grid-template-columns: 1fr; gap: 2px; }
}
/* ---------------------------------------------------------------------------
   RESZPONZÍV
   ------------------------------------------------------------------------- */
@media ( max-width: 991px ) {
	.szl-brand .header-logo__image { width: 54px; }
	.szl-brand__name { font-size: 1.6em; }
	.szl-brand__sub { font-size: .75em; }
}

@media ( max-width: 480px ) {
	.szl-brand__sub { letter-spacing: .08em; }
}
