/* ==========================================================================
   Kontakt i newsletter forme (inc/forms.php, assets/js/forms.js)
   ========================================================================== */

.ifu-form { display: flex; flex-direction: column; gap: 16px; }
.ifu-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ifu-form .ifu-field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: var(--ifu-muted); }
.ifu-form .ifu-field--wide { grid-column: 1 / -1; }
.ifu-form .ifu-field input, .ifu-form .ifu-field select, .ifu-form .ifu-field textarea {
	width: 100%; padding: 13px 15px; border: 1.5px solid var(--ifu-line); border-radius: 14px;
	background: var(--ifu-paper); color: var(--ifu-ink); font: inherit; font-size: 16px; font-weight: 500;
}
.ifu-form .ifu-field textarea { resize: vertical; min-height: 140px; }
.ifu-form .ifu-field input:focus, .ifu-form .ifu-field select:focus, .ifu-form .ifu-field textarea:focus {
	outline: none; border-color: var(--ifu-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ifu-accent) 14%, transparent);
}
.ifu-form [aria-invalid="true"] { border-color: #B3401E !important; }
.ifu-field__err { font-size: 13px; font-weight: 600; color: #B3401E; }

.ifu-form__check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--ifu-muted); line-height: 1.5; cursor: pointer; }
.ifu-form__check input { width: 20px; height: 20px; margin-top: 1px; flex-shrink: 0; accent-color: var(--ifu-accent); }
.ifu-form__check a { color: inherit; text-decoration: underline; }
.ifu-form__check .ifu-field__err { display: block; }

.ifu-form__msg { margin: 0; padding: 12px 16px; border-radius: 14px; font-size: 15px; font-weight: 600; }
.ifu-form__msg[hidden] { display: none; }
.ifu-form__msg.is-ok { background: #E3F4EA; color: #155E38; }
.ifu-form__msg.is-err { background: #FBE9E4; color: #7A2A14; }
.ifu-form > .ifu-btn { align-self: flex-start; }

/* Skriveno polje za botove — van ekrana, ne display:none (neki botovi to preskaču). */
.ifu-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* Newsletter: polje i dugme u istom redu. */
.ifu-form__row { display: flex; gap: 10px; }
.ifu-field--grow { flex: 1; }
.ifu-form--news .ifu-btn { height: auto; min-height: 52px; padding: 0 24px; flex-shrink: 0; }

/* Traka iznad futera */
.ifu-newsband { background: var(--ifu-accent); color: #fff; }
.ifu-newsband__inner { display: grid; grid-template-columns: 1fr minmax(0, 1.1fr); gap: clamp(24px, 5vw, 64px); align-items: center; padding-block: clamp(40px, 6vw, 72px); }
.ifu-newsband__title { font-size: clamp(28px, 3.4vw, 42px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; margin: 0 0 10px; color: #fff; }
.ifu-newsband__copy p { margin: 0; font-size: 17px; color: #DCE0FF; max-width: 46ch; }
.ifu-form--band .ifu-field input { border-color: transparent; }
.ifu-form--band .ifu-btn { background: var(--ifu-ink) !important; color: var(--ifu-paper) !important; }
.ifu-form--band .ifu-form__check { color: #DCE0FF; }
.ifu-form--band .ifu-field__err { color: #FFE1D6; }

@media (max-width: 760px) {
	.ifu-form__grid { grid-template-columns: 1fr; }
	.ifu-newsband__inner { grid-template-columns: 1fr; }
	.ifu-form__row { flex-direction: column; }
}

/* ==========================================================================
   Prijava i registracija (template-parts/auth-modal.php)
   ========================================================================== */
.ifu-auth { width: min(460px, 100vw); max-height: min(94vh, 820px); padding: 0; border: 0; border-radius: 28px; background: var(--ifu-ground); color: var(--ifu-ink); box-shadow: 0 40px 120px rgba(22, 21, 15, .35); overflow: auto; }
.ifu-auth[open] { animation: ifu-pop .35s var(--ifu-ease); }
.ifu-auth::backdrop { background: rgba(22, 21, 15, .55); backdrop-filter: blur(4px); }
.ifu-auth [hidden] { display: none !important; }
.ifu-auth__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 14px 0 24px; }
.ifu-auth__title { font-size: 24px; font-weight: 800; margin: 0; }
.ifu-auth__perk { display: flex; align-items: center; gap: 10px; margin: 14px 24px 0; padding: 12px 14px; border-radius: 16px; background: color-mix(in srgb, var(--ifu-accent) 10%, var(--ifu-paper)); color: var(--ifu-accent); font-size: 14px; font-weight: 700; }
.ifu-auth__perk svg { flex-shrink: 0; }
.ifu-auth__tabs { display: flex; gap: 4px; margin: 16px 24px 0; padding: 4px; border-radius: 16px; background: var(--ifu-paper); }
.ifu-auth__tab { flex: 1; padding: 10px; border: 0; border-radius: 12px; background: none; color: var(--ifu-muted); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.ifu-auth__tab.is-on { background: var(--ifu-ink); color: var(--ifu-paper); }
.ifu-auth__form { padding: 18px 24px 24px; }
.ifu-auth__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ifu-pass { position: relative; display: block; }
.ifu-pass input { padding-right: 48px !important; }
.ifu-pass__eye { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); width: 36px; height: 36px; border: 0; border-radius: 999px; background: none; color: var(--ifu-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.ifu-pass__eye.is-on { color: var(--ifu-accent); }
.ifu-auth .ifu-btn--block { width: 100%; }
@media (max-width: 520px) { .ifu-auth { width: 100vw; max-width: 100vw; border-radius: 24px 24px 0 0; margin: auto 0 0; } }
