/**
 * Формулярът за връщане — екран и печат.
 *
 * Зарежда се САМО на своята страница (виж functions.php).
 *
 * Държи се на езика на сайта: Cormorant за едрото, косъм-линии, злато
 * за акцента, много въздух. Никакви плътни цветни блокове — листът
 * трябва да изглежда като документ на текстилна къща, а не като
 * формуляр от общината.
 *
 * @package belotex
 */

.bx-form-page {
	max-width: 940px;
	margin: 0 auto;
	padding: 44px var(--bx-pad) 90px;
}

/* ------------------------------------------------------------------
   1. Лентата отгоре — само на екран
   ------------------------------------------------------------------ */
.bx-form-actions {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 34px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--bx-line-gold);
}
.bx-form-actions__text { max-width: 60ch; }
.bx-form-actions h1 {
	font-family: var(--bx-display);
	font-size: clamp(30px, 4.4vw, 42px);
	font-weight: 600;
	line-height: 1.1;
	margin: 6px 0 10px;
	color: var(--bx-ink);
}
.bx-form-actions__lead { margin: 0; color: var(--bx-ink-soft); }
.bx-form-privacy { margin: 8px 0 0; font-size: 13px; color: var(--bx-ink-faint); }

.bx-form-actions__btns {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	flex-shrink: 0;
}
.bx-linkbtn {
	border: 0;
	background: none;
	padding: 0;
	font-family: var(--bx-sans);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--bx-ink-faint);
	cursor: pointer;
	border-bottom: 1px solid transparent;
}
.bx-linkbtn:hover { color: var(--bx-accent); border-bottom-color: var(--bx-line-gold); }

/* ------------------------------------------------------------------
   2. Листът
   ------------------------------------------------------------------ */
.bx-sheet {
	position: relative;
	background: #FFFDF9;
	color: #232120;
	padding: 46px 52px 34px;
	border: 1px solid rgba(41, 39, 37, 0.10);
	font-family: var(--bx-sans);
	font-size: 13.5px;
	line-height: 1.55;
	/* Дълга мека сянка — листът лежи върху плота, не е „карта“. */
	box-shadow: 0 1px 2px rgba(41, 39, 37, 0.04), 0 18px 40px -24px rgba(41, 39, 37, 0.28);
}
/* Златна нишка по горния ръб — същият знак като хедъра на сайта. */
.bx-sheet::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 2px;
	background: linear-gradient(90deg,
		transparent 0%, var(--bx-gold) 22%, var(--bx-gold-deep) 50%, var(--bx-gold) 78%, transparent 100%);
}
.bx-sheet + .bx-sheet { margin-top: 34px; }

.bx-sheet__head { text-align: center; margin-bottom: 40px; }
.bx-sheet__head--slim { margin-bottom: 28px; }
.bx-sheet__brand {
	display: block;
	font-family: var(--bx-display);
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--bx-accent);
	/* Cormorant реже старинни цифри — 95 пада под линията. */
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: "lnum" 1, "onum" 0;
}
.bx-sheet__place {
	display: block;
	margin-top: 5px;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--bx-gold-deep);
}
.bx-sheet__title {
	position: relative;
	display: inline-block;
	margin: 26px 0 0;
	padding: 0 34px;
	font-family: var(--bx-display);
	font-size: 24px;
	font-weight: 500;
	font-style: italic;
	letter-spacing: 0.01em;
	color: var(--bx-ink);
}
/* Ромбовете отстрани на заглавието — знакът на сайта. */
.bx-sheet__title::before,
.bx-sheet__title::after {
	content: "\25C6";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 7px;
	font-style: normal;
	color: var(--bx-gold);
}
.bx-sheet__title::before { left: 4px; }
.bx-sheet__title::after { right: 4px; }
.bx-sheet__sub {
	margin: 8px 0 0;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--bx-ink-faint);
}

/* ------------------------------------------------------------------
   3. Номерираните части
   ------------------------------------------------------------------ */
.bx-step {
	display: grid;
	grid-template-columns: 62px 1fr;
	gap: 0 22px;
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid rgba(41, 39, 37, 0.08);
}
.bx-step:last-of-type { border-bottom: 0; }

.bx-step__mark { position: relative; }
.bx-step__num {
	display: block;
	font-family: var(--bx-display);
	font-size: 40px;
	font-weight: 600;
	line-height: 0.85;
	color: var(--bx-gold);
	font-variant-numeric: lining-nums;
	font-feature-settings: "lnum" 1, "onum" 0;
}
/* Косъм-линия под цифрата — държи колоната. */
.bx-step__mark::after {
	content: "";
	position: absolute;
	left: 3px;
	top: 52px;
	bottom: 4px;
	width: 1px;
	background: var(--bx-line-gold);
}

.bx-step__title {
	margin: 0 0 6px;
	font-family: var(--bx-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--bx-accent);
}
.bx-step__lead {
	margin: 0 0 20px;
	max-width: 68ch;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--bx-ink-soft);
}

/* ------------------------------------------------------------------
   4. Полета
   ------------------------------------------------------------------ */
.bx-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px 34px;
}
.bx-field { display: block; }
.bx-field--wide { grid-column: 1 / -1; }

/* Пише се ОТГОРЕ, надписът е отдолу — както на хартиена бланка.
   Празният изпечатан формуляр изглежда точно като бланка за ръка. */
.bx-field__in {
	display: block;
	width: 100%;
	height: 30px;
	padding: 0 3px;
	border: 0;
	border-bottom: 1px solid rgba(41, 39, 37, 0.30);
	background: transparent;
	font-family: var(--bx-sans);
	font-size: 14px;
	color: #232120;
	transition: border-color .2s var(--bx-ease);
}
.bx-field__in:focus {
	outline: none;
	border-bottom-color: var(--bx-accent);
}
.bx-field--iban .bx-field__in {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.08em;
}
.bx-field__label {
	display: block;
	padding-top: 6px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--bx-ink-faint);
}
.bx-field__label b { color: var(--bx-accent); }

/* ------------------------------------------------------------------
   5. Таблицата
   ------------------------------------------------------------------ */
.bx-tablewrap { overflow-x: auto; }
.bx-table {
	width: 100%;
	min-width: 620px;
	border-collapse: collapse;
}
.bx-table th {
	padding: 0 8px 9px;
	border-bottom: 1px solid var(--bx-gold);
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: left;
	color: var(--bx-accent);
	white-space: nowrap;
}
.bx-table th em {
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--bx-ink-faint);
}
.bx-table td {
	padding: 0;
	border-bottom: 1px solid rgba(41, 39, 37, 0.12);
	vertical-align: middle;
}
.bx-col-xs { width: 7%; }
.bx-col-s { width: 12%; }
.bx-col-m { width: 21%; }

.bx-cell {
	display: block;
	width: 100%;
	height: 46px;
	padding: 0 8px;
	border: 0;
	background: transparent;
	font-family: var(--bx-sans);
	font-size: 13px;
	color: #232120;
}
.bx-cell:focus { outline: none; background: #FBF4E6; }
.bx-cell--mid { text-align: center; }

.bx-choice { padding: 7px 8px !important; }

/* ------------------------------------------------------------------
   6. Отметки и избори
   ------------------------------------------------------------------ */
.bx-pick {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	line-height: 1.6;
	cursor: pointer;
	color: var(--bx-ink-soft);
}
.bx-pick input {
	flex-shrink: 0;
	width: 13px;
	height: 13px;
	margin: 0;
	accent-color: var(--bx-accent);
}
.bx-pick input:checked + span { color: var(--bx-ink); font-weight: 600; }
.bx-pick--wide { margin-bottom: 22px; font-size: 12.5px; }

.bx-options { display: block; }
.bx-option {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 15px 18px;
	border: 1px solid rgba(41, 39, 37, 0.12);
	cursor: pointer;
	transition: border-color .2s var(--bx-ease), box-shadow .2s var(--bx-ease);
}
.bx-option + .bx-option { margin-top: 12px; }
.bx-option input {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	margin: 3px 0 0;
	accent-color: var(--bx-accent);
}
.bx-option__body { display: block; }
.bx-option__title {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--bx-ink);
}
.bx-option__note {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	line-height: 1.55;
	color: var(--bx-ink-soft);
}
/* Избраното се маркира с бордо ръб отляво, не с фон. */
.bx-option:has(input:checked) {
	border-color: rgba(114, 47, 58, 0.35);
	box-shadow: inset 3px 0 0 var(--bx-accent);
}
/* Полетата за сметката висяха сами между двата избора и не се
   разбираше чии са. Косъм-линията ги връзва с „по банкова сметка“. */
.bx-option__extra {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin-left: 25px;
	padding: 18px 0 6px 26px;
	border-left: 1px solid var(--bx-line-gold);
}

/* ------------------------------------------------------------------
   7. Подпис и долен ред
   ------------------------------------------------------------------ */
.bx-sign {
	padding-top: 26px;
	border-top: 1px solid rgba(41, 39, 37, 0.08);
}
.bx-sheet__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 14px;
	margin-top: 32px;
	padding-top: 14px;
	border-top: 1px solid var(--bx-line-gold);
	font-size: 10px;
	letter-spacing: 0.06em;
	color: var(--bx-ink-faint);
}
.bx-sheet__foot span + span::before {
	content: "\00B7";
	margin-right: 14px;
	color: var(--bx-gold);
}

/* ------------------------------------------------------------------
   8. Гърбът — условията
   ------------------------------------------------------------------ */
.bx-terms {
	columns: 2;
	column-gap: 42px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
	counter-reset: bx-term;
}
.bx-terms li {
	break-inside: avoid;
	margin: 0 0 18px;
	padding-left: 30px;
	position: relative;
	counter-increment: bx-term;
}
.bx-terms li::before {
	content: counter(bx-term, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 1px;
	font-family: var(--bx-display);
	font-size: 16px;
	font-weight: 600;
	color: var(--bx-gold);
	font-variant-numeric: lining-nums;
	font-feature-settings: "lnum" 1, "onum" 0;
}
.bx-terms h4 {
	margin: 0 0 3px;
	font-family: var(--bx-sans);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--bx-accent);
}
.bx-terms p {
	margin: 0;
	font-size: 12px;
	line-height: 1.55;
	color: var(--bx-ink-soft);
}
/* Препратката към закона — тиха, но я има. Цифрите са модерни,
   иначе Cormorant ги реже под линията. */
.bx-terms cite {
	display: block;
	margin-top: 5px;
	font-style: normal;
	font-size: 10px;
	letter-spacing: 0.05em;
	color: var(--bx-gold-deep);
	font-variant-numeric: lining-nums;
}

/* Адресът — етикет, не кутия с фон. */
.bx-label {
	max-width: 380px;
	margin: 0 auto;
	padding: 22px 26px;
	text-align: center;
	border-top: 1px solid var(--bx-gold);
	border-bottom: 1px solid var(--bx-gold);
}
.bx-label p { margin: 0; }
.bx-label__kicker {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--bx-gold-deep);
	margin-bottom: 10px !important;
}
.bx-label__name {
	font-family: var(--bx-display);
	font-size: 19px;
	font-weight: 600;
	color: var(--bx-accent);
	font-variant-numeric: lining-nums;
	font-feature-settings: "lnum" 1, "onum" 0;
}
.bx-label__line { font-size: 13px; color: var(--bx-ink); margin-top: 2px !important; }
.bx-label__note {
	margin-top: 12px !important;
	font-size: 11.5px;
	line-height: 1.55;
	color: var(--bx-ink-soft);
}

.bx-thanks {
	margin: 30px 0 0;
	text-align: center;
	font-family: var(--bx-display);
	font-size: 17px;
	font-style: italic;
	color: var(--bx-accent);
}

/* ------------------------------------------------------------------
   9. Телефон
   ------------------------------------------------------------------ */
@media (max-width: 720px) {
	.bx-form-page { padding-top: 28px; }
	.bx-form-actions { flex-direction: column; align-items: stretch; gap: 20px; }
	.bx-form-actions__btns { flex-direction: row; align-items: center; justify-content: space-between; }

	.bx-sheet { padding: 30px 20px 24px; }
	.bx-sheet__brand { font-size: 24px; }
	.bx-sheet__title { font-size: 20px; }

	/* Цифрата минава над текста — 62 px колона изяжда половината екран. */
	.bx-step { grid-template-columns: 1fr; gap: 0; }
	.bx-step__mark { margin-bottom: 6px; }
	.bx-step__num { font-size: 30px; }
	.bx-step__mark::after { display: none; }

	.bx-grid { grid-template-columns: 1fr; gap: 20px; }
	.bx-terms { columns: 1; }

	/* Шест колони на 430 px значат скролване настрани за всяко поле.
	   На телефон редовете се подреждат като блокчета — едно поле
	   под друго, с надпис отляво. На хартия таблицата си остава таблица. */
	.bx-tablewrap { overflow: visible; }
	.bx-table, .bx-table tbody, .bx-table tr, .bx-table td { display: block; width: auto; min-width: 0; }
	.bx-table thead { display: none; }
	.bx-table tr {
		position: relative;
		padding: 14px 0 16px 0;
		border-bottom: 1px solid rgba(41, 39, 37, 0.12);
	}
	.bx-table tr::before {
		content: "№ " attr(data-row);
		display: block;
		margin-bottom: 6px;
		font-size: 9.5px;
		font-weight: 700;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		color: var(--bx-gold-deep);
	}
	.bx-table td {
		display: grid;
		grid-template-columns: 74px 1fr;
		align-items: center;
		gap: 10px;
		border-bottom: 0;
	}
	.bx-table td::before {
		content: attr(data-label);
		font-size: 10px;
		font-weight: 600;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: var(--bx-ink-faint);
	}
	.bx-cell {
		height: 34px;
		padding: 0 4px;
		border-bottom: 1px solid rgba(41, 39, 37, 0.22);
		text-align: left;
	}
	.bx-choice { padding: 4px 0 !important; display: flex !important; gap: 18px; }
	.bx-choice::before { grid-column: 1; }
	.bx-option__extra { margin-left: 10px; padding-left: 16px; }
}

/* ------------------------------------------------------------------
   10. ПЕЧАТ
   ------------------------------------------------------------------ */
@page { size: A4; margin: 14mm 14mm 12mm; }

@media print {
	.no-print,
	.bx-header,
	.bx-footer,
	.bx-topbar,
	.bx-mobile-nav,
	.bx-cart-drawer,
	#wpadminbar { display: none !important; }

	html, body { background: #fff !important; }
	body { font-size: 10pt; }

	.bx-form-page { max-width: none; margin: 0; padding: 0; }

	.bx-sheet {
		border: 0;
		box-shadow: none;
		background: #fff;
		padding: 0;
		font-size: 9pt;
	}
	.bx-sheet::before { display: none; }
	/* Условията са гърбът на бланката — винаги втори лист. */
	.bx-sheet--back { margin-top: 0; page-break-before: always; }

	.bx-sheet__head { margin-bottom: 26px; }
	.bx-step { padding-bottom: 18px; margin-bottom: 18px; break-inside: avoid; }
	.bx-step__lead { margin-bottom: 14px; }

	.bx-tablewrap { overflow: visible; }
	.bx-table { min-width: 0; }

	.bx-option,
	.bx-label,
	.bx-terms li,
	.bx-sign { break-inside: avoid; }

	/* Написаното се печата; фокус-фонът — не. */
	.bx-field__in, .bx-cell { background: transparent !important; }
	.bx-option:has(input:checked) { box-shadow: none; border-color: #555; }

	/* Иначе браузърът изхвърля цветовете на отметките и златните линии. */
	.bx-sheet__title::before,
	.bx-sheet__title::after,
	.bx-step__num,
	.bx-terms li::before,
	.bx-label,
	.bx-table th,
	.bx-pick input,
	.bx-option input { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
