/**
 * Salony — front (shortcode [vdt_salony] / [vdt_salon]).
 *
 * Tokeny rebrandingu 2026: zieleń #16361b/#3FA744, pomarańcz #f98d00,
 * krem #f7f3ec/#eef1e6, obwódki #e6e4d6. Tekst ciemny (#1f2937), nie wyszarzony.
 */

.vdt-salony {
	--vdt-green: #16361b;
	--vdt-green-2: #3FA744;
	--vdt-orange: #f98d00;
	--vdt-cream: #f7f3ec;
	--vdt-cream-2: #eef1e6;
	--vdt-border: #e6e4d6;
	--vdt-ink: #1f2937;
	--vdt-muted: #4b5563;
	margin: 0 auto;
	box-sizing: border-box;
}

.vdt-salony *,
.vdt-salony *::before,
.vdt-salony *::after {
	box-sizing: border-box;
}

.vdt-salony__heading {
	margin: 0 0 24px;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	color: var(--vdt-green);
	line-height: 1.2;
}

.vdt-salony__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 22px;
}

.vdt-salony--list .vdt-salony__grid {
	grid-template-columns: 1fr;
}

.vdt-salony--single .vdt-salony__grid {
	grid-template-columns: 1fr;
	max-width: 480px;
}

/* ── Karta salonu ─────────────────────────────────────────── */

.vdt-salon {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--vdt-border);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(22, 54, 27, .05);
	transition: box-shadow .2s ease, transform .2s ease;
}

.vdt-salon:hover {
	box-shadow: 0 8px 24px rgba(22, 54, 27, .1);
	transform: translateY(-2px);
}

.vdt-salony--list .vdt-salon {
	flex-direction: row;
	align-items: stretch;
}

.vdt-salon__media {
	position: relative;
	overflow: hidden;
	background: var(--vdt-cream-2);
	aspect-ratio: 3 / 2;
}

.vdt-salony--list .vdt-salon__media {
	flex: 0 0 40%;
	max-width: 300px;
	aspect-ratio: auto;
}

.vdt-salon__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.vdt-salon__body {
	flex: 1 1 auto;
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.vdt-salon__name {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--vdt-green);
	line-height: 1.25;
}

.vdt-salon__meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.vdt-salon__row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: .95rem;
	line-height: 1.45;
	color: var(--vdt-ink);
}

.vdt-salon__ico {
	flex: 0 0 auto;
	color: var(--vdt-green-2);
	display: inline-flex;
	margin-top: 1px;
}

.vdt-salon__link {
	color: var(--vdt-ink);
	text-decoration: none;
	transition: color .15s ease;
}

.vdt-salon__link:hover {
	color: var(--vdt-green-2);
	text-decoration: underline;
}

/* ── Godziny ──────────────────────────────────────────────── */

.vdt-salon__hours {
	background: var(--vdt-cream);
	border: 1px solid var(--vdt-border);
	border-radius: 10px;
	padding: 12px 14px;
}

.vdt-salon__hours-label {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: .82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--vdt-green);
	margin-bottom: 6px;
}

.vdt-salon__hours-label .vdt-salon__ico {
	margin-top: 0;
}

.vdt-salon__hours-list {
	font-size: .92rem;
	line-height: 1.7;
	color: var(--vdt-muted);
}

/* ── CTA „Wyznacz trasę" ──────────────────────────────────── */

.vdt-salon__cta {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 18px;
	background: var(--vdt-green);
	color: #fff;
	font-size: .95rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 9px;
	transition: background .18s ease;
}

.vdt-salon__cta:hover,
.vdt-salon__cta:focus {
	background: #2e7d33;
	color: #fff;
}

.vdt-salon__cta:focus-visible {
	outline: 2px solid var(--vdt-orange);
	outline-offset: 2px;
}

/* ── Mobile ───────────────────────────────────────────────── */

@media (max-width: 640px) {
	.vdt-salony__grid {
		grid-template-columns: 1fr;
	}
	.vdt-salony--list .vdt-salon {
		flex-direction: column;
	}
	.vdt-salony--list .vdt-salon__media {
		flex: none;
		max-width: none;
		aspect-ratio: 3 / 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vdt-salon,
	.vdt-salon__cta,
	.vdt-salon__link {
		transition: none;
	}
	.vdt-salon:hover {
		transform: none;
	}
}

/* ═══ Showcase (sekcja „Odwiedź nas…") ════════════════════════ */

.vdt-salony--showcase {
	max-width: min(var(--theme-normal-container-max-width, 1200px), 92vw);
}

.vdt-salony__head {
	text-align: center;
	margin: 0 0 40px;
}

.vdt-salony__eyebrow {
	display: block;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--vdt-green-2);
	margin-bottom: 12px;
}

.vdt-salony__title {
	margin: 0;
	font-size: clamp(1.8rem, 4vw, 2.9rem);
	font-weight: 800;
	line-height: 1.12;
	color: #14210f;
}

.vdt-salony--showcase .vdt-salony__grid {
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	gap: 26px;
	align-items: start;
}

/* ── Kafel showcase (link) ────────────────────────────────── */

.vdt-salon-card {
	display: block;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border: 1px solid var(--vdt-border);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 10px 30px -22px rgba(20, 33, 15, .5);
	transition: box-shadow .22s ease, transform .22s ease;
}

a.vdt-salon-card:hover,
a.vdt-salon-card:focus {
	box-shadow: 0 20px 44px -24px rgba(20, 33, 15, .55);
	transform: translateY(-3px);
}

a.vdt-salon-card:focus-visible {
	outline: 2px solid var(--vdt-orange);
	outline-offset: 3px;
}

.vdt-salon-card__media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--vdt-cream-2);
}

.vdt-salon-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vdt-salon-card__body {
	padding: 20px 22px 24px;
}

.vdt-salon-card__name {
	margin: 0 0 12px;
	font-size: 1.5rem;
	font-weight: 800;
	color: #14210f;
	line-height: 1.15;
}

.vdt-salon-card__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0 0 14px;
}

.vdt-salon-card__next {
	font: 500 12.5px/1.3 Inter, system-ui, sans-serif;
	color: var(--vdt-muted);
}

.vdt-salon-card__addr {
	margin: 0 0 14px;
	line-height: 1.5;
}

.vdt-salon-card__addr strong {
	display: block;
	font-weight: 700;
	color: var(--vdt-ink);
}

.vdt-salon-card__addr span {
	color: var(--vdt-muted);
	font-size: .95rem;
}

.vdt-salon-card__row {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 8px 0 0;
	font-size: .95rem;
	color: var(--vdt-ink);
}

.vdt-salon-card__row svg {
	flex: 0 0 auto;
	color: var(--vdt-muted);
}

.vdt-salon-card__email a {
	color: inherit;
	text-decoration: none;
	word-break: break-word;
}

.vdt-salon-card__email a:hover {
	color: var(--vdt-green-2);
	text-decoration: underline;
}

.vdt-salon-card__phone {
	font-weight: 700;
	color: var(--vdt-green-2);
	margin-top: 12px;
}

.vdt-salon-card__phone svg {
	color: var(--vdt-green-2);
}

/* Nazwa i zdjęcie jako link do strony salonu (karta nie jest już jednym <a>). */
a.vdt-salon-card__media {
	display: block;
}

a.vdt-salon-card__media img {
	transition: transform .5s ease;
}

a.vdt-salon-card__media:hover img {
	transform: scale(1.04);
}

.vdt-salon-card__name a {
	color: inherit;
	text-decoration: none;
}

.vdt-salon-card__name a:hover {
	color: var(--vdt-green-2);
}

/* Akcje: telefon = główne CTA (zielony, rośnie), Nawiguj = obok (obwódka). */
.vdt-salon-card__actions {
	display: flex;
	gap: 10px;
	margin-top: 18px;
}

.vdt-salon-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 16px;
	border-radius: 9px;
	font-weight: 700;
	font-size: .95rem;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.vdt-salon-card__btn svg {
	flex: 0 0 auto;
}

.vdt-salon-card__btn--call {
	flex: 1 1 auto;
	background: #2e7d33;
	color: #fff;
}

.vdt-salon-card__btn--call:hover {
	background: #256428;
	transform: translateY(-1px);
}

.vdt-salon-card__btn--nav {
	flex: 0 0 auto;
	background: #fff;
	border: 1.5px solid var(--vdt-border);
	color: var(--vdt-ink);
}

.vdt-salon-card__btn--nav:hover {
	border-color: var(--vdt-green-2);
	color: var(--vdt-green-2);
	transform: translateY(-1px);
}

/* Link tekstowy „Sprawdź ofertę →" (do strony lokalnej salonu). */
.vdt-salon-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	font-weight: 700;
	font-size: .9rem;
	color: var(--vdt-green-2);
	text-decoration: none;
	transition: color .2s ease;
}

.vdt-salon-card__more svg {
	flex: 0 0 auto;
	transition: transform .2s ease;
}

.vdt-salon-card__more:hover {
	color: #2e7d33;
}

.vdt-salon-card__more:hover svg {
	transform: translateX(3px);
}

/* ═══ Widok pojedynczego salonu (strona lokalna) ══════════════ */

.vdt-salon-single {
	--vdt-green: #16361b;
	--vdt-green-2: #3FA744;
	--vdt-orange: #f98d00;
	--vdt-cream: #f7f3ec;
	--vdt-cream-2: #eef1e6;
	--vdt-border: #e6e4d6;
	--vdt-ink: #1f2937;
	--vdt-muted: #4b5563;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 34px;
	align-items: start;
	margin: 0 auto;
}

.vdt-salon-single *,
.vdt-salon-single *::before,
.vdt-salon-single *::after {
	box-sizing: border-box;
}

.vdt-salon-single__media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 16px;
	background: var(--vdt-cream-2);
}

.vdt-salon-single__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vdt-salon-single__name {
	margin: 0 0 20px;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	color: #14210f;
	line-height: 1.15;
}

/* Pastylka „Otwarte/Zamknięte" pod nazwą — jak na kaflach [vdt_salony] */
.vdt-salon-single__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: -8px 0 18px;
}

.vdt-salon-single__next {
	font: 500 12.5px/1.3 Inter, system-ui, sans-serif;
	color: var(--vdt-muted);
}

.vdt-salon-single__meta {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.vdt-salon-single__row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 1rem;
	line-height: 1.45;
	color: var(--vdt-ink);
}

.vdt-salon-single__ico {
	flex: 0 0 auto;
	color: var(--vdt-green-2);
	margin-top: 1px;
}

.vdt-salon-single__link {
	color: var(--vdt-ink);
	text-decoration: none;
}

.vdt-salon-single__link:hover {
	color: var(--vdt-green-2);
	text-decoration: underline;
}

.vdt-salon-single__hours {
	background: var(--vdt-cream);
	border: 1px solid var(--vdt-border);
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 20px;
}

.vdt-salon-single__hours-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--vdt-green);
	margin-bottom: 8px;
}

.vdt-salon-single__hours-label svg {
	color: var(--vdt-green-2);
}

.vdt-salon-single__hours-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: .98rem;
	line-height: 1.85;
	color: var(--vdt-muted);
}

.vdt-salon-single__cta {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 13px 22px;
	background: var(--vdt-green);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 10px;
	transition: background .18s ease;
}

.vdt-salon-single__cta:hover,
.vdt-salon-single__cta:focus {
	background: var(--vdt-green-2);
	color: #fff;
}

.vdt-salon-single__cta:focus-visible {
	outline: 2px solid var(--vdt-orange);
	outline-offset: 2px;
}

@media (max-width: 820px) {
	.vdt-salon-single {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vdt-salon-card,
	.vdt-salon-single__cta {
		transition: none;
	}
	a.vdt-salon-card:hover {
		transform: none;
	}
}

/* ═══ Dynamiczne komponenty salonu (shortcode'y hybrydy) ══════ */

.vdt-salon-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 13px;
	border-radius: 999px;
	font: 700 12.5px/1 Inter, system-ui, sans-serif;
	background: rgba(63, 167, 68, .14);
	border: 1px solid rgba(63, 167, 68, .4);
	color: #2e7d33;
}
.vdt-salon-status.is-closed {
	background: rgba(192, 90, 46, .14);
	border-color: rgba(192, 90, 46, .4);
	color: #c05a2e;
}
.vdt-salon-status__dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #4ade80;
	flex: none;
}
.vdt-salon-status.is-closed .vdt-salon-status__dot {
	background: #e8a04a;
}
.vdt-salon-status__hint {
	font-weight: 500;
	opacity: .8;
	padding-left: 4px;
}

.vdt-salon-hours {
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid #e6e4d6;
	border-radius: 12px;
	overflow: hidden;
}
.vdt-salon-hours__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 18px;
	border-bottom: 1px solid #ece8dd;
	font: 400 14px/1.2 Inter, system-ui, sans-serif;
}
.vdt-salon-hours__row:last-child { border-bottom: 0; }
.vdt-salon-hours__row.is-today { background: #eef1e6; }
.vdt-salon-hours__day { font-weight: 600; color: #243018; }
.vdt-salon-hours__val { font-weight: 700; color: #1d2917; }
.vdt-salon-hours__val.is-closed { color: #b06a45; font-weight: 600; }

.vdt-salon-stars { display: inline-flex; gap: 1px; letter-spacing: 1px; }
.vdt-star { color: #d8d5c8; font-size: 15px; line-height: 1; }
.vdt-star.is-on { color: #f98d00; }

.vdt-salon-rating {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: inherit;
	font: 600 13px Inter, system-ui, sans-serif;
}
.vdt-salon-rating__num { font: 800 22px Inter, system-ui, sans-serif; color: #1d2917; }
.vdt-salon-rating__meta { color: #6b6357; }
.vdt-salon-rating:hover .vdt-salon-rating__meta { color: #3FA744; }

.vdt-salon-reviews {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 18px;
}
.vdt-salon-review {
	background: #fff;
	border: 1px solid #e6e4d6;
	border-radius: 12px;
	padding: 22px;
}
.vdt-salon-review__text {
	font: 400 14.5px/1.6 Inter, system-ui, sans-serif;
	color: #37402e;
	margin: 13px 0 16px;
}
.vdt-salon-review__foot { display: flex; align-items: center; gap: 11px; }
.vdt-salon-review__ini {
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: #16361b;
	color: #5bc25f;
	font: 700 15px Inter, system-ui, sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}
.vdt-salon-review__who { display: flex; flex-direction: column; }
.vdt-salon-review__name { font: 700 13.5px Inter, system-ui, sans-serif; color: #1d2917; }
.vdt-salon-review__when { font: 500 12px Inter, system-ui, sans-serif; color: #a89c87; }

/* Chipy obszaru obsługi (kolory nadpisywane w page-CSS gdy ciemne tło). */
.vdt-salon-towns { display: flex; flex-wrap: wrap; gap: 10px; }
.vdt-salon-town {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	background: #eef1e6;
	border: 1px solid #e6e4d6;
	color: #243018;
	font: 600 13.5px Inter, system-ui, sans-serif;
}
.vdt-salon-town svg { color: #3FA744; flex: none; }

/* ═══ Producenci ([vdt_salon_brands]) ═════════════════════════ */
.vdt-brands{display:flex;flex-direction:column;gap:34px;}
.vdt-brands__title{font:700 12px Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#3FA744;margin-bottom:16px;}
.vdt-brands__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.vdt-brand{display:flex;align-items:center;justify-content:center;min-height:82px;padding:16px;background:#fff;border:1px solid #e6e4d6;border-radius:12px;transition:box-shadow .2s ease,transform .2s ease;}
.vdt-brand:hover{box-shadow:0 12px 26px -20px rgba(20,33,15,.6);transform:translateY(-2px);}
.vdt-brand__logo{max-width:120px;max-height:46px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .2s ease,opacity .2s ease;}
.vdt-brand:hover .vdt-brand__logo{filter:grayscale(0);opacity:1;}
.vdt-brand__name{font:700 16px Inter,system-ui,sans-serif;color:#243018;text-align:center;}
@media(prefers-reduced-motion:reduce){.vdt-brand{transition:none;}.vdt-brand:hover{transform:none;}}

/* Marka jako link (bez podkreślenia, cały kafel klikalny). */
a.vdt-brand{text-decoration:none;}

/* ═══ FAQ salonu ([vdt_salon_faq]) — akordeon <details> ═══════ */
.vdt-salon-faq{display:flex;flex-direction:column;gap:12px;}
.vdt-salon-faq__item{background:#fff;border:1px solid #e6e4d6;border-radius:12px;overflow:hidden;}
.vdt-salon-faq__item[open]{border-color:#3FA744;}
.vdt-salon-faq__q{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;font:700 16.5px Inter,system-ui,sans-serif;color:#1d2917;}
.vdt-salon-faq__q::-webkit-details-marker{display:none;}
.vdt-salon-faq__q::after{content:"";flex:none;width:11px;height:11px;border-right:2.4px solid #3FA744;border-bottom:2.4px solid #3FA744;transform:rotate(45deg);transition:transform .2s;margin-top:-4px;}
.vdt-salon-faq__item[open] .vdt-salon-faq__q::after{transform:rotate(-135deg);margin-top:2px;}
.vdt-salon-faq__a{padding:0 22px 22px;font:400 15px/1.65 Inter,system-ui,sans-serif;color:#4f4a3f;}
