/*
 * Styl formulářů. Barvy i zaoblení bere z themu, aby se nikdy
 * nerozešly — když se v theme.json změní modrá, změní se i tady.
 */

.carten-formular {
	--carten-linka: var(--wp--preset--color--line, #D6DCE2);
	--carten-modra: var(--wp--preset--color--blue, #1E73BE);
	--carten-modra-tmava: var(--wp--preset--color--blue-dark, #135C9B);
	--carten-ocel: var(--wp--preset--color--steel, #55626E);
	--carten-vystraha: var(--wp--preset--color--alert, #B3261E);
	--carten-radius: var(--wp--custom--radius--control, 14px);

	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.carten-formular fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.carten-formular legend {
	padding: 0 0 0.75rem;
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--carten-ocel);
}

.carten-volby {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: 0.625rem;
}

/* Priority jsou krátké a jsou čtyři. V širokých sloupcích by čtvrtá
   zůstala trčet sama na dalším řádku. */
.carten-volby--uzke {
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}

.carten-volba {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 44px;
	padding: 0.75rem 1rem;
	border: 1px solid var(--carten-linka);
	border-radius: var(--carten-radius);
	cursor: pointer;
}

.carten-volba:hover {
	border-color: var(--carten-modra);
}

.carten-volba:has(input:checked) {
	border: 2px solid var(--carten-modra);
	padding: calc(0.75rem - 1px) calc(1rem - 1px);
	background: #EAF2FA;
}

.carten-volba input {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	accent-color: var(--carten-modra);
}

.carten-pole-dvojice {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1rem;
}

.carten-pole {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0;
}

.carten-pole + .carten-pole {
	margin-top: 1rem;
}

/* V mřížce jsou pole vedle sebe, ne pod sebou — odsazení shora by
   druhé a třetí pole shodilo o 16 px níž než první. */
.carten-pole-dvojice .carten-pole + .carten-pole {
	margin-top: 0;
}

.carten-pole label {
	font-size: 0.9375rem;
}

.carten-formular input[type="text"],
.carten-formular input[type="tel"],
.carten-formular input[type="email"],
.carten-formular textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0.8rem 0.9rem;
	font: inherit;
	color: inherit;
	background: #fff;
	border: 1px solid #B9C3CD;
	border-radius: var(--carten-radius);
}

.carten-formular input:focus-visible,
.carten-formular textarea:focus-visible,
.carten-formular button:focus-visible {
	outline: 2px solid var(--carten-modra);
	outline-offset: 2px;
}

.carten-formular textarea {
	resize: vertical;
}

.carten-souhlas {
	margin: 0;
}

.carten-souhlas label {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	cursor: pointer;
}

.carten-souhlas input {
	width: 18px;
	height: 18px;
	margin-top: 0.15rem;
	flex-shrink: 0;
	accent-color: var(--carten-modra);
}

.carten-odeslat {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin: 0;
}

.carten-formular button {
	min-height: 44px;
	padding: 1rem 1.75rem;
	font: inherit;
	font-weight: 700;
	color: #fff;
	background: var(--carten-modra-tmava);
	border: 0;
	border-radius: var(--carten-radius);
	cursor: pointer;
}

.carten-formular button:hover {
	background: var(--carten-modra);
}

.carten-odeslat span {
	font-size: 0.875rem;
	color: var(--carten-ocel);
}

.carten-chyba {
	margin: 0;
	padding: 0.9rem 1.1rem;
	border-left: 3px solid var(--carten-vystraha);
	border-radius: 0 var(--carten-radius) var(--carten-radius) 0;
	background: #FDECEA;
	color: #7A1A14;
}

.carten-hotovo {
	padding: 1.75rem;
	border: 1px solid var(--carten-linka);
	border-radius: var(--wp--custom--radius--card, 16px);
	background: var(--wp--preset--color--paper, #F0F2F5);
}

.carten-hotovo h2 {
	margin-top: 0;
}

/* Past na roboty. Skrytá tak, aby ji nenašly ani podle display:none. */
.carten-past {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ── Skrytý servisní formulář pro klienty se smlouvou ───────────────────── */

.carten-hlaseni {
	--carten-navy: var(--wp--preset--color--navy, #12243B);
	--carten-radius-karta: var(--wp--custom--radius--card, 16px);
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.carten-havarie {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	padding: 1.1rem 1.35rem;
	border: 1px solid #F3C9C4;
	border-radius: var(--carten-radius-karta);
	background: #FDECEA;
}

.carten-havarie p {
	flex-grow: 1;
	margin: 0;
}

.carten-tlacitko-havarie {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	padding: 0.7rem 1.25rem;
	font-weight: 700;
	color: #fff;
	background: #B3261E;
	border-radius: var(--wp--custom--radius--control, 14px);
	text-decoration: none;
}

.carten-tlacitko-havarie:hover {
	background: #8E1E18;
	color: #fff;
}

.carten-kontakty {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.carten-kontakty-uvod {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--steel, #55626E);
}

.carten-kontakty-osoby {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 0.625rem;
}

.carten-osoba {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-height: 44px;
	padding: 0.7rem 1rem;
	border: 1px solid var(--wp--preset--color--line, #D6DCE2);
	border-radius: var(--carten-radius-karta);
	text-decoration: none;
	color: inherit;
}

.carten-osoba:hover {
	border-color: var(--wp--preset--color--blue, #1E73BE);
}

.carten-role {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--steel, #55626E);
}

.carten-osoba-jmeno {
	font-weight: 700;
}

.carten-napoveda {
	display: block;
	margin-top: 0.4rem;
	font-size: 0.875rem;
	color: var(--wp--preset--color--steel, #55626E);
}

.carten-formular select {
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0.8rem 0.9rem;
	font: inherit;
	color: inherit;
	background: #fff;
	border: 1px solid #B9C3CD;
	border-radius: var(--wp--custom--radius--control, 14px);
}

/* ── Mapa na klepnutí ───────────────────────────────────────────────────── */

.carten-mapa {
	/* Vlastní barva textu: mapa stojí i uvnitř tmavých sekcí, kde by
	   zdědila světlé písmo a na světlém podkladu by zmizela. */
	color: var(--wp--preset--color--ink, #263445);
	border: 1px solid var(--wp--preset--color--line, #D6DCE2);
	border-radius: var(--wp--custom--radius--card, 16px);
	background: var(--wp--preset--color--paper, #F0F2F5);
	overflow: hidden;
}

.carten-mapa-vyzva {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	padding: 3.5rem 1.5rem;
	text-align: center;
}

.carten-mapa-vyzva p {
	margin: 0;
}

.carten-mapa-adresa {
	font-size: 1.0625rem;
	font-weight: 700;
}

.carten-mapa-popis {
	font-size: 0.875rem;
	color: var(--wp--preset--color--steel, #55626E);
	max-width: 32rem;
}

.carten-mapa-tlacitko {
	min-height: 44px;
	margin-top: 0.5rem;
	padding: 0.85rem 1.6rem;
	font: inherit;
	font-weight: 700;
	color: #fff;
	background: var(--wp--preset--color--blue-dark, #135C9B);
	border: 0;
	border-radius: var(--wp--custom--radius--control, 14px);
	cursor: pointer;
}

.carten-mapa-tlacitko:hover {
	background: var(--wp--preset--color--blue, #1E73BE);
}

.carten-mapa-nahrada {
	font-size: 0.875rem;
}

.carten-mapa-nahrada a {
	color: var(--wp--preset--color--blue-dark, #135C9B);
}

.carten-mapa--nactena {
	display: block;
	line-height: 0;
}

.carten-mapa iframe {
	width: 100%;
	height: 360px;
	border: 0;
	display: block;
}

/* Hledání v dlouhém seznamu objektů */
.carten-hledani {
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
	margin-bottom: 0.5rem;
	padding: 0.8rem 0.9rem;
	font: inherit;
	color: inherit;
	background: #fff;
	border: 1px solid #B9C3CD;
	border-radius: var(--wp--custom--radius--control, 14px);
}

/* Logo klienta v hlavičce servisního formuláře.
   Logo je cizí obrázek v libovolných barvách, proto pod ním vždy
   bílá plocha — tmavé logo na tmavém pruhu by zmizelo. */
.carten-logo-klienta {
	margin: 0;
	padding: 0;
	background: transparent;
}

.carten-logo-klienta img {
	max-height: 44px;
	width: auto;
	max-width: 180px;
	object-fit: contain;
	display: block;
}

/* Bílá podložka jen tam, kde by tmavé logo na tmavém pruhu splynulo.
   Zapíná se u klienta zaškrtnutím „Podložit logo bílou plochou“. */
.carten-logo-podklad .carten-logo-klienta {
	padding: 0.7rem 1rem;
	background: #fff;
	border-radius: var(--wp--custom--radius--control, 14px);
}
