/*
Theme Name: DIA Services
Theme URI: https://diaservices.bg/
Author: DIA Services
Description: Блокова тема за ДИА Сървисес — пране на мека и кожена мебел, матраци, килими и салони на място, основно почистване на дом и офис. Пълно редактиране през Gutenberg, дизайн системата е в theme.json. Визуалният свят е кочанът с квитанции от химическото чистене: всяка услуга е ред с цена и време за съхнене.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.3.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dia-services
Tags: full-site-editing, block-patterns, one-column, custom-colors, custom-menu
*/

/* Тук стои само това, което theme.json не може да поеме.
   Всичко се закача за класове, а не за вградени стилове — клас никога
   не прави блока невалиден в редактора. */

:root {
	--paper: var(--wp--preset--color--base);
	--paper-2: var(--wp--preset--color--base-2);
	--canary: var(--wp--preset--color--canary);
	--pink: var(--wp--preset--color--pink);
	--blue: var(--wp--preset--color--blue);
	--indigo: var(--wp--preset--color--indigo);
	--stamp: var(--wp--preset--color--stamp);
	--ink: var(--wp--preset--color--contrast);
	--ink-2: var(--wp--preset--color--contrast-2);
	--rule: color-mix(in srgb, var(--ink) 18%, transparent);
	--dots: color-mix(in srgb, var(--ink) 38%, transparent);
	--hole: var(--paper-2);
	--hand: var(--wp--preset--font-family--hand);
	--numf: var(--wp--preset--font-family--numbers);
	--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--paper-shadow: 0 1px 0 rgb(22 22 26 / 0.06), 0 22px 40px -26px rgb(22 22 26 / 0.55);
}

/* Полето зад перфорацията — за да прозира през дупките. */
.has-canary-background-color { --hole: var(--canary); }
.has-pink-background-color { --hole: var(--pink); }
.has-blue-background-color { --hole: var(--blue); }
.has-base-background-color { --hole: var(--paper); }
.has-base-2-background-color { --hole: var(--paper-2); }
.has-contrast-background-color { --hole: var(--ink); }

input,
select,
textarea {
	box-sizing: border-box;
}

/* Без празни ивици между шапката и секциите на цяла ширина. */
.wp-site-blocks > * + *,
.wp-block-post-content > .alignfull,
.wp-block-post-content > .alignfull + * {
	margin-block-start: 0 !important;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

/* ---------- Повърхностите на браузъра ---------- */

::selection {
	background: var(--canary);
	color: var(--ink);
}

html {
	scrollbar-color: var(--indigo) var(--paper-2);
	-webkit-text-size-adjust: 100%;
	overflow-x: clip;
}

body {
	caret-color: var(--indigo);
	font-variant-numeric: tabular-nums;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

a {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}

a:hover {
	text-decoration-thickness: 2px;
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--indigo);
	outline-offset: 3px;
}

:where(.has-contrast-background-color, .site-footer, .callbar) :where(a, button, input, textarea, select, summary):focus-visible {
	outline-color: var(--canary);
}

.num {
	font-family: var(--numf);
	font-variant-numeric: tabular-nums;
	font-stretch: 87.5%;
	letter-spacing: -0.01em;
}

.hand {
	font-family: var(--hand);
	color: var(--indigo);
}

/* Дългите български думи се пренасят по срички, а не се чупят насред думата. */
h1, h2, h3, h4,
.wp-block-post-title,
.wp-block-heading {
	overflow-wrap: break-word;
	hyphens: manual;
}

@media (max-width: 600px) {
	h1, h2, h3, h4,
	.wp-block-post-title,
	.wp-block-heading {
		hyphens: auto;
		hyphenate-limit-chars: 10 4 4;
	}
}

p {
	text-wrap: pretty;
}

.measure {
	max-width: 62ch;
}

/* Второстепенен текст върху цвят — от тона на фона, не сив. */
.is-muted {
	color: var(--ink-2);
}

.has-canary-background-color .is-muted { color: color-mix(in srgb, var(--ink) 78%, var(--canary)) !important; }
.has-pink-background-color .is-muted { color: color-mix(in srgb, var(--ink) 78%, var(--pink)) !important; }
.has-blue-background-color .is-muted { color: color-mix(in srgb, var(--ink) 78%, var(--blue)) !important; }
.has-contrast-background-color .is-muted { color: color-mix(in srgb, var(--paper) 72%, var(--ink)) !important; }

:where(.has-canary-background-color, .has-pink-background-color, .has-blue-background-color) a:not(.wp-block-button__link) {
	color: var(--ink);
}

/* ---------- Бутони ---------- */

.wp-block-button__link {
	min-height: 52px;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	white-space: nowrap;
	transition: background-color 0.2s var(--ease-out), color 0.2s var(--ease-out), box-shadow 0.2s var(--ease-out);
}

/* Телефонът като бутон: номерът се чете, не се крие зад „Обади се“. */
.is-style-phone .wp-block-button__link {
	background-color: var(--ink);
	color: var(--canary);
	font-family: var(--numf);
	font-stretch: 87.5%;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.is-style-phone .wp-block-button__link:hover,
.is-style-phone .wp-block-button__link:focus {
	background-color: var(--indigo);
	color: var(--paper);
}

.has-contrast-background-color .is-style-phone .wp-block-button__link {
	background-color: var(--canary);
	color: var(--ink);
}

.wp-block-button.is-style-outline-ink .wp-block-button__link {
	background-color: transparent;
	color: currentColor;
	box-shadow: inset 0 0 0 2px currentColor;
}

.wp-block-button.is-style-outline-ink .wp-block-button__link:hover {
	background-color: var(--ink);
	color: var(--paper);
	box-shadow: inset 0 0 0 2px var(--ink);
}

.wp-block-group.is-style-ruled-top,
.wp-block-details.is-style-ruled-top {
	border-top: 1px solid var(--rule);
	padding-top: var(--wp--preset--spacing--30);
}

/* ---------- Шапка ---------- */

.site-header {
	position: relative;
	z-index: 100;
	border-bottom: 1px solid var(--rule);
}

/* Логото е самото име: „ДИА“ като етикет от кочана с перфорация отдолу,
   „Сървисес“ с шрифта на бланката. Текст в параграф — сменя се от редактора. */
.site-header .brand {
	margin: 0;
	line-height: 1;
}

.site-header .brand__link {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--ink);
	text-decoration: none;
	white-space: nowrap;
}

.site-header .brand__dia {
	position: relative;
	padding: 0.4em 0.5em 0.34em;
	background: var(--indigo);
	color: var(--paper);
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.88rem;
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1;
}

/* Перфорацията под етикета. */
.site-header .brand__dia::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -7px;
	height: 3px;
	background: radial-gradient(circle, var(--ink) 1.1px, transparent 1.4px) 0 50% / 5px 3px repeat-x;
}

.site-header .brand__name {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.3rem, 1.05rem + 0.7vw, 1.65rem);
	font-weight: 800;
	letter-spacing: -0.03em;
}

.site-header .brand__link:hover .brand__name {
	color: var(--indigo);
}

.site-header .brand__link:focus-visible {
	outline: 2px solid var(--indigo);
	outline-offset: 5px;
}

/* Превключвател БГ / EN (TranslatePress). */
.site-header .lang-switch {
	display: inline-flex;
	border: 1px solid var(--ink);
	font-family: var(--numf);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.site-header .lang-switch__item {
	padding: 0.5em 0.55em;
	color: var(--ink-2);
	text-decoration: none;
}

.site-header .lang-switch__item + .lang-switch__item {
	border-left: 1px solid var(--ink);
}

.site-header a.lang-switch__item:hover {
	color: var(--ink);
	background: var(--canary);
}

.site-header .lang-switch__item.is-current {
	background: var(--ink);
	color: var(--paper);
}

.site-header .wp-block-navigation {
	white-space: nowrap;
}

.site-header .wp-block-navigation__submenu-container {
	border: 1px solid var(--ink) !important;
	background: var(--paper) !important;
	color: var(--ink) !important;
	padding: 0.4rem 0 !important;
	min-width: 17rem !important;
	box-shadow: var(--paper-shadow);
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.45rem 1rem !important;
	display: flex !important;
	align-items: center;
	gap: 0.6rem;
}

/* Цветът на копието пред всяка услуга в менюто. */
.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
	content: "";
	flex: none;
	width: 12px;
	height: 9px;
	background: var(--copy, var(--paper));
	box-shadow: inset 0 0 0 1px var(--ink);
}

.nav-mebel, .fam-mebel { --copy: var(--canary); }
.nav-pod, .fam-pod { --copy: var(--pink); }
.nav-dom, .fam-dom { --copy: var(--paper); }
.nav-avto, .fam-avto { --copy: var(--blue); }

.site-header .wp-block-navigation-item__content:hover,
.site-header .current-menu-item > .wp-block-navigation-item__content,
.site-header [aria-current="page"] {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.35em;
}

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--30) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 800;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none;
	color: inherit !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
}

@media (max-width: 1240px) {
	.site-header .header-phone {
		display: none;
	}
}

@media (max-width: 420px) {
	.site-header .brand__name {
		font-size: 1.15rem;
	}
}

/* ---------- Квитанцията ---------- */

.rcpt {
	--row: 2.6rem;
	position: relative;
	background: var(--paper);
	color: var(--ink);
	padding: clamp(1.1rem, 2.5vw, 1.75rem) clamp(1.1rem, 2.5vw, 1.9rem) 0;
	box-shadow: inset 0 0 0 1px var(--rule);
	isolation: isolate;
}

.rcpt__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	border-bottom: 2px solid var(--ink);
	padding-bottom: 0.45rem;
}

.rcpt__form {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 900;
	font-size: clamp(1.15rem, 0.95rem + 0.8vw, 1.6rem);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1;
}

/* Номерът е в червено, като от номератор. */
.rcpt__no {
	font-family: var(--numf);
	font-stretch: 75%;
	font-weight: 700;
	font-size: clamp(1.05rem, 0.9rem + 0.6vw, 1.4rem);
	color: var(--stamp);
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.rcpt__no-k {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	color: var(--ink);
}

.rcpt__issuer {
	margin: 0.4rem 0 0;
	font-size: 0.78rem;
	color: var(--ink-2);
	letter-spacing: 0.01em;
}

.rcpt__cols,
.rcpt__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 4.2em 7.6em;
	column-gap: 0.75rem;
	align-items: baseline;
}

.rcpt__cols {
	margin-top: 1rem;
	padding-bottom: 0.3rem;
	border-bottom: 1px solid var(--ink);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-2);
}

.rcpt__cols span:nth-child(n + 2),
.rcpt__qty,
.rcpt__sum {
	text-align: right;
}

.rcpt__rows {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Предпечатаните пунктирни линии за попълване. */
.rcpt__row {
	min-height: var(--row);
	padding: 0.35rem 0;
	border-bottom: 1px dotted var(--dots);
	position: relative;
}

.rcpt__what {
	font-size: clamp(1.3rem, 1.15rem + 0.5vw, 1.6rem);
	line-height: 1.1;
	font-weight: 600;
}

.rcpt__what a {
	color: inherit;
	text-decoration-color: color-mix(in srgb, var(--indigo) 40%, transparent);
}

.rcpt__note {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.78rem;
	font-weight: 400;
	color: var(--ink-2);
	margin-top: 0.15rem;
}

.rcpt__qty,
.rcpt__sum {
	color: var(--indigo);
	font-size: 0.92rem;
}

.rcpt__sum {
	font-weight: 700;
	white-space: nowrap;
}

.rcpt__qty {
	white-space: nowrap;
}

.rcpt__foot {
	margin: 0.9rem 0 0;
	font-size: 0.85rem;
	color: var(--ink-2);
}

.rcpt__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0.9rem 0 0;
	padding-top: 0.5rem;
	border-top: 2px solid var(--ink);
	font-weight: 800;
}

.rcpt__total .num {
	white-space: nowrap;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem);
	color: var(--indigo);
}

/* Перфорацията: дупките показват полето отдолу. */
.perf {
	position: relative;
	height: 14px;
	margin: 1.1rem calc(-1 * clamp(1.1rem, 2.5vw, 1.9rem)) 0;
	background:
		radial-gradient(circle at 7px 7px, var(--hole) 3.6px, transparent 4.1px) 0 0 / 14px 14px repeat-x;
}

.perf::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	border-top: 1px dashed color-mix(in srgb, var(--ink) 30%, transparent);
	z-index: -1;
}

.rcpt__stub {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 1.1rem;
	padding: 0.9rem 0 1.2rem;
}

.rcpt__tel {
	font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.3rem);
	font-weight: 800;
	color: var(--ink);
	text-decoration: none;
	line-height: 1;
}

.rcpt__tel:hover {
	color: var(--indigo);
}

.rcpt__ask,
.rcpt__clear {
	appearance: none;
	border: 0;
	background: var(--ink);
	color: var(--paper);
	font: inherit;
	font-weight: 700;
	font-size: 0.95rem;
	padding: 0.7rem 1rem;
	min-height: 44px;
	cursor: pointer;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
}

.rcpt__ask:hover {
	background: var(--indigo);
	color: var(--paper);
}

.rcpt__clear {
	background: transparent;
	color: var(--ink-2);
	box-shadow: inset 0 0 0 1px var(--rule);
}

.rcpt__clear:hover {
	color: var(--stamp);
	box-shadow: inset 0 0 0 1px var(--stamp);
}

/* ---------- Печатът ---------- */

/* Неравното мастило на гумения печат — шум, не преливка. */
.stamp {
	--ink-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.75'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
	position: absolute;
	display: inline-grid;
	place-items: center;
	padding: 0.4rem 0.75rem;
	border: 3px solid var(--stamp);
	border-radius: 6px;
	color: var(--stamp);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.05;
	text-align: center;
	mix-blend-mode: multiply;
	-webkit-mask: var(--ink-noise) 0 0 / 160px 160px;
	mask: var(--ink-noise) 0 0 / 160px 160px;
	pointer-events: none;
	z-index: 2;
}

.stamp__in {
	display: block;
	padding: 0.2rem 0.3rem;
	border-top: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
}

.stamp--hero {
	right: 7%;
	bottom: 6.6rem;
	font-size: clamp(1.05rem, 0.8rem + 1vw, 1.55rem);
	rotate: -9deg;
}

.stamp--calc {
	position: relative;
	margin: 0 auto;
	font-size: 0.85rem;
	rotate: 7deg;
	opacity: 0;
	transition: opacity 0.3s var(--ease-out), scale 0.3s var(--ease-out);
	scale: 1.3;
}

.rcpt--calc.is-filled .stamp--calc {
	opacity: 0.92;
	scale: 1;
}

/* ---------- Първият екран ---------- */

.hero {
	overflow: hidden;
}

.hero__cols {
	align-items: center !important;
}

.hero__receipt .rcpt--hero {
	rotate: -1.2deg;
	max-width: 36rem;
	box-shadow: inset 0 0 0 1px var(--rule), var(--paper-shadow);
}

.hero__title {
	font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.6rem) !important;
	line-height: 0.98 !important;
	letter-spacing: -0.035em !important;
	margin: 0 0 var(--wp--preset--spacing--30);
}

.hero__lead {
	max-width: 30ch;
}

.hero__where {
	font-family: var(--numf);
	font-stretch: 75%;
	font-size: 0.82rem;
	letter-spacing: 0.02em;
	color: color-mix(in srgb, var(--ink) 78%, var(--canary));
	max-width: 44ch;
}

.rcpt--hero .rcpt__foot {
	font-family: var(--hand);
	font-size: 1.35rem;
	color: var(--indigo);
}

/* Единственото авторско движение: редовете се изписват, печатът пада. */
@media (prefers-reduced-motion: no-preference) {
	.rcpt--hero .rcpt__row .rcpt__what,
	.rcpt__row.is-writing .rcpt__what {
		animation: write 0.7s var(--ease-out) both;
	}

	.rcpt--hero .rcpt__row .rcpt__qty,
	.rcpt--hero .rcpt__row .rcpt__sum,
	.rcpt__row.is-writing .rcpt__qty,
	.rcpt__row.is-writing .rcpt__sum {
		animation: ink-in 0.4s var(--ease-out) both;
	}

	.rcpt--hero .rcpt__row:nth-child(1) > * { animation-delay: 0.15s; }
	.rcpt--hero .rcpt__row:nth-child(2) > * { animation-delay: 0.65s; }
	.rcpt--hero .rcpt__row:nth-child(3) > * { animation-delay: 1.15s; }
	.rcpt--hero .rcpt__row > .rcpt__sum { animation-delay: calc(var(--d, 0s) + 0.5s); }
	.rcpt--hero .rcpt__row:nth-child(1) > .rcpt__qty,
	.rcpt--hero .rcpt__row:nth-child(1) > .rcpt__sum { animation-delay: 0.6s; }
	.rcpt--hero .rcpt__row:nth-child(2) > .rcpt__qty,
	.rcpt--hero .rcpt__row:nth-child(2) > .rcpt__sum { animation-delay: 1.1s; }
	.rcpt--hero .rcpt__row:nth-child(3) > .rcpt__qty,
	.rcpt--hero .rcpt__row:nth-child(3) > .rcpt__sum { animation-delay: 1.6s; }

	.stamp--hero {
		animation: thump 0.5s cubic-bezier(0.16, 1, 0.3, 1) 1.9s both;
	}
}

@keyframes write {
	from { clip-path: inset(0 100% 0 0); }
	to { clip-path: inset(0 0 0 0); }
}

@keyframes ink-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes thump {
	from { opacity: 0; scale: 1.6; }
	60% { opacity: 1; }
	to { opacity: 1; scale: 1; }
}

/* ---------- Услугите: копията от кочана ---------- */

.sec-services {
	background: var(--ink) !important;
	color: var(--paper) !important;
	--hole: var(--ink);
}

.sec-services .is-muted {
	color: color-mix(in srgb, var(--paper) 72%, var(--ink)) !important;
}

.svc-book {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
	align-items: start;
}

.svc-copy {
	background: var(--copy);
	color: var(--ink);
	padding: clamp(1rem, 2.2vw, 1.6rem);
}

.svc-copy--canary { --copy: var(--canary); }
.svc-copy--pink { --copy: var(--pink); }
.svc-copy--base { --copy: var(--paper); }
.svc-copy--blue { --copy: var(--blue); }

.svc-copy__title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
	padding-bottom: 0.45rem;
	border-bottom: 2px solid var(--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.15rem, 0.95rem + 0.8vw, 1.6rem) !important;
	font-weight: 900;
	letter-spacing: 0.04em !important;
	text-transform: uppercase;
	line-height: 1;
}

.svc-copy__title .rcpt__no {
	font-size: clamp(1rem, 0.9rem + 0.5vw, 1.3rem);
}

.svc-copy__rows {
	list-style: none;
	margin: 0;
	padding: 0;
}

.svc-row {
	border-bottom: 1px dotted var(--dots);
}

.svc-row__link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 1rem;
	padding: 0.85rem 0;
	color: var(--ink);
	text-decoration: none;
}

.svc-row__name {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.15rem, 1rem + 0.6vw, 1.45rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.svc-row__lead {
	grid-column: 1;
	font-size: 0.85rem;
	color: color-mix(in srgb, var(--ink) 74%, var(--copy));
	margin-top: 0.15rem;
}

.svc-row__price {
	grid-column: 2;
	grid-row: 1;
	align-self: baseline;
	color: var(--indigo);
	font-weight: 700;
	font-size: 0.95rem;
	white-space: nowrap;
}

/* Един фокус наведнъж: посоченият ред се вдига като откъснат талон. */
.svc-row__link {
	transition: transform 0.25s var(--ease-out), background-color 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out);
}

.svc-row__link:hover,
.svc-row__link:focus-visible {
	background: var(--paper);
	transform: translateY(-3px) rotate(-0.6deg);
	box-shadow: var(--paper-shadow);
	padding-inline: 0.75rem;
	margin-inline: -0.75rem;
	position: relative;
	z-index: 1;
	outline-offset: 0;
}

.svc-copy--base .svc-row__link:hover,
.svc-copy--base .svc-row__link:focus-visible {
	background: var(--canary);
}

.svc-copy__rows:has(.svc-row__link:hover) .svc-row__link:not(:hover) {
	opacity: 0.55;
}

.svc-yard {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 0.9rem;
	color: color-mix(in srgb, var(--paper) 72%, var(--ink));
}

.svc-yard a {
	color: var(--paper);
}

/* ---------- Как минава посещението ---------- */

.visit {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem);
}

.visit__step {
	border-top: 2px solid var(--ink);
	padding-top: 0.8rem;
}

.visit__no {
	font-family: var(--numf);
	font-stretch: 75%;
	font-weight: 800;
	font-size: clamp(2.2rem, 1.7rem + 2vw, 3.4rem);
	line-height: 1;
	color: var(--stamp);
	margin: 0 0 0.6rem;
}

.visit__step h3 {
	font-size: var(--wp--preset--font-size--large) !important;
	margin: 0 0 0.4rem;
}

.visit__step p {
	margin: 0;
}

/* ---------- Снимки преди и след: приложения към квитанцията ---------- */

.atts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
	gap: clamp(1.25rem, 3vw, 2.25rem);
	margin-top: var(--wp--preset--spacing--30);
}

.att {
	position: relative;
	margin: 0;
	background: var(--paper);
	padding: 0.6rem 0.6rem 0;
}

.att:nth-child(odd) { rotate: -0.7deg; }
.att:nth-child(even) { rotate: 0.6deg; }

.att img {
	display: block;
	width: 100%;
	height: auto;
}

.att__pic {
	position: relative;
	display: block;
}

.att__tag {
	position: absolute;
	top: 0;
	padding: 0.15rem 0.45rem;
	background: #fff;
	color: var(--ink);
	font-family: var(--numf);
	font-stretch: 75%;
	font-size: 0.8rem;
	font-weight: 400;
	color: var(--ink-2);
}

.att__tag--before { left: 0; }
.att__tag--after { left: 50%; }

.att figcaption {
	padding: 0.6rem 0.2rem 0.75rem;
	font-size: 0.88rem;
	color: var(--ink);
}

.att__no {
	color: var(--stamp);
	font-weight: 700;
	margin-right: 0.35rem;
}

.att figcaption a {
	color: var(--ink);
	font-weight: 700;
}

/* Кламерът, който държи снимката към квитанцията. */
.att__clip {
	position: absolute;
	top: -0.9rem;
	right: 1.4rem;
	width: 1.05rem;
	height: 2.6rem;
	border: 2px solid #8b8d94;
	border-radius: 0.6rem;
	z-index: 2;
}

.att__clip::after {
	content: "";
	position: absolute;
	inset: 0.35rem 0.17rem 0.6rem;
	border: 2px solid #8b8d94;
	border-bottom: 0;
	border-radius: 0.4rem 0.4rem 0 0;
}

.atts-group + .atts-group {
	margin-top: var(--wp--preset--spacing--60);
}

.atts-group h2 a {
	color: inherit;
	text-decoration: none;
}

.atts-group h2 a:hover {
	text-decoration: underline;
}

.more-link a {
	font-weight: 700;
}

/* ---------- Калкулаторът ---------- */

.calc {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
	margin-top: var(--wp--preset--spacing--30);
}

.calc__form {
	display: grid;
	gap: 1.15rem;
}

.calc__step {
	margin: 0;
	display: grid;
	gap: 0.35rem;
}

.calc__step label {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Полетата са празните редове на бланката. */
.calc select,
.calc input {
	width: 100%;
	min-height: 52px;
	padding: 0.5rem 0.2rem;
	border: 0;
	border-bottom: 2px solid var(--ink);
	border-radius: 0;
	background: color-mix(in srgb, var(--paper) 45%, transparent);
	color: var(--ink);
	font: inherit;
	font-size: 1.05rem;
}

.calc select {
	appearance: none;
	padding-right: 2rem;
	background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
	background-position: calc(100% - 14px) 52%, calc(100% - 9px) 52%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	background-color: color-mix(in srgb, var(--paper) 45%, transparent);
}

.calc select:disabled {
	opacity: 0.55;
}

.calc__qty {
	display: flex;
	align-items: stretch;
}

.calc__qty input {
	font-family: var(--numf);
	font-size: 1.15rem;
}

.calc__unit {
	display: inline-flex;
	align-items: center;
	padding: 0 0.75rem;
	background: var(--ink);
	color: var(--paper);
	font-weight: 700;
}

.calc__unitprice:empty {
	display: none;
}

.calc__unitprice {
	font-size: 0.9rem;
	color: var(--indigo);
}

.calc__error:empty {
	display: none;
}

.calc__error {
	margin: 0;
	color: var(--stamp);
	font-weight: 700;
	font-size: 0.95rem;
}

.calc input[aria-invalid="true"] {
	border-bottom-color: var(--stamp);
}

.calc__actions {
	margin: 0;
}

.calc__add {
	appearance: none;
	border: 0;
	min-height: 56px;
	padding: 0.85rem 1.4rem;
	background: var(--ink);
	color: var(--canary);
	font: inherit;
	font-weight: 800;
	font-size: 1.05rem;
	cursor: pointer;
	transition: background-color 0.2s var(--ease-out), color 0.2s var(--ease-out);
}

.calc__add:hover {
	background: var(--indigo);
	color: var(--paper);
}

.rcpt--calc {
	min-height: 24rem;
}

.rcpt--calc .rcpt__row {
	grid-template-columns: minmax(0, 1fr) 4.6em 7.6em 2.2rem;
}

.rcpt--calc .rcpt__cols {
	grid-template-columns: minmax(0, 1fr) 4.6em 7.6em 2.2rem;
}

.rcpt--calc .rcpt__cols::after {
	content: "";
}

.rcpt__x {
	appearance: none;
	align-self: center;
	width: 2rem;
	height: 2rem;
	border: 0;
	background: transparent;
	color: var(--ink-2);
	cursor: pointer;
	position: relative;
}

.rcpt__x::before,
.rcpt__x::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0.85rem;
	height: 2px;
	background: currentColor;
	translate: -50% -50%;
	rotate: 45deg;
}

.rcpt__x::after {
	rotate: -45deg;
}

.rcpt__x:hover {
	color: var(--stamp);
}

.rcpt__empty {
	margin: 1rem 0 0;
	font-size: 1.35rem;
	color: color-mix(in srgb, var(--indigo) 70%, var(--paper));
}

.rcpt__stub--calc .rcpt__tel {
	font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem);
	margin-right: auto;
}

/* ---------- Ценовата листа ---------- */

.terms {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem);
	margin-bottom: var(--wp--preset--spacing--50);
}

.terms__item {
	border-top: 2px solid var(--ink);
	padding-top: 0.8rem;
}

.terms__item h3 {
	font-size: var(--wp--preset--font-size--large) !important;
	margin: 0 0 0.35rem;
}

.terms__item p {
	margin: 0;
}

.rcpts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3.5vw, 2.75rem);
	align-items: start;
}

.rcpt--list {
	padding-bottom: 1.1rem;
	scroll-margin-top: 6rem;
}

/* В ценовата листа всяка квитанция е от своето копие. */
.rcpts .rcpt--canary { background: var(--canary); }
.rcpts .rcpt--pink { background: var(--pink); }
.rcpts .rcpt--blue { background: var(--blue); }
.rcpts .rcpt--canary .rcpt__note { color: color-mix(in srgb, var(--ink) 78%, var(--canary)); }
.rcpts .rcpt--pink .rcpt__note { color: color-mix(in srgb, var(--ink) 78%, var(--pink)); }
.rcpts .rcpt--blue .rcpt__note { color: color-mix(in srgb, var(--ink) 78%, var(--blue)); }

.rcpt--list .rcpt__cols,
.rcpt--list .rcpt__row {
	grid-template-columns: minmax(0, 1fr) 3.4em auto;
}

.rcpt--list .rcpt__what {
	font-size: clamp(1.2rem, 1.05rem + 0.4vw, 1.4rem);
}

/* На страницата на услугата квитанцията стои до заглавието. */
.svc-head .rcpt--list {
	rotate: 1deg;
	padding-bottom: 0;
}

/* ---------- Отзиви ---------- */

.slips {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
	gap: clamp(1rem, 2.5vw, 1.75rem);
	align-items: start;
}

.slip {
	margin: 0;
	background: var(--canary);
	padding: 1.2rem 1.2rem 1rem;
}

.slip:nth-child(3n + 2) { background: var(--pink); rotate: 0.8deg; }
.slip:nth-child(3n) { background: var(--blue); rotate: -0.6deg; }

.slip__text {
	margin: 0;
	padding: 0;
	border: 0;
}

.slip__text p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
}

.slip__who {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25rem 0.75rem;
	margin-top: 0.9rem;
	padding-top: 0.5rem;
	border-top: 1px dotted var(--dots);
}

.slip__who .hand {
	font-size: 1.5rem;
	font-weight: 700;
}

.slip__src {
	font-size: 0.75rem;
	color: color-mix(in srgb, var(--ink) 74%, transparent);
}

/* ---------- Районът ---------- */

.route {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 2 16rem;
	column-gap: clamp(1.5rem, 4vw, 3rem);
}

.route li {
	break-inside: avoid;
	padding: 0.6rem 0;
	border-bottom: 1px dotted var(--dots);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.route .num {
	color: var(--stamp);
	font-size: 0.85rem;
	margin-right: 0.6rem;
}

.coverage__note {
	margin-top: var(--wp--preset--spacing--30);
	color: var(--ink-2);
}

/* ---------- Въпроси ---------- */

.faq {
	max-width: 52rem;
}

.faq__item {
	border-bottom: 1px dotted var(--dots);
	padding: 0;
}

.faq__item summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 1.05rem 2.5rem 1.05rem 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: -0.015em;
}

.faq__item summary::-webkit-details-marker {
	display: none;
}

.faq__item summary::before,
.faq__item summary::after {
	content: "";
	position: absolute;
	right: 0.4rem;
	top: 50%;
	width: 0.9rem;
	height: 2px;
	background: var(--ink);
	transition: rotate 0.25s var(--ease-out);
}

.faq__item summary::after {
	rotate: 90deg;
}

.faq__item[open] summary::after {
	rotate: 0deg;
}

.faq__item > *:not(summary) {
	margin: 0 0 1.1rem;
	max-width: 62ch;
}

/* ---------- Страница на услуга ---------- */

.crumbs {
	font-size: 0.85rem;
	margin: 0 0 0.6rem;
}

.crumbs a {
	font-weight: 700;
}

.facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: var(--wp--preset--spacing--30) 0 0;
	padding: 0;
	border-top: 2px solid var(--ink);
	border-bottom: 1px solid var(--ink);
}

.facts li {
	display: grid;
	gap: 0.15rem;
	padding: 0.6rem 1.1rem 0.65rem 0;
	margin-right: 1.1rem;
	border-right: 1px solid var(--rule);
}

.facts li:last-child {
	border-right: 0;
}

.facts span {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.facts b {
	font-size: 1.05rem;
}

.check-list {
	list-style: none;
	padding-left: 0;
}

.check-list li {
	position: relative;
	padding: 0.5rem 0 0.5rem 1.9rem;
	border-bottom: 1px dotted var(--dots);
}

/* Отметка като в бланката: кутийка с кръстче от индиго. */
.check-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72rem;
	width: 1rem;
	height: 1rem;
	box-shadow: inset 0 0 0 1.5px var(--ink);
	background:
		linear-gradient(45deg, transparent 44%, var(--indigo) 44% 56%, transparent 56%),
		linear-gradient(-45deg, transparent 44%, var(--indigo) 44% 56%, transparent 56%);
}

.includes {
	background: var(--paper-2);
	padding: clamp(1rem, 2.4vw, 1.6rem);
}

.includes h2 {
	margin-top: 0;
}

.related {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	list-style: none;
	margin: var(--wp--preset--spacing--20) 0 0;
	padding: 0;
}

.related a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0.6rem 1rem;
	background: var(--paper);
	color: var(--ink);
	font-weight: 700;
	text-decoration: none;
}

.related a:hover {
	background: var(--canary);
}

/* ---------- Уводна лента на подстраниците ---------- */

.page-intro h1 {
	font-size: clamp(2.2rem, 1.5rem + 3vw, 4rem);
	line-height: 1;
	margin-bottom: var(--wp--preset--spacing--20);
}

/* ---------- За нас ---------- */

.kit__list {
	list-style: none;
	padding: 0;
}

.kit__list li {
	padding: 0.55rem 0;
	border-bottom: 1px dotted var(--dots);
}

.is-style-site-media img {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- Контакти ---------- */

.contact-head .footer-phone {
	letter-spacing: -0.04em;
	line-height: 1;
	margin-top: var(--wp--preset--spacing--30);
}

.contact-form .wpcf7 input:not([type="submit"]),
.contact-form .wpcf7 textarea {
	width: 100%;
	min-height: 52px;
	padding: 0.55rem 0.2rem;
	border: 0;
	border-bottom: 2px solid var(--ink);
	background: transparent;
	font: inherit;
	color: var(--ink);
}

.contact-form .wpcf7 textarea {
	min-height: 8rem;
	border: 2px solid var(--ink);
	padding: 0.6rem;
}

.contact-form .wpcf7 input[type="submit"] {
	min-height: 56px;
	padding: 0.85rem 1.4rem;
	border: 0;
	background: var(--ink);
	color: var(--canary);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.contact-form .wpcf7 input[type="submit"]:hover {
	background: var(--indigo);
	color: var(--paper);
}

.form-fallback {
	padding: 1rem;
	background: var(--canary);
	font-weight: 600;
}

/* ---------- Покана за оглед ---------- */

.cta-band h2 {
	font-size: clamp(2rem, 1.5rem + 2.4vw, 3.4rem);
	line-height: 1;
}

/* ---------- Лента за обаждане на телефон ---------- */

.callbar {
	display: none !important;
}

@media (max-width: 781px) {
	.callbar {
		display: grid !important;
		grid-template-columns: 1.4fr 1fr;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 50;
		margin: 0 !important;
		gap: 0 !important;
		background: var(--ink);
		padding: 0 0 env(safe-area-inset-bottom) !important;
	}

	.callbar > * {
		margin: 0 !important;
	}

	.callbar .wp-block-button,
	.callbar .wp-block-button__link {
		width: 100%;
		justify-content: center;
		min-height: 58px;
		border-radius: 0;
	}

	.callbar .wp-block-button__link {
		background: var(--canary) !important;
		color: var(--ink) !important;
		font-size: var(--wp--preset--font-size--medium);
		padding-inline: 0.75rem;
	}

	.callbar .wp-block-button:first-child .wp-block-button__link {
		font-family: var(--numf);
		font-stretch: 87.5%;
		font-size: var(--wp--preset--font-size--large);
		font-weight: 800;
	}

	.callbar .wp-block-button + .wp-block-button .wp-block-button__link {
		background: var(--ink) !important;
		color: var(--paper) !important;
	}

	.site-footer {
		padding-bottom: calc(var(--wp--preset--spacing--40) + 58px + env(safe-area-inset-bottom)) !important;
	}
}

/* ---------- Долна част ---------- */

.site-footer a {
	color: inherit;
	text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
}

.site-footer a:hover {
	color: var(--canary);
	text-decoration-color: currentColor;
}

.footer-phone {
	letter-spacing: -0.04em;
	line-height: 1;
}

.footer-phone a {
	text-decoration: none;
}

.site-footer .footer-phone a {
	color: var(--canary);
}

.footer-phone a:hover {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}

.footer-h {
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 0.72rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--paper) 70%, var(--ink));
}

.footer-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
	columns: 2;
	column-gap: var(--wp--preset--spacing--30);
}

.footer-list li {
	break-inside: avoid;
	padding: 0.3rem 0;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.footer-list li::before {
	content: "";
	flex: none;
	width: 10px;
	height: 8px;
	background: var(--copy, var(--paper));
}

.footer-list a {
	text-decoration: none;
	font-weight: 600;
}

.footer-list a:hover {
	text-decoration: underline;
}

.site-footer .is-style-ruled-top {
	border-top-color: color-mix(in srgb, var(--paper) 18%, transparent);
}

/* ---------- Блог ---------- */

.wp-block-post-content > p,
.wp-block-post-content > ul,
.wp-block-post-content > ol,
.wp-block-post-content > h2,
.wp-block-post-content > h3 {
	max-width: 68ch;
}

/* ---------- Тесни екрани ---------- */

@media (max-width: 1000px) {
	.visit,
	.terms {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.calc {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 781px) {
	.svc-book,
	.rcpts {
		grid-template-columns: minmax(0, 1fr);
	}

	.hero__receipt .rcpt--hero,
	.svc-head .rcpt--list {
		rotate: 0deg;
	}

	.hero__cols {
		flex-direction: column-reverse;
	}

	.stamp--hero {
		bottom: 8.4rem;
		right: 4%;
		font-size: 0.95rem;
	}

	.hero .wp-block-buttons {
		display: none;
	}
}

@media (max-width: 560px) {
	.visit,
	.terms {
		grid-template-columns: minmax(0, 1fr);
	}

	.rcpt__cols,
	.rcpt__row {
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 0.75rem;
	}

	.rcpt__cols span:nth-child(2) {
		display: none;
	}

	.rcpt__row .rcpt__qty {
		grid-row: 2;
		grid-column: 1;
		text-align: left;
		font-size: 0.75rem;
		color: var(--ink-2);
	}

	.rcpt__row .rcpt__qty:empty {
		display: none;
	}

	.rcpt__row .rcpt__sum {
		grid-row: 1;
		grid-column: 2;
	}

	.rcpt--calc .rcpt__row,
	.rcpt--calc .rcpt__cols {
		grid-template-columns: minmax(0, 1fr) auto 2rem;
	}

	.rcpt--calc .rcpt__row .rcpt__x {
		grid-row: 1;
		grid-column: 3;
	}

	.rcpt--list .rcpt__cols,
	.rcpt--list .rcpt__row {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.rcpt__row .rcpt__sum,
	.rcpt__cols span:last-child {
		justify-self: end;
		text-align: right;
	}

	.rcpt__total {
		flex-wrap: wrap;
		row-gap: 0.4rem;
	}

	.rcpt__total .num {
		font-size: 1.35rem;
		white-space: normal;
		text-align: right;
		max-width: 100%;
		margin-left: auto;
	}

	.rcpt__qty,
	.rcpt__sum {
		font-size: 0.8rem;
	}

	.facts li {
		border-right: 0;
		margin-right: 0;
		padding-right: 1.25rem;
	}
}

/* ---------- Движение ---------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- Поправки на специфичността ---------- */

/* Бутоните в талона са черни с хартиен текст, на каквото и поле да лежи квитанцията. */
.rcpt a.rcpt__ask,
.rcpt button.rcpt__ask {
	color: var(--paper);
	text-decoration: none;
}

.rcpt a.rcpt__ask:hover,
.rcpt button.rcpt__ask:hover {
	color: var(--paper);
	background: var(--indigo);
}

.rcpt a.rcpt__tel {
	color: var(--ink);
}

/* Решетките сами държат разстоянията — без отстъпа на WordPress между децата. */
.visit > *,
.terms > *,
.faq > * {
	margin-block-start: 0 !important;
}
