/**
 * Stikli — 2026 redesign styles.
 *
 * Kept SEPARATE from the SASS-compiled style.css (whose sources are not on the
 * server) so a future `npm run compile:css` can't clobber redesign work.
 * Enqueued after style.css, so rules here win on equal specificity.
 *
 * Design tokens (from the existing theme):
 *   green #009b3b (brand) · green-dark #00852a · ink #292d32 · muted #707070
 *   line #e3eaf3 · panel #f5f7fa · font 'Muller', Helvetica, sans-serif
 */

/* =========================================================================
   Shared
   ========================================================================= */
.section-title {
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 32px;
	line-height: 1.15;
	color: #292d32;
	text-align: center;
	margin: 0 0 34px;
}

/* =========================================================================
   1.1 — Dedicated booking page (/rezervet-laiku/)
   ========================================================================= */
.booking-page__intro {
	padding: 120px 0 8px;
	text-align: center;
}
.booking-page__intro h1 {
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 44px;
	line-height: 1.1;
	color: #292d32;
	margin: 0 0 12px;
}
.booking-page__lead {
	max-width: 620px;
	margin: 0 auto;
	color: #707070;
	font-size: 15px;
	line-height: 1.5;
}
.booking-page #booking-form {
	margin-top: 8px;
}

/* =========================================================================
   1.4 — Services grid (homepage)
   ========================================================================= */
.services-section {
	padding: 72px 0;
	background: #fff;
}
.services-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	max-width: 1000px;
	margin: 0 auto;
}
.service-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	border: 1px solid #e3eaf3;
	border-radius: 12px;
	background: #fff;
	text-decoration: none;
	transition: border-color .25s, box-shadow .25s, transform .25s;
}
.service-card:hover {
	border-color: #009b3b;
	box-shadow: 0 10px 26px rgba( 0, 155, 59, .10 );
	transform: translateY( -1px );
}
.service-card__icon {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.service-card__icon img {
	max-width: 44px;
	max-height: 44px;
	object-fit: contain;
}
.service-card__icon-ph {
	width: 40px;
	height: 40px;
	border-radius: 9px;
	background: #f5f7fa;
	border: 1px dashed #cdd7e3;
	display: block;
}
.service-card__title {
	flex: 1 1 auto;
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.25;
	color: #292d32;
}
.service-card__arrow {
	flex: 0 0 auto;
	color: #009b3b;
	display: flex;
	align-items: center;
	transition: transform .25s;
}
.service-card:hover .service-card__arrow {
	transform: translateX( 3px );
}

/* =========================================================================
   1.4.2 — Customer reviews (Trustindex)
   ========================================================================= */
.reviews-section {
	padding: 8px 0 76px;
	background: #fff;
}
.reviews-embed {
	max-width: 1000px;
	margin: 0 auto;
}
.reviews-embed--placeholder {
	padding: 26px;
	border: 1px dashed #adbfc7;
	border-radius: 12px;
	background: #f5f7fa;
	color: #707070;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

/* =========================================================================
   3 — Service page (template-service.php)
   ========================================================================= */
.service-page {
	background: #fff;
}
.service-hero {
	padding: 150px 0 40px;
	text-align: center;
	background: #f5f7fa;
	border-bottom: 1px solid #eef1f5;
}
.service-hero h1 {
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 46px;
	line-height: 1.08;
	color: #292d32;
	margin: 0 0 14px;
}
.service-hero__lead {
	max-width: 640px;
	margin: 0 auto 22px;
	color: #707070;
	font-size: 16px;
	line-height: 1.55;
}
.wrapper.narrow {
	max-width: 760px;
}
.service-faq {
	padding: 18px 0;
}
.faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.faq-item {
	border: 1px solid #e3eaf3;
	border-radius: 12px;
	background: #fff;
}
.faq-item summary {
	list-style: none;
	cursor: pointer;
	padding: 18px 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 17px;
	color: #292d32;
}
.faq-item summary::-webkit-details-marker {
	display: none;
}
.faq-item__ico {
	flex: 0 0 auto;
	position: relative;
	width: 14px;
	height: 14px;
}
.faq-item__ico::before,
.faq-item__ico::after {
	content: '';
	position: absolute;
	background: #009b3b;
	border-radius: 2px;
	transition: transform .25s;
}
.faq-item__ico::before {
	top: 6px;
	left: 0;
	width: 14px;
	height: 2px;
}
.faq-item__ico::after {
	top: 0;
	left: 6px;
	width: 2px;
	height: 14px;
}
.faq-item[open] .faq-item__ico::after {
	transform: scaleY( 0 );
}
.faq-item__a {
	padding: 0 22px 18px;
	color: #4a4f55;
	font-size: 15px;
	line-height: 1.6;
}
.faq-item__a p {
	margin: 0 0 10px;
}
.faq-item__a p:last-child {
	margin-bottom: 0;
}
.service-body {
	padding: 30px 0;
}
.service-body .entry-content {
	color: #3a3f45;
	font-size: 16px;
	line-height: 1.7;
}
.service-media {
	padding: 16px 0 30px;
}
.service-media__img {
	width: 100%;
	border-radius: 14px;
	display: block;
}
.service-media__video {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	border-radius: 14px;
	overflow: hidden;
}
.service-media__video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.service-price {
	padding: 18px 0 64px;
}
.price-card {
	max-width: 760px;
	margin: 0 auto;
	padding: 32px;
	text-align: center;
	border: 1px solid #e3eaf3;
	border-radius: 16px;
	background: #f5f7fa;
}
.price-card__from {
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 40px;
	color: #009b3b;
	margin-bottom: 6px;
}
.price-card__note {
	color: #707070;
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 20px;
}
.price-card__actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* =========================================================================
   2 — Prices page (template-prices.php)
   ========================================================================= */
.prices-page {
	background: #fff;
}
.prices-hero {
	padding: 150px 0 40px;
	text-align: center;
	background: #f5f7fa;
	border-bottom: 1px solid #eef1f5;
}
.prices-hero h1 {
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 46px;
	color: #292d32;
	margin: 0 0 12px;
}
.prices-hero__lead {
	max-width: 640px;
	margin: 0 auto;
	color: #707070;
	font-size: 16px;
	line-height: 1.55;
}
.prices-services {
	padding: 54px 0 26px;
}
.price-table {
	max-width: 760px;
	margin: 0 auto 24px;
	border: 1px solid #e3eaf3;
	border-radius: 14px;
	overflow: hidden;
}
.price-table__head {
	background: #009b3b;
	color: #fff;
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 18px;
	padding: 14px 22px;
}
.price-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 13px 22px;
	border-top: 1px solid #eef1f5;
}
.price-row__name {
	color: #3a3f45;
	font-size: 15px;
}
.price-row__val {
	color: #292d32;
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 16px;
	white-space: nowrap;
}
.prices-top100 {
	padding: 24px 0 64px;
}
.top100__filter {
	max-width: 1000px;
	margin: 0 auto 18px;
}
.top100__filter .edited-select {
	display: inline-block;
	min-width: 280px;
}
.top100__filter .edited-select select {
	width: 100%;
}
.top100 {
	max-width: 1000px;
	margin: 0 auto;
	border: 1px solid #e3eaf3;
	border-radius: 14px;
	overflow: hidden;
}
.top100__row {
	display: grid;
	grid-template-columns: 1.1fr 2fr 1fr;
	gap: 16px;
	align-items: center;
	padding: 12px 22px;
	border-top: 1px solid #eef1f5;
}
.top100__row:first-child {
	border-top: 0;
}
.top100__row[hidden] {
	display: none;
}
.top100__row--head {
	background: #f5f7fa;
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: #292d32;
}
.top100__row span:first-child {
	font-family: 'Muller', Helvetica, sans-serif;
	color: #292d32;
}
.top100__row span:nth-child(2) {
	color: #3a3f45;
	font-size: 14px;
}
.top100__row:not(.top100__row--head) span:last-child {
	color: #009b3b;
	font-family: 'Muller', Helvetica, sans-serif;
	white-space: nowrap;
}
.top100__empty {
	padding: 20px 22px;
	color: #707070;
	text-align: center;
}
.prices-note {
	max-width: 1000px;
	margin: 14px auto 0;
	color: #adbfc7;
	font-size: 12px;
	text-align: center;
}

/* =========================================================================
   4 — Contacts: per-branch navigation buttons
   ========================================================================= */
.branches {
	padding: 44px 0 24px;
	background: #fff;
	position: relative;
}
.branches__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}
.branch-card {
	border: 1px solid #e3eaf3;
	border-radius: 14px;
	padding: 26px;
	background: #fff;
}
.branch-card__title {
	font-family: 'Muller', Helvetica, sans-serif;
	font-size: 22px;
	color: #292d32;
	margin: 0 0 8px;
}
.branch-card__addr {
	color: #3a3f45;
	font-size: 15px;
	margin: 0 0 8px;
}
.branch-card__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: #707070;
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 18px;
}
.branch-card__meta a {
	color: #009b3b;
}
.branch-card__work p {
	margin: 0;
}
.branch-card__nav {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.nav-btn svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width: 720px) {
	.section-title {
		font-size: 24px;
	}
	.booking-page__intro {
		padding: 96px 0 4px;
	}
	.booking-page__intro h1 {
		font-size: 30px;
	}
	.services-section {
		padding: 44px 0;
	}
	.services-grid {
		grid-template-columns: 1fr;
	}
	.reviews-section {
		padding: 4px 0 48px;
	}
	.service-hero {
		padding: 110px 0 24px;
	}
	.service-hero h1 {
		font-size: 30px;
	}
	.price-card__from {
		font-size: 32px;
	}
	.prices-hero {
		padding: 110px 0 24px;
	}
	.prices-hero h1 {
		font-size: 30px;
	}
	.top100__filter .edited-select {
		min-width: 0;
		width: 100%;
		display: block;
	}
	.top100__row {
		grid-template-columns: 1fr 1.4fr auto;
		gap: 10px;
		padding: 10px 14px;
		font-size: 13px;
	}
	.branches__grid {
		grid-template-columns: 1fr;
	}
	.branch-card__nav .nav-btn {
		flex: 1 1 auto;
		justify-content: center;
	}
}
