/* Custom overrides — LocalPro. */

/* Global horizontal overflow guard: off-screen fixed drawers must not extend
   scrollWidth. Use clip (not hidden) so position:sticky keeps working. */
html, body { overflow-x: clip; max-width: 100%; }

/* Header image logo (full PNG on light background). */
.logo--img { gap: 0; }
.logo-wrap { position:relative; display:inline-flex; align-items:center; gap:7px; }
.logo-badge { align-self:flex-start; margin-top:1px; padding:2px 8px; border-radius:999px; background:#24a866; color:#fff; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; line-height:1.4; white-space:nowrap; }
@media(max-width:520px){ .logo-badge{ display:none; } }
.auth__brand .logo-wrap { align-self:flex-start; padding:9px 13px; border:1px solid rgba(255,255,255,.8); border-radius:14px; background:#fff; box-shadow:0 10px 24px rgba(8,31,61,.16); }
.service-info { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:22px; height:22px; padding:0; border:1px solid #c5d8ed; border-radius:50%; background:#f3f8fe; color:var(--blue); cursor:pointer; box-shadow:0 2px 5px rgba(22,83,145,.08); transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease; }
.service-info svg { display:block; width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.service-info:hover,.service-info:focus-visible,.logo-wrap.is-info-open .service-info { border-color:var(--blue); background:var(--blue); color:#fff; outline:0; transform:translateY(-1px); }
.service-info__bubble { position:absolute; z-index:90; top:calc(100% + 10px); left:0; width:min(320px,calc(100vw - 32px)); padding:13px 14px; border:1px solid #c7d9eb; border-radius:13px; background:#fff; box-shadow:0 10px 28px rgba(21,43,68,.16); color:var(--ink-2); font-size:13px; font-weight:500; line-height:1.45; opacity:0; pointer-events:none; transform:translateY(-4px); transition:opacity .16s ease,transform .16s ease; }
.service-info__bubble::before { content:''; position:absolute; top:-6px; left:142px; width:10px; height:10px; border-top:1px solid #c7d9eb; border-left:1px solid #c7d9eb; background:#fff; transform:rotate(45deg); }
@media(hover:hover){.logo-wrap:hover .service-info__bubble,.service-info:focus-visible + .service-info__bubble{opacity:1;pointer-events:auto;transform:translateY(0)}}
.logo-wrap.is-info-open .service-info__bubble { opacity:1; pointer-events:auto; transform:translateY(0); }
.logo__full {
	height: 46px;
	width: auto;
	display: block;
}

/*
 * The Russian navigation labels are noticeably wider than the Ukrainian
 * ones. Keep the full desktop menu, but reclaim space without changing the
 * wording or making the primary action look secondary.
 */
@media (min-width: 1101px) {
	.lang-ru .site-header__inner {
		gap: 16px;
		padding-inline: 24px;
	}
	.lang-ru .site-header .logo__full { height: 42px; }
	.lang-ru .site-header .nav {
		gap: clamp(16px, 1.45vw, 22px);
	}
	.lang-ru .site-header .nav a {
		font-size: 14px;
		white-space: nowrap;
	}
	.lang-ru .site-header .header-actions { gap: 10px; }
	.lang-ru .site-header .header-actions > .btn {
		padding-inline: 17px;
		font-size: 14px;
	}
}

/* Avoid a squeezed desktop header on small laptops and landscape tablets. */
@media (max-width: 1100px) {
	.site-header .nav,
	.site-header .header-actions { display: none; }
	.site-header .nav-toggle { display: inline-flex; }
}

/* Footer logo (white PNG on dark background). */
.site-footer .logo__full { height: 40px; }

.sp-card__avatar-link { flex: none; border-radius: 14px; }
.sp-card__name,
.sp-card__desc { color: inherit; text-decoration: none; }
.sp-card__name:hover { color: var(--blue); }
.sp-card__desc { display: block; }
.sp-card__desc:hover { color: var(--ink); }

.favorite-form { display: inline-flex; margin: 0; }
.favorite-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	border: 1px solid var(--line-2);
	border-radius: 12px;
	background: #fff;
	color: var(--ink-3);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.favorite-button:hover { border-color: #e9a7ae; color: var(--red); }
.favorite-button--icon { width: 34px; height: 34px; flex: none; padding: 0; border-radius: 10px; font-size: 21px; line-height: 1; }
.favorite-button--full { min-height: 44px; padding: 9px 16px; }
.favorite-button.is-saved { border-color: #f2c3c8; background: #fff2f3; color: var(--red); }
.service-row__actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex: none; }
.event-card { position: relative; }
.event-card__favorite { position: absolute; top: 12px; right: 12px; z-index: 3; }
.event-card__favorite .favorite-button { box-shadow: 0 3px 12px rgba(24,38,51,.12); }
.event-single__title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.event-single__title-row > h1 { flex: 1; min-width: 0; }
.event-single__title-actions { display: flex; align-items: center; gap: 10px; flex: none; }
.sp-card__foot-actions { display: flex; align-items: center; gap: 8px; }
.sp-card__foot-actions .btn--sm, .sp-card__foot-actions .favorite-button--icon { min-height: 36px; height: 36px; }
.profile-title-actions { display: inline-flex; align-items: center; gap: 7px; flex: none; }
.profile-title-actions .favorite-button--icon,
.profile-title-actions .share-menu--icon .share-menu__toggle,
.profile-action-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	min-height: 38px;
	padding: 0;
	border: 1px solid var(--line-2);
	border-radius: 10px;
	background: #fff;
	color: var(--ink-2);
}
.profile-action-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.profile-title-actions .profile-owner-edit { height: 38px; min-height: 38px; padding: 0 14px; border-radius: 10px; }
.profile-title-actions .profile-owner-edit svg { width: 15px; height: 15px; }
.profile-action-icon--disabled { color: var(--ink-3); cursor: help; }
.profile-action-icon--disabled:hover, .profile-action-icon--disabled:focus-visible { border-color: #aac7e6; color: var(--blue); outline: none; }
.share-menu { position: relative; display: inline-flex; flex: none; z-index: 8; }
.share-menu[open] { z-index: 20; }
.share-menu__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 44px;
	padding: 9px 15px;
	border: 1px solid var(--line-2);
	border-radius: 12px;
	background: #fff;
	color: var(--ink-2);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.share-menu__toggle::-webkit-details-marker { display: none; }
.share-menu__toggle:hover, .share-menu[open] .share-menu__toggle { border-color: #aac7e6; color: var(--blue); }
.share-menu__toggle svg { width: 18px; height: 18px; fill: #fff; stroke: currentColor; stroke-width: 1.8; }
.share-menu--icon .share-menu__toggle { width: 34px; min-height: 34px; padding: 0; border-radius: 10px; }
.share-menu--icon .share-menu__toggle svg { width: 17px; height: 17px; }
.share-menu__panel {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: 238px;
	padding: 10px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(24,38,51,.16);
}
.share-menu__panel > strong { display: block; padding: 5px 8px 8px; font-size: 12px; color: var(--ink-3); }
.share-menu__panel a, .share-menu__panel button {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 8px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: var(--ink-2);
	font: inherit;
	font-size: 13px;
	font-weight: 650;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}
.share-menu__panel a:hover, .share-menu__panel button:hover { background: var(--blue-tint); color: var(--blue-d); }
.share-menu__network { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; color: #fff; font-weight: 800; }
.share-menu__network--telegram { background: #229ed9; }
.share-menu__network--whatsapp { background: #25a85a; }
.share-menu__network--facebook { background: #1877f2; font-family: Arial,sans-serif; }
.share-menu__network--story { background: linear-gradient(135deg, #7b4be2, #e1467c 58%, #ef9b32); }
.share-menu__network--copy { background: #edf3f9; color: var(--blue-d); }
.favorites-section + .favorites-section { margin-top: 30px; }
.favorites-section > h2 { margin-bottom: 15px; font-family: var(--font-display); font-size: 24px; }
.favorites-section .event-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 420px)); justify-content: start; }
.favorites-empty { padding: 46px 24px; }
.favorites-empty__icon { margin-bottom: 8px; color: var(--red); font-size: 48px; line-height: 1; }
.favorite-service { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; }
.favorite-service + .favorite-service { margin-top: 10px; }
.favorite-service__title { display: block; color: var(--ink); font-size: 16px; font-weight: 750; }
.favorite-service__owner { display: inline-block; margin-top: 3px; color: var(--blue); font-size: 13px; font-weight: 650; }
.favorite-service p { margin-top: 7px; font-size: 13px; }
.favorite-service__actions { display: flex; align-items: center; gap: 12px; flex: none; }

@media (max-width: 620px) {
	.service-row,
	.favorite-service,
	.event-single__title-row { align-items: flex-start; flex-direction: column; }
	.event-single__title-actions { width: 100%; flex-wrap: wrap; }
	.service-row__actions,
	.favorite-service__actions { width: 100%; justify-content: space-between; }
}

/* ---------- Blog ---------- */
.blog-hero .lead { margin-top: 10px; max-width: 700px; }
.blog-filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 28px; }
.blog-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.blog-card__media { display: flex; min-height: 190px; align-items: center; justify-content: center; overflow: hidden; background: linear-gradient(135deg, var(--blue-tint), var(--yellow-tint)); color: var(--blue-d); font: 800 25px var(--font); }
.blog-card__media img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; }
.blog-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 22px; }
.blog-card__meta { display: flex; flex-wrap: wrap; gap: 7px 14px; color: var(--ink-3); font-size: 12px; font-weight: 700; }
.blog-card__meta span + span { color: var(--blue); }
.blog-card h2 { margin: 10px 0 9px; font: 700 20px/1.32 var(--font); }
.blog-card p { margin: 0 0 18px; color: var(--ink-2); font-size: 14px; line-height: 1.6; }
.blog-card .link { margin-top: auto; }
.blog-empty { padding: 52px 24px; }
.blog-single__head { max-width: 1108px; margin: 0 auto; }
.blog-single__head h1 { max-width: 820px; margin-top: 14px; }
.blog-single__meta { display: flex; gap: 18px; margin-top: 16px; color: var(--ink-3); font-size: 13px; font-weight: 650; }
.blog-single__layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(240px, 320px); justify-content: center; gap: 28px; padding-top: 36px; padding-bottom: 64px; max-width: 1108px; margin: 0 auto; }
.blog-single__content { max-width: none; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; word-break: break-word; }
.blog-single__content h2 { margin-top: 28px; }
.blog-single__content pre { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: pre; }
.blog-single__image { position: relative; overflow: hidden; margin: -28px -28px 28px; border-radius: 18px 18px 0 0; }
.blog-single__image img { display: block; width: 100%; max-height: 430px; object-fit: cover; }
.blog-single__aside .card { position: sticky; top: 96px; }
.blog-single__aside p { margin: 10px 0 18px; }

/* ---------- Blog article tables ---------- */
.blog-single__content table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 26px 0; font-size: 15px; line-height: 1.55; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow-sm); }
.blog-single__content thead th,
.blog-single__content table tr:first-child th { background: var(--blue-tint); color: var(--ink); }
.blog-single__content th { text-align: left; font-weight: 700; }
.blog-single__content th, .blog-single__content td { padding: 12px 16px; border-bottom: 1px solid var(--line); vertical-align: top; }
.blog-single__content td:first-child { font-weight: 600; color: var(--ink); }
.blog-single__content tr:last-child th, .blog-single__content tr:last-child td { border-bottom: 0; }
.blog-single__content tbody tr:nth-child(even) td { background: #FBF9F4; }
@media (max-width: 720px) {
  .blog-single__content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .blog-single__content th, .blog-single__content td { white-space: nowrap; }
}

/* ---------- Blog tools: share + report an error ---------- */
.blog-single__tools { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px; min-width: 0; }
.blog-single__image { margin: 0 0 24px; }
.blog-single__image figcaption { margin-top: 7px; color: color-mix(in srgb, var(--muted) 70%, transparent); font-size: 11px; line-height: 1.4; }
.blog-single__tools--top { margin: 0 0 26px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.blog-single__tools--bottom { margin: 34px 0 8px; padding-top: 22px; border-top: 1px solid var(--line); }

.error-report,
.blog-disclaimer { position: relative; min-width: 0; max-width: 100%; }
.error-report__toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 15px; border: 1px solid var(--line-2); border-radius: 11px; background: #fff; color: var(--ink-2); font-weight: 650; font-size: 14px; cursor: pointer; list-style: none; }
.error-report__toggle::-webkit-details-marker { display: none; }
.error-report__toggle:hover, .error-report[open] .error-report__toggle { border-color: #e2a99a; color: var(--red); }
.error-report__toggle svg { flex: none; }
/* Blog legal disclaimer: info icon that reveals a short notice. */
.blog-disclaimer__toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 15px; border: 1px solid var(--line-2); border-radius: 11px; background: #fff; color: var(--ink-2); font-weight: 650; font-size: 14px; cursor: pointer; list-style: none; }
.blog-disclaimer__toggle::-webkit-details-marker { display: none; }
.blog-disclaimer__toggle:hover, .blog-disclaimer[open] .blog-disclaimer__toggle { border-color: var(--blue); color: var(--blue); }
.blog-disclaimer__toggle svg { flex: none; }
.blog-single__tools--bottom .blog-disclaimer,
.blog-single__tools--bottom .error-report { flex: 0 0 auto; }
.blog-single__tools--bottom .blog-disclaimer[open],
.blog-single__tools--bottom .error-report[open] { flex-basis: 100%; }
.blog-disclaimer__body { box-sizing: border-box; width: min(100%, 680px); margin-top: 12px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: #FBF9F4; box-shadow: var(--shadow-sm); overflow-wrap: anywhere; }
.blog-disclaimer__body p { margin: 0 0 10px; font-size: 13px; line-height: 1.55; color: var(--ink-2); }
.blog-disclaimer__body p:last-child { margin-bottom: 0; }
.blog-next-steps { margin: 34px 0 8px; padding: 24px; border: 1px solid #c9ddf2; border-radius: 18px; background: linear-gradient(135deg, #f4f9ff 0%, #eef6ff 100%); }
.blog-next-steps h2 { margin: 0 0 10px; font-size: 22px; line-height: 1.25; }
.blog-next-steps p { max-width: 680px; margin: 0; color: var(--ink-2); line-height: 1.65; }
.blog-next-steps__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
@media (max-width: 560px) { .blog-next-steps { padding: 20px; } .blog-next-steps__actions .btn { width: 100%; } }
.error-report__form { box-sizing: border-box; width: min(100%, 560px); margin-top: 12px; display: grid; gap: 12px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #FBF9F4; box-shadow: var(--shadow-sm); overflow-wrap: anywhere; }
.error-report__auth-gate { gap: 10px; }
.error-report__form .muted { margin: 0; font-size: 13px; line-height: 1.5; }
.error-report__field { display: grid; gap: 5px; font-size: 13px; font-weight: 650; color: var(--ink-2); }
.error-report__field textarea,
.error-report__field input { box-sizing: border-box; min-width: 0; width: 100%; padding: 10px 12px; border: 1px solid var(--line-2); border-radius: 10px; background: #fff; font: inherit; color: var(--ink); resize: vertical; }
.error-report__field textarea:focus,
.error-report__field input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-tint); }
.error-report__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.error-report__actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.error-report__status { font-size: 13px; font-weight: 650; }
.error-report__status.is-success { color: var(--green); }
.error-report__status.is-error { color: var(--red); }

@media (max-width: 640px) {
	.blog-single__tools--bottom { gap: 10px; }
	.blog-single__tools--bottom .blog-disclaimer,
	.blog-single__tools--bottom .error-report { flex-basis: 100%; }
	.blog-disclaimer__body,
	.error-report__form { width: 100%; padding: 15px; }
}

/* ---------- Related posts ---------- */
.related-posts { margin-top: 44px; padding-top: 30px; border-top: 1px solid var(--line); }
.related-posts__title { margin: 0 0 20px; font-size: 22px; }
.related-posts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.related-posts__card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; color: inherit; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.related-posts__card:hover { transform: translateY(-3px); border-color: var(--line-2); box-shadow: var(--shadow); }
.related-posts__thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--blue-tint); }
.related-posts__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.related-posts__thumb--empty { background: linear-gradient(135deg, var(--blue-tint), var(--yellow-tint)); }
.related-posts__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; flex: 1; }
.related-posts__cat { font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--blue); }
.related-posts__heading { font-weight: 700; font-size: 15px; line-height: 1.35; color: var(--ink); }
.related-posts__date { margin-top: auto; font-size: 12px; color: var(--ink-3); }
@media (max-width: 720px) {
  .related-posts__grid { grid-template-columns: 1fr; }
}

/* ---------- Plans, launch offer and PRO results ---------- */
.launch-promo-wrap { margin-top: 24px; }
.launch-promo-wrap:empty { margin-top: 0; }
.launch-promo { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 24px; overflow: hidden; padding: 20px 24px; border-radius: 18px; background: linear-gradient(120deg, #174f87, #2b6cb0 58%, #397dc0); color: #fff; box-shadow: 0 18px 38px -28px rgba(19, 61, 102, .75); }
.launch-promo__copy { display: grid; gap: 3px; }
.launch-promo__copy strong { font-size: 18px; line-height: 1.3; }
.launch-promo__copy > span:last-child { color: rgba(255,255,255,.78); font-size: 13px; }
.launch-promo__eyebrow { color: #ffe18a; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.launch-promo__counter { display: flex; align-items: center; gap: 9px; padding: 7px 13px; border: 1px solid rgba(255,255,255,.22); border-radius: 13px; background: rgba(255,255,255,.1); color: #fff; text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.launch-promo__counter:hover { border-color: rgba(255,255,255,.48); background: rgba(255,255,255,.18); color: #fff; transform: translateY(-1px); }
.launch-promo__counter b { color: #ffe071; font-size: 27px; line-height: 1; }
.launch-promo__counter span { max-width: 70px; font-size: 11px; line-height: 1.2; }
.btn--light { border-color: #fff; background: #fff; color: var(--blue-d); }
.launch-promo--account { margin-bottom: 20px; }

/* ---------- Recently-launched project notice (early access) ---------- */
.new-project { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 20px; margin-top: 20px; padding: 16px 44px 16px 20px; border: 1px solid #cfe0d4; border-radius: 16px; background: linear-gradient(135deg, #f3faf5, #fffdf5); }
.new-project__close { position: absolute; top: 8px; right: 10px; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; border: 0; background: transparent; color: #6a7d70; font-size: 22px; line-height: 1; cursor: pointer; border-radius: 8px; }
.new-project__close:hover { background: rgba(28,122,78,.1); color: #1c7a4e; }
.new-project[hidden] { display: none; }
.new-project__copy { display: grid; gap: 4px; }
.new-project__eyebrow { display: inline-flex; align-items: center; gap: 7px; color: #1c7a4e; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.new-project__dot { width: 8px; height: 8px; border-radius: 50%; background: #24a866; box-shadow: 0 0 0 4px rgba(36,168,102,.18); }
.new-project__title { font-size: 17px; line-height: 1.3; color: var(--ink); }
.new-project__text { color: var(--ink-2); font-size: 13.5px; line-height: 1.5; }
.new-project__cta { white-space: nowrap; }
.new-project--home { margin-top: 24px; }
.new-project--empty { margin-top: 20px; text-align: left; }
@media (max-width: 640px) {
	.new-project { grid-template-columns: 1fr; gap: 14px; }
	.new-project__cta { justify-self: start; }
}

.page-hero--plans { padding:24px 0 26px; }
.plans-hero h1 { font-size:clamp(31px,3.2vw,40px); line-height:1.08; }
.plans-hero .lead { max-width:760px; margin:9px auto 0; font-size:16px; line-height:1.5; }
.plans-page { padding-top:20px; }
.plans-page > .launch-promo { max-width:1200px; margin-inline:auto; margin-bottom:18px; padding:14px 20px; gap:18px; border-radius:16px; box-shadow:0 14px 30px -26px rgba(19,61,102,.68); }
.plans-page > .launch-promo .launch-promo__copy strong { font-size:17px; }
.plans-page > .launch-promo .launch-promo__counter b { font-size:24px; }
.plans-grid { display: grid; grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr); gap: 20px; max-width: 1200px; min-width:0; margin: 0 auto; }
.plans-grid .plan-card { min-width:0; }
.plan-card { position: relative; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.plan-card:not(.plan-card--pro),.plan-card--pro { padding:26px 28px; }.plan-card--pro { border: 2px solid var(--blue); box-shadow: 0 22px 50px -35px rgba(43,108,176,.65); }
.plan-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-card__popular { padding:8px 13px; border-radius:999px; background:var(--yellow-tint); color:#886300; font-size:13px; font-weight:650; line-height:1.25; text-align:center; }
.plan-card h2 { margin: 0; font: 700 28px var(--font); }
.plan-free-badge{padding:7px 11px;border-radius:999px;background:var(--blue-tint);color:var(--blue-d);font-size:11px;font-weight:800}.plan-free-summary{display:flex;min-height:198px;justify-content:center;flex-direction:column;margin-top:16px;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fafbfc,#fff)}.plan-free-summary>span,.plan-free-summary>small{color:var(--ink-3);font-size:12px}.plan-free-summary>strong{margin-top:9px;font-size:14px}.plan-free-summary>small{margin-top:5px}.plan-price { display: flex; align-items: baseline; gap: 8px; }
.plan-price b { font-size: 34px; }
.plan-price span, .plan-yearly span { color: var(--ink-3); font-size: 13px; }
.plan-yearly { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 5px; }
.plan-checkout{display:flex;flex:1;flex-direction:column}.plan-billing{margin:16px 0 0;padding:13px;border:1px solid #d4e2f0;border-radius:16px;background:linear-gradient(135deg,#f2f7fc,#fffaf0)}.plan-billing__toggle{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:12px;background:#e4edf6}.plan-billing__toggle label{position:relative;cursor:pointer}.plan-billing__toggle input{position:absolute;opacity:0;pointer-events:none}.plan-billing__toggle span{display:flex;min-height:42px;align-items:center;justify-content:center;gap:5px;padding:7px 10px;border:1px solid transparent;border-radius:9px;color:var(--ink-2);font-size:13px;font-weight:750;transition:.15s ease}.plan-billing__toggle span b{padding:2px 5px;border-radius:999px;background:var(--yellow);color:#533d00;font-size:10px}.plan-billing__toggle input:checked+span{border-color:#b7d0e9;background:#fff;box-shadow:0 3px 10px rgba(43,108,176,.12);color:var(--blue)}.plan-billing__toggle input:focus-visible+span{outline:3px solid rgba(43,108,176,.25);outline-offset:2px}.plan-billing__summary{min-height:104px;padding:14px 5px 2px}.plan-billing__price{display:flex;align-items:baseline;gap:8px}.plan-billing__price strong{font-size:34px;line-height:1;color:var(--ink)}.plan-billing__price span,.plan-billing__detail{color:var(--ink-3);font-size:13px}.plan-billing__detail{margin-top:6px}.plan-billing__saving{display:inline-flex;margin-top:9px;padding:5px 8px;border-radius:999px;background:var(--blue-tint);color:var(--blue-d);font-size:12px;font-weight:750}.plan-billing__saving.is-yearly{background:#e6f6ed;color:#16704a}.plan-checkout__submit{margin-top:auto}.plan-card--pro>ul,.plan-checkout>ul{margin-top:20px}
.plan-billing{background:linear-gradient(135deg,#f5f8fc,#fff)}.plan-billing__toggle{gap:9px;padding:0;background:transparent}.plan-billing__toggle span{position:relative;min-height:68px;align-items:flex-start;justify-content:center;flex-direction:column;gap:4px;padding:10px 12px;border-color:#cedbe8;border-radius:12px;background:#fff;font-weight:500}.plan-billing__toggle span>strong{font-size:14px}.plan-billing__toggle span small{color:var(--ink-3);font-size:12px}.plan-billing__toggle span small del{margin-right:3px;color:#9b7e73}.plan-billing__toggle span small b{position:static;padding:0;background:none;color:var(--blue);font-size:13px}.plan-billing__toggle span>.plan-sale-badge{position:absolute;top:7px;right:7px;background:var(--yellow-tint);color:var(--yellow-d)}.plan-billing__toggle input:checked+span{border-color:var(--blue);background:var(--blue-tint);box-shadow:0 0 0 2px rgba(43,108,176,.1)}
.plan-billing__eyebrow{margin:0 0 11px;color:#53657a;font-size:14px;font-weight:600;letter-spacing:0}.plan-billing__toggle span{font-size:14px;font-weight:650}.plan-billing__toggle span b{font-size:11px;font-weight:650}.plan-billing__price span,.plan-billing__detail{color:#66788d;font-size:14px}.plan-billing__saving{font-size:13px;font-weight:650}.plan-card li.plan-feature-disabled{color:#8e989f}.plan-card li.plan-feature-disabled::before{content:'×';color:#b06d63}.plan-card ul { display: grid; gap: 11px; margin: 24px 0 28px; padding: 0; list-style: none; }
.plan-card li { position: relative; padding-left: 24px; color: var(--ink-2); font-size: 14px; }
.plan-card li::before { position: absolute; left: 0; content: '✓'; color: var(--green); font-weight: 900; }
.plan-card .btn { margin-top: auto; }
.plan-card:not(.plan-card--pro) ul { margin-bottom: 15px; }
.plan-card .plan-card__free-cta { margin-top: 0; }
.plan-feature-line { display: inline; }
.plan-info { position: relative; display: inline-flex; width: 20px; height: 20px; align-items: center; justify-content: center; margin: -2px 0 -2px 4px; padding: 0; border: 1px solid #9bbfe2; border-radius: 50%; background: var(--blue-tint); color: var(--blue-d); font: 800 12px/1 var(--font); vertical-align: middle; cursor: help; }
.plan-info:hover, .plan-info:focus-visible { border-color: var(--blue); background: var(--blue); color: #fff; outline: none; }
.plan-info:focus-visible { box-shadow: 0 0 0 3px rgba(43,108,176,.2); }
.plan-info__tooltip { position: absolute; right: -8px; bottom: calc(100% + 9px); z-index: 30; width: 290px; padding: 10px 12px; border-radius: 9px; background: var(--ink); box-shadow: 0 8px 24px rgba(24,38,51,.2); color: #fff; font-size: 12px; font-weight: 500; line-height: 1.45; text-align: left; opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity .15s ease, transform .15s ease; }
.plan-info:hover .plan-info__tooltip, .plan-info:focus .plan-info__tooltip { opacity: 1; transform: translateY(0); }
.plan-unavailable { display: grid; gap: 9px; margin-top: auto; text-align: center; }
.plan-unavailable small { color: var(--ink-3); font-size: 11px; line-height: 1.45; }
.plans-admin-config { display:flex; align-items:center; justify-content:space-between; gap:18px; max-width:1200px; margin:0 auto 12px; padding:8px 12px; border:1px solid #eadbb9; border-radius:12px; background:#fffaf0; }
.plans-admin-config strong { font-size:13px; }
.plans-admin-config .btn { min-height:36px; padding:8px 13px; }
.plans-billing-state { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.plans-billing-state form { margin: 0; }
.checkout-consent { display: flex; gap: 9px; align-items: flex-start; margin: 4px 0 12px; font-size: 12px; line-height: 1.45; color: var(--ink-2); }
.checkout-consent input { margin-top: 2px; flex: none; }
.checkout-consent a { color: var(--blue-d); text-decoration: underline; }
.plan-payment-note { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 14px; color: var(--ink-3); font-size: 11px; line-height: 1.5; text-align: left; }
.stripe-badge { display: inline-flex; flex: none; align-items: center; border-radius: 6px; transition: opacity .15s ease, transform .15s ease; }
.stripe-badge:hover { opacity: .82; transform: translateY(-1px); }
.stripe-badge:focus-visible { outline: 3px solid rgba(99,91,255,.24); outline-offset: 3px; }
.stripe-badge img { display: block; width: 150px; height: 34px; }
.stripe-badge--compact img { width: 120px; height: auto; }
.plans-payment-trust { display: flex; max-width: 720px; align-items: center; gap: 13px; margin: 16px auto 0; padding: 13px 15px; border: 1px solid #d9e1eb; border-radius: 14px; background: #fff; box-shadow: 0 10px 28px -26px rgba(24,38,51,.55); }
.plans-payment-trust__lock { display: inline-flex; width: 34px; height: 34px; flex: none; align-items: center; justify-content: center; border-radius: 50%; background: #edf7f1; font-size: 15px; }
.plans-payment-trust > div { display: grid; gap: 2px; margin-right: auto; }
.plans-payment-trust strong { color: var(--ink); font-size: 13px; }
.plans-payment-trust div span { color: var(--ink-3); font-size: 11px; line-height: 1.35; }
.plan-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: auto; }
.plan-actions form { margin: 0; }
.plans-note { margin: 22px auto 0; color: var(--ink-3); font-size: 13px; text-align: center; }
.catalog-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.plan-current { display: flex; flex-wrap: wrap; max-width: 1200px; align-items: center; gap: 12px; margin: 0 auto 18px; padding: 15px 20px; border: 1px solid #b7e2ca; border-radius: 16px; background: var(--green-tint); }
.plan-current div { display: grid; gap: 2px; }
.plan-current span:last-child { color: var(--ink-3); font-size: 12px; }
.plan-current__action { margin-left: auto; }
.pro-label { display: inline-flex; align-items: center; justify-content: center; padding: 3px 7px; border-radius: 999px; background: linear-gradient(135deg, #2b6cb0, #714cc2); color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .06em; line-height: 1.25; }
.pro-label--lg { gap: 4px; padding: 5px 11px 5px 9px; font-size: 12px; font-weight: 800; box-shadow: 0 3px 10px -2px rgba(94,60,180,.5); }
.pro-label--lg svg { flex: none; opacity: .95; }
.sp-card__name .pro-label { flex: none; margin-left: 3px; }
.sp-hero__title h1 .pro-label { vertical-align: middle; margin-left: 7px; transform: translateY(-2px); }
.sp-card--pro { border-color: #c7d9ed; }
.pro-results { margin: 18px 0 28px; padding: 18px; border: 1px solid #c9daec; border-radius: 20px; background: linear-gradient(145deg, #f4f8fd, #fffaf0); }
.pro-results__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.pro-results__head > div { display: flex; align-items: center; gap: 9px; }
.pro-results__head > span { color: var(--ink-3); font-size: 11px; }
.pro-results > .grid { grid-template-columns: repeat(auto-fit, minmax(240px, 300px)); justify-content: start; }
/* The compact PRO grid has just enough room for the footer controls. Keep its
   primary action aligned and prevent the “new profile” badge from splitting. */
.pro-results .sp-card { padding: 16px; }
.pro-results .sp-card__foot { gap: 8px; }
.pro-results .sp-card__foot-actions { flex: none; gap: 6px; }
.pro-results .sp-card__foot-actions .btn--sm { padding-inline: 12px; }
.pro-results .rating--new { flex: none; padding-inline: 9px; white-space: nowrap; }
.plan-limit-note { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -8px 0 20px; padding: 10px 13px; border-radius: 11px; background: var(--blue-tint); font-size: 13px; font-weight: 650; }
/* Unified PRO note/chip — two states (green=active, blue=upsell). .pro-note is an alias. */
.pro-note,
.pro-feature-state { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 750; line-height: 1.3; text-decoration: none; }
.pro-note--upsell,
.pro-feature-state.is-locked { border: 1px solid #c6d9ef; background: #fff; color: var(--blue-d); }
.pro-note--upsell:hover,
.pro-feature-state.is-locked:hover { border-color: var(--blue); background: var(--blue-tint); }
.pro-note--active,
.pro-feature-state.is-active { border: 1px solid #b7e2ca; background: var(--green-tint); color: var(--green); }
.pro-feature-hint { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.profile-city-picker { margin-bottom: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--cream, #fbf8f2); }
.profile-city-picker__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.profile-city-picker__head .field__hint { max-width: 640px; margin-top: 4px; }
.profile-city-picker__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-height: 330px; overflow-y: auto; padding-right: 5px; }
.profile-city-picker fieldset { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.profile-city-picker legend { padding: 0 5px; color: var(--ink); font-size: 13px; font-weight: 800; }
.profile-city-picker__options { display: flex; flex-wrap: wrap; gap: 7px; }
.profile-city-picker__options label { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 9px; background: var(--blue-tint); color: var(--ink-2); font-size: 13px; cursor: pointer; }
.profile-city-picker__options input { margin: 0; accent-color: var(--blue); }
.profile-city-picker .field__error { margin: 12px 0 0; color: var(--red, #b83232); font-size: 13px; font-weight: 650; }
.event-card__city { color: inherit; font-weight: inherit; text-decoration: none; }
.event-card__city:hover { color: var(--blue); text-decoration: underline; }

/* Older events stay reachable in the archive, but never compete visually with upcoming ones. */
.event-card--finished { opacity: .58; filter: saturate(.48); }
.event-card--finished:hover,
.event-card--finished:focus-within { opacity: .82; filter: saturate(.72); }
.event-card__finished-label { display: inline-block; margin-right: 6px; color: #786c5e; font-weight: 800; }
/* Finished single event: a clear notice, and a muted hero so it reads as past. */
.event-finished-notice { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 12px 16px; border: 1px solid #e6ddcf; border-radius: 12px; background: #f7f2e9; color: #6a5f4f; font-size: 15px; }
.event-finished-notice__icon { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex: 0 0 auto; border-radius: 50%; background: #b9a888; color: #fff; font-weight: 700; }
.event-finished-notice strong { color: #5a4f3f; }
.event-single--finished .event-single__hero { opacity: .72; filter: saturate(.6); }
.plan-limit-reached { padding: 38px 24px; }
.plan-limit-reached h2 { margin: 10px 0 7px; }
.plan-limit-reached p { margin-bottom: 16px; }

@media (max-width: 860px) {
	.blog-single__layout { grid-template-columns: minmax(0, 1fr); }
	.blog-single__aside .card { position: static; }
	.launch-promo { grid-template-columns: 1fr auto; }
	.launch-promo .btn { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 820px) {
	.page-hero--plans { padding:20px 0 22px; }
	.plans-hero h1 { font-size:30px; }
	.plans-hero .lead { font-size:15.5px; }
	.plans-page { padding-top:18px; padding-bottom:36px; }
	.plans-admin-config { align-items:center; flex-direction:row; }
	.plans-billing-state { align-items: stretch; flex-direction: column; }
	.plan-info__tooltip { right: -8px; left: auto; width: min(260px, calc(100vw - 32px)); max-width: calc(100vw - 32px); }
	.plans-grid { grid-template-columns: 1fr; }
	.plan-card:not(.plan-card--pro),.plan-card--pro{padding:22px}
	.launch-promo { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
	.plans-page > .launch-promo { grid-template-columns:1fr auto; padding:16px; }
	.plans-page > .launch-promo .launch-promo__copy { grid-column:1 / -1; }
	.plans-page > .launch-promo .btn { grid-column:auto; width:auto; }
	.launch-promo__counter { justify-content: center; }
	.plan-actions { grid-template-columns: 1fr; }
	.pro-results { margin-right: -6px; margin-left: -6px; padding: 13px; }
	.pro-results__head { align-items: flex-start; flex-direction: column; }
	.blog-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
	.blog-filters .chip { flex: none; }
}

@media (max-width: 480px) {
	.plans-admin-config { align-items:stretch; flex-direction:column; }
	.plans-admin-config .btn { width:100%; }
	.plans-page > .launch-promo { grid-template-columns:1fr; }
	.plans-page > .launch-promo .btn { width:100%; }
	.plan-card .btn { white-space:normal; line-height:1.25; text-align:center; }
}

@media (max-width: 360px) {
	.plan-billing__toggle { grid-template-columns:1fr; }
}

/* Account safety notice and private messages. */
.account-safety { margin: -6px 0 20px; border: 1px solid #c9dced; border-radius: 14px; background: #f4f9fd; color: var(--ink-2); }
.account-safety summary { display: flex; align-items: center; gap: 9px; padding: 12px 15px; cursor: pointer; list-style: none; color: var(--ink); font-size: 14px; }
.account-safety summary::-webkit-details-marker { display: none; }
.account-safety summary span { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: var(--blue); color: #fff; font: 700 13px Georgia,serif; }
.account-safety > div { padding: 0 15px 15px 45px; font-size: 13px; line-height: 1.55; }
.account-safety p { margin: 0 0 8px; }
.account-safety a { color: var(--blue); font-weight: 700; }
.account-safety__actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.account-safety__actions button { border:0; border-radius:9px; background:transparent; color:var(--ink-3); font:inherit; font-size:12px; font-weight:700; cursor:pointer; padding:7px 9px; }
.account-safety__actions button:hover { background:#e5f0fa; color:var(--blue-d); }
.chat { display: flex; height: 620px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.messages-toolbar { display: flex; justify-content: flex-end; margin: -8px 0 12px; }
.chat-list { width: 300px; flex: none; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.chat-list__head { padding: 14px; border-bottom: 1px solid var(--line); }
.chat-search { display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 10px; }
.chat-search input { width: 100%; border: 0; outline: 0; background: transparent; font: inherit; }
.chat-list__items { flex: 1; overflow: auto; }
.chat-item { display: flex; gap: 11px; align-items: flex-start; padding: 13px 14px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.chat-item:hover { background: var(--cream); }
.chat-item.is-active { background: var(--blue-tint); }
.chat-item__content { flex: 1; min-width: 0; }
.chat-item__name,.chat-item__bottom { display: flex; justify-content: space-between; gap: 8px; }
.chat-item__name { font-size: 14px; font-weight: 700; }
.chat-item__name time { color: var(--ink-3); font-size: 10px; font-weight: 500; }
.chat-item__prev { max-width: 180px; overflow: hidden; color: var(--ink-2); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.chat-item__unread { display: inline-flex; min-width: 18px; height: 18px; align-items: center; justify-content: center; padding: 0 5px; border-radius: 999px; background: var(--blue); color: #fff; font-size: 10px; }
.chat-empty { padding: 20px 15px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.chat-win { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.chat-head { display: flex; align-items: center; gap: 12px; padding: 12px 20px; border-bottom: 1px solid var(--line); }
.chat-head > div { display: grid; flex: 1; }
.chat-head small { color: var(--blue); font-size: 11px; font-weight: 700; }
.chat-body { flex: 1; overflow: auto; display: flex; flex-direction: column; gap: 10px; padding: 20px; background: var(--cream); }
.msg { max-width: 72%; padding: 10px 14px; border: 1px solid var(--line); border-radius: 14px 14px 14px 4px; background: #fff; font-size: 14px; line-height: 1.5; }
.msg--own { align-self: flex-end; border-color: var(--blue); border-radius: 14px 14px 4px 14px; background: var(--blue); color: #fff; }
.msg--sys { align-self: center; max-width: 90%; border-color: #f0e2b8; border-radius: 12px; background: var(--yellow-tint); color: #806315; text-align: center; font-size: 12px; }
.msg__sender { display: block; margin-bottom: 4px; color: var(--blue); font-size: 11px; }
.msg__time { display: block; margin-top: 4px; color: var(--ink-3); text-align: right; font-size: 10px; }
.msg--own .msg__time { color: #c8dcf0; }
.composer { display: flex; gap: 10px; align-items: end; padding: 14px; border-top: 1px solid var(--line); }
.composer textarea { flex: 1; min-height: 46px; max-height: 130px; resize: vertical; }
.chat-placeholder { margin: auto; max-width: 380px; padding: 30px; color: var(--muted); text-align: center; }
.chat-placeholder > span { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 50%; background: var(--blue-pale); color: var(--blue); font-size: 24px; }
.chat-placeholder h2 { color: var(--ink); }
@media (max-width:860px) {
	.chat { height: auto; min-height: 560px; }
	.chat-list { width: 100%; border-right: 0; }
	.chat.has-thread .chat-list { display: none; }
	.chat:not(.has-thread) .chat-win { display: none; }
	.chat-win { min-height: 560px; }
	.msg { max-width: 88%; }
	.account-safety > div { padding-left: 15px; }
}

/* Private service request landing page. */
.hero-request-cta {
	display: flex;
	align-items: center;
	gap: 8px 12px;
	margin-top: 13px;
	font-size: 14px;
	color: var(--muted);
}

.hero-request-cta a {
	color: var(--blue-d);
	font-weight: 750;
}

.hero-request-cta a:hover { text-decoration: underline; }

.service-request-page {
	padding: 28px 0 72px;
	background:
		radial-gradient(circle at 7% 12%, rgba(43, 114, 184, .09), transparent 28%),
		var(--cream);
}

.service-request-page__container { max-width: 1180px; }

.service-request-layout {
	display: grid;
	grid-template-columns: minmax(280px, .78fr) minmax(520px, 1.22fr);
	gap: clamp(32px, 6vw, 76px);
	align-items: start;
	margin-top: 28px;
}

.service-request-intro {
	position: sticky;
	top: 108px;
	padding-top: 18px;
}

.service-request-intro .display {
	margin: 18px 0 16px;
	font-size: clamp(34px, 4.2vw, 54px);
	line-height: 1.05;
	letter-spacing: -.035em;
}

.service-request-steps {
	display: grid;
	gap: 17px;
	margin-top: 34px;
}

.service-request-steps > div {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 13px;
	align-items: start;
}

.service-request-steps > div > span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--blue);
	color: #fff;
	font-weight: 800;
}

.service-request-steps p { margin: 0; }
.service-request-steps strong { display: block; }
.service-request-steps small { display: block; margin-top: 3px; color: var(--muted); }

.service-request-card {
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--line);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 24px 60px -42px rgba(30, 48, 70, .55);
}

.service-request-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 21px 18px;
}

.service-request-form__wide { grid-column: 1 / -1; }
.service-request-form .field { margin: 0; }
.service-request-form .textarea { min-height: 138px; resize: vertical; }
.service-request-form small { display: block; margin-top: 7px; color: var(--muted); line-height: 1.45; }
.service-request-form .checkbox { align-items: flex-start; line-height: 1.45; }

.service-request-form__submit {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 4px;
}

.service-request-form__submit > span {
	color: var(--muted);
	font-size: 13px;
}

@media (max-width: 860px) {
	.service-request-layout { grid-template-columns: 1fr; }
	.service-request-intro { position: static; padding-top: 0; }
	.service-request-steps { grid-template-columns: repeat(3, 1fr); }
	.service-request-steps > div { grid-template-columns: 34px 1fr; }
	.service-request-steps > div > span { width: 34px; height: 34px; }
}

@media (max-width: 620px) {
	.service-request-page { padding: 18px 0 48px; }
	.service-request-layout { gap: 26px; margin-top: 20px; }
	.service-request-intro .display { font-size: 34px; }
	.service-request-steps { grid-template-columns: 1fr; }
	.service-request-card { padding: 22px 18px; border-radius: 18px; }
	.service-request-form { grid-template-columns: 1fr; gap: 18px; }
	.service-request-form__wide { grid-column: auto; }
	.service-request-form__submit { align-items: stretch; flex-direction: column; }
	.service-request-form__submit .btn { width: 100%; }
	.hero-request-cta { align-items: flex-start; flex-direction: column; }
}

.review-report { margin-top: 9px; }
.review-report summary {
	display: inline-block;
	color: var(--ink-3);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
}
.review-report summary:hover { color: var(--red); }
.review-report form { display: grid; gap: 9px; margin-top: 10px; }
.review-report .textarea { min-height: 84px; }
.review-report .btn { justify-self: start; }
.account-review__report, .account-review__reported { margin-top: 12px; }

.contact-row > div { min-width: 0; }
.contact-row__v { overflow-wrap: anywhere; }

.language-options {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 20px;
}
.language-options .checkbox { margin: 0; white-space: nowrap; }
.language-options .checkbox--ukr { font-weight: 700; color: var(--blue-d); background: var(--blue-tint); padding: 4px 10px; border-radius: 8px; }
.language-options .checkbox--ukr .lang-star { color: var(--yellow-d); }

.contact-visibility-list > .flex > .center {
	display: flex;
	height: 46px;
	align-items: center;
	padding-bottom: 0 !important;
}
.contact-visibility-row { align-items: flex-start !important; }
.contact-visibility-row__toggle { display: flex; flex: 0 0 auto; align-items: center; align-self: flex-start; height: 46px; margin-top: 26px; }

/* Auth-panel logo (white PNG, brand hero on login/register). */
.auth__brand .logo__full { height: 36px; }

@media (max-width: 680px) {
	.plan-card__head{align-items:flex-start;flex-direction:column}.plan-card__popular{align-self:flex-start}.plan-billing__toggle span{padding-inline:6px;font-size:12px}.plan-billing__price strong{font-size:31px}
	.logo__full { height: 38px; }
}

/* ---------- Multi-select filter (checkbox dropdown) ---------- */
.ms { position: relative; }
.ms__toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	border: 1px solid var(--line-2);
	border-radius: 11px;
	background: #fff;
	padding: 12px 14px;
	font: 500 14px var(--font);
	color: var(--ink);
	text-align: left;
	transition: border-color .15s, box-shadow .15s;
}
.ms__toggle:hover { border-color: var(--line); }
.ms.is-open .ms__toggle {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px var(--blue-tint);
}
.ms__summary {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ms__summary.is-placeholder { color: var(--ink-3); }
.ms__chevron { flex: none; color: var(--ink-3); transition: transform .18s; }
.ms.is-open .ms__chevron { transform: rotate(180deg); color: var(--blue); }

.ms__panel {
	position: absolute;
	z-index: 30;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	box-shadow: 0 18px 44px -22px rgba(33, 40, 50, .45);
	padding: 6px;
	max-height: 280px;
	overflow-y: auto;
}
.ms__panel[hidden] { display: none; }
.ms__search {
	position: sticky;
	top: 0;
	z-index: 1;
	width: 100%;
	margin-bottom: 5px;
	border: 1px solid var(--line-2);
	border-radius: 9px;
	background: #fff;
	padding: 9px 10px;
	font: 500 14px var(--font);
	color: var(--ink);
}
.ms__search:focus { border-color: var(--blue); outline: none; }
.ms__opt {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	border-radius: 9px;
	font-size: 14px;
	color: var(--ink-2);
	cursor: pointer;
	user-select: none;
}
.ms__opt[hidden] { display: none; }
.ms__opt:hover { background: var(--cream); }
.ms__opt input {
	width: 18px;
	height: 18px;
	accent-color: var(--blue);
	flex: none;
	cursor: pointer;
}
.ms__opt span { flex: 1; }
.ms__empty,
.taxonomy-ac__empty { padding: 12px 10px; color: var(--ink-3); font-size: 13px; text-align: center; }

/* ---------- Searchable taxonomy selector ---------- */
.taxonomy-ac { position: relative; }
.taxonomy-ac__panel {
	position: absolute;
	z-index: 35;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	max-height: 280px;
	overflow-y: auto;
	padding: 6px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 18px 44px -22px rgba(33, 40, 50, .45);
}
.taxonomy-ac__panel[hidden] { display: none; }
.taxonomy-ac__option {
	display: block;
	width: 100%;
	padding: 9px 10px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: var(--ink-2);
	font: 500 14px var(--font);
	text-align: left;
	cursor: pointer;
}
.taxonomy-ac__option[hidden] { display: none; }
.taxonomy-ac__option:hover,
.taxonomy-ac__option:focus { background: var(--cream); color: var(--ink); outline: none; }
.taxonomy-ac__divider { display: flex; align-items: center; gap: 9px; margin: 5px 4px; color: var(--ink-3); font-size: 11px; font-weight: 750; letter-spacing: .03em; }
.taxonomy-ac__divider::before, .taxonomy-ac__divider::after { height: 1px; flex: 1; background: var(--line); content: ''; }
.taxonomy-ac__divider[hidden] { display: none; }

.searchbar .taxonomy-ac { width: 100%; }
.searchbar .taxonomy-ac__input {
	display: block;
	width: 100%;
	min-width: 0;
	padding: 1px 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--ink);
}
.searchbar .taxonomy-ac__input::placeholder { color: var(--ink-3); opacity: 1; }
.searchbar .taxonomy-ac__panel { min-width: 260px; max-height: 300px; }
.home-cities__panel { position: relative; overflow: hidden; padding: clamp(22px, 3vw, 38px); border: 1px solid #dce6ef; border-radius: 26px; background: linear-gradient(145deg, #f8fbff 0%, #fff 48%, #fbf7ee 100%); box-shadow: 0 22px 55px -46px rgba(24,56,82,.55); }
.home-cities__panel::after { content: ''; position: absolute; top: -110px; right: -90px; width: 250px; height: 250px; border-radius: 50%; background: rgba(43,108,176,.07); pointer-events: none; }
.home-cities__head { position: relative; z-index: 1; align-items: flex-end; margin-bottom: 26px; }
.home-cities__head .muted { max-width: 570px; margin-top: 6px; }
.home-cities__search { position: relative; width: min(100%, 340px); }
.home-cities__search-icon { position: absolute; top: 50%; left: 14px; z-index: 1; color: var(--blue); font-size: 22px; transform: translateY(-53%); }
.home-cities__search .input { padding-left: 42px; border-color: #cbdbea; background: rgba(255,255,255,.92); box-shadow: 0 8px 24px -20px rgba(24,56,82,.5); }
.home-cities__groups { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.home-cities__group { padding: 16px; border: 1px solid rgba(205,220,232,.85); border-radius: 17px; background: rgba(255,255,255,.8); }
.home-cities__group h3 { margin: 0 0 10px; color: var(--ink); font-size: 14px; }
.home-cities__list { display: grid; gap: 4px; }
.home-cities .city-pill { min-width: 0; padding: 8px 9px; border: 0; border-radius: 9px; background: transparent; gap: 8px; }
.home-cities .city-pill:hover { background: var(--blue-tint); color: var(--blue-d); }
.home-cities .city-pill__name { min-width: 0; overflow: hidden; font-size: 14px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.home-cities .city-pill__count { min-width: 24px; padding: 3px 6px; border-radius: 999px; background: #edf2f6; color: var(--ink-3); font-size: 11px; text-align: center; }
.home-cities .city-pill__arrow { color: #8aa5bb; font-size: 13px; transition: transform .15s ease; }
.home-cities .city-pill:hover .city-pill__arrow { color: var(--blue); transform: translateX(2px); }
.home-cities__empty { padding: 22px 0; text-align: center; }
.home-cities [hidden] { display: none !important; }
.home-cities__head { align-items:center; margin-bottom:20px; }
.home-city-cloud { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:10px; }
.home-city-chip { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid #ceddea; border-radius:999px; background:#fff; color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; box-shadow:0 7px 18px -17px rgba(24,56,82,.7); transition:.15s ease; }
.home-city-chip:hover { border-color:var(--blue); background:var(--blue-tint); color:var(--blue-d); transform:translateY(-1px); }
.home-city-chip small { display:inline-flex; min-width:21px; height:21px; align-items:center; justify-content:center; padding:0 5px; border-radius:999px; background:#edf2f6; color:var(--ink-3); font-size:10px; }
.home-cities__more { position:relative; z-index:1; margin-top:17px; }
.home-cities__more summary { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border-radius:10px; color:var(--blue); font-size:14px; font-weight:750; cursor:pointer; list-style:none; }
.home-cities__more summary::-webkit-details-marker { display:none; }
.home-cities__more summary:hover { background:var(--blue-tint); }
.home-cities__more-icon { transition:transform .15s ease; }
.home-cities__more[open] .home-cities__more-icon { transform:rotate(180deg); }
.home-city-cloud--other { margin-top:14px; padding-top:17px; border-top:1px solid var(--line); }

.home-search { margin-top:24px; }
.home-search__modes { display:inline-flex; gap:3px; margin:0 0 8px 14px; padding:3px; border:1px solid #d5e0ea; border-radius:11px; background:rgba(255,255,255,.72); }
.home-search__modes button { padding:7px 12px; border:0; border-radius:8px; background:transparent; color:var(--ink-3); font:700 12px var(--font); cursor:pointer; }
.home-search__modes button.is-active { background:var(--blue); box-shadow:0 5px 14px -10px var(--blue); color:#fff; }
.home-search__panel { display:contents; }
.home-search__panel[hidden] { display:none!important; }
.home-search__form { margin-top:0; border-color:#aecbe6; box-shadow:0 16px 38px -25px rgba(43,108,176,.8),0 0 0 3px rgba(43,108,176,.07); }
.home-search__form:focus-within { border-color:var(--blue); box-shadow:0 18px 42px -24px rgba(43,108,176,.85),0 0 0 4px rgba(43,108,176,.13); }
.home-search__query { width:100%; padding:1px 0; border:0; outline:0; background:transparent; color:var(--ink); font:inherit; }
.home-search__query::placeholder { color:var(--ink-3); }
.home-search__hint { margin:7px 0 0 15px; color:var(--ink-3); font-size:12px; }
.hero-preview { padding:20px; box-shadow:0 30px 60px -30px rgba(33,40,50,.4); }
.hero-preview__head { margin-bottom:14px; }
.hero-preview__tabs { display:inline-flex; gap:3px; padding:3px; border-radius:10px; background:#edf2f6; }
.hero-preview__tabs button { padding:6px 10px; border:0; border-radius:8px; background:transparent; color:var(--ink-3); font:750 12px var(--font); cursor:pointer; }
.hero-preview__tabs button.is-active { background:#fff; box-shadow:0 3px 10px rgba(24,38,51,.1); color:var(--ink); }
.hero-preview-card { align-items:center; margin-bottom:10px; padding:12px; border:1px solid transparent; border-radius:14px; background:var(--cream); }
.hero-preview-card:hover { border-color:#c9dced; background:var(--blue-tint); }
.hero-preview-card__copy { min-width:0; flex:1; }
.hero-preview-card__copy>div { overflow:hidden; font-size:14px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.hero-preview-card__copy>span { display:block; overflow:hidden; color:var(--ink-3); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.hero-preview-card>b { flex:none; font-size:13px; }
.hero-preview__empty { padding:24px 10px 14px; text-align:center; }
.hero-preview__empty p { margin:9px 0 7px; color:var(--ink-3); font-size:13px; }
.hero-preview__empty a { color:var(--blue); font-size:13px; font-weight:750; }
.home-faq__all { display:flex; justify-content:center; margin-top:20px; }
.account-plan-status { margin-bottom:20px; padding:15px 17px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.account-plan-status.is-pro { border-color:#c9d8ee; background:linear-gradient(135deg,#f2f7ff,#fffaf0); }
.account-plan-status__row { display:flex; align-items:center; gap:13px; }
.account-plan-status__badge { display:inline-flex; min-width:48px; justify-content:center; padding:6px 9px; border-radius:999px; background:#edf2f6; color:var(--ink-2); font-size:11px; font-weight:900; }
.account-plan-status.is-pro .account-plan-status__badge { background:linear-gradient(135deg,#2b6cb0,#714cc2); color:#fff; }
.account-plan-status__copy { display:grid; flex:1; gap:3px; }
.account-plan-status__copy span { color:var(--ink-3); font-size:13px; }
.account-plan-status__more { margin-top:12px; border-top:1px solid rgba(0,0,0,.06); padding-top:10px; }
.account-plan-status__more>summary { cursor:pointer; color:var(--blue-d); font-weight:650; font-size:13px; list-style:none; }
.account-plan-status__more>summary::-webkit-details-marker { display:none; }
.account-plan-status__more>summary::before { content:"▸ "; }
.account-plan-status__more[open]>summary::before { content:"▾ "; }
.account-plan-status__more>p { margin:8px 0 0; color:var(--ink-2); font-size:13px; line-height:1.55; }
.title-pro-badge { display:inline-flex; align-items:center; gap:4px; vertical-align:middle; padding:5px 11px 5px 9px; border-radius:999px; background:linear-gradient(135deg,#2b6cb0,#714cc2); color:#fff; font-size:12px; font-weight:800; letter-spacing:.06em; line-height:1; box-shadow:0 3px 10px -2px rgba(94,60,180,.5); }
.title-pro-badge svg { flex:none; opacity:.95; }
.header-user.is-pro .avatar { position:relative; }
.avatar-pro-dot { position:absolute; bottom:-5px; left:50%; transform:translateX(-50%); padding:1px 4px; border-radius:999px; background:linear-gradient(135deg,#2b6cb0,#714cc2); color:#fff; font-size:7px; font-weight:900; letter-spacing:.04em; box-shadow:0 0 0 2px #fff; }
.profile-moderation-note { grid-column:1/-1; display:flex; align-items:center; gap:9px; margin:0 0 4px; padding:11px 14px; border:1px solid #F0E2B8; border-radius:11px; background:var(--yellow-tint); color:#8A6D1E; font-weight:500; font-size:13.5px; line-height:1.45; }
.profile-moderation-note svg { flex:none; }
.plans-after-pro { max-width:1200px; margin:0 auto 18px; padding:14px 20px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.plans-after-pro>summary { cursor:pointer; font-weight:700; color:var(--ink); list-style:none; }
.plans-after-pro>summary::-webkit-details-marker { display:none; }
.plans-after-pro>summary::before { content:"▸ "; color:var(--ink-3); }
.plans-after-pro[open]>summary::before { content:"▾ "; }
.plans-after-pro>p { margin:10px 0 0; color:var(--ink-2); font-size:14px; line-height:1.55; }
.plan-card--muted { opacity:.72; }
.plan-card__free-note { margin-top:auto; padding:11px 13px; border:1px dashed var(--line-2); border-radius:11px; color:var(--ink-2); font-size:13px; text-align:center; }
.account-overview-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.plan-current__copy { min-width:220px; }
.plan-current__date { color:var(--ink)!important; font-weight:750; }
.plan-current__actions { display:flex!important; align-items:center; gap:8px!important; margin-left:auto; }
.plan-current__actions form { margin:0; }
.btn--text-danger { border:0; background:transparent; color:#b0413e; }
.btn--text-danger:hover { background:var(--red-tint); color:#912f2c; }
@media(max-width:800px){.account-plan-status,.plan-current{align-items:stretch;flex-direction:column}.account-plan-status>.btn,.plan-current__actions{width:100%;margin-left:0}.plan-current__actions{align-items:stretch;flex-direction:column}.plan-current__actions .btn{width:100%}}
@media(max-width:680px){.account-overview-grid{grid-template-columns:1fr}}

@media (max-width: 900px) {
	.home-cities__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* On mobile the panel behaves as a normal expanded block for reliability. */
@media (max-width: 860px) {
	.home-cities__head { align-items: stretch; flex-direction: column; }
	.home-cities__search { width: 100%; }
	.home-cities__groups { grid-template-columns: 1fr; }
	.home-cities__panel { padding: 18px; border-radius: 20px; }
	.ms__panel { position: static; box-shadow: none; margin-top: 6px; max-height: 240px; }
}
.lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 3px;
	border: 1px solid var(--line-2);
	border-radius: 10px;
	background: #fff;
}

.lang-switch a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	min-height: 28px;
	padding: 4px 8px;
	border-radius: 7px;
	color: var(--ink-3);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.lang-switch a:hover {
	color: var(--blue);
	background: var(--blue-tint);
}

.lang-switch a.is-active {
	color: #fff;
	background: var(--blue);
}

.lang-switch--mobile {
	align-self: flex-start;
	margin: 2px 0 12px;
}

.lang-switch--auth,
.lang-switch--auth-card {
	align-self: flex-end;
	margin-bottom: 20px;
}

.footer-language { display: flex; justify-content: flex-end; margin-top: 18px; }
.account-sidebar .count--alert { background: #d63638; color: #fff; }
.header-user--link.has-alert { position: relative; background: #fff7f7; box-shadow: 0 0 0 1px rgba(214,54,56,.16); }
.btn--google { gap: 10px; margin-bottom: 16px; border: 1px solid var(--line); background: #fff; color: var(--ink); }
.btn--google span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #4285f4; font-weight: 900; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: var(--ink-3); font-size: 12px; }
.auth-divider::before,.auth-divider::after { height: 1px; flex: 1; background: var(--line); content: ''; }
.auth-otp { max-width: 420px; padding: 24px; }
.auth-otp form { display: grid; gap: 14px; margin-top: 18px; }
.auth-otp__input { text-align: center; letter-spacing: .45em; font-size: 24px; font-weight: 800; }
.site-footer--compact .lang-switch--footer { justify-self: end; }
.lang-switch--footer { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.08); }
.lang-switch--footer a { color: rgba(255,255,255,.76); }
.lang-switch--footer a:hover { color: #fff; }
.lang-switch--footer a.is-active { background: #fff; color: var(--blue); }
@media (max-width: 700px) {
	.footer-language { justify-content: flex-start; }
	.site-footer--compact .lang-switch--footer { justify-self: start; }
}

.lang-switch--auth-card {
	display: flex;
	width: max-content;
	margin-left: auto;
}

.footer-social-title {
	margin-top: 20px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}

.footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 10px;
}

.footer-social a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid #45535d;
	border-radius: 10px;
	color: #dce4e9;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.footer-social a:hover {
	border-color: #7699b7;
	color: #fff;
	background: rgba(255, 255, 255, .06);
}

.footer-social svg {
	width: 19px;
	height: 19px;
	flex: 0 0 19px;
}

.footer-social--compact {
	margin-top: 0;
}

@media (max-width: 760px) {
	.site-footer--compact .footer-grid {
		align-items: flex-start;
	}
}

.legal-related {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 30px;
	padding-top: 22px;
	border-top: 1px solid var(--line);
}

.legal-related--top {
	margin: 0 0 26px;
	padding: 15px 16px;
	border: 1px solid #d9e6f4;
	border-radius: 13px;
	background: #f8fbff;
}

.legal-related--top.legal-related { border-top: 1px solid #d9e6f4; }

.legal-related--top .legal-related__label {
	width: auto;
	margin: 0 0 2px;
	color: var(--ink);
	font-size: 14px;
	font-weight: 750;
	letter-spacing: 0;
	text-transform: none;
}

.legal-related__label {
	display: block;
	width: 100%;
	margin-bottom: 2px;
	color: var(--ink-3);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.legal-related a {
	padding: 8px 11px;
	border: 1px solid var(--line);
	border-radius: 9px;
	background: var(--cream);
	color: var(--blue-d);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.legal-related a:hover {
	border-color: var(--blue);
	background: var(--blue-tint);
}

.legal-related .is-current {
	padding: 8px 11px;
	border: 1px solid #bdd7f3;
	border-radius: 9px;
	background: var(--blue-tint);
	color: var(--blue-d);
	font-size: 13px;
	font-weight: 750;
}

/* Document language-version switch (current language + Deutsch). */
.legal-version-switch { display: inline-flex; gap: 4px; margin: 4px 0 20px; padding: 4px; border: 1px solid var(--line); border-radius: 999px; background: #fafbfc; }
.legal-version-switch button { min-width: 46px; padding: 6px 14px; border: 0; border-radius: 999px; background: transparent; color: var(--ink-2); font: 700 13px var(--font); cursor: pointer; transition: background .15s, color .15s; }
.legal-version-switch button:hover { color: var(--blue-d); }
.legal-version-switch button.is-active { background: var(--blue); color: #fff; }

.legal-dates {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 0 0 10px !important;
	padding: 0 2px;
	color: var(--ink-3) !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

.legal-section-anchor,
.legal-rule-anchor {
  color: var(--blue);
  text-decoration: none;
}

.legal-rules-list {
	display: grid;
	gap: 10px;
	margin: 0 0 28px;
  padding: 0;
  list-style: none;
  color: var(--ink-2);
	font-size: 16px;
	line-height: 1.7;
}

.legal-rules-list li {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	align-items: start;
	gap: 0;
	padding: 3px 0;
}

.content-report{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.content-report summary{cursor:pointer;color:var(--ink-2);font-size:13px;font-weight:700}
.content-report form{display:grid;gap:9px;margin-top:10px}
.content-report .textarea{min-height:84px}
.report-state,.contact-report-login{margin:16px 0 0;color:var(--ink-3);font-size:13px;line-height:1.45}
.contact-report-login a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.profile-report-bottom{margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}
.profile-report-bottom .contact-report-login{margin:0}
.msg .content-report{margin-top:10px;padding-top:8px;border-color:rgba(0,0,0,.1)}
.msg .content-report summary{font-size:12px;font-weight:600}
.msg .content-report .textarea{font-size:13px}

.legal-rule-anchor {
	display: inline;
	font: inherit;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.doc-panel h2 {
	margin: 30px 0 15px;
	font-size: 25px;
	line-height: 1.2;
}

/* Numbered legal-section headings use a two-column grid for the number; regular
   headings (blog, FAQ) stay as normal block headings. */
.doc-panel h2:has(.legal-section-anchor) {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 0;
	align-items: baseline;
}

.doc-panel h2 .legal-section-anchor { color:var(--blue); font:inherit; font-variant-numeric:tabular-nums; }

.doc-panel--legal { padding: 30px 32px 34px; }
.doc-panel--legal > .legal-related--top + h2 { margin-top: 24px; }
/* Keep direct legal-rule links below the sticky site header. */
.doc-panel--legal [id^="section-"],
.doc-panel--legal [id^="rule-"] { scroll-margin-top: 128px; }

@media (max-width: 560px) {
	.doc-panel--legal { padding: 22px 18px 26px; }
	.doc-panel--legal [id^="section-"],
	.doc-panel--legal [id^="rule-"] { scroll-margin-top: 96px; }
	.legal-rules-list { font-size:15px; gap:9px; }
	.legal-rules-list li, .doc-panel h2:has(.legal-section-anchor) { grid-template-columns: 46px minmax(0, 1fr); }
	.doc-panel h2 { font-size:22px; margin-top:26px; }
	.legal-related { gap: 7px; }
	.legal-related a, .legal-related .is-current { font-size: 12px; padding: 7px 9px; }
}

.info-card__ico svg {
  width: 21px;
  height: 21px;
}

.classified-archive,
.add-classified-page,
.classified-single { padding-top: 38px; padding-bottom: 64px; }
.classified-archive__header,
.add-classified-page__header { display:flex; align-items:flex-end; justify-content:space-between; gap: 20px; margin-bottom: 30px; padding:26px 28px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(120deg,#fff 55%,var(--blue-tint)); }
.classified-archive__header .eyebrow { color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.classified-archive__header h1 { margin:6px 0; }
.classified-catalog { display: grid; grid-template-columns: 270px minmax(0,1fr); align-items: start; gap: 28px; }
.classified-sidebar { position: sticky; top: 92px; }
.classified-filters { display: grid; gap: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.classified-filters__heading { padding-bottom:14px; border-bottom:1px solid var(--line); }
.classified-filters .ms__panel { max-height:300px; overflow:auto; }
.classified-filter-group { display: grid; gap: 10px; }
.classified-filter-options { display: grid; gap: 7px; }
.classified-filter-options--cities { max-height: 310px; overflow: auto; padding-right: 5px; }
.classified-filter-options .checkbox { min-height: 28px; align-items: center; font-size: 13px; }
.classified-filters__reset { justify-self: auto; color:var(--blue); font-size:13px; font-weight:700; text-decoration:none; }
.classified-results { min-width: 0; }
.classified-results__head { display:flex; align-items:center; min-height:44px; margin-bottom:14px; }
.classified-card { min-width: 0; overflow: hidden; }
.classified-grid { grid-template-columns:1fr; }
.classified-card { position:relative; display:grid; grid-template-columns:148px minmax(0,1fr); min-height:132px; }
.classified-card__image { display: grid; height: 100%; min-height:132px; place-items: center; overflow: hidden; background: linear-gradient(135deg,var(--blue-tint),var(--cream)); color: var(--blue); font-size: 24px; font-weight: 800; }
.classified-card__image img { width: 100%; height: 100%; object-fit: cover; }
.classified-card__body { display: flex; min-height: 132px; flex-direction: column; padding: 12px 54px 11px 15px; }
.classified-card__favorite { position:absolute; top:14px; right:14px; z-index:2; }
.classified-card__meta { padding-right:48px; }
.classified-card__meta,.classified-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.classified-card__meta time { color: var(--ink-3); font-size: 12px; }
.classified-card h2 { margin: 7px 0 4px; font-size: 17px; line-height: 1.25; }
.classified-card h2 a { color: var(--ink); }
.classified-card p { display:-webkit-box;overflow:hidden;margin:0 0 7px;color:var(--ink-2);font-size:13px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.classified-card__footer { margin-top: auto; padding-top: 7px; border-top: 1px solid var(--line); font-size: 13px; }

.map-popup{display:grid;grid-template-columns:72px minmax(0,1fr);gap:11px;min-width:260px}.map-popup>img{width:72px;height:72px;border-radius:12px;object-fit:cover}.map-popup__body{display:flex;flex-direction:column;gap:3px}.map-popup__body>strong{font-size:16px;color:var(--ink)}.map-popup__body>span{color:var(--blue);font-weight:650}.map-popup__body>small{color:var(--ink-3)}.map-popup__facts{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px}.map-popup__facts b{font-size:12px}.map-popup__facts small{font-weight:400}.map-popup__body em{color:#087f5b;font-size:12px;font-style:normal}.map-popup__actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.map-popup__actions a,.map-popup__actions button{border:0;border-radius:8px;background:var(--blue);color:#fff!important;padding:7px 9px;font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.map-popup__actions button{background:var(--blue-tint);color:var(--blue)!important}.catalog-map__locate{position:absolute;z-index:500;top:14px;right:14px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 12px;color:var(--blue);font-weight:700;box-shadow:var(--shadow);cursor:pointer}.medical-insurance-field{grid-column:1/-1;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--blue-tint)}.check-list--inline{display:flex;flex-wrap:wrap;gap:10px 20px}.check-list--inline .checkbox{flex:1 1 280px}.provider-legal-ack{margin-right:auto;max-width:620px}.specialist-insurance{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.classified-empty,.classified-login { padding: 44px 24px; }
.classified-empty .btn,.panel.center > p + .btn { margin-top: 12px; }
.classified-filter-all { margin-bottom: 5px; padding-bottom: 10px; border-bottom: 1px solid var(--line); font-weight: 750; }
.classified-single__nav { display:flex; margin-bottom:18px; }
.classified-single__nav a,.classified-back { padding:0; border:0; background:none; color:var(--blue); font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
.classified-single__layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; align-items: start; gap: 24px; }
.classified-single__content { padding: 0; overflow: hidden; }
.classified-single__inner { padding:30px 34px 36px; }
.classified-single__image { max-height: 520px; margin:0; overflow: hidden; background: var(--cream); }
.classified-single__image img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; }
.classified-single__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: var(--ink-3); font-size: 13px; }
.classified-single h1 { margin: 16px 0 15px; }
.classified-single__description { color: var(--ink-2); font-size: 16px; line-height: 1.75; }
.classified-single__aside { display: grid; gap: 16px; }
.classified-single__aside .panel { padding: 22px; }
.classified-action-card { position:sticky; top:92px; }
.classified-single__price { margin-bottom: 10px; font-size: 25px; font-weight: 800; color: var(--ink); }
.classified-contact { display: grid; gap: 4px; margin-top: 18px; padding: 14px; border-radius: 12px; background: var(--blue-tint); overflow-wrap: anywhere; }
.classified-contact small { color: var(--ink-3); }
.classified-action-card .btn { margin-top:16px; }
.classified-expiry { display:flex; align-items:center; gap:9px; padding:13px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink-2); font-size:14px; }
.classified-auth-gate { margin-top:18px; padding:16px; border-radius:14px; background:var(--blue-tint); }
.classified-auth-gate p { margin:7px 0 12px; color:var(--ink-2); font-size:13px; line-height:1.5; }
.share-menu__network svg { display:block; }
.header-pro-link { display:inline-flex; align-items:center; justify-content:center; padding:7px 10px; border:1px solid #d7c9f3; border-radius:999px; background:linear-gradient(135deg,#f4efff,#fff8df); color:#6542a5; font-size:12px; font-weight:900; letter-spacing:.04em; text-decoration:none; }
.header-pro-link:hover { border-color:#9476cf; transform:translateY(-1px); }
.nav-drawer__pro { color:#6542a5!important; font-weight:900!important; }
.uapro-captcha { margin:14px 0; min-height:65px; }
.classified-report summary { cursor: pointer; font-weight: 700; }
.classified-report form { display: grid; gap: 10px; margin-top: 14px; }
.classified-owner { margin-bottom: 20px; padding: 24px; }
.classified-owner h2 { margin-bottom: 14px; }
.classified-owner__list { display: grid; }
.classified-owner__list>div { display: grid; grid-template-columns: minmax(0,1fr) auto auto auto; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.classified-owner__list>div>span:first-child { display: grid; gap: 3px; }
.classified-owner__list small { color: var(--ink-3); }
.classified-service-note { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; padding:18px 20px; border:1px solid #c5ddf5; border-radius:16px; background:var(--blue-tint); }
.classified-service-note p { margin:5px 0 0; color:var(--ink-2); }
.classified-form { display: grid; gap: 22px; }
.classified-rules { align-items: flex-start; }
.account-profile-card{max-width:860px}.account-profile-section{padding:20px;margin:0 0 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.account-profile-section--contact{background:linear-gradient(135deg,var(--blue-tint),#fff 70%)}.account-profile-section__head{display:flex;flex-direction:column;gap:3px;margin-bottom:15px}.account-profile-section__head strong{font-size:17px}.account-profile-section__head span{color:var(--ink-3);font-size:13px}.classified-account-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.classified-limit{display:flex;align-items:center;gap:12px}.classified-limit>span{width:130px;height:8px;overflow:hidden;border-radius:99px;background:var(--line)}.classified-limit i{display:block;height:100%;border-radius:inherit;background:var(--blue)}.classified-contact-box{padding:18px;border:1px solid #bfd5ed;border-radius:14px;background:var(--blue-tint)}.classified-contact-box>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.classified-contact-box small{color:var(--ink-3)}
@media(max-width:800px){.classified-catalog,.classified-single__layout{grid-template-columns:1fr}.classified-single__layout,.classified-single__content,.classified-single__aside{min-width:0;max-width:100%;width:100%}.classified-sidebar,.classified-action-card{position:static}.classified-owner__list>div{grid-template-columns:1fr auto}.classified-owner__list form{grid-column:1/-1}.classified-archive__header,.add-classified-page__header,.classified-service-note{align-items:flex-start;flex-direction:column;padding:22px}.classified-grid{grid-template-columns:1fr}.classified-card{grid-template-columns:130px minmax(0,1fr)}.classified-card__image{height:100%;min-height:132px}.classified-single__inner{padding:24px 20px}}
@media(max-width:560px){.classified-card{display:block}.classified-card__image{height:190px;min-height:0}}
@media(max-width:380px){.classified-single__aside>.panel{max-width:calc(100vw - 36px);margin-right:auto}}

.availability-toggle {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-weight: 700;
	cursor: pointer;
}

.working-hours-editor {
	display: grid;
	gap: 10px;
	margin-top: 18px;
}

.working-hours-row {
	display: grid;
	grid-template-columns: minmax(74px, .7fr) minmax(140px, 1fr) minmax(140px, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 10px 12px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--cream);
}

.working-hours-row label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
}

.working-hours-row__day {
	font-size: 14px !important;
	font-weight: 800 !important;
}

.working-hours-row .input {
	min-width: 0;
}

.availability-card {
	margin-top: 14px;
}

.availability-card__status {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #18794e;
	font-size: 14px;
	font-weight: 800;
}

.availability-card__status span {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #e1f4e8;
}

.availability-card__title {
	margin-top: 16px;
	font-size: 16px;
	font-weight: 800;
}

.working-hours-public {
	display: grid;
	gap: 7px;
	margin-top: 10px;
}

.working-hours-public__row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding-bottom: 7px;
	border-bottom: 1px solid var(--line);
	font-size: 14px;
}

.working-hours-public__row:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

@media (max-width: 620px) {
	.working-hours-row {
		grid-template-columns: 1fr 1fr auto;
	}

	.working-hours-row__day {
		grid-column: 1 / -1;
	}
}

.specialist-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.specialist-badges--card {
	flex-wrap: nowrap;
	flex: 0 0 auto;
	gap: 4px;
	margin: 0 0 0 auto;
}

.specialist-badges--single {
	margin-top: 12px;
}

.specialist-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 25px;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--cream);
	color: var(--ink-2);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
}

.specialist-badges--card .specialist-badge--compact {
	position: relative;
	justify-content: center;
	width: 24px;
	height: 24px;
	min-height: 24px;
	padding: 0;
	font-size: 12px;
	cursor: help;
}

.specialist-badges--card .specialist-badge--compact::after {
	content: attr(data-tooltip);
	position: absolute;
	left: 50%;
	top: calc(100% + 8px);
	z-index: 20;
	width: max-content;
	max-width: 210px;
	padding: 6px 9px;
	border-radius: 7px;
	background: var(--ink);
	box-shadow: 0 5px 18px rgba(24, 38, 51, .18);
	color: #fff;
	font-size: 11px;
	font-weight: 650;
	line-height: 1.3;
	white-space: normal;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, -3px);
	transition: opacity .15s ease, transform .15s ease;
}

.specialist-badges--card .specialist-badge--compact:hover::after,
.specialist-badges--card .specialist-badge--compact:focus::after {
	opacity: 1;
	transform: translate(-50%, 0);
}

.specialist-badges--card .specialist-badge--compact:first-child::after {
	left: 0;
	transform: translate(0, -3px);
}

.specialist-badges--card .specialist-badge--compact:last-child:not(:first-child)::after {
	right: 0;
	left: auto;
	transform: translate(0, -3px);
}

.specialist-badges--card .specialist-badge--compact:first-child:hover::after,
.specialist-badges--card .specialist-badge--compact:first-child:focus::after,
.specialist-badges--card .specialist-badge--compact:last-child:not(:first-child):hover::after,
.specialist-badges--card .specialist-badge--compact:last-child:not(:first-child):focus::after {
	transform: translate(0, 0);
}

.specialist-badges--card .specialist-badge--compact:focus-visible {
	outline: 2px solid var(--blue);
	outline-offset: 2px;
}

.specialist-badge--verified {
	background: #e1f4e8;
	color: #18794e;
}

.specialist-badge--featured {
	background: var(--yellow-tint);
	color: #8a6d1e;
}

.specialist-badge--new {
	background: #e6f0fb;
	color: var(--blue-d);
}

.specialist-badge--reviews {
	background: #f5ecff;
	color: #7445a5;
}

.specialist-badge--online {
	background: #e7f7f5;
	color: #13756d;
}

.event-card {
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.event-card__image {
	position: relative;
	display: grid;
	overflow: hidden;
	flex: none;
	place-items: center;
	height: auto;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, var(--blue-tint), var(--yellow-tint));
	color: var(--blue-d);
	font-size: 22px;
	font-weight: 800;
}

.event-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-card__category-badge { position:absolute; z-index:1; top:12px; left:12px; max-width:calc(100% - 24px); overflow:hidden; padding:6px 10px; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(255,255,255,.94); box-shadow:0 3px 10px rgba(24,38,51,.12); color:var(--blue-d); font-size:12px; font-weight:800; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }

.event-card__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px 22px 22px;
	background: #fff;
}

.event-card__meta {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	color: var(--blue-d);
	font-size: 12px;
	font-weight: 750;
	min-height: 18px;
	margin-bottom: 10px;
}

.event-card h2 {
	margin: 0 0 18px;
	font-size: 19px;
	line-height: 1.4;
}

.event-card h2 a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--ink);
	text-decoration: none;
}

.nav-drawer__sep { height: 1px; margin: 8px 0; background: var(--line); }

.event-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: auto;
}

.event-archive {
	padding: 48px 24px 72px;
}

.event-archive__header {
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}

.event-archive__header .display { margin-bottom: 6px; }

.event-catalog { display:grid; grid-template-columns:270px minmax(0,1fr); align-items:start; gap:28px; }
.event-sidebar { position:sticky; top:92px; }
.event-sidebar__filters { display:grid; gap:20px; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.event-sidebar__heading { padding-bottom:14px; border-bottom:1px solid var(--line); }
.event-sidebar__reset { color:var(--blue); font-size:13px; font-weight:700; text-decoration:none; }
.event-filter-field { display:grid; gap:8px; color:var(--ink); font-size:13px; font-weight:750; }
.event-sidebar__filters .ms__panel { max-height:300px; overflow:auto; }
.event-sidebar__filters .ms__opt,
.classified-filters .ms__opt,
.filters .ms__opt { font-weight:400; }
.mobile-filter-toggle { display:none; }
.event-filter-dates { display:grid; gap:12px; }
.event-results { min-width:0; }
.event-results__head { display:flex; align-items:center; min-height:44px; margin-bottom:14px; }

.event-filters {
	display: grid;
	grid-template-columns: minmax(180px, 1.15fr) minmax(150px, .8fr) minmax(150px, .8fr) minmax(190px, 1fr) auto;
	align-items: end;
	gap: 14px;
	margin-bottom: 30px;
	padding: 20px;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
}

.event-filters__heading { align-self: center; }
.event-filters__heading strong { display: block; margin-bottom: 4px; font-size: 17px; color: var(--ink); }
.event-filters__heading span { color: var(--muted); font-size: 13px; }
.event-filter-field { display: grid; gap: 7px; }
.event-filter-field > span { color: var(--ink-2); font-size: 13px; font-weight: 700; }
.event-filter-field .input,
.event-filter-field .select { min-height: 44px; }
.event-filters__actions { display: flex; align-items: center; gap: 12px; min-height: 44px; }
.event-filters__reset { color: var(--blue-d); font-size: 13px; font-weight: 700; text-decoration: none; }
.event-grid { gap: 24px 18px; align-items: stretch; }
.event-archive__empty { padding: 44px 24px; }

@media (max-width: 1050px) {
	.event-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.event-filters__heading { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
	.event-archive { padding-top: 32px; padding-bottom: 56px; }
	.event-archive__header { align-items: flex-start; margin-bottom: 22px; }
	.event-filters { grid-template-columns: 1fr; padding: 16px; margin-bottom: 24px; }
	.event-filters__heading { grid-column: auto; }
	.event-filters__actions { justify-content: space-between; }
}

.event-page {
	padding: 30px 0 76px;
	background: linear-gradient(180deg, #f7fafc 0, var(--cream) 360px, var(--cream) 100%);
}

.event-page__container {
	max-width: 1180px;
}

.event-page__breadcrumb {
	margin-bottom: 18px;
}

.event-page__breadcrumb > span:last-child {
	overflow: hidden;
	max-width: 580px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.event-preview-notice {
	margin-bottom: 18px;
	padding: 13px 16px;
	border: 1px solid #ecd58a;
	border-radius: 13px;
	background: var(--yellow-tint);
	color: #705814;
	font-weight: 700;
}

.event-single {
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(25, 45, 65, .07);
}

.event-single__cover {
	position: relative;
	height: clamp(300px, 39vw, 455px);
	overflow: hidden;
	background: var(--blue-tint);
}

.event-single__cover::after {
	position: absolute;
	inset: auto 0 0;
	height: 38%;
	background: linear-gradient(180deg, transparent, rgba(17, 36, 54, .22));
	content: "";
	pointer-events: none;
}

.event-single__cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-single__cover--placeholder {
	display: grid;
	place-items: center;
	background:
		radial-gradient(circle at 20% 25%, rgba(255, 255, 255, .9) 0 3px, transparent 4px),
		radial-gradient(circle at 78% 66%, rgba(255, 255, 255, .75) 0 4px, transparent 5px),
		linear-gradient(135deg, #dceffc 0%, #edf5ef 48%, #fff2cb 100%);
}

.event-single__cover-mark {
	display: flex;
	align-items: center;
	gap: 15px;
	color: var(--blue-d);
	font-size: clamp(24px, 3vw, 38px);
	font-weight: 850;
	letter-spacing: -.03em;
	opacity: .82;
}

.event-single__cover-mark svg {
	width: 70px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.4;
}

.event-single__cover-tags {
	position: absolute;
	right: 24px;
	bottom: 22px;
	left: 24px;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.event-single__cover-tags > span {
	padding: 8px 13px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 4px 16px rgba(22, 38, 52, .1);
	color: var(--ink);
	font-size: 13px;
	font-weight: 800;
	backdrop-filter: blur(8px);
}

.event-single__cover-tags > .event-single__price-tag {
	background: var(--yellow);
	border-color: var(--yellow);
}

.event-single__body {
	padding: 38px 42px 44px;
}

.event-single__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 28px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--line);
}

.event-single__heading {
	min-width: 0;
}

.event-single__heading h1 {
	max-width: 790px;
	margin: 6px 0 10px;
	font-size: clamp(32px, 4vw, 50px);
	line-height: 1.08;
}

.event-single__eyebrow {
	color: var(--blue-d);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.event-single__byline {
	margin: 0;
	color: var(--muted);
}

.event-single__byline strong {
	color: var(--ink-2);
}

.event-single__title-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: none;
}

.event-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(270px, 330px);
	gap: 42px;
	padding-top: 32px;
}

.event-single__main {
	min-width: 0;
}

.event-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 34px;
}

.event-fact {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 88px;
	padding: 16px;
	border: 1px solid #e5ebef;
	border-radius: 15px;
	background: #f8fafb;
}
.event-fact > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.event-fact__icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--blue-tint);
	color: var(--blue-d);
	flex: none;
}

.event-fact__icon svg,
.event-route-button svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.event-fact strong,
.event-fact span,
.event-fact time,
.event-fact small {
	display: block;
}

.event-fact strong {
	margin-bottom: 5px;
	color: var(--muted);
	font-size: 11px;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.event-fact span,
.event-fact time {
	color: var(--ink);
	font-size: 14px;
	font-weight: 750;
	line-height: 1.35;
}

.event-fact small {
	margin-top: 4px;
	color: var(--muted);
	font-size: 12px;
	line-height: 1.35;
}

.event-section h2,
.event-side-card h2 {
	margin: 0;
	color: var(--ink);
}

.event-section h2 {
	margin-bottom: 16px;
	font-size: 25px;
}

.event-description__text {
	color: var(--ink-2);
	font-size: 16px;
	line-height: 1.75;
}

.event-description__text > :first-child { margin-top: 0; }
.event-description__text > :last-child { margin-bottom: 0; }

.event-single__aside {
	display: grid;
	align-content: start;
	gap: 16px;
}

.event-side-card {
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(25, 45, 65, .05);
}

.event-side-card__kicker {
	display: block;
	margin-bottom: 8px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.event-side-card h2 {
	font-size: 21px;
}

.event-side-card p {
	margin: 8px 0 17px;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.55;
}

.event-route-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.event-action-card {
	display: grid;
	gap: 14px;
	background: linear-gradient(145deg, #f7fbff, #fff);
}

.event-action-card__status {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #267052;
	font-size: 13px;
	font-weight: 750;
}

.event-action-card__status i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #35a36f;
	box-shadow: 0 0 0 4px #e0f4e9;
}

.event-online-link {
	color: var(--blue-d);
	font-size: 14px;
	font-weight: 750;
	text-align: center;
	text-decoration: none;
}

.event-online-link:hover { text-decoration: underline; }

.event-source-link {
	display: inline-flex;
	justify-content: center;
	gap: 6px;
	color: var(--blue-d);
	font-size: 13px;
	font-weight: 700;
}

.event-source-link:hover { text-decoration: underline; }

.event-form {
	display: grid;
	gap: 18px;
}

.add-event-page {
	max-width: 900px;
	padding: 52px 24px 72px;
}

.event-description-editor .wp-editor-wrap {
	border-radius: 11px;
	overflow: hidden;
}

.event-description-editor .mce-toolbar-grp,
.event-description-editor .quicktags-toolbar {
	border-color: var(--line-2);
}

@media (max-width: 700px) {
	.add-event-page { padding-top: 32px; }
	.event-catalog { grid-template-columns:1fr; }
	.event-sidebar { position:static; }
}

.event-form__checks {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.event-owner-list {
	display: grid;
	gap: 9px;
	margin-top: 14px;
}

.event-owner-list > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid var(--line);
}

.event-owner-list > div:last-child {
	border-bottom: 0;
}

.event-owner-list small {
	display: block;
	margin-top: 3px;
	color: var(--muted);
}

.review-count-link {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
	text-underline-offset: 3px;
}

.review-count-link:hover {
	color: var(--blue-d);
	text-decoration-color: currentColor;
}

.event-time-picker {
	cursor: pointer;
	font-variant-numeric: tabular-nums;
}

/* Local Flatpickr skin: shared by event forms, archive filters and work hours. */
.uapro-picker-display,
input.flatpickr-input {
	cursor: pointer;
	font-variant-numeric: tabular-nums;
}

.flatpickr-calendar {
	width: 324px;
	padding: 10px;
	font-family: Manrope, sans-serif;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(24, 38, 51, .18);
}

.flatpickr-calendar::before,
.flatpickr-calendar::after { display: none; }
.flatpickr-months { align-items: center; margin-bottom: 8px; }
.flatpickr-months .flatpickr-month { height: 38px; color: var(--ink); fill: var(--ink); }
.flatpickr-current-month { padding-top: 7px; font-size: 15px; font-weight: 750; }
.flatpickr-current-month .flatpickr-monthDropdown-months { font-weight: 750; }
.flatpickr-weekdays { margin-bottom: 5px; }
span.flatpickr-weekday { color: var(--muted); font-size: 12px; font-weight: 700; }
.flatpickr-days,
.dayContainer { width: 302px; min-width: 302px; max-width: 302px; }
.flatpickr-day { max-width: 43px; height: 40px; line-height: 40px; border-radius: 10px; color: var(--ink); }
.flatpickr-day:hover,
.flatpickr-day:focus { background: var(--blue-tint); border-color: var(--blue-tint); }
.flatpickr-day.today { border-color: var(--blue); color: var(--blue-d); }
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus { background: var(--blue); border-color: var(--blue); color: #fff; }
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month { top: 10px; padding: 9px 12px; border-radius: 9px; }
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover { background: var(--blue-tint); }
.flatpickr-time { height: 54px; max-height: 54px; border-top: 0; }
.flatpickr-calendar.hasTime.noCalendar { width: 190px; padding: 8px 12px; }
.flatpickr-calendar.hasTime.noCalendar .flatpickr-time { border: 0; }
.flatpickr-time input { color: var(--ink); font-family: Manrope, sans-serif; font-size: 17px; font-weight: 700; }
.flatpickr-time .flatpickr-am-pm { display: none; }

@media (max-width: 480px) {
	.flatpickr-calendar { width: 304px; padding: 8px; }
	.flatpickr-days,
	.dayContainer { width: 286px; min-width: 286px; max-width: 286px; }
	.flatpickr-day { max-width: 40px; }
}

.event-language-field {
	grid-column: 1 / -1;
}

@media (max-width: 960px) {
	.event-single__layout {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.event-single__aside {
		grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	}
}

@media (max-width: 700px) {
	.event-page { padding: 18px 0 48px; }
	.event-page__breadcrumb > span:last-child { max-width: 48vw; }
	.event-single { border-radius: 18px; }
	.event-single__cover { height: 260px; }
	.event-single__cover-tags { right: 16px; bottom: 15px; left: 16px; }
	.event-single__body { padding: 24px 19px 28px; }
	.event-single__header { flex-direction: column; gap: 18px; padding-bottom: 23px; }
	.event-single__heading h1 { font-size: clamp(29px, 9vw, 40px); }
	.event-single__title-actions { width: 100%; flex-wrap: wrap; }
	.event-single__layout { padding-top: 24px; }
	.event-facts { grid-template-columns: 1fr; margin-bottom: 28px; }
	.event-fact { min-height: 0; }
	.event-single__aside { grid-template-columns: 1fr; }
	.event-side-card { padding: 19px; }
}

.portfolio-editor-grid,
.portfolio-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}

.portfolio-editor-item,
.portfolio-grid a {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--cream);
	aspect-ratio: 1 / 1;
	align-self: start;
}

.portfolio-editor-item img,
.portfolio-grid img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

.portfolio-editor-item__del {
	position: absolute;
	top: 7px;
	right: 7px;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 9px;
	background: #fff;
	color: #C0613B;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(16,31,43,.28);
	transition: background .15s, color .15s;
}
.portfolio-editor-item__del:hover { background: #C0613B; color: #fff; }
.portfolio-editor-item__mark {
	position: absolute;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(192, 97, 59, .82);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	text-align: center;
}
.portfolio-editor-item.is-removing .portfolio-editor-item__mark { display: flex; }
.portfolio-editor-item.is-removing { outline: 2px solid #C0613B; }

.certificate-editor-list {
	display: grid;
	gap: 9px;
	margin-bottom: 18px;
}

.certificate-editor-list > label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 11px 13px;
	border: 1px solid var(--line);
	border-radius: 11px;
}

.certificate-editor-list small {
	display: block;
	margin-top: 2px;
	color: var(--muted);
}

.verified-certificates {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid var(--line);
}

.verified-certificates ul {
	display: grid;
	gap: 9px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.verified-certificates li {
	display: flex;
	align-items: center;
	gap: 9px;
	font-weight: 650;
}

.verified-certificates li span {
	color: #18794e;
	font-weight: 900;
}

@media (max-width: 620px) {
	.portfolio-editor-grid,
	.portfolio-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.certificate-upload {
		grid-template-columns: 1fr;
	}
}

/* Service news: header bell and slide-over notification centre. */
.notification-bell {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	flex: 0 0 42px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fff;
	color: var(--ink-2);
	cursor: pointer;
	transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.notification-bell:hover,
.notification-bell:focus-visible { border-color: var(--blue); color: var(--blue); background: var(--blue-pale); }
.notification-bell__count {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: #d83b3b;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 16px;
	text-align: center;
}
.notification-bell__count[hidden] { display: none; }
.header-account-link { position: relative; }
.header-account-dot { position: absolute; top: -5px; right: -9px; width: 10px; height: 10px; border: 2px solid #fff; border-radius: 50%; background: #dc3545; box-shadow: 0 1px 4px rgba(132,18,32,.35); }
.notification-bell--mobile { display: none; }
.notifications-backdrop {
	position: fixed;
	inset: 0;
	z-index: 990;
	background: rgba(20, 35, 48, .38);
	backdrop-filter: blur(2px);
}
.notifications-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	width: min(430px, 100vw);
	height: 100dvh;
	background: #fff;
	box-shadow: -18px 0 50px rgba(23, 45, 63, .18);
	transform: translateX(105%);
	visibility: hidden;
	transition: transform .24s ease, visibility .24s;
}
.notifications-open { overflow: hidden; }
.notifications-open .notifications-drawer { transform: translateX(0); visibility: visible; }
.notifications-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 90px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--line);
}
.notifications-drawer__head h2 { margin: 2px 0 0; font-size: 25px; }
.notifications-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: var(--surface-soft, #f4f7f9);
	color: var(--ink);
	font-size: 27px;
	line-height: 1;
	cursor: pointer;
}
.notifications-drawer__body { flex: 1; overflow-y: auto; padding: 18px 20px 32px; }
.notifications-list { display: grid; gap: 12px; }
.notification-item {
	position: relative;
	padding: 17px 18px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: #fff;
}
.notification-item.is-unread { border-color: #b9d6f3; background: #f4f9ff; }
.notification-item.is-unread::before {
	content: '';
	position: absolute;
	top: 20px;
	left: -5px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--blue);
}
.notification-item__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: var(--muted); font-size: 12px; }
.notification-item__meta span { padding: 3px 7px; border-radius: 999px; background: #dcecff; color: var(--blue-dark, #165995); font-weight: 700; }
.notification-item h3 { margin: 0 0 7px; font-size: 17px; line-height: 1.3; }
.notification-item__text { color: var(--ink-2); font-size: 14px; line-height: 1.55; }
.notification-item__text p { margin: 0 0 8px; }
.notification-item__text p:last-child { margin-bottom: 0; }
.notification-item > a { display: inline-flex; gap: 6px; margin-top: 10px; color: var(--blue); font-size: 14px; font-weight: 700; }
.notification-item__read { position:relative; margin-top:12px; padding:7px 11px; border:1px solid var(--blue); border-radius:9px; background:#fff; color:var(--blue); font-weight:700; cursor:pointer; transition:background-color .15s ease, color .15s ease; }
.notification-item__read:hover { background:var(--blue); color:#fff; }
.notification-item__read.is-loading { color:transparent; pointer-events:none; }
.notification-item__read.is-loading::after { content:""; position:absolute; top:50%; left:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border:2px solid rgba(43,108,176,.35); border-top-color:var(--blue); border-radius:50%; animation:uapro-spin .6s linear infinite; }
@keyframes uapro-spin { to { transform:rotate(360deg); } }
/* Buttons/links that show a spinner while the next page loads. */
.btn.is-busy { position:relative; color:transparent!important; pointer-events:none; }
.btn.is-busy::after { content:""; position:absolute; top:50%; left:50%; width:16px; height:16px; margin:-8px 0 0 -8px; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:uapro-spin .6s linear infinite; }
.hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; pointer-events:none!important; }

/* Account forms: keep the usage counter and its secondary action inside a
   narrow phone viewport instead of letting the action run off the right edge. */
@media (max-width: 680px) {
	.classified-account-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
	.classified-account-toolbar > .btn { align-self: stretch; text-align: center; }
	.classified-limit { justify-content: space-between; }
	.classified-limit > span { flex: 1 1 0; min-width: 72px; width: auto; }
}
.notifications-empty { padding: 42px 18px; border: 1px dashed var(--line); border-radius: 16px; text-align: center; }
.notifications-empty strong { display: block; margin-bottom: 7px; font-size: 17px; }
.notifications-empty p { margin: 0 auto 16px; color: var(--muted); font-size: 14px; line-height: 1.55; }

@media (max-width: 1100px) {
	.notification-bell--mobile { display: inline-flex; margin-left: auto; }
}
@media (max-width: 520px) {
	.profile-city-picker__head { display: grid; }
	.profile-city-picker__groups { grid-template-columns: 1fr; }
	.notifications-drawer { width: calc(100vw - 18px); }
	.notifications-drawer__head { padding: 18px; }
	.notifications-drawer__body { padding-inline: 14px; }
}

/* GDPR/ePrivacy consent: reject and accept have equal prominence. */
.cookie-consent { position: fixed; right: 20px; bottom: 20px; z-index: 1200; width: min(480px, calc(100vw - 40px)); padding: 20px; border: 1px solid #cbd9e5; border-radius: 18px; background: #fff; box-shadow: 0 22px 65px rgba(20,38,54,.24); }
.cookie-consent[hidden] { display: none; }
.cookie-consent [hidden], .catalog-map[hidden], [data-catalog-list][hidden] { display: none !important; }
.cookie-consent__intro strong { font-size: 18px; }
.cookie-consent__intro p { margin: 7px 0 0; color: var(--ink-2); font-size: 13px; line-height: 1.55; }
.cookie-consent__choices { display: grid; gap: 8px; margin-top: 15px; }
.cookie-consent__choices label { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; }
.cookie-consent__choices span { display: grid; gap: 2px; }
.cookie-consent__choices small { color: var(--muted); line-height: 1.35; }
.cookie-consent__choices input { width: 19px; height: 19px; accent-color: var(--blue); }
.cookie-consent__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.cookie-settings-link { position: fixed; left: 12px; bottom: 10px; z-index: 800; padding: 6px 9px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.92); color: var(--ink-3); font-size: 11px; cursor: pointer; }
@media (max-width: 600px) {
	.cookie-consent { left: 10px; right: 10px; bottom: 10px; width: auto; padding: 16px; }
	.cookie-consent__actions { display: grid; grid-template-columns: 1fr 1fr; }
	.cookie-consent__actions .btn { min-width: 0; padding: 9px 8px; white-space: normal; line-height: 1.2; }
	.cookie-consent__actions [data-cookie-reject],
	.cookie-consent__actions [data-cookie-save] { grid-column: 1 / -1; }
}

/* Account uploads and PRO map settings. */
.profile-social-promo {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
	padding: 17px 18px;
	border: 1px solid #c7dcf2;
	border-radius: 15px;
	background: linear-gradient(135deg, #f2f8ff, #fff 68%);
}
.profile-social-promo__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--blue); color: #fff; font-size: 19px; }
.profile-social-promo__copy strong { display: block; margin-bottom: 4px; color: var(--ink); }
.profile-social-promo__copy p { margin: 0; color: var(--ink-2); font-size: 13px; line-height: 1.5; }
.profile-social-promo__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.profile-social-promo__links a { padding: 7px 10px; border: 1px solid #bad3ec; border-radius: 9px; background: #fff; color: var(--blue-d); font-size: 12px; font-weight: 750; text-decoration: none; }
.profile-social-promo__links a:hover { border-color: var(--blue); color: var(--blue); }
.profile-social-promo__links .profile-social-promo__contact { border-color: var(--blue); background: var(--blue); color: #fff; }
.profile-social-promo__links .profile-social-promo__contact:hover { background: var(--blue-d); color: #fff; }
.profile-submit-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; margin-top: 20px; box-shadow: var(--shadow); }
.portfolio-upload { margin-top: 22px; display: grid; gap: 14px; }
.portfolio-upload__input { min-height: 52px; padding: 7px; }
.portfolio-upload__input::file-selector-button { border: 0; border-radius: 9px; background: var(--blue-pale); color: var(--blue); font: inherit; font-weight: 700; padding: 9px 14px; margin-right: 12px; cursor: pointer; }
.portfolio-upload__hint { margin-top: 0; align-items: center; gap: 12px 20px; }
.profile-map-settings { margin-top: 22px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fbf8f2; display: grid; gap: 16px; }
.profile-map-settings p { margin: 5px 0 0; font-size: 13px; }
.profile-map-settings__notice { margin: 0 !important; padding: 11px 13px; border-radius: 10px; background: var(--blue-tint); color: var(--ink-2); }
.profile-map-settings__consent { display: block; margin-top: 6px; color: #8a6300; }
.google-place-field { margin-top: 4px; }
/* Google PlaceAutocompleteElement — themed to match .input (white field, brand blue). */
.google-place-field gmp-place-autocomplete {
	display: block;
	width: 100%;
	font-family: var(--font);
	color-scheme: light;
	/* Official Places element CSS custom properties. */
	--gmp-mat-color-surface: #fff;
	--gmp-mat-color-on-surface: var(--ink);
	--gmp-mat-color-on-surface-variant: var(--ink-3);
	--gmp-mat-color-outline: var(--line-2);
	--gmp-mat-color-primary: var(--blue);
	--gmp-mat-color-on-primary: #fff;
	--gmp-mat-color-surface-container-highest: #fff;
	--gmp-mat-color-surface-container: #fff;
	--gmp-mat-color-hover-state-layer: rgba(43, 108, 176, .06);
	--gmp-mat-color-primary-state-layer: rgba(43, 108, 176, .10);
	--gmp-mat-font-body-medium: 500 14px/1.4 var(--font);
	--gmp-mat-shape-corner-medium: var(--radius-sm);
}
/* The element renders its own search icon + border; we only theme colours and
 * the focus ring, and make sure the field's own input has no extra background. */
.google-place-field gmp-place-autocomplete input {
	color: var(--ink);
	background: transparent;
	font: 500 14px var(--font);
}
.google-place-field gmp-place-autocomplete input::placeholder { color: var(--ink-3); }
.google-place-field gmp-place-autocomplete:focus-within {
	border-radius: var(--radius-sm);
	box-shadow: 0 0 0 3px rgba(43, 108, 176, .15);
}
.profile-map-coordinates { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* Catalog list/map view. */
.catalog-view-switch { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.catalog-view-switch button { appearance: none; border: 0; border-radius: 9px; padding: 8px 12px; color: var(--muted); background: transparent; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.catalog-view-switch button.is-active { color: #fff; background: var(--blue); }
.catalog-map { position: relative; min-height: 590px; margin: 18px 0 28px; border: 1px solid var(--line); border-radius: 20px; background: #edf3f5; overflow: hidden; }
.catalog-map__canvas { width: 100%; min-height: 590px; }
.catalog-map__consent { position: absolute; z-index: 500; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: min(440px, calc(100% - 32px)); padding: 24px; border: 1px solid var(--line); border-radius: 18px; text-align: center; background: rgba(255,255,255,.96); box-shadow: 0 14px 38px rgba(22,49,70,.16); }
.catalog-map__consent p { margin: 8px 0 16px; color: var(--muted); font-size: 14px; }
.catalog-map__empty { position: absolute; z-index: 400; left: 50%; bottom: 24px; transform: translateX(-50%); width: min(560px, calc(100% - 32px)); padding: 10px 14px; border-radius: 10px; text-align: center; background: rgba(255,255,255,.92); color: var(--muted); font-size: 13px; }
.leaflet-popup-content a { color: var(--blue); font-weight: 700; }

@media (max-width: 700px) {
	.profile-social-promo { grid-template-columns: auto 1fr; align-items: start; }
	.profile-social-promo__links { grid-column: 1 / -1; justify-content: flex-start; padding-left: 52px; }
	.profile-submit-actions { grid-template-columns: 1fr; padding: 16px; }
	.profile-submit-actions .btn { width: 100%; white-space: normal; }
	.results__bar { align-items: stretch; flex-wrap: wrap; }
	.catalog-view-switch { order: 3; width: 100%; }
	.catalog-view-switch button { flex: 1; }
	.catalog-map, .catalog-map__canvas { min-height: 480px; }
	.profile-map-coordinates { grid-template-columns: 1fr; }
	.portfolio-upload__hint { align-items: flex-start; }
}

/* Google InfoWindow: its inner wrappers otherwise squeeze our card and hyphenate
 * text. Give the popup room and stop word-breaking / button wrapping. */
.gm-style .gm-style-iw-c { padding: 0 !important; border-radius: 14px !important; box-shadow: 0 12px 30px rgba(22,49,70,.2) !important; max-width: none !important; width: auto !important; }
.gm-style .gm-style-iw-d { overflow: hidden !important; padding: 13px 15px !important; max-width: none !important; max-height: none !important; width: auto !important; }
.gm-style .gm-style-iw-c .map-popup { width: 300px; box-sizing: border-box; }
.gm-style .gm-style-iw-c .map-popup__body { min-width: 0; }
.map-popup--noimg { grid-template-columns: 1fr; }
.map-popup, .map-popup * { word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; white-space: normal; }
.map-popup__body > span { line-height: 1.25; }
.map-popup__actions { flex-wrap: nowrap; }
.map-popup__actions a, .map-popup__actions button { white-space: nowrap; padding: 8px 12px; }
/* Remove the empty band Google reserves above the content for the close button:
 * pull the content up and dock a compact close button in the top-right corner. */
.gm-style .gm-style-iw { padding-top: 0 !important; }
.gm-style .gm-style-iw-c { padding-top: 0 !important; }
.gm-style .gm-style-iw-chr { height: 0 !important; margin: 0 !important; }
.gm-style .gm-style-iw-chr .gm-style-iw-ch { padding: 0 !important; height: 0 !important; }
.gm-style .gm-style-iw-c button.gm-ui-hover-effect { top: 6px !important; right: 6px !important; width: 26px !important; height: 26px !important; }
.gm-style .gm-style-iw-c button.gm-ui-hover-effect > span { width: 18px !important; height: 18px !important; margin: 4px !important; }
.map-popup { padding-right: 20px; }

/* One compact mobile filter trigger across catalogue, events and classifieds. */
@media(max-width:800px){
	.mobile-filter-toggle,
	.filters-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; margin:0 0 14px; padding:0 16px; border:1px solid #b9d2ed; border-radius:13px; background:#fff; color:var(--blue-d); box-shadow:0 7px 18px rgba(37,103,174,.08); font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
	.mobile-filter-toggle { grid-column:1 / -1; justify-self:start; }
	.mobile-filter-toggle__icon { font-size:20px; line-height:1; transform:rotate(90deg); }
	.event-catalog:not(.is-filters-open) .event-sidebar,
	.classified-catalog:not(.is-filters-open) .classified-sidebar { display:none; }
	.event-catalog.is-filters-open .event-sidebar,
	.classified-catalog.is-filters-open .classified-sidebar { display:block; animation:uapro-filter-reveal .18s ease-out; }
	.classified-archive__header,
	.event-archive__header { position:relative; min-height:0; padding:17px 18px; }
	.classified-archive__header .display,
	.event-archive__header .display { margin:4px 0 5px; font-size:25px; line-height:1.12; }
	.classified-archive__header .muted,
	.event-archive__header .muted { max-width:none; font-size:13px; line-height:1.42; }
	.classified-archive__header > .btn,
	.archive-add-button { position:static; align-self:flex-end; display:inline-flex; width:auto; min-width:0; height:40px; min-height:40px; margin-top:5px; padding:0 14px; border-radius:11px; font-size:13px; box-shadow:0 7px 18px rgba(37,103,174,.18); }
	.classified-archive__header > .btn::after,
	.archive-add-button::after { content:''; }
}
@keyframes uapro-filter-reveal { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.contact-visibility{margin-top:18px}
.contact-visibility .label{display:block;margin-bottom:10px;text-align:left}
.contact-visibility-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:0}
.contact-visibility-options .checkbox{display:inline-flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
.contact-visibility-options .checkbox input{margin:0}
.contact-visibility-options__public{padding-left:4px}
.contact-visibility-options__pro{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#eef5ff;color:#2161a6;font-size:12px;font-weight:750;white-space:nowrap}
.contact-visibility__hint{margin-top:11px}
.plans-mobile-tabs{display:none}
.account-plan-explainer{margin-top:20px}.account-plan-explainer .h3{margin:0 0 8px}.account-plan-explainer p{max-width:900px;margin:0 0 12px;color:var(--ink-2);line-height:1.6}
@media(max-width:820px){
	.plans-mobile-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-width:420px;margin:0 auto 14px;padding:4px;border:1px solid var(--line);border-radius:14px;background:#fff}
	.plans-mobile-tabs button{min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--ink-2);font:inherit;font-weight:700;cursor:pointer}
	.plans-mobile-tabs button.is-active{background:var(--blue-tint);box-shadow:inset 0 0 0 1px var(--blue);color:var(--blue)}
	.plans-tabs-ready .plans-grid [data-plan-card]{display:none}
	.plans-tabs-ready .plans-grid [data-plan-card].is-active{display:flex}
}
.classified-contact-box{display:grid;gap:10px;margin-top:2px;padding:20px!important}
.classified-contact-box__head{display:flex;align-items:flex-start!important;justify-content:space-between!important;gap:14px}
.classified-contact-box__head .label{display:block;margin-bottom:3px}
.classified-contact-box__head small{display:block;line-height:1.45}
.classified-contact-box__status{display:inline-flex;align-items:center;flex:none;padding:4px 9px;border:1px solid;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2}
.classified-contact-box__status.is-saved{border-color:#9bd4b3;background:#eaf8ef;color:#176d42}
.classified-contact-box__status.is-empty{border-color:#d9c694;background:#fff7df;color:#816019}
.classified-contact-box>.label{margin:3px 0 -3px}
.classified-contact-box__actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:11px!important;margin-top:3px}
.classified-contact-box__actions .btn{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding-inline:12px}
.classified-contact-box__actions small{font-size:12px;line-height:1.4;color:var(--ink-3)}
.messages-toolbar{justify-content:flex-start;margin:0 0 16px}
.messages-toolbar__admin{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px;border-radius:11px;box-shadow:0 8px 18px rgba(37,103,174,.2)}
.messages-toolbar__icon{display:inline-flex;width:23px;height:23px;align-items:center;justify-content:center;border-radius:7px;background:rgba(255,255,255,.2)}
.messages-toolbar--bottom{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line)}
a.is-current-link{cursor:default;pointer-events:none;text-decoration:none}
.messages-toolbar__admin-link{display:inline-flex;align-items:center;gap:7px;color:var(--ink-3);font-size:13px;font-weight:650;text-decoration:none}
.messages-toolbar__admin-link:hover{color:var(--blue-d);text-decoration:underline;text-underline-offset:3px}
.messages-toolbar__admin-link .messages-toolbar__icon{width:21px;height:21px;background:var(--blue-tint);color:var(--blue)}
.contacts-admin-message{display:flex;align-items:center;gap:9px;margin:-6px 0 20px;padding:11px 13px;border:1px solid #c9def2;border-radius:11px;background:var(--blue-tint);color:var(--blue-d);font-size:14px;font-weight:700;text-decoration:none}
.contacts-admin-message:hover{border-color:var(--blue);background:#e3f0fc}
.contacts-admin-message--guest{color:var(--ink-2);background:var(--cream);border-color:var(--line)}
.contacts-admin-message--guest:hover{color:var(--blue-d)}
.profile-services-hub{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 20px;padding:20px 22px;border:1px solid #c7dff4;border-radius:17px;background:linear-gradient(120deg,#f0f7fe,#fff)}
.profile-services-hub__eyebrow{margin-bottom:4px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.profile-services-hub h2{margin:0 0 6px;font-size:21px}
.profile-services-hub p{max-width:720px;margin:0;color:var(--ink-2);font-size:14px;line-height:1.55}
.profile-services-hub__stats{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.profile-services-hub__stats span{padding:4px 8px;border-radius:999px;background:#fff;color:var(--ink-2);font-size:12px;font-weight:650;box-shadow:inset 0 0 0 1px #d8e5f1}
.profile-services-hub__action{display:inline-flex;align-items:center;gap:7px;flex:none;white-space:nowrap}
body.nav-open{overflow:hidden}
.nav-drawer{right:0!important;left:auto!important;width:min(360px,100vw)!important;max-width:100vw!important;overflow:hidden;box-shadow:-16px 0 34px rgba(16,31,43,.18)}
.nav-drawer--structured .nav-drawer__account-menu{padding-right:0}
.nav-drawer__section summary{padding-right:18px}
@media(max-width:560px){.classified-contact-box{padding:16px!important}.classified-contact-box__head{align-items:flex-start!important;flex-direction:column}.classified-contact-box__actions{align-items:flex-start!important;flex-direction:column}.messages-toolbar{margin-bottom:13px}.messages-toolbar__admin{width:100%;justify-content:center}.profile-services-hub{align-items:flex-start;flex-direction:column;padding:18px}.profile-services-hub__action{width:100%;justify-content:center}}
.rubric-banners{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.rubric-banners__label{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.rubric-banner{display:block;max-width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--cream);line-height:0;transition:box-shadow .15s,border-color .15s}
.rubric-banner:hover{border-color:var(--blue);box-shadow:0 8px 20px rgba(16,31,43,.12)}
.rubric-banner__img{display:block;width:100%;height:auto}
.account-banner .radio{font-size:14px;color:var(--ink-2);cursor:pointer}
.account-extras{margin-bottom:26px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.account-extras__toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;list-style:none;font-weight:800;font-size:16px;color:var(--ink);user-select:none}
.account-extras__toggle::-webkit-details-marker{display:none}
.account-extras__toggle:hover{background:var(--cream)}
.account-extras__title{display:inline-flex;align-items:center;gap:10px}
.account-extras__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--blue);color:#fff;font-size:16px}
.account-extras__chevron{flex:none;color:var(--ink-3);transition:transform .2s}
.account-extras[open] .account-extras__chevron{transform:rotate(180deg)}
.account-extras__body{display:flex;flex-direction:column;gap:16px;padding:4px 20px 20px}
.account-extra{padding:18px 20px;border:1px solid var(--line);border-radius:13px;background:var(--cream)}
.account-extra__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:6px}
.account-extra__title{margin:0;font-size:17px}
.account-extra__desc{margin:0 0 16px;font-size:14px;line-height:1.55}
.account-extra__actions{display:flex;flex-wrap:wrap;gap:9px}
.account-extra .radio{font-size:14px;color:var(--ink-2);cursor:pointer}
.plan-active-state{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 16px;border:1px solid #b7e2ca;border-radius:14px;background:var(--green-tint);text-align:center}
.plan-active-state strong{font-size:18px;color:var(--ink)}
.plan-active-state span{font-size:13px;color:var(--ink-2)}
.plan-active-state .pro-label{margin-bottom:2px;color:#fff}
.char-counter{margin-top:5px;font-size:12px;color:var(--ink-3);text-align:right}
.char-counter.is-limit{color:#B4452A;font-weight:700}
.working-hours-row__apply{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border:1px solid var(--line-2);border-radius:9px;background:#fff;color:var(--blue-d);cursor:pointer;padding:0}
.working-hours-row__apply:hover{border-color:var(--blue);background:var(--blue-tint)}
.specialist-bio > p{margin:0 0 12px}
.specialist-bio > p:last-child{margin-bottom:0}
.specialist-bio ul,.specialist-bio ol{margin:0 0 12px;padding-left:22px}
.specialist-bio li{margin-bottom:4px}
.specialist-bio blockquote{margin:0 0 12px;padding:8px 14px;border-left:3px solid var(--line-2);background:var(--cream);border-radius:0 8px 8px 0;color:var(--ink-2)}
.specialist-bio strong,.specialist-bio b{color:var(--ink);font-weight:700}
body.uapro-lb-open{overflow:hidden}
.uapro-lb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(12,18,28,.92);opacity:0;transition:opacity .18s}
.uapro-lb.is-open{display:flex;opacity:1}
.uapro-lb__stage{margin:0;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.uapro-lb__img{max-width:92vw;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 24px 60px -20px rgba(0,0,0,.7);background:#0c121c}
.uapro-lb__counter{color:#dfe6ee;font-size:13px;font-weight:600;letter-spacing:.03em}
.uapro-lb__close{position:absolute;top:18px;right:20px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer;transition:background .15s}
.uapro-lb__close:hover{background:rgba(255,255,255,.24)}
.uapro-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:34px;line-height:1;cursor:pointer;transition:background .15s}
.uapro-lb__nav:hover{background:rgba(255,255,255,.24)}
.uapro-lb__prev{left:20px}
.uapro-lb__next{right:20px}
@media(max-width:620px){.uapro-lb__nav{width:44px;height:44px;font-size:28px}.uapro-lb__prev{left:8px}.uapro-lb__next{right:8px}.uapro-lb__close{top:10px;right:10px}}
.ad-slot{margin-top:16px}
.ad-slot__label{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.ad-slot__frame{position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--cream)}
.ad-slot__frame > *{max-width:100%}
.ad-slot__frame img,.ad-slot__frame iframe,.ad-slot__frame ins{display:block;width:100%;height:100%;object-fit:cover;border:0}
.faq-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start;max-width:1120px;margin:0 auto}
.faq-search{position:relative;margin-bottom:22px}
.faq-search__icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--ink-3)}
.faq-search__input{width:100%;padding:14px 16px 14px 44px;border:1px solid var(--line);border-radius:13px;background:#fff;font:inherit;font-size:15px}
.faq-search__input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-tint)}
.faq-empty{padding:20px;text-align:center;color:var(--ink-3)}
.faq-aside{position:sticky;top:90px;display:flex;flex-direction:column;gap:16px}
.faq-cta{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.faq-cta--register{border-color:#c7dff4;background:linear-gradient(135deg,#f0f7fe,#fff)}
.faq-cta--search{border-color:#cdeadd;background:linear-gradient(135deg,#eefaf3,#fff)}
.faq-cta strong{display:block;font-size:16px;margin-bottom:6px;color:var(--ink)}
.faq-cta p{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.acc__body a{color:var(--blue-d);font-weight:650;text-decoration:underline;text-underline-offset:2px}
.acc__body a:hover{color:var(--blue)}
@media(max-width:900px){.faq-layout{grid-template-columns:1fr}.faq-aside{position:static;flex-direction:row;flex-wrap:wrap}.faq-aside>*{flex:1 1 240px}}
@media(max-width:560px){.faq-aside{flex-direction:column}}
/* First-party contact / report forms with tabs */
.contacts-tabs__nav{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 22px;border-bottom:1px solid var(--line,#e6e4df)}
.contacts-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:10px 4px;margin-bottom:-1px;font-size:14.5px;font-weight:600;color:var(--ink-2,#6a6a6a);cursor:pointer;line-height:1.3}
.contacts-tab:hover{color:var(--ink,#1d2327)}
.contacts-tab.is-active{color:var(--blue,#2271b1);border-bottom-color:var(--blue,#2271b1)}
.contacts-tab-panel{display:none}
.contacts-tab-panel.is-active{display:block}
.site-form .field{display:block;margin-bottom:16px}
.site-form .field__label{display:block;margin-bottom:6px;font-size:13.5px;font-weight:600;color:var(--ink,#1d2327)}
.site-form input[type=text],.site-form input[type=email],.site-form input[type=url],.site-form textarea{width:100%;box-sizing:border-box;padding:11px 13px;border:1px solid var(--line,#d9d6cf);border-radius:10px;font-size:15px;font-family:inherit;background:#fff}
.site-form textarea{min-height:130px;resize:vertical}
.site-form input:focus,.site-form textarea:focus{outline:none;border-color:var(--blue,#2271b1);box-shadow:0 0 0 3px rgba(34,113,177,.12)}
.site-form .btn{margin-top:4px}
.illegal-report .notice{border-radius:10px}
@media (max-width:560px){.contacts-tab{font-size:13.5px}}

/* Contact Form 7 inside the theme field markup */
.contacts-grid__form .wpcf7-form-control-wrap{display:block}
.contacts-grid__form .field .wpcf7-form-control-wrap{margin-top:6px}
.contacts-grid__form .field>.label+.wpcf7-form-control-wrap{margin-top:6px}
.contacts-grid__form .wpcf7 .field{gap:0}
.contacts-grid__form .wpcf7 .field .label{margin-bottom:6px}
.contacts-grid__form .wpcf7 input.input,.contacts-grid__form .wpcf7 select.select,.contacts-grid__form .wpcf7 textarea.textarea{width:100%}
.contacts-grid__form .wpcf7 textarea.textarea{min-height:150px;resize:vertical}
.contacts-grid__form .wpcf7 .checkbox{display:flex;align-items:flex-start;gap:9px;margin:18px 0 4px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.contacts-grid__form .wpcf7 .checkbox .wpcf7-list-item{margin:0;display:inline}
.contacts-grid__form .wpcf7 .checkbox input[type=checkbox]{margin-top:2px;flex:none;width:17px;height:17px}
.contacts-grid__form .wpcf7 .btn{margin-top:18px}
.contacts-grid__form .wpcf7-not-valid-tip{color:#B4452A;font-size:12px;margin-top:4px}
.contacts-grid__form .wpcf7-not-valid{border-color:#B4452A!important}
.contacts-grid__form .wpcf7-response-output{margin:18px 0 0!important;padding:12px 15px!important;border-radius:11px!important;border:1px solid var(--line)!important;font-size:14px}
.contacts-grid__form .wpcf7-mail-sent-ok{border-color:#b7e2ca!important;background:var(--green-tint)!important;color:#187044!important}
.contacts-grid__form .wpcf7-validation-errors,.contacts-grid__form .wpcf7-mail-sent-ng{border-color:#E0B4A6!important;background:var(--red-tint)!important;color:#B4452A!important}
.contacts-grid__form .wpcf7-spinner{margin:0 0 0 10px}

/* ---------- Collaboration blocks (looking for staff / partnership) ---------- */
.collab-blocks { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; margin: 20px 0; }
.collab-card { position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-radius: var(--radius); border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow-sm); transition: transform .15s ease, box-shadow .15s ease; }
.collab-card__ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; font-size: 24px; line-height: 1; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.collab-card strong { display: block; font-size: 16px; line-height: 1.3; color: var(--ink); margin-bottom: 4px; }
.collab-card p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ink-2); }
.collab-card--staff { background: var(--blue-tint); border-color: transparent; box-shadow: inset 3px 0 0 var(--blue), var(--shadow-sm); }
.collab-card--staff .collab-card__ico { background: #fff; box-shadow: inset 0 0 0 1px rgba(43,108,176,.18); }
.collab-card--partner { background: var(--green-tint); border-color: transparent; box-shadow: inset 3px 0 0 var(--green), var(--shadow-sm); }
.collab-card--partner .collab-card__ico { background: #fff; box-shadow: inset 0 0 0 1px rgba(31,122,92,.18); }
.collab-card--placeholder { border-style: dashed; border-color: var(--line-2); background: var(--cream); box-shadow: none; }
.collab-card--placeholder strong { color: var(--ink-2); }
.collab-card--placeholder .collab-card__ico { background: #fff; box-shadow: inset 0 0 0 1px var(--line-2); opacity: .9; }

/* ---------- Profile activity: own events & classifieds ---------- */
.profile-activity { margin-top: 0; }
.profile-activity--placeholder { border: 1px dashed var(--line-2); background: var(--cream); }
/* Unified invite/claim preview placeholder: icon + title + description. */
.preview-placeholder { display: flex; gap: 16px; align-items: flex-start; border: 1px dashed var(--line-2); background: var(--cream); box-shadow: none; }
.preview-placeholder__ico { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; flex: none; font-size: 24px; line-height: 1; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.preview-placeholder__body { min-width: 0; }
.preview-placeholder__body h2 { margin: 0 0 4px; }
.preview-placeholder__body p { margin: 0; }
.activity-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; margin-top: 12px; }
.activity-card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; color: inherit; text-decoration: none; box-shadow: var(--shadow-sm); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.activity-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--line-2); }
.activity-card:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.activity-card__thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, var(--blue-tint), var(--cream)); }
.activity-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.activity-card:hover .activity-card__thumb img { transform: scale(1.04); }
.activity-card__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; flex: 1; }
.activity-card__meta { font-size: 12px; font-weight: 700; letter-spacing: .01em; color: var(--blue-d); }
.activity-card__title { font-weight: 700; font-size: 14px; line-height: 1.35; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.activity-card__price { margin-top: auto; padding-top: 2px; font-weight: 800; font-size: 14px; color: var(--green); }

/* ---------- Claim-preview placeholder contact rows ---------- */
.contact-row--placeholder { opacity: .85; }
.contact-row--placeholder .contact-row__ico { background: var(--cream); color: var(--ink-3); }

/* ---------- Suggest an idea (profile editor) ---------- */
.idea-box__toggle { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 650; color: var(--blue-d); list-style: none; }
.idea-box__toggle::-webkit-details-marker { display: none; }
.idea-box[open] .idea-box__toggle { margin-bottom: 12px; }
.idea-box__form textarea { border: 1px solid var(--line-2); border-radius: 10px; padding: 10px 12px; font: inherit; resize: vertical; }
.idea-box__form textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-tint); }
.idea-box__status { font-size: 13px; font-weight: 650; }
.idea-box__status.is-success { color: var(--green); }
.idea-box__status.is-error { color: var(--red); }

/* ---------- Client request form ---------- */
.request-forms > h2 { margin-bottom: 4px; }
.request-booking { margin: 10px 0 4px; }
.request-booking__cal { display: flex; justify-content: center; }
.request-booking__cal .flatpickr-calendar.inline { box-shadow: none; border: 1px solid var(--line); border-radius: 14px; }
.request-booking__hint { font-size: 12.5px; margin: 10px 0 0; line-height: 1.45; }
.request-form__full { display: grid; gap: 6px; }
.request-form { display: grid; gap: 16px; max-width: 620px; }
.request-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; align-items: end; }
.request-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 650; letter-spacing: .01em; color: var(--ink-2); }
.request-form input, .request-form select, .request-form textarea { width: 100%; padding: 11px 13px; border: 1px solid var(--line-2); border-radius: 10px; background: #fff; font: inherit; color: var(--ink); transition: border-color .15s ease, box-shadow .15s ease; }
.request-form input::placeholder, .request-form textarea::placeholder { color: var(--ink-3); }
.request-form textarea { min-height: 108px; resize: vertical; line-height: 1.5; }
.request-form input:hover, .request-form select:hover, .request-form textarea:hover { border-color: var(--ink-3); }
.request-form input:focus, .request-form select:focus, .request-form textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-tint); }
.request-form .btn { margin-top: 4px; justify-self: start; }
.request-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Free slots ---------- */
.slot-list { display: flex; flex-wrap: wrap; gap: 10px; }
.slot-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--green-tint); box-shadow: inset 0 0 0 1px rgba(31,122,92,.14); color: var(--ink); font-size: 14px; font-weight: 700; }
.slot-chip__time { color: var(--green); }
.slot-chip__note { font-weight: 400; color: var(--ink-2); }
.slot-chip__online { font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--blue-d); padding: 2px 7px; border-radius: 999px; background: var(--blue-tint); }
.slot-chip__del { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; margin: -2px -4px -2px 0; border: none; border-radius: 999px; background: rgba(31,122,92,.10); color: var(--ink-3); cursor: pointer; font-size: 12px; line-height: 1; transition: background-color .15s ease, color .15s ease; }
.slot-chip__del:hover { background: var(--red); color: #fff; }
.slot-chip__del:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
.slot-chip--pick { border: none; cursor: pointer; font: inherit; transition: box-shadow .15s ease, transform .15s ease; }
.slot-chip--pick:hover { box-shadow: inset 0 0 0 1px var(--green), 0 3px 10px rgba(31,122,92,.18); transform: translateY(-1px); }
.slot-chip--pick:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.request-form label.request-form__any { display: flex; align-items: center; gap: 8px; margin-top: 2px; font-size: 14px; font-weight: 600; color: var(--ink-2); cursor: pointer; }
.request-form label.request-form__any input { width: auto; margin: 0; flex: none; }
[data-booking-when-picker] { align-items: end; }
.sp-booking-hint { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; padding: 8px 15px; border-radius: 999px; background: var(--yellow-tint); box-shadow: inset 0 0 0 1px rgba(246,197,68,.4); color: #8A6D1E; font-weight: 700; font-size: 14px; text-decoration: none; transition: box-shadow .15s ease, transform .15s ease; }
a.sp-booking-hint:hover { box-shadow: inset 0 0 0 1px var(--yellow), 0 3px 10px rgba(246,197,68,.28); transform: translateY(-1px); }
a.sp-booking-hint:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }
.sp-booking-hint--placeholder { background: var(--cream); box-shadow: none; border: 1px dashed var(--line-2); color: var(--ink-3); font-weight: 600; }
.free-slots-board { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.free-slot-card { position: relative; display: flex; flex-direction: column; gap: 5px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); text-decoration: none; color: inherit; overflow: hidden; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.free-slot-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--green); opacity: 0; transition: opacity .15s ease; }
.free-slot-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--line-2); }
.free-slot-card:hover::before { opacity: 1; }
.free-slot-card:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.free-slot-card__time { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: var(--green); font-size: 14px; }
.free-slot-card__name { font-weight: 700; font-size: 15px; line-height: 1.3; color: var(--ink); }
.free-slot-card__prof { font-size: 13px; color: var(--ink-2); }
.free-slot-card__note { margin-top: 2px; font-size: 13px; line-height: 1.4; color: var(--ink-2); }

/* ---------- Useful information ---------- */
.useful-block--placeholder { border: 1px dashed var(--line-2); background: var(--cream); }
.useful-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.useful-item { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); text-decoration: none; color: var(--ink); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.useful-item:hover { transform: translateY(-2px); border-color: var(--line-2); box-shadow: var(--shadow); }
.useful-item:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.useful-item__ico { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex: none; font-size: 19px; line-height: 1; border-radius: 10px; background: var(--blue-tint); box-shadow: inset 0 0 0 1px rgba(43,108,176,.12); }
.useful-item__label { min-width: 0; font-size: 14px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.useful-item--file .useful-item__ico { background: var(--green-tint); box-shadow: inset 0 0 0 1px rgba(31,122,92,.14); }
.useful-item--link .useful-item__label::after { content: "↗"; margin-left: 5px; font-size: 12px; color: var(--ink-3); }

/* ---------- Request forms: flash, required marker, hint, disabled/preview ---------- */
.request-forms > h2 { margin-bottom: 14px; }
.request-forms__flash { background: var(--green-tint); color: var(--green); border-radius: 12px; margin: 0 0 14px; padding: 12px 16px; font-weight: 600; }
.req-mark { color: var(--red, #C0392B); font-weight: 700; }
.request-form__hint { margin: -4px 0 0; font-size: 12.5px; }
.request-form input:disabled,
.request-form select:disabled,
.request-form textarea:disabled { background: var(--cream); color: var(--ink-3); cursor: not-allowed; -webkit-text-fill-color: var(--ink-3); }
.request-form input:disabled::placeholder,
.request-form textarea:disabled::placeholder { color: var(--ink-3); }
.btn:disabled, .btn[disabled] { opacity: .55; cursor: not-allowed; box-shadow: none; filter: none; }
.btn:disabled:hover, .btn[disabled]:hover { filter: none; }

/* ---------- Cabinet: profile section anchor nav ---------- */
html { scroll-behavior: smooth; }
/* Parks just below the 70px sticky site-header on desktop. */
.profile-anchor-nav { position: sticky; top: 78px; z-index: 20; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 20px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.92); backdrop-filter: blur(6px); box-shadow: var(--shadow-sm); }
.profile-anchor-nav a { padding: 6px 13px; border-radius: 999px; font-size: 13px; font-weight: 650; color: var(--ink-2); text-decoration: none; transition: color .15s ease, background-color .15s ease; }
.profile-anchor-nav a:hover { color: var(--blue-d); background: var(--blue-tint); }
.profile-anchor-nav a.is-current { color: #fff; background: var(--blue); }
.profile-anchor-nav a:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.account-main section[id] { scroll-margin-top: 140px; }
#booking { scroll-margin-top: 140px; }
@media (max-width: 620px) {
  .profile-anchor-nav { position: static; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
  .profile-anchor-nav a { white-space: nowrap; }
}

/* ---------- Cabinet: booking time-mode toggle ---------- */
.booking-mode-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.radio-tile { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--line-2); border-radius: var(--radius); background: #fff; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
.radio-tile:hover { border-color: var(--blue); }
.radio-tile.is-active { border-color: var(--blue); background: var(--blue-tint); box-shadow: inset 0 0 0 1px var(--blue); }
.radio-tile input { margin-top: 3px; flex: none; }
.radio-tile span { display: grid; gap: 3px; }
.radio-tile strong { font-size: 14px; color: var(--ink); }
.radio-tile small { font-size: 12.5px; line-height: 1.4; color: var(--ink-2); }
@media (max-width: 620px) { .booking-mode-toggle { grid-template-columns: 1fr; } }

/* ---------- Cabinet: free-slots manager (calendar + fields) ---------- */
.slots-manager .slot-form { display: grid; grid-template-columns: minmax(0, 320px) 1fr; gap: 22px; align-items: start; }
.slot-form__cal { min-width: 0; }
.slot-form__cal .flatpickr-calendar.inline { box-shadow: none; border: 1px solid var(--line); border-radius: 14px; width: 100%; max-width: 320px; }
.slot-form__fields { display: grid; gap: 14px; align-content: start; }
.slot-form__fields .field { display: grid; gap: 6px; }
.slot-form__fields .checkbox { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.slot-form__fields .btn { justify-self: start; }
@media (max-width: 620px) {
  .slots-manager .slot-form { grid-template-columns: 1fr; }
  .slot-form__cal .flatpickr-calendar.inline { max-width: none; }
}

/* ---------- Repeater: useful links & files (add via "+") ---------- */
.repeater__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.repeater__head .label { margin: 0; }
.repeater__list { display: grid; gap: 10px; margin: 8px 0 12px; }
.repeater__row { display: grid; grid-template-columns: 1fr 1.6fr auto; gap: 10px; align-items: center; }
.repeater__row--file { grid-template-columns: 1fr auto; }
.repeater__del { flex: none; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line-2); border-radius: 10px; background: #fff; color: var(--ink-3); font-size: 15px; cursor: pointer; transition: color .15s ease, border-color .15s ease, background-color .15s ease; }
.repeater__del:hover { color: var(--red, #C0392B); border-color: var(--red, #C0392B); background: #fff5f3; }
.repeater__del:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.repeater__add { margin-top: 2px; }
.repeater__add:disabled { opacity: .5; cursor: not-allowed; }
.useful-file-row { display: flex; align-items: center; gap: 8px; font-size: 14px; margin-bottom: 6px; }
@media (max-width: 560px) {
  .repeater__row { grid-template-columns: 1fr auto; }
  .repeater__row input[type="url"] { grid-column: 1 / -2; }
}

/* ---------- Cabinet: incoming requests list + status accents ---------- */
.request-list { display: grid; gap: 14px; }
.request-list .request-item { margin-bottom: 0 !important; border-left: 3px solid var(--line-2); }
.request-item--new { border-left-color: var(--blue); }
.request-item--confirmed { border-left-color: var(--green); }
.request-item--proposed { border-left-color: var(--yellow-d); }
.request-item--declined, .request-item--done { border-left-color: var(--line-2); opacity: .78; }

@media (max-width: 620px) {
  .request-form__row { grid-template-columns: 1fr; }
}
@media (max-width: 460px) {
  .free-slots-board, .useful-grid { grid-template-columns: 1fr; }
}

/* ---------- Invite claim: accept form (sleek email/password fields) ---------- */
.claim-form { margin-top: 16px; }
.claim-form__hint { margin: 0 0 14px; font-size: 13.5px; line-height: 1.5; }
.claim-form__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 560px; }
.claim-field { display: grid; gap: 7px; }
.claim-field__label { font-size: 13px; font-weight: 650; letter-spacing: .01em; color: var(--ink-2); }
.claim-field__input { width: 100%; padding: 13px 15px; border: 1.5px solid var(--line-2); border-radius: 12px; background: #fff; font: inherit; font-size: 15px; color: var(--ink); box-shadow: 0 1px 2px rgba(20,20,20,.03); transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
.claim-field__input::placeholder { color: var(--ink-3); }
.claim-field__input:hover { border-color: var(--blue); }
.claim-field__input:focus { outline: none; border-color: var(--blue); background: #fff; box-shadow: 0 0 0 3px rgba(43,108,176,.16); }
.claim-form__actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 18px; }
@media (max-width: 560px) { .claim-form__fields { grid-template-columns: 1fr; } }
.claim-form__hint-em { color: var(--ink); font-weight: 700; }

/* ---------- Cabinet: QR + business card tools ---------- */
.card-tools { display: flex; gap: 22px; align-items: flex-start; flex-wrap: wrap; }
.card-tools__qr { flex: none; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.card-tools__qr img { display: block; width: 150px; height: 150px; }
.card-tools__actions { flex: 1; min-width: 240px; display: grid; gap: 10px; align-content: start; }
.card-tools__actions .input { max-width: 100%; }
@media (max-width: 560px) { .card-tools { gap: 16px; } }

/* ---------- Specialist FAQ (editor + public) ---------- */
.faq-editor__list { display: grid; gap: 12px; margin: 4px 0 12px; }
.faq-editor__row { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "q del" "a del"; gap: 8px 10px; align-items: start; }
.faq-editor__row input[name="faq_q[]"] { grid-area: q; font-weight: 600; }
.faq-editor__row textarea[name="faq_a[]"] { grid-area: a; resize: vertical; min-height: 56px; }
.faq-editor__row .repeater__del { grid-area: del; align-self: center; }
.faq-block .faq-list { display: grid; gap: 10px; }
.faq-item { border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; }
.faq-item__q { list-style: none; cursor: pointer; padding: 14px 44px 14px 16px; font-weight: 700; font-size: 15px; color: var(--ink); position: relative; }
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__q::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 20px; font-weight: 400; color: var(--ink-3); transition: transform .15s ease; }
.faq-item[open] .faq-item__q::after { content: "−"; }
.faq-item__q:hover { color: var(--blue-d); }
.faq-item__a { padding: 0 16px 15px; font-size: 14px; line-height: 1.55; color: var(--ink-2); }

/* ---------- Peer recommendations ---------- */
.sp-recommend-bar { margin: 16px 0 0; }
.recommend-form { display: inline-flex; }
.recommend-btn { display: inline-flex; align-items: center; gap: 7px; }
.recommend-btn.is-active { box-shadow: inset 0 0 0 1px var(--green); }
.recommendations .rec-avatars { display: flex; flex-wrap: wrap; gap: 16px 14px; }
.rec-avatar { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 76px; text-decoration: none; color: var(--ink-2); transition: transform .15s ease; }
.rec-avatar:hover { transform: translateY(-2px); color: var(--blue-d); }
.rec-avatar .avatar, .rec-avatar img, .rec-avatar .avatar--sm { width: 52px !important; height: 52px !important; border-radius: 50% !important; overflow: hidden; box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--line-2); }
.rec-avatar__name { font-size: 12px; font-weight: 600; line-height: 1.25; text-align: center; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
/* Overlapping avatar stack for quality-rating recommenders. */
.rec-stack { display: flex; align-items: center; margin-top: 12px; padding-left: 6px; }
.rec-stack__avatar { width: 34px !important; height: 34px !important; min-width: 34px; border-radius: 50% !important; margin-left: -6px; box-shadow: 0 0 0 2px #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px !important; font-weight: 700; overflow: hidden; }
.rec-stack__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.rec-stack__more { margin-left: 8px; font-size: 13px; font-weight: 600; color: var(--ink-3); }
.about-soon__badge--live { background: var(--green-tint); color: var(--green); }

/* ---------- Blog TL;DR (answer-ready summary for readers + AI) ---------- */
.blog-tldr { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 22px; padding: 16px 18px; border-left: 3px solid var(--blue); background: var(--blue-tint); border-radius: 12px; }
.blog-tldr__label { flex: none; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-d); padding-top: 2px; }
.blog-tldr p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink); }

/* PRO over-limit (grandfathered) content marks in the profile editor. */
.pro-overlimit-note { margin: 0 0 12px; padding: 9px 12px; border: 1px solid #f0e2b8; border-radius: 10px; background: var(--yellow-tint); color: #8a6d1e; font-size: 12.5px; line-height: 1.45; }
.faq-editor__row.is-overlimit, .repeater__row.is-overlimit { position: relative; }
.faq-editor__row.is-overlimit input, .faq-editor__row.is-overlimit textarea,
.repeater__row.is-overlimit input, .repeater__row.is-overlimit textarea { background: #fbf7ec; border-color: #ecdfb4; }
/* Sits in the row's top-right corner instead of taking a grid cell. */
.pro-lock-tag { position: absolute; top: 4px; right: 44px; z-index: 2; display: inline-flex; align-items: center; gap: 3px; padding: 2px 7px; border: 1px solid #e4b947; border-radius: 999px; background: #fff4cf; color: #795600; font-size: 10.5px; font-weight: 700; white-space: nowrap; pointer-events: none; }

/* Back-to-top floating button (shown after scrolling down). */
.back-to-top { position: fixed; right: 20px; bottom: 20px; z-index: 900; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--blue-d); box-shadow: 0 10px 30px -12px rgba(20,38,54,.4); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
.back-to-top:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.back-to-top svg { width: 22px; height: 22px; }
@media (max-width: 620px) { .back-to-top { right: 12px; bottom: 12px; width: 42px; height: 42px; } }
@media (prefers-reduced-motion: reduce) { .back-to-top { transition: opacity .2s ease, visibility .2s; transform: none; } }

/* Highlight the primary-city field so it stands out from the city checklist. */
.profile-primary-city { margin: 0 0 18px; padding: 14px 16px; border: 1.5px solid var(--blue); border-radius: 13px; background: var(--blue-tint); }
.profile-primary-city > .label { color: var(--blue-d); font-weight: 750; }
.profile-primary-city > .label::before { content: "📍 "; }
.profile-primary-city .field__hint { margin-top: 8px; color: var(--ink-2); }

/* Profile editor floating save bar (unsaved-changes indicator). */
.profile-savebar { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%) translateY(8px); z-index: 850; display: flex; align-items: center; gap: 14px; max-width: calc(100vw - 24px); padding: 10px 12px 10px 18px; border: 1px solid var(--line); border-radius: 999px; background: #fff; box-shadow: 0 14px 40px -12px rgba(20,38,54,.4); opacity: 0; visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.profile-savebar.is-dirty { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.profile-savebar__status { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 650; color: var(--ink-2); white-space: nowrap; }
.profile-savebar__dot { width: 9px; height: 9px; flex: none; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 3px rgba(246,197,68,.25); }
.profile-savebar .btn { white-space: nowrap; }
@media (max-width: 560px) {
  .profile-savebar { left: 12px; right: 12px; bottom: 12px; transform: translateY(8px); justify-content: space-between; padding: 9px 10px 9px 14px; border-radius: 16px; }
  .profile-savebar.is-dirty { transform: translateY(0); }
  .profile-savebar__status { font-size: 12px; }
}

/* Stock photo credit + event original title. */
.event-single__cover { position: relative; }
.photo-credit { position: absolute; right: 8px; bottom: 8px; z-index: 2; max-width: calc(100% - 16px); padding: 3px 9px; border-radius: 999px; background: rgba(15,26,36,.62); color: #fff; font-size: 11px; line-height: 1.3; backdrop-filter: blur(3px); }
.photo-credit a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.event-single__orig { margin: 2px 0 0; color: var(--ink-3); font-size: 15px; font-style: italic; }

/* Event quick-filter toggles (free / online). */
.event-filter-toggles { display: flex; flex-direction: column; gap: 8px; margin: 4px 0 2px; }
.event-filter-toggle { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink); cursor: pointer; }
.event-filter-toggle input { width: 17px; height: 17px; accent-color: var(--blue); flex: none; }

/* Event "who it's for / what it solves" value blocks. */
.event-value { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 26px; }
.event-value__col { padding: 18px 20px; border: 1px solid var(--line); border-radius: 15px; background: #f8fafb; }
.event-value__col h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 16px; color: var(--ink); }
.event-value__ico { font-size: 18px; line-height: 1; }
.event-value__col ul { margin: 0; padding-left: 18px; }
.event-value__col li { margin: 0 0 6px; font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
.event-related { margin-top: 40px; }
.event-related__title { margin: 0 0 18px; font-size: 24px; }
@media (max-width: 680px) { .event-value { grid-template-columns: 1fr; gap: 12px; } }

/* ==== Single event: compact hero + filters sidebar ==== */
.event-back-link { display:inline-flex; align-items:center; gap:7px; margin:-4px 0 18px; color:var(--blue-d); font-size:14px; font-weight:750; text-decoration:none; }
.event-back-link:hover { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.event-back-link > span { font-size:16px; line-height:1; }

/* Single-event page reuses the archive catalog grid: [filters] [content]. */
.event-single-wrap { margin-top:0; }
.event-single-wrap .event-single { min-width:0; }

/* Hero: a larger image on the left that fills the full height of the intro,
   so it never looks like a small crop stranded beside empty space. */
.event-single__hero { display:grid; grid-template-columns:minmax(340px,42%) minmax(0,1fr); align-items:stretch; gap:0; }
.event-single__media { position:relative; overflow:hidden; background:var(--blue-tint); min-height:340px; }
.event-single__media .event-single__photo,
.event-single__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.event-single__media::after { position:absolute; inset:auto 0 0; height:44%; background:linear-gradient(180deg,transparent,rgba(17,36,54,.28)); content:""; pointer-events:none; }
.event-single__media--placeholder { display:grid; place-items:center; min-height:340px; background:radial-gradient(circle at 22% 26%,rgba(255,255,255,.9) 0 3px,transparent 4px),radial-gradient(circle at 78% 66%,rgba(255,255,255,.75) 0 4px,transparent 5px),linear-gradient(135deg,#dceffc 0%,#edf5ef 48%,#fff2cb 100%); }
.event-single__media--placeholder::after { display:none; }
.event-single__media .event-single__cover-tags { position:absolute; right:14px; bottom:13px; left:14px; z-index:1; display:flex; flex-wrap:wrap; gap:8px; }
.event-single__media .photo-credit { right:8px; bottom:8px; }

.event-single__intro { display:flex; flex-direction:column; justify-content:center; gap:16px; padding:28px 34px; }
.event-single__intro .event-single__header { padding-bottom:16px; }
.event-single__intro .event-single__heading h1 { margin:5px 0 8px; font-size:clamp(26px,2.4vw,36px); line-height:1.12; }

/* Fact chips row inside the hero. */
.event-chips { display:flex; flex-wrap:wrap; gap:10px; }
.event-chip { display:inline-flex; align-items:center; gap:9px; padding:9px 14px 9px 10px; border:1px solid #e2e9ee; border-radius:12px; background:#f8fafb; color:var(--ink); font-size:14px; font-weight:700; line-height:1.3; }
.event-chip__icon { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--blue-tint); color:var(--blue-d); flex:none; }
.event-chip__icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.event-chip__text small { color:var(--muted); font-size:12px; font-weight:600; }

/* Body under the hero: description + aside keep the two-column layout. */
.event-single-wrap .event-single__body { padding:26px 34px 34px; }
.event-single-wrap .event-single__body .event-single__layout { padding-top:24px; border-top:1px solid var(--line); }

@media (max-width:960px) {
	.event-single__hero { grid-template-columns:minmax(280px,40%) minmax(0,1fr); }
	.event-single__media, .event-single__media--placeholder { min-height:280px; }
	.event-single__intro { padding:24px 24px; }
}

@media (max-width:680px) {
	.event-single__hero { grid-template-columns:1fr; }
	.event-single__media,
	.event-single__media--placeholder { min-height:0; aspect-ratio:16/9; max-height:340px; }
	.event-single__intro { padding:20px 20px 4px; }
	.event-single-wrap .event-single__body { padding:20px 20px 26px; }
}

/* "Become a specialist" CTA card in the blog sidebar. */
.blog-single__aside .specialist-cta-card { margin-top: 16px; border-color: transparent; background: var(--yellow-tint); box-shadow: inset 3px 0 0 var(--yellow-d), var(--shadow-sm); }
.blog-single__aside .specialist-cta-card strong { display: block; margin-bottom: 6px; }

/* =================================================================
   Mobile hardening — touch usability & iOS Safari
   ================================================================= */

/* iOS Safari zooms the page in when a focused form control has a
   font-size below 16px. Force 16px on all text-entry controls at
   touch widths so focusing an input never triggers an auto-zoom.
   Desktop keeps its tighter 14px sizing (rule scoped to <=860px). */
@media (max-width: 860px) {
  .input, .textarea, .select,
  input[type="text"], input[type="email"], input[type="tel"],
  input[type="url"], input[type="password"], input[type="search"],
  input[type="number"], input[type="date"], input[type="time"],
  textarea, select,
  .faq-search__input,
  .wpcf7 input.input, .wpcf7 select.select, .wpcf7 textarea.textarea,
  .error-report__field input, .error-report__field textarea,
  .content-report .textarea,
  #commentform input[type="text"], #commentform input[type="email"],
  #commentform input[type="url"], #commentform textarea {
    font-size: 16px;
  }
  /* The messages composer intentionally stays compact but must not zoom. */
  .msg .content-report .textarea { font-size: 16px; }
}

/* Larger, finger-friendly tap area for the header language switch
   without changing its visual chip size on desktop. */
@media (max-width: 860px) {
  .lang-switch { gap: 6px; }
  .lang-switch span,
  .lang-switch a { min-height: 40px; min-width: 44px; display: inline-flex;
    align-items: center; justify-content: center; padding: 6px 12px; }
}

/* Info tooltip triggers (plan/service) get a comfortable 28px hit area
   on touch while keeping the small circular badge look. */
@media (max-width: 860px) {
  .plan-info, .service-info { min-width: 28px; min-height: 28px; }
}

/* Footer navigation links: taller tap area on touch. The visual list keeps
   its rhythm because the extra height is padding, and margin is trimmed to
   compensate so column length barely changes. */
@media (max-width: 860px) {
  .footer-col a { padding: 9px 0; margin-bottom: 2px; }
}

/* Home hero search-mode segmented control: comfortable tap height on touch. */
@media (max-width: 860px) {
  .home-search__modes button { min-height: 38px; padding: 8px 14px; }
}

/* Impressum image mode: loader shown until the AJAX image arrives. */
.impressum-async { min-height: 220px; }
.impressum-loader { display: flex; align-items: center; gap: 12px; justify-content: center; min-height: 200px; color: var(--ink-3); font-size: 14px; }
.impressum-spinner { width: 26px; height: 26px; border-radius: 50%; border: 3px solid var(--line); border-top-color: var(--blue); animation: uapro-spin .8s linear infinite; flex: none; }
.impressum-image-slot { animation: uapro-impressum-in .35s ease both; }
@keyframes uapro-impressum-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Small social action under a moderated review. */
.review__actions{display:flex;align-items:center;margin-top:10px}
.review__actions form{margin:0}
.review__helpful{display:inline-flex;align-items:center;gap:5px;border:0;background:#f0f6ff;color:#2668a9;border-radius:999px;padding:6px 10px;font:600 12px/1.1 inherit;text-decoration:none;cursor:pointer}
.review__helpful:hover,.review__helpful:focus{background:#e2effc;color:#164f87}
.review__helpful.is-voted{background:#e5f6ed;color:#19734f;cursor:default}

/* Catalog result actions remain readable without competing with sorting. */
.results__bar{justify-content:flex-start;align-items:center;gap:10px;margin-bottom:22px}
.results__bar>.muted{font-size:15px}
.catalog-save-search{order:-1;margin:0}
.catalog-save-search .btn{min-height:40px;padding-inline:14px;white-space:nowrap;border-color:#d7cbb8;background:#fffdf9;color:var(--ink)}
.catalog-save-search .btn:hover{border-color:var(--blue);background:var(--blue-tint);color:var(--blue)}
.results__bar .catalog-view-switch{margin-left:auto}
.results__bar .sort-form{margin:0}
@media (max-width:860px){
	.results__bar{display:flex;align-items:stretch;gap:9px;margin-bottom:18px}
	.results__bar>.muted{flex:0 0 100%;padding:1px 2px}
	.catalog-save-search{order:2;flex:0 0 100%;margin:0}
	.catalog-save-search .btn{width:100%;justify-content:center;min-height:42px}
	.catalog-view-switch{order:3;flex:1;width:auto;margin-left:0!important}
	.catalog-view-switch button{flex:1;padding:9px 8px}
	.results__bar .sort-form{order:4;flex:1;min-width:0;width:auto}
	.results__bar .sort-form .select{width:100%;min-width:0!important;height:42px}
}

/* Category SEO landing text (bottom of archive) */
.catalog-seo-body{margin:44px 0 72px;padding-top:32px;border-top:1px solid var(--line,#e8e8ef)}
/* Home-page variant: centered, sits at the very bottom under the FAQ. */
.home-seo-wrap .catalog-seo-body{margin:8px auto 64px}
.home-seo-wrap .catalog-seo-body__in{max-width:860px;margin:0 auto}
.catalog-seo-body__in{max-width:820px;color:var(--muted-ink,#4a4a55);font-size:15px;line-height:1.7}
.catalog-seo-body__in h2{font-size:20px;font-weight:800;color:var(--ink,#1a1a22);margin:26px 0 10px}
.catalog-seo-body__in h3{font-size:17px;font-weight:700;color:var(--ink,#1a1a22);margin:20px 0 8px}
.catalog-seo-body__in p{margin:0 0 14px}
.catalog-seo-body__in ul,.catalog-seo-body__in ol{margin:0 0 14px;padding-left:20px}
.catalog-seo-body__in li{margin:0 0 6px}
.catalog-seo-body__in a{color:var(--brand,#2b6cff);text-decoration:underline}

/* Collapsible SEO body */
.catalog-seo-body__more{display:inline-flex;align-items:center;gap:5px;margin-top:14px;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;color:var(--muted-ink,#7a7a85);font-weight:400;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;width:auto}
.catalog-seo-body__more::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s;margin-bottom:2px}
.catalog-seo-body.is-open .catalog-seo-body__more::after{transform:rotate(-135deg);margin-top:3px}
.catalog-seo-body__more:hover{color:var(--brand,#2b6cff)}

/* Slim, dismissible site-wide notice bar directly under the header */
.topbar-notice{background:linear-gradient(135deg,#f3faf5,#fffdf5);border-bottom:1px solid #cfe0d4}
.topbar-notice__in{max-width:var(--container,1200px);margin:0 auto;padding:8px 24px;display:flex;align-items:center;gap:12px}
.topbar-notice__text{flex:1 1 auto;color:#1c5c3c;font-size:13.5px;line-height:1.4}
.topbar-notice__close{flex:none;background:none;border:0;font-size:20px;line-height:1;color:#3a7a56;cursor:pointer;padding:0 4px}
.topbar-notice__close:hover{color:#1c5c3c}
@media(max-width:600px){.topbar-notice__in{padding:8px 16px}.topbar-notice__text{font-size:12.5px}}

/* ---- Catalog card bottom zone (single, tidy system) ----
   Card is a flex column (base .sp-card). The meta row is the first element of
   the bottom group and grabs the remaining space (margin-top:auto), so cards
   with and without a description line up their footers at the same height.
   Meta row = language chips (left) + verified/online badges (right) on ONE row.
   Footer = rating (left) + actions (right). Clean, aligned, no floating gaps. */
.sp-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;      /* push the whole bottom group down for equal-height cards */
  margin-bottom:14px;
  min-height:26px;      /* reserve height so cards without badges don't jump */
}
.sp-card__langs{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
}
.lang.lang--code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  line-height:1;
}
/* Badges sit on the right of the meta row, aligned with the chips. */
.sp-card__meta .specialist-badges--card{
  flex:none;
  margin:0;
  gap:6px;
  align-self:center;
}
/* Footer pins to the bottom. When a meta row exists it already took the auto
   space, so the footer sits right under it; otherwise the footer itself grabs
   the remaining space and stays pinned to the card bottom. */
.sp-card > .sp-card__foot{margin-top:auto}
.sp-card__meta ~ .sp-card__foot{margin-top:0}

/* ---- Whole-card click → profile (stretched link) ----
   The name link stretches an invisible overlay across the entire card, so
   clicking anywhere "dead" (profession, location, background) opens the
   profile. Genuinely interactive controls (buttons, favorite, review count)
   are lifted above the overlay so they keep their own behavior. */
.sp-card{position:relative}
.sp-card__name::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.sp-card:hover{border-color:var(--blue,#2b6cff)}
.sp-card__prof,.sp-card__loc{cursor:pointer}
/* Controls and secondary links stay clickable above the stretched overlay. */
.sp-card__foot-actions,
.sp-card .favorite-button,
.sp-card .review-count-link,
.sp-card .specialist-badge--compact,
.sp-card__avatar-link,
.sp-card__desc{position:relative;z-index:2}
