/*
Theme Name: VV Transfer Base
Description: Лека базова тема за сайтовете за трансфери. Всяка марка е дъщерна тема с собствена визия.
Version: 1.0.0
Author: Vivabook
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: vv-transfer-base
*/

/* Компоненти, общи за всички марки. Цветовете и шрифтовете идват от theme.json на дъщерната тема. */

:root {
	--vv-radius: 10px;
	--vv-line: var(--wp--preset--color--line, #d5dee6);
	--vv-ink: var(--wp--preset--color--ink, #172033);
	--vv-soft: var(--wp--preset--color--soft, #f4f6fa);
	--vv-cta: var(--wp--preset--color--cta, #172033);
	--vv-cta-ink: var(--wp--preset--color--cta-ink, #ffffff);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { -webkit-text-size-adjust: 100%; overflow-x: hidden; }
img, svg, video { max-width: 100%; height: auto; }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--focus, #1b5faa);
	outline-offset: 2px;
}

.vv-skip {
	position: absolute; left: -9999px; top: 0; z-index: 100;
	background: var(--vv-cta); color: var(--vv-cta-ink); padding: .6rem 1rem;
}
.vv-skip:focus { left: 1rem; top: 1rem; }

/* Кратък отговор: първият блок на всяка страница, за хора и за AI търсачки */
.vv-quick {
	border-left: 4px solid var(--vv-cta);
	padding: .9rem 1.1rem;
	background: var(--vv-soft);
	border-radius: 0 var(--vv-radius) var(--vv-radius) 0;
}
.vv-quick > :first-child { margin-top: 0; }
.vv-quick > :last-child { margin-bottom: 0; }

.vv-updated { font-size: .875rem; opacity: .75; }

/* Таблици с факти и цени */
.vv-facts table, table.vv-facts {
	width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums;
}
.vv-facts th, .vv-facts td {
	text-align: left; padding: .7rem .75rem; border-bottom: 1px solid var(--vv-line); vertical-align: top;
}
.vv-facts thead th { font-weight: 600; border-bottom-width: 2px; }
.wp-block-table.vv-facts { overflow-x: auto; }

/* Стъпки: само за реални последователности */
ol.vv-steps { list-style: none; counter-reset: vvstep; padding: 0; margin: 0; display: grid; gap: 1.25rem; }
ol.vv-steps > li { counter-increment: vvstep; position: relative; padding-left: 3rem; }
ol.vv-steps > li::before {
	content: counter(vvstep);
	position: absolute; left: 0; top: -.1rem;
	width: 2.1rem; height: 2.1rem; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--vv-ink); color: #fff; font-weight: 700;
}

/* FAQ от core/details блокове в група с клас vv-faq */
.vv-faq details { border-bottom: 1px solid var(--vv-line); padding: .9rem 0; }
.vv-faq summary { cursor: pointer; font-weight: 600; list-style: none; padding-right: 2rem; position: relative; }
.vv-faq summary::-webkit-details-marker { display: none; }
.vv-faq summary::after {
	content: ""; position: absolute; right: .3rem; top: .35em; width: .55rem; height: .55rem;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
	transition: transform .2s ease;
}
.vv-faq details[open] summary::after { transform: rotate(-135deg); top: .6em; }
.vv-faq details > :not(summary) { margin: .6rem 0 0; }
@media (prefers-reduced-motion: reduce) { .vv-faq summary::after { transition: none; } }

/* Бутон за резервация, закрепен долу на мобилно */
.vv-sticky {
	position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50;
	display: none; text-align: center; text-decoration: none; font-weight: 700;
	padding: .95rem 1rem; border-radius: var(--vv-radius);
	background: var(--vv-cta); color: var(--vv-cta-ink);
	box-shadow: 0 8px 24px rgba(16, 42, 67, .25);
	transition: transform .25s ease, opacity .25s ease;
}
.vv-sticky.is-hidden { transform: translateY(140%); opacity: 0; pointer-events: none; }
@media (max-width: 781px) {
	.vv-sticky { display: block; }
	body.vv-has-sticky { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) { .vv-sticky { transition: none; } }

/* Юридически данни в подножието */
.vv-company { font-size: .875rem; line-height: 1.6; }
.vv-company p { margin: 0; }

/* Липсваща информация: вижда се, за да не остане незабелязана */
.vv-missing { background: #fff3c4; color: #5c4400; padding: 0 .25em; border-radius: 3px; font-size: .9em; }

/* Котва за формата да не се скрива под хедъра */
[id] { scroll-margin-top: 90px; }
