/*
 * GaDo Art - базов слой (PLAN раздел 5).
 * Токени, reset, типография, контейнери, бутони, .entry-content,
 * хедър, мобилно меню, плаващ бутон, заглавна лента, футър.
 * Макет: makets/final/Header.dc.html, Footer.dc.html, pravni.1440.obshti-usloviya.html.
 */

/* ---------- Токени ---------- */
:root {
	--gado-bg:#F5F2EA; --gado-bg-2:#EFEBE1; --gado-sand:#E7E3D7; --gado-line:#DDD5C6; --gado-line-2:#CFC6B5;
	--gado-dark:#1A1612; --gado-text:#36241A; --gado-muted:#6E6259; --gado-gold:#C9A06A; --gado-bronze:#A87E45;
	--gado-gold-dark:#8C6A3C; --gado-gold-light:#E2C79C; --gado-sep:#3A3127; --gado-err:#B3261E;
	--gado-serif:'Cormorant Garamond',serif; --gado-sans:Commissioner,sans-serif;
	--gado-container:1200px; --gado-narrow:720px; --gado-gutter:clamp(20px,4vw,56px); --gado-radius:14px; --gado-pill:20px;

	--gado-header-h:72px;
}

/* ---------- Reset ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--gado-header-h) + 16px);
	/* lang="bg-BG" включва OpenType locl (българските форми на к/п/т/в/ж) в Commissioner и Cormorant;
	   макетът е одобрен със стандартните форми. Селектор със собствен font-feature-settings
	   трябва да носи и "locl" 0 (стойността не се наследява по части). */
	font-feature-settings: "locl" 0;
}

body {
	margin: 0;
	background: var(--gado-bg);
	color: var(--gado-text);
	font-family: var(--gado-sans);
	font-size: 16px;
	/* line-height: normal като в макета; 1.6 е само за .entry-content (PLAN раздел 5) */
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}

img,
svg,
video,
iframe { max-width: 100%; }

img,
video { height: auto; display: block; }

h1, h2, h3, h4, h5, h6, p, figure, blockquote { margin: 0; }

a { color: var(--gado-dark); }
a:hover { color: var(--gado-gold-dark); }

button,
input,
select,
textarea { font: inherit; color: inherit; }

/* locl изключен и в контролите. Отделно правило с !important: съкращението font: (UA стиловете и
   dvb-front.css на плъгина, напр. „font: 500 15px var(--dvb-sans)") връща font-feature-settings
   на normal, а класовите селектори на плъгина бият елементния селектор на темата. Темата не задава
   никъде друга стойност на това свойство, така че !important не потиска нищо наше. */
button,
input,
select,
textarea,
.dvb-booking *,
.dvb-schedule * { font-feature-settings: "locl" 0 !important; }
/* .dvb-* *: същото съкращение е и върху не-контроли на плъгина („Изход" a.dvb-sch-logout,
   .dvb-sch-type__opt span „Час"/„Блок", .dvb-sch-hello__name); плъгинът не задава това свойство. */

button { cursor: pointer; }

[hidden] { display: none !important; }

:focus-visible { outline: 2px solid var(--gado-dark); outline-offset: 3px; }

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

/* ---------- Достъпност ---------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	position: fixed; /* fixed вместо absolute (раздел 5): извън потока, без хоризонтален скрол */
	top: 0;
	left: 0;
	white-space: nowrap;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	width: auto;
	height: auto;
	margin: 0;
	top: 8px;
	left: 8px;
	z-index: 100;
	padding: 12px 18px;
	background: #fff;
	color: var(--gado-dark);
	font-size: 15px;
	border-radius: var(--gado-pill);
	text-decoration: none;
}

/* ---------- Контейнери ---------- */
.gado-container {
	width: 100%;
	max-width: calc(var(--gado-container) + 2 * var(--gado-gutter));
	margin-inline: auto;
	padding-inline: var(--gado-gutter);
}

.gado-narrow {
	width: 100%;
	max-width: var(--gado-narrow);
	margin-inline: auto;
	padding-inline: 20px;
}

.gado-page-body {
	padding-top: clamp(40px, 5vw, 72px);
	padding-bottom: clamp(72px, 9vw, 120px);
}

/* ---------- Бутони ---------- */
.gado-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 24px;
	border-radius: var(--gado-pill);
	border: 1px solid var(--gado-dark);
	background: var(--gado-dark);
	color: #fff;
	font-family: var(--gado-sans);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.gado-btn:hover {
	background: transparent;
	color: var(--gado-dark);
}

.gado-btn:focus-visible {
	outline: 2px solid var(--gado-dark);
	outline-offset: 3px;
}

.gado-btn--outline {
	background: transparent;
	border-color: currentColor;
	color: var(--gado-dark);
	font-weight: 400;
}

.gado-btn--outline:hover {
	background: var(--gado-dark);
	border-color: var(--gado-dark);
	color: #fff;
}

/* Outline върху тъмен фон (лента „Екип" и др.) */
.gado-btn--outline.gado-btn--on-dark { color: var(--gado-sand); }
.gado-btn--outline.gado-btn--on-dark:hover { background: var(--gado-sand); border-color: var(--gado-sand); color: var(--gado-dark); }
.gado-btn--on-dark:focus-visible { outline-color: var(--gado-sand); }

.gado-btn--gold {
	background: var(--gado-gold);
	border-color: var(--gado-gold);
	color: var(--gado-dark);
}

.gado-btn--gold:hover {
	background: transparent;
	color: var(--gado-gold);
}

.gado-btn--gold:focus-visible { outline-color: var(--gado-gold); }

.gado-btn[disabled],
.gado-btn[aria-disabled="true"] { opacity: .45; pointer-events: none; }

/* ---------- Типография на съдържанието (.entry-content) ---------- */
.entry-content {
	font-size: 17px;
	line-height: 1.6;
	color: var(--gado-text);
}

.entry-content > * + * { margin-top: 1.1em; }

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	font-family: var(--gado-serif);
	font-weight: 500;
	line-height: 1.15;
	color: var(--gado-dark);
	text-wrap: balance;
}

.entry-content h1 { font-size: 48px; font-weight: 400; }
.entry-content h2 { font-size: 36px; }
.entry-content h3 { font-size: 24px; }
.entry-content h4 { font-size: 20px; }

.entry-content > h1:not(:first-child),
.entry-content > h2:not(:first-child) { margin-top: 1.6em; }
.entry-content > h3:not(:first-child),
.entry-content > h4:not(:first-child) { margin-top: 1.4em; }
.entry-content h1 + *,
.entry-content h2 + *,
.entry-content h3 + *,
.entry-content h4 + * { margin-top: .6em; }

.entry-content p { text-wrap: pretty; }

.entry-content a { color: var(--gado-dark); text-underline-offset: 3px; }
.entry-content a:hover { color: var(--gado-gold-dark); }

.entry-content ul,
.entry-content ol { margin-bottom: 0; padding-left: 1.4em; }
.entry-content li + li { margin-top: .4em; }
.entry-content ul li::marker { color: var(--gado-bronze); }
.entry-content ol li::marker { color: var(--gado-bronze); font-weight: 500; }

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.5;
}

.entry-content .wp-block-table { overflow-x: auto; }

.entry-content th,
.entry-content td {
	padding: 12px 12px 12px 0;
	border-bottom: 1px solid var(--gado-line);
	text-align: left;
	vertical-align: top;
}

.entry-content thead th {
	font-weight: 500;
	color: var(--gado-dark);
	border-bottom-color: var(--gado-line-2);
}

.entry-content blockquote {
	padding: 4px 0 4px 24px;
	border-left: 2px solid var(--gado-gold);
	font-family: var(--gado-serif);
	font-style: italic;
	font-size: 24px;
	line-height: 1.4;
	color: var(--gado-dark);
}

.entry-content blockquote cite {
	display: block;
	margin-top: 8px;
	font-family: var(--gado-sans);
	font-style: normal;
	font-size: 14px;
	color: var(--gado-muted);
}

.entry-content img,
.entry-content figure img { border-radius: var(--gado-radius); }

.entry-content figure { max-width: 100%; }

.entry-content figcaption {
	margin-top: 8px;
	font-size: 14px;
	color: var(--gado-muted);
}

.entry-content hr {
	border: 0;
	border-top: 1px solid var(--gado-line);
	margin-block: 2em;
}

.entry-content strong { font-weight: 600; color: var(--gado-dark); }

/* ---------- Карта „Администратор / търговец" (правните страници) ----------
   Макет: pravni.1440.obshti-usloviya.html, pravni.390.poveritelnost.html (над „1. ...", 36px отстъп). */
.gado-legal-card {
	margin-bottom: 36px;
	padding: 18px 20px;
	border-radius: var(--gado-radius);
	background: #fff;
	border: 1px solid var(--gado-line);
	font-size: 15px;
	line-height: 1.5;
	color: var(--gado-text);
}

.gado-legal-card__label {
	margin: 0 0 12px; /* 6px отстъп + 6px ред в решетката на макета */
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--gado-gold-dark);
}

.gado-legal-card__list {
	margin: 0;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 6px 20px;
}

.gado-legal-card__list dt { color: var(--gado-muted); }
.gado-legal-card__list dd { margin: 0; min-width: 0; }
.gado-legal-card__value--strong { font-weight: 500; color: var(--gado-dark); }

@media (max-width: 899px) {
	.entry-content { font-size: 16px; }
	.entry-content h1 { font-size: 36px; }
	.entry-content h2 { font-size: 28px; }
}

/* ---------- Хедър ---------- */
.gado-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	height: var(--gado-header-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 0 var(--gado-gutter);
	background: transparent;
	transition: background-color .3s ease;
	font-family: var(--gado-sans);
}

.gado-header.is-scrolled,
.gado-solid-header .gado-header { background: var(--gado-dark); }

.admin-bar .gado-header,
.admin-bar .gado-mobile-menu { top: 32px; }

@media (max-width: 782px) {
	.admin-bar .gado-header,
	.admin-bar .gado-mobile-menu { top: 46px; }
}

.gado-logo {
	font-family: var(--gado-serif);
	font-size: 28px;
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1.1;
	color: var(--gado-gold);
	text-decoration: none;
	white-space: nowrap;
}

.gado-logo:hover { color: var(--gado-gold); }
.gado-logo:focus-visible { outline-color: var(--gado-gold); }

.gado-header__nav {
	display: none;
	align-items: center;
	gap: 36px;
}

.gado-header__menu {
	display: flex;
	align-items: center;
	gap: 36px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gado-header__menu a {
	color: #fff;
	text-decoration: none;
	font-size: 15px;
}

.gado-header__menu a:hover {
	color: var(--gado-sand);
	text-decoration: underline;
	text-underline-offset: 6px;
}

.gado-header__menu a:focus-visible { outline-color: #fff; }

.gado-burger {
	width: 44px;
	height: 44px;
	margin-right: -10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 7px;
	padding: 0;
	background: none;
	border: 0;
}

.gado-burger span {
	display: block;
	width: 24px;
	height: 1.5px;
	background: #fff;
}

.gado-burger:focus-visible { outline-color: #fff; }

@media (min-width: 900px) {
	.gado-header__nav { display: flex; }
	.gado-burger { display: none; }
	.gado-mobile-menu { display: none !important; }
}

/* ---------- Мобилно меню (цял екран) ---------- */
.gado-mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 60;
	display: flex;
	flex-direction: column;
	padding: 0 20px 32px;
	background: var(--gado-dark);
	color: #fff;
	font-family: var(--gado-sans);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.gado-mobile-menu__top {
	min-height: var(--gado-header-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: none;
}

.gado-mobile-menu__close {
	width: 44px;
	height: 44px;
	margin-right: -10px;
	padding: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 30px;
	font-weight: 300;
	line-height: 1;
}

.gado-mobile-menu__close:focus-visible { outline-color: #fff; }

.gado-mobile-menu__nav {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 40px;
	flex: 1 0 auto;
}

.gado-mobile-menu__nav a {
	padding: 8px 0;
	border-bottom: 1px solid var(--gado-sep);
	font-family: var(--gado-serif);
	font-size: 40px;
	line-height: 1.2;
	color: #fff;
	text-decoration: none;
}

.gado-mobile-menu__nav a:hover,
.gado-mobile-menu__nav a[aria-current="page"] { color: var(--gado-gold-light); }
.gado-mobile-menu__nav a:focus-visible { outline-color: #fff; }

.gado-mobile-menu__cta {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin-top: 32px;
	border-radius: 26px;
	background: var(--gado-gold);
	color: var(--gado-dark);
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
}

.gado-mobile-menu__cta:hover { background: var(--gado-gold-light); color: var(--gado-dark); }
.gado-mobile-menu__cta:focus-visible { outline-color: var(--gado-gold); }

/* ---------- Плаващ бутон ---------- */
.gado-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 40;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 22px 0 18px;
	border-radius: 26px;
	background: var(--gado-dark);
	color: #fff;
	text-decoration: none;
	font-family: var(--gado-sans);
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
	box-shadow: 0 8px 24px rgba(26, 22, 18, .28);
	transition: opacity .25s ease, transform .25s ease, visibility .25s, background-color .2s ease, color .2s ease;
}

.gado-float:hover {
	background: #fff;
	color: var(--gado-dark);
}

.gado-float:focus-visible {
	outline: 2px solid var(--gado-dark);
	outline-offset: 3px;
}

.gado-float.is-hidden,
.gado-menu-open .gado-float {
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	pointer-events: none;
}

.gado-no-float .gado-float { display: none; }

/* ---------- Заглавна лента ---------- */
.gado-page-title {
	background: var(--gado-sand);
	padding: calc(var(--gado-header-h) + clamp(48px, 6vw, 88px)) var(--gado-gutter) clamp(32px, 4vw, 56px);
}

.gado-page-title__inner {
	max-width: var(--gado-narrow);
	margin: 0 auto;
	padding-inline: 20px; /* като .gado-narrow - заглавието е подравнено с текста */
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.gado-page-title__h1 {
	margin: 0;
	font-family: var(--gado-serif);
	font-weight: 400;
	font-size: clamp(34px, 4vw, 52px);
	line-height: 1.08;
	color: var(--gado-dark);
	text-wrap: balance;
}

.gado-page-title__sub {
	margin: 0;
	font-size: 14px;
	color: var(--gado-muted);
}

/* Основната (720px) лента е подравнена като .gado-narrow: само вътрешен отстъп 20px */
.gado-page-title:not(.gado-page-title--wide):not(.gado-page-title--xl) { padding-inline: 0; }

/* Десктоп (макет pravni.1440): заглавието, „В сила от" и котвите стоят на пълните 720px (при 1440 от 360),
   навътре с 20px са само картата и текстът (.gado-narrow). Под 761px остава отстъпът 20px.
   Котвите (template-parts/legal-nav.php) са извън лентата и имат собствен <style> след base.css -
   затова селекторът е с два класа. 728px + 4px отстъп = съдържание 720px, а 4px оставят място
   за focus пръстена (overflow-x: auto реже), както margin -4px / padding 4px в макета. */
@media (min-width: 761px) {
	.gado-page-title:not(.gado-page-title--wide):not(.gado-page-title--xl) .gado-page-title__inner { padding-inline: 0; }
	.gado-legal-nav .gado-legal-nav__list { max-width: calc(var(--gado-narrow) + 8px); padding-inline: 4px; }
}

/* Варианти като „Услуги и цени" (960px) и „Екипът" (1100px) */
.gado-page-title--wide,
.gado-page-title--xl { padding-bottom: clamp(40px, 5vw, 72px); }
.gado-page-title--wide .gado-page-title__inner { max-width: 960px; gap: 14px; padding-inline: 0; }
.gado-page-title--xl .gado-page-title__inner { max-width: 1100px; gap: 14px; padding-inline: 0; }
.gado-page-title--wide .gado-page-title__h1,
.gado-page-title--xl .gado-page-title__h1 { font-size: clamp(36px, 4vw, 56px); line-height: 1.05; }
.gado-page-title--wide .gado-page-title__sub,
.gado-page-title--xl .gado-page-title__sub { font-size: 15px; line-height: 1.6; color: var(--gado-text); }

.gado-404 { display: flex; justify-content: flex-start; }

/* ---------- Футър ---------- */
.gado-footer {
	--gado-footer-muted: #C4B294;
	background: var(--gado-dark);
	color: var(--gado-sand);
	padding: 80px var(--gado-gutter) 28px;
	font-family: var(--gado-sans);
	font-size: 15px;
	line-height: 1.7;
}

.gado-footer a { color: var(--gado-sand); text-decoration: none; }
.gado-footer a:hover { color: #fff; text-decoration: underline; }
.gado-footer a:focus-visible { outline-color: var(--gado-sand); }

.gado-footer__grid {
	max-width: var(--gado-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 48px;
}

@media (min-width: 900px) {
	.gado-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.gado-footer__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	min-width: 0;
}

.gado-footer__logo {
	font-family: var(--gado-serif);
	font-size: 34px;
	line-height: 1.1;
	color: var(--gado-gold);
	margin-bottom: 12px;
}

.gado-footer__menu {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gado-footer__label {
	margin: 0 0 12px;
	font-family: var(--gado-sans);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--gado-footer-muted);
}

.gado-footer__phone {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.gado-footer__phone span {
	font-size: 13px;
	color: var(--gado-footer-muted);
}

.gado-footer .gado-footer__phone a {
	color: #fff;
	font-size: 18px;
}

.gado-footer__col--hours { gap: 6px; }
.gado-footer__col--hours .gado-footer__label { margin-bottom: 16px; }

.gado-footer__hours {
	width: calc(100% + 32px);
	margin: -10px -16px;
	border-collapse: separate;
	border-spacing: 16px 10px;
	font-size: 14px;
	line-height: 1.45;
	text-align: left;
}

.gado-footer__hours th,
.gado-footer__hours td {
	padding: 0;
	vertical-align: top;
	font-weight: 400;
}

.gado-footer__hours thead th {
	color: var(--gado-gold);
	font-weight: 500;
}

.gado-footer__hours thead td,
.gado-footer__hours tbody th {
	width: 1%;
	white-space: nowrap;
	color: var(--gado-footer-muted);
}

.gado-footer__hours td span { display: block; }

.gado-footer__bottom {
	max-width: var(--gado-container);
	margin: 64px auto 0;
	padding-top: 24px;
	border-top: 1px solid var(--gado-sep);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	font-size: 13px;
	color: var(--gado-footer-muted);
}

.gado-footer__legal-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gado-footer .gado-footer__legal-menu a { color: var(--gado-footer-muted); }
.gado-footer .gado-footer__legal-menu a:hover { color: #fff; }
