/* SWISCARS · stranica /eksperti/ · koristi tokene i dugmad iz style.css. Mobilno prvo (320 px), velike kontrole. */
.expert-page [hidden] { display: none !important } /* .btn ima display:inline-flex, pa bi atribut hidden inače bio pregažen */
.expert-page { padding: 28px 0 72px }
.expert-head { padding: 24px 0 0 }
.expert-head h1 { font-family: Fraunces, Georgia, serif; font-weight: 600; font-size: clamp(26px, 5vw, 40px); line-height: 1.12; letter-spacing: -.01em; margin: 8px 0 10px; text-wrap: balance }
.expert-lead { max-width: 62ch; color: var(--muted); font-size: 16px; line-height: 1.6; margin: 0 }
.expert-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 24px; align-items: start }
@media (min-width: 901px) { .expert-grid { grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 28px } .expert-aside .xp-card { position: sticky; top: 92px } }

.xp-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 24px; box-shadow: var(--shadow-sm); display: grid; gap: 14px; min-width: 0 }
.xp-card h2 { font-family: Fraunces, Georgia, serif; font-weight: 600; font-size: 26px; line-height: 1.15; margin: 0 }
.xp-card h3 { font-size: 15px; font-weight: 700; margin: 6px 0 0 }
.xp-card p { margin: 0 }
.xp-help { color: var(--muted); font-size: 14px; line-height: 1.55 }
.xp-kicker { font: 700 12px Inter, 'Segoe UI', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); overflow-wrap: anywhere }
.xp-loading { color: var(--muted) }

/* Forma: oznaka iznad polja, polja 48 px i 16 px tekst (bez zumiranja na telefonu). */
.xp-form label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; color: var(--text); min-width: 0 }
.xp-form label small { font-weight: 400; color: var(--muted) }
.xp-form input, .xp-form select, .xp-form textarea { min-height: 48px; padding: 12px 14px; font-size: 16px; font-weight: 400 }
.xp-form textarea { min-height: 110px; resize: vertical }
.xp-group { border: 0; padding: 0; margin: 0; display: grid; gap: 12px; min-width: 0 }
.xp-group legend { padding: 0; margin: 0 0 2px; font: 700 12px Inter, 'Segoe UI', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--gold) }
.xp-two, .xp-three { display: grid; gap: 12px; min-width: 0 }
@media (min-width: 560px) { .xp-two { grid-template-columns: 1fr 1fr } .xp-three { grid-template-columns: 130px minmax(0, 1fr) 150px } }

/* Izbor kantona i jezika: mreža (2 kolone na telefonu, 4 na računaru), veliki ciljevi za dodir. */
.xp-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px }
@media (min-width: 560px) { .xp-chips { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) } }
.xp-chips label { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: 13px; font-weight: 500; line-height: 1.2; cursor: pointer; user-select: none; min-width: 0; overflow-wrap: break-word; hyphens: auto }
.xp-chips b { flex: none; font-weight: 700; color: var(--gold); min-width: 22px }
.xp-chips input { width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; accent-color: var(--gold); flex: none }
.xp-chips label:has(input:checked) { border-color: var(--gold); background: rgba(183,134,61,.10) }
.xp-chips label:has(input:focus-visible) { outline: 2px solid var(--gold); outline-offset: 2px }

.xp-actions { display: grid; gap: 10px; margin-top: 6px }
.xp-actions .btn { width: 100%; min-height: 52px; white-space: normal; text-align: center }
@media (min-width: 560px) { .xp-actions { grid-template-columns: repeat(2, minmax(0, max-content)) } .xp-actions .btn { width: auto; min-width: 200px; padding: 0 22px } }
.btn[disabled], .btn[aria-busy="true"] { opacity: .6; cursor: progress; transform: none !important; box-shadow: none !important }

/* Greške po polju i statusne poruke. */
.xp-error { display: block; color: #9c2a2a; font-weight: 500; font-size: 13px; line-height: 1.4 }
.xp-form [aria-invalid="true"] { border-color: #c0392b; box-shadow: 0 0 0 3px rgba(176,52,52,.12) }
.xp-chips[aria-invalid="true"] { outline: 2px solid rgba(176,52,52,.5); outline-offset: 6px; border-radius: 8px }
.form-status { grid-column: auto }
.form-status[hidden] { display: none }

/* Status prijave. */
.xp-badge { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 7px 12px; font-size: 13px; font-weight: 700; margin: 0; justify-self: start; line-height: 1.2 }
.xp-wait { background: #fff4d9; color: #795817 }
.xp-ok { background: #eaf5ed; color: #23623c }
.xp-stop { background: #fbe9e7; color: #9c2a2a }
.xp-status-head { display: flex; flex-wrap: wrap; gap: 12px 16px; justify-content: space-between; align-items: flex-start }
.xp-status-head h2 { overflow-wrap: anywhere }
.xp-next { margin: 0; padding-left: 20px; display: grid; gap: 6px; color: var(--text) }
.xp-profile { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 16px; margin: 0 }
.xp-profile dt { color: var(--muted); font-size: 13px }
.xp-profile dd { margin: 0 0 10px; overflow-wrap: anywhere; white-space: pre-line }
@media (min-width: 560px) { .xp-profile { grid-template-columns: 170px minmax(0, 1fr); gap: 8px 16px } .xp-profile dd { margin: 0 } }

/* Koraci u bočnoj kartici. */
.xp-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px }
.xp-steps li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.5 }
.xp-steps b { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--gold); color: #fff; display: grid; place-items: center; font-size: 13px }

@media (max-width: 380px) {
  .expert-page { padding-top: 18px }
  .xp-card { padding: 16px; border-radius: 12px }
  .xp-card h2 { font-size: 22px }
  .expert-head h1 { font-size: 24px }
  .xp-chips label { padding: 0 12px; font-size: 13px }
}
