/* Web majstor — Kontakt (/kontakt/).
   Upitnik u koracima na brendiranoj crvenoj kartici; po slanju kartica se
   skuplja u kovertu koja odleti (GSAP, kontakt.js). Vizuelni jezik i tokeni
   (--bg, --accent, --fd Bebas, --fm DM Mono) dolaze iz blog.css.
   Stil polja adaptiran iz hero.css (kontakt sekcija naslovne). */

/* ===== Layout ===== */
.wm-kontakt {
	/* Boja forme (kartica + akcenti dugmadi/kvačice) — jedinstven izvor. */
	--k-accent: #d24646;
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 24px 72px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Brend kartica — scena za formu i animaciju pisma. */
.wm-k-stage {
	position: relative;
	width: min(100%, 540px);
	background: var(--k-accent);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 40px 120px rgba(210, 70, 70, 0.22);
	will-change: width, height;
}

.wm-k-inner {
	padding: 32px 32px 28px;
}

/* ===== Progress bar ===== */
.wm-k-progress {
	margin-bottom: 26px;
}
.wm-k-progress-track {
	height: 5px;
	border-radius: 999px;
	background: rgba(10, 10, 10, 0.18);
	overflow: hidden;
}
.wm-k-progress-fill {
	height: 100%;
	width: 20%; /* korak 1/5; JS ažurira */
	border-radius: 999px;
	background: #0a0a0a;
	transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.wm-k-progress-label {
	font-family: var(--fm);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(10, 10, 10, 0.7);
	margin: 10px 0 0;
}

/* ===== Koraci ===== */
.wm-k-step {
	border: none;
	margin: 0;
	padding: 0;
	min-inline-size: 0; /* fieldset default sprečava skupljanje */
}
.wm-k-step:not([data-active]) {
	display: none;
}
.wm-k-q {
	font-family: var(--fd);
	font-size: clamp(1.7rem, 3.4vw, 2.4rem);
	line-height: 1.05;
	letter-spacing: 0.03em;
	color: #0a0a0a;
	padding: 0;
	margin: 0 0 20px;
}
.wm-k-opt {
	font-family: var(--fm);
	font-size: 0.5em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(10, 10, 10, 0.55);
}

/* ===== Polja ===== */
.wm-k-field {
	margin-bottom: 18px;
}
.wm-k-field label {
	display: block;
	font-family: var(--fm);
	font-size: 9px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(10, 10, 10, 0.6);
	margin-bottom: 5px;
}
.wm-k-field input,
.wm-k-field select,
.wm-k-field textarea {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 1.5px solid rgba(10, 10, 10, 0.35);
	border-radius: 0;
	font-family: var(--fm);
	/* Mora biti >=16px: iOS Safari zumira stranicu na fokus inputa <16px, a
	   posle slanja ne vrati zum — stranica ostane uvećana. Bez media query-ja. */
	font-size: 16px;
	color: #0a0a0a;
	padding: 9px 0;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.25s;
}
.wm-k-field input:focus,
.wm-k-field select:focus,
.wm-k-field textarea:focus {
	border-bottom-color: #0a0a0a;
}
.wm-k-field textarea {
	resize: vertical;
	line-height: 1.45;
	min-height: 72px;
}
.wm-k-field input::placeholder,
.wm-k-field textarea::placeholder {
	color: rgba(10, 10, 10, 0.42);
}
.wm-k-field select {
	cursor: pointer;
	padding-right: 26px; /* prostor za strelicu */
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path d="M1 1l5 5 5-5" fill="none" stroke="%230a0a0a" stroke-width="2"/></svg>');
	background-repeat: no-repeat;
	background-position: right 4px center;
	background-size: 12px;
	color-scheme: light; /* stabilan prikaz padajuće liste */
}
/* Padajuća lista — pozadina boje kartice umesto bele (gde browser dozvoljava). */
.wm-k-field select option {
	background-color: var(--k-accent);
	color: #0a0a0a;
}
.wm-k-field select option:disabled {
	color: rgba(10, 10, 10, 0.5);
}

/* Autofill (Chrome/Safari) ume da nametne belu/žutu pozadinu polju — vraćamo
   ga na izgled kartice da sva polja izgledaju isto. */
.wm-k-field input:-webkit-autofill,
.wm-k-field input:-webkit-autofill:hover,
.wm-k-field input:-webkit-autofill:focus,
.wm-k-field textarea:-webkit-autofill,
.wm-k-field select:-webkit-autofill {
	-webkit-text-fill-color: #0a0a0a;
	-webkit-box-shadow: 0 0 0 1000px var(--k-accent) inset;
	box-shadow: 0 0 0 1000px var(--k-accent) inset;
	caret-color: #0a0a0a;
	transition: background-color 9999s ease-in-out 0s;
}

/* Checkbox „ostavite telefon" */
.wm-k-check {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-family: var(--fm);
	font-size: 13px;
	color: rgba(10, 10, 10, 0.85);
	letter-spacing: 0.02em;
	margin: 4px 0 6px;
}
/* Custom checkbox — bez bele pozadine u kvadratu; kvačica u boji kartice. */
.wm-k-check input {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin: 0;
	flex-shrink: 0;
	cursor: pointer;
	background: transparent;
	border: 1.5px solid rgba(10, 10, 10, 0.55);
	border-radius: 4px;
	display: inline-grid;
	place-content: center;
	transition: background 0.18s, border-color 0.18s;
}
.wm-k-check input::before {
	content: "";
	width: 5px;
	height: 9px;
	margin-top: -2px;
	border: solid var(--k-accent);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) scale(0);
	transition: transform 0.15s ease-out;
}
.wm-k-check input:checked {
	background: #0a0a0a;
	border-color: #0a0a0a;
}
.wm-k-check input:checked::before {
	transform: rotate(45deg) scale(1);
}
.wm-k-check input:focus-visible {
	outline: 2px solid #0a0a0a;
	outline-offset: 2px;
}

/* Uslovno polje (telefon) — prikaz preko JS-a (uklanja [hidden]). */
.wm-k-cond[hidden] {
	display: none;
}

/* Honeypot */
.wm-k-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

/* ===== Greška ===== */
.wm-k-error {
	display: none;
	font-family: var(--fm);
	font-size: 12px;
	color: #4a0900;
	background: rgba(10, 10, 10, 0.08);
	border-radius: 8px;
	padding: 9px 12px;
	margin: 4px 0 0;
	letter-spacing: 0.02em;
}

/* ===== Navigacija ===== */
.wm-k-nav {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}
.wm-k-btn {
	font-family: var(--fd);
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	padding: 12px 22px;
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.25s, color 0.25s, opacity 0.2s;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.wm-k-btn--primary {
	flex: 1;
	background: #0a0a0a;
	color: var(--k-accent);
	border: 1.5px solid #0a0a0a;
}
.wm-k-btn--primary:hover {
	background: transparent;
	color: #0a0a0a;
}
.wm-k-btn--ghost {
	background: transparent;
	color: #0a0a0a;
	border: 1.5px solid rgba(10, 10, 10, 0.4);
}
.wm-k-btn--ghost:hover {
	border-color: #0a0a0a;
}
.wm-k-btn[hidden] {
	display: none;
}
.wm-k-btn:disabled {
	opacity: 0.55;
	cursor: default;
}

/* ===== Potvrda (kvačica) — overlay ===== */
.form-success {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding: 24px;
	text-align: center;
	visibility: hidden;
	opacity: 0;
}
.check-svg {
	width: 92px;
	height: 92px;
}
.success-msg {
	font-family: var(--fm);
	color: #0a0a0a;
	font-size: 14px;
	letter-spacing: 0.04em;
	line-height: 1.7;
}

/* ===== Pismo (koverta koja odleti) — overlay ===== */
.form-letter {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.letter-svg {
	width: 44%;
	max-width: 140px;
	height: auto;
}

/* ===== Finalna „Hvala" (posle poletanja pisma) ===== */
.wm-k-done {
	text-align: center;
	padding: 8px 24px 20px;
	display: none; /* ne rezerviše prostor u kartici dok forma nije poslata */
	opacity: 0;
}
.wm-k-done[data-show] {
	display: block;
}
.wm-k-done-title {
	font-family: var(--fd);
	font-size: clamp(2.2rem, 6vw, 3.2rem);
	letter-spacing: 0.03em;
	line-height: 1;
	color: #0a0a0a;
	margin: 0 0 12px;
}
.wm-k-done-sub {
	font-family: var(--fm);
	font-size: 13px;
	letter-spacing: 0.03em;
	color: rgba(10, 10, 10, 0.72);
	line-height: 1.7;
	margin: 0 0 22px;
}
.wm-k-done .wm-k-btn--ghost {
	color: #0a0a0a;
	border-color: rgba(10, 10, 10, 0.4);
}
.wm-k-done .wm-k-btn--ghost:hover {
	border-color: #0a0a0a;
}

/* ===== Direktan kontakt (ispod forme, isti podaci kao meni) ===== */
.wm-k-direct {
	width: min(100%, 540px);
	margin-top: 36px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.wm-k-direct-eyebrow {
	font-family: var(--fm);
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--text-dim);
	margin: 0 0 2px;
}
.wm-k-direct-mail {
	font-family: var(--fd);
	font-size: clamp(1.5rem, 4vw, 2rem);
	letter-spacing: 0.02em;
	color: var(--text);
	text-decoration: none;
	transition: color 0.25s;
	word-break: break-word;
}
.wm-k-direct-mail:hover {
	color: var(--accent);
}
.wm-k-direct-tel {
	font-family: var(--fm);
	font-size: 15px;
	letter-spacing: 0.06em;
	color: var(--text-mid);
	text-decoration: none;
	transition: color 0.25s;
}
.wm-k-direct-tel:hover {
	color: var(--text);
}
.wm-k-direct-chat {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 4px;
}
/* .wm-chat osnovni stil dolazi iz menu.css (učitava se svuda). Ovde samo
   boja teksta na tamnoj pozadini + brend hover (menu hover je vezan za meni). */
.wm-k-direct .wm-chat {
	color: var(--text);
	font-family: var(--fm);
	font-size: 12px;
	text-decoration: none;
}
.wm-k-direct .wm-chat--wa:hover {
	color: #25d366;
	border-color: rgba(37, 211, 102, 0.6);
	background-color: rgba(37, 211, 102, 0.08);
}
.wm-k-direct .wm-chat--vi:hover {
	color: #7360f2;
	border-color: rgba(115, 96, 242, 0.6);
	background-color: rgba(115, 96, 242, 0.08);
}

/* ===== Mobilni ===== */
@media (max-width: 560px) {
	.wm-kontakt {
		padding: 28px 16px 56px;
	}
	.wm-k-inner {
		padding: 24px 20px 22px;
	}
	.wm-k-nav {
		flex-wrap: wrap;
	}
	.wm-k-btn--ghost {
		order: 2;
	}
}
