/*
 * Időpontfoglaló – nyilvános stílusok (nyitvatartás, térkép, feliratkozás, vélemények).
 *
 * Ez a négy komponens korábban négy külön fájl volt, de a láblécben
 * jellemzően együtt jelennek meg. Egy fájlban három HTTP-kéréssel
 * kevesebb kell, ami lassú mobilhálózaton számít.
 */


/* ==========================================================================
   Nyitvatartás – hours.css
   ========================================================================== */

.mlb-hours-wrap{--mlb-h-accent:#018989;--mlb-h-line:#e3e6e6;--mlb-h-muted:#646970;font-size:15px;line-height:1.5}
.mlb-hours{margin:0 0 18px}
.mlb-hours:last-child{margin-bottom:0}
.mlb-hours-title{margin:0 0 8px;font-size:1.05em}
.mlb-hours-today{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-weight:600}
.mlb-hours-dot{width:9px;height:9px;border-radius:50%;background:#b0b4b6;flex:0 0 auto}
.mlb-hours-open .mlb-hours-dot{background:#0b8a3d}
.mlb-hours-closed .mlb-hours-dot{background:#b32d2e}
.mlb-hours-table{width:100%;max-width:340px;border-collapse:collapse}
.mlb-hours-table th,.mlb-hours-table td{padding:5px 0;border-bottom:1px solid var(--mlb-h-line);text-align:left;font-weight:400}
.mlb-hours-table th{width:52%;color:inherit}
.mlb-hours-table td{text-align:right}
.mlb-hours-table tr:last-child th,.mlb-hours-table tr:last-child td{border-bottom:0}
.mlb-hours-row-today th,.mlb-hours-row-today td{font-weight:700}
.mlb-hours-exceptions{margin-top:12px;padding:10px 12px;border-left:3px solid var(--mlb-h-accent);background:rgba(1,137,137,.06);max-width:340px}
.mlb-hours-exc-title{margin:0 0 6px;font-weight:600;font-size:.95em}
.mlb-hours-exceptions ul{margin:0;padding-left:18px}
.mlb-hours-exceptions li{margin:2px 0}
.mlb-hours-exc-note{color:var(--mlb-h-muted)}
.mlb-hours-phone{margin:10px 0 0}
.mlb-hours-wrap-tomor{display:flex;flex-direction:column;gap:14px}
.mlb-hours-tomor{margin:0}
.mlb-hours-tomor-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;font-weight:600}
.mlb-hours-tomor-link:hover .mlb-hours-name{text-decoration:underline}
.mlb-hours-tomor .mlb-hours-state{font-weight:400;opacity:.85}
.mlb-hours-tomor .mlb-hours-state::before{content:'· '}
.mlb-hours-tomor .mlb-hours-addr,.mlb-hours-tomor .mlb-hours-phone,.mlb-hours-tomor .mlb-hours-email{display:flex;align-items:center;gap:7px;margin:4px 0 0;font-size:.95em}
.mlb-hours-ico{width:15px;height:15px;flex:0 0 auto;fill:currentColor;opacity:.75}
.mlb-hours-tomor a.mlb-hours-email{text-decoration:none;color:inherit}
.mlb-hours-tomor a.mlb-hours-email:hover{text-decoration:underline}
.mlb-hours-tomor .mlb-hours-addr{opacity:.85}
.mlb-hours-tomor a.mlb-hours-phone{text-decoration:none;color:inherit}
.mlb-hours-tomor a.mlb-hours-phone:hover{text-decoration:underline}


/* ==========================================================================
   Térkép – map.css
   ========================================================================== */

/* Időpontfoglaló – térkép külső kérés nélkül */
.mlb-map-wrap { display: grid; gap: 14px; }
.mlb-map-cimsor { margin: 0 0 4px; font-size: 18px; }

.mlb-map {
	--mlb-map-h: 220px;
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 10px;
	background: #e8eceb;
	text-decoration: none;
	color: inherit;
	line-height: 1.4;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .18);
	transition: box-shadow .2s, transform .2s;
}
.mlb-map:hover, .mlb-map:focus-visible { box-shadow: 0 3px 12px rgba(0, 0, 0, .28); transform: translateY(-1px); }
.mlb-map:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

.mlb-map-img {
	display: block;
	width: 100%;
	height: var(--mlb-map-h);
	object-fit: cover;
	border: 0;
}

/* Kép nélkül: egyszerű, semleges doboz térkép-ikonnal. */
.mlb-map-nokep { background: linear-gradient(135deg, #dfe7e6, #eef2f2); }
.mlb-map-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: var(--mlb-map-h);
}
.mlb-map-placeholder svg { width: 44px; height: 44px; fill: #8aa3a1; }

.mlb-map-info {
	display: block;
	padding: 10px 12px;
	background: rgba(255, 255, 255, .94);
	color: #1d2327;
}
.mlb-map-nev { display: block; font-size: 15px; }
.mlb-map-cim { display: block; font-size: 13px; color: #50575e; margin-top: 1px; }
.mlb-map-gomb { display: inline-block; margin-top: 6px; font-size: 13px; font-weight: 600; color: #016464; }
.mlb-map:hover .mlb-map-gomb { text-decoration: underline; }

@media (max-width: 480px) {
	.mlb-map { --mlb-map-h: 170px; }
}


/* ==========================================================================
   Hírlevél-feliratkozás – subscribe.css
   ========================================================================== */

/* Időpontfoglaló – hírlevél-feliratkozó űrlap */
.mlb-sub {
	--mlb-sub-accent: #018989;
	max-width: 520px;
	padding: 20px;
	border: 1px solid #e3e6e6;
	border-radius: 10px;
	background: #fbfcfc;
	color: #1d2327;
	line-height: 1.55;
}

.mlb-sub-cim { margin: 0 0 8px; font-size: 19px; line-height: 1.3; }
.mlb-sub-bevezeto { margin: 0 0 14px; font-size: 15px; color: #3c434a; }

.mlb-sub-form { display: grid; gap: 12px; }

.mlb-sub-mezo { display: grid; gap: 4px; font-size: 14px; }
.mlb-sub-mezo > span { color: #50575e; }
.mlb-sub-mezo input {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid #c3c4c7;
	border-radius: 6px;
	font: inherit;
	font-size: 16px; /* 16px alatt a mobil böngészők ránagyítanak a mezőre */
	background: #fff;
	color: inherit;
}
.mlb-sub-mezo input:focus-visible {
	outline: 2px solid var(--mlb-sub-accent);
	outline-offset: 1px;
	border-color: var(--mlb-sub-accent);
}

.mlb-sub-pipa {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	font-size: 14px;
	color: #3c434a;
	cursor: pointer;
}
.mlb-sub-pipa input { flex: none; width: 18px; height: 18px; margin-top: 3px; }
.mlb-sub-pipa a { color: var(--mlb-sub-accent); }

.mlb-sub-gomb {
	justify-self: start;
	padding: 11px 22px;
	border: 0;
	border-radius: 6px;
	background: var(--mlb-sub-accent);
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.mlb-sub-gomb:hover:not(:disabled) { filter: brightness(1.08); }
.mlb-sub-gomb:disabled { opacity: .6; cursor: default; }

.mlb-sub-uzenet:empty { display: none; }
.mlb-sub-uzenet {
	margin: 0 0 12px;
	padding: 10px 12px;
	border-radius: 6px;
	font-size: 14px;
}
.mlb-sub-hiba { background: #fce6e6; color: #8a1f1f; }

.mlb-sub-kesz { display: grid; gap: 6px; }
.mlb-sub-kesz p { margin: 0; font-size: 15px; color: #3c434a; }

/* Csapda-mező: nem a display:none, mert azt a botok is felismerik. */
.mlb-sub-csapda {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 480px) {
	.mlb-sub { padding: 16px; }
	.mlb-sub-gomb { justify-self: stretch; text-align: center; }
}

/* Sáv változat: lábléchez és blogbejegyzés aljára. Keret nélkül, egy sorban. */
.mlb-sub-sav {
	max-width: none;
	padding: 0;
	border: 0;
	background: none;
}
.mlb-sub-sav .mlb-sub-cim { display: block; margin-bottom: 4px; font-size: 16px; }
.mlb-sub-sav .mlb-sub-bevezeto { margin-bottom: 10px; font-size: 14px; }
.mlb-sub-sav .mlb-sub-form { gap: 8px; }

.mlb-sub-sor { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.mlb-sub-sor .mlb-sub-mezo { flex: 1 1 200px; gap: 0; }
.mlb-sub-sor .mlb-sub-gomb { flex: 0 0 auto; }

.mlb-sub-sav .mlb-sub-pipa { font-size: 13px; }
.mlb-sub-sav .mlb-sub-pipa input { width: 16px; height: 16px; margin-top: 2px; }

/* Képernyőolvasónak megmarad, szemmel nem látszik. */
.mlb-sub-rejtett {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 480px) {
	.mlb-sub-sav .mlb-sub-gomb { flex: 1 1 100%; }
}


/* ==========================================================================
   Google-vélemények – reviews.css
   ========================================================================== */

/* Időpontfoglaló – Google-vélemények szekció */
.mlb-gr {
	--mlb-gr-accent: #018989;
	box-sizing: border-box;
	padding: 44px 0;
	color: #14201f;
	line-height: 1.6;
}

.mlb-gr *, .mlb-gr *::before, .mlb-gr *::after { box-sizing: border-box; }

.mlb-gr-fej {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 28px 48px;
	margin-bottom: 26px;
}

.mlb-gr-cimke {
	display: block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--mlb-gr-accent);
}

.mlb-gr-cim {
	margin: 0 0 16px;
	font-size: 31px;
	line-height: 1.25;
}

.mlb-gr-atlag { display: flex; align-items: center; gap: 16px; }
.mlb-gr-szam { font-size: 44px; font-weight: 700; line-height: 1; }
.mlb-gr-atlag-jobb { display: flex; flex-direction: column; gap: 5px; }
.mlb-gr-alatta { font-size: 14px; color: #566; }

.mlb-gr-csillagok { display: inline-flex; gap: 3px; line-height: 0; }

.mlb-gr-gombok { display: flex; flex-wrap: wrap; gap: 12px; }

.mlb-gr-gomb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 24px;
	border: 1px solid var(--mlb-gr-accent);
	border-radius: 8px;
	background: var(--mlb-gr-accent);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.mlb-gr-gomb:hover, .mlb-gr-gomb:focus { filter: brightness(1.08); color: #fff; }

.mlb-gr-gomb-ures {
	background: transparent;
	border-color: #b9cfcf;
	color: #14201f;
	font-weight: 600;
}
.mlb-gr-gomb-ures:hover, .mlb-gr-gomb-ures:focus {
	filter: none;
	border-color: var(--mlb-gr-accent);
	color: var(--mlb-gr-accent);
}

.mlb-gr-lista {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.mlb-gr-kartya {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 22px 24px;
	border: 1px solid #e0eaea;
	border-radius: 12px;
	background: #fff;
}

.mlb-gr-szemely { display: flex; align-items: center; gap: 12px; }

.mlb-gr-betu {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #d9ecec;
	color: #015757;
	font-size: 17px;
	font-weight: 700;
}

.mlb-gr-nevek { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mlb-gr-nevek strong { font-size: 15px; }
.mlb-gr-nevek small { font-size: 13px; color: #6b7878; }

.mlb-gr-szoveg {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.65;
	color: #3c4746;
	/* Hosszú vélemény sem boríthatja fel a kártyák magasságát. */
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mlb-gr-labjegyzet { margin: 18px 0 0; font-size: 13px; color: #6b7878; }

@media (max-width: 640px) {
	.mlb-gr { padding: 32px 0; }
	.mlb-gr-fej { align-items: flex-start; gap: 20px; }
	.mlb-gr-cim { font-size: 24px; }
	.mlb-gr-szam { font-size: 40px; }
	.mlb-gr-gombok { width: 100%; flex-direction: column; }
	.mlb-gr-gomb { width: 100%; min-height: 50px; }
	.mlb-gr-lista { grid-template-columns: 1fr; }
}
