/* Hi Azienda — layer UI condiviso (polish pulito/minimale).
   Caricato su tutte le pagine con shortcode azienda + admin. Tutto scoping-safe:
   gli stili "di layout" stanno SOTTO i container .hi-az-* per non sporcare il tema. */

/* Radici dell'area azienda: tipografia, colore, respiro, larghezza leggibile. */
.hi-az-onboarding,
.hi-az-offers-manage,
.hi-az-offers-list,
.hi-az-candidates,
.hi-az-cand-search,
.hi-az-cand-profile,
.hi-az-slot-manage,
.hi-az-slot-booking,
.hi-az-slot-agenda,
.hi-az-editor,
.hi-az-list,
.hi-az-profile {
  font-family: var(--hi-az-font);
  color: var(--hi-az-ink);
  line-height: 1.5;
  max-width: 1040px;
}

/* Titoli di sezione: gerarchia chiara, filo brand sotto l'h2. */
.hi-az-onboarding h2, .hi-az-offers-manage h2, .hi-az-offers-list h2,
.hi-az-candidates h2, .hi-az-cand-search h2, .hi-az-cand-profile h2,
.hi-az-slot-manage h2, .hi-az-slot-booking h2, .hi-az-slot-agenda h2,
.hi-az-editor h2, .hi-az-list h2, .hi-az-profile h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--hi-az-brand);
}
.hi-az-onboarding h3, .hi-az-offers-manage h3, .hi-az-candidates h3,
.hi-az-cand-search h3, .hi-az-cand-profile h3, .hi-az-slot-manage h3,
.hi-az-slot-booking h3, .hi-az-slot-agenda h3, .hi-az-editor h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 24px 0 12px;
  color: var(--hi-az-ink);
}

/* Card / superficie. */
.hi-az-card {
  background: var(--hi-az-bg);
  border: 1px solid var(--hi-az-border);
  border-radius: var(--hi-az-radius);
  padding: 20px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

/* Bottoni: primario brand + variante secondaria; focus visibile, hover morbido. */
.hi-az-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--hi-az-brand);
  color: #fff;
  border: 1px solid var(--hi-az-brand);
  border-radius: var(--hi-az-radius);
  padding: 9px 18px;
  font: inherit;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.hi-az-btn:hover { background: var(--hi-az-brand-dark); border-color: var(--hi-az-brand-dark); color: #fff; }
.hi-az-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(194, 14, 26, .25); }
.hi-az-btn--ghost {
  background: #fff;
  color: var(--hi-az-brand);
  border-color: var(--hi-az-border);
}
.hi-az-btn--ghost:hover { background: var(--hi-az-surface); color: var(--hi-az-brand-dark); border-color: var(--hi-az-brand); }
.hi-az-btn[disabled], .hi-az-btn:disabled { opacity: .5; cursor: not-allowed; }

/* Campi form: dimensione e focus coerenti in tutta l'area. */
.hi-az-onboarding label, .hi-az-offers-manage label, .hi-az-cand-search label,
.hi-az-slot-manage label, .hi-az-editor label, .hi-az-list label {
  display: block;
  font-weight: 600;
  font-size: .875rem;
  color: var(--hi-az-ink);
  margin-bottom: 6px;
}
/* I <select> sono governati globalmente da .demo1 select (hi-az-metronic-overrides.css):
   esclusi qui per non sovrascrivere chevron/padding con lo stile legacy. */
.hi-az-onboarding input:not([type=radio]):not([type=checkbox]):not([type=submit]),
.hi-az-onboarding textarea,
.hi-az-offers-manage input:not([type=radio]):not([type=checkbox]):not([type=submit]), .hi-az-offers-manage textarea,
.hi-az-cand-search input:not([type=radio]):not([type=checkbox]):not([type=submit]),
.hi-az-slot-manage input:not([type=radio]):not([type=checkbox]):not([type=submit]) {
  width: 100%;
  padding: 9px 12px;
  font: inherit;
  color: var(--hi-az-ink);
  background: #fff;
  border: 1px solid var(--hi-az-border);
  border-radius: 8px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.hi-az-onboarding input:focus, .hi-az-onboarding select:focus, .hi-az-onboarding textarea:focus,
.hi-az-offers-manage input:focus, .hi-az-offers-manage select:focus, .hi-az-offers-manage textarea:focus,
.hi-az-cand-search input:focus, .hi-az-cand-search select:focus,
.hi-az-slot-manage input:focus, .hi-az-slot-manage select:focus {
  outline: none;
  border-color: var(--hi-az-brand);
  box-shadow: 0 0 0 3px rgba(194, 14, 26, .12);
}

/* Tabelle: header su superficie, righe con separatori leggeri + hover. */
.hi-az-slot-table, .hi-az-candidates-table, .hi-az-cand-table,
.hi-az-offers-table, .hi-az-pdf-table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 20px;
  background: #fff;
  border: 1px solid var(--hi-az-border);
  border-radius: var(--hi-az-radius);
  overflow: hidden;
  font-size: .9375rem;
}
.hi-az-slot-table th, .hi-az-candidates-table th, .hi-az-cand-table th,
.hi-az-offers-table th, .hi-az-pdf-table th {
  text-align: left;
  font-weight: 600;
  font-size: .8125rem;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--hi-az-muted);
  background: var(--hi-az-surface);
  padding: 11px 14px;
  border-bottom: 1px solid var(--hi-az-border);
}
.hi-az-slot-table td, .hi-az-candidates-table td, .hi-az-cand-table td,
.hi-az-offers-table td, .hi-az-pdf-table td {
  padding: 11px 14px;
  border-bottom: 1px solid var(--hi-az-border);
  vertical-align: middle;
}
.hi-az-slot-table tbody tr:last-child td, .hi-az-candidates-table tbody tr:last-child td,
.hi-az-cand-table tbody tr:last-child td, .hi-az-offers-table tbody tr:last-child td { border-bottom: 0; }
.hi-az-slot-table tbody tr:hover, .hi-az-candidates-table tbody tr:hover,
.hi-az-cand-table tbody tr:hover, .hi-az-offers-table tbody tr:hover { background: var(--hi-az-surface); }

/* Notice / messaggi di stato. */
.hi-az-notice {
  padding: 12px 16px;
  border-radius: var(--hi-az-radius);
  border: 1px solid var(--hi-az-border);
  background: var(--hi-az-surface);
  margin: 0 0 16px;
}
.hi-az-notice--error { background: #fdecec; border-color: #f5c2c0; color: #8a1118; }
.hi-az-notice--ok, .hi-az-notice--success { background: #eaf6ee; border-color: #b8e0c5; color: #1e6b39; }

/* Badge stato (es. valutazione/preferito/candidatura). */
.hi-az-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.6;
  background: var(--hi-az-surface);
  color: var(--hi-az-muted);
  border: 1px solid var(--hi-az-border);
}

/* Navigazione area azienda (TAB sticky + hamburger): l'estetica è data da Tailwind (prefix tw-).
   Qui SOLO la meccanica responsive affidabile (show/hide + hamburger) e lo stato corrente
   (aria-current) con indicatore NON solo-colore (peso + bordo brand). margin-bottom per stacco. */
.hi-az-nav { margin: 0 0 24px; font-family: var(--hi-az-font); }
.hi-az-nav__item { margin: 0; padding: 0; }
.hi-az-nav__link:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(194, 14, 26, .3); }
.hi-az-nav__link[aria-current="page"] {
  color: var(--hi-az-brand) !important;
  border-bottom: 3px solid var(--hi-az-brand);
  font-weight: 700;
}
/* Mobile (<768px): lista nascosta, compare l'hamburger; aperta va a colonna piena sotto la barra. */
@media (max-width: 767px) {
  .hi-az-nav__toggle { display: inline-flex; }
  .hi-az-nav__list { display: none; flex-direction: column; width: 100%; padding-bottom: 8px; }
  .hi-az-nav[data-open="true"] .hi-az-nav__list { display: flex; }
}
/* Desktop (≥768px): tab in riga che vanno a capo (tutte visibili), hamburger nascosto. */
@media (min-width: 768px) {
  .hi-az-nav__toggle { display: none !important; }
  .hi-az-nav__list { display: flex !important; flex-wrap: wrap; padding: 4px 0; }
}

/* Lista membri (area admin/membership). */
.hi-az-member-list { margin: 0 0 var(--hi-az-gap); padding: 0; list-style: none; }
.hi-az-member-list li { padding: 8px 0; border-bottom: 1px solid var(--hi-az-border); }

/* ---- acf_form (pagina /account-azienda/, scelta: stilizzare l'ACF form) ---- */
.hi-az-editor .acf-form { margin-top: 8px; }
.hi-az-editor .acf-fields > .acf-field {
  padding: 16px 0;
  border-top: 1px solid var(--hi-az-border);
}
.hi-az-editor .acf-fields > .acf-field:first-child { border-top: 0; }
.hi-az-editor .acf-fields > .acf-field > .acf-label label {
  font-weight: 600;
  color: var(--hi-az-ink);
}
.hi-az-editor .acf-fields > .acf-field p.description { color: var(--hi-az-muted); }
.hi-az-editor .acf-input input[type=text],
.hi-az-editor .acf-input input[type=url],
.hi-az-editor .acf-input input[type=email],
.hi-az-editor .acf-input input[type=number],
.hi-az-editor .acf-input textarea,
.hi-az-editor .acf-input select {
  border-radius: 8px;
  border-color: var(--hi-az-border);
  padding: 9px 12px;
}
.hi-az-editor .acf-input input:focus,
.hi-az-editor .acf-input textarea:focus,
.hi-az-editor .acf-input select:focus {
  border-color: var(--hi-az-brand);
  box-shadow: 0 0 0 3px rgba(194, 14, 26, .12);
}
.hi-az-editor .acf-form-submit { margin-top: 20px; }
.hi-az-editor .acf-form-submit .acf-button.button {
  background: var(--hi-az-brand);
  border-color: var(--hi-az-brand);
  color: #fff;
  border-radius: var(--hi-az-radius);
  padding: 10px 22px;
  font-weight: 600;
  height: auto;
  transition: background-color .18s ease;
}
.hi-az-editor .acf-form-submit .acf-button.button:hover { background: var(--hi-az-brand-dark); border-color: var(--hi-az-brand-dark); }

/* Responsive: tabelle scrollabili e form a colonna piena su mobile. */
@media (max-width: 768px) {
  .hi-az-slot-table, .hi-az-candidates-table, .hi-az-cand-table, .hi-az-offers-table { display: block; overflow-x: auto; white-space: nowrap; }
  .hi-az-onboarding input, .hi-az-offers-manage input, .hi-az-cand-search input,
  .hi-az-slot-manage input, .hi-az-onboarding select, .hi-az-offers-manage select { max-width: 100%; }
}

/* Rispetta prefers-reduced-motion. */
@media (prefers-reduced-motion: reduce) {
  .hi-az-btn, .hi-az-onboarding input, .hi-az-offers-manage input, .hi-az-cand-search input,
  .hi-az-slot-manage input, .hi-az-editor .acf-form-submit .acf-button.button { transition: none; }
}

/* Spazio prima del footer (es. "Salva profilo" non attaccato). */
#content { padding-bottom: 2.5rem; }

/* ---- Personalizza stand (builder) ---- */
.hi-az-stand__h { font-size: 14px; font-weight: 600; color: var(--hi-az-ink, #071437); margin: 0 0 .75rem; }
.hi-az-stand-2col { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.hi-az-stand-3col { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 1024px) { .hi-az-stand-2col { grid-template-columns: 1fr 1fr; } }
@media (min-width: 768px) { .hi-az-stand-3col { grid-template-columns: repeat(3, 1fr); } }
.hi-az-stand-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
@media (max-width: 640px) { .hi-az-stand-grid { grid-template-columns: repeat(3, 1fr); } }
.hi-az-stand-thumb { position: relative; aspect-ratio: 16 / 10; border: 2px solid var(--hi-az-border, #e4e6ef); border-radius: 8px; background-size: cover; background-position: center; cursor: pointer; padding: 0; overflow: hidden; }
.hi-az-stand-thumb span { position: absolute; top: 4px; left: 4px; background: rgba(0,0,0,.55); color: #fff; font-size: 11px; line-height: 1; padding: 2px 5px; border-radius: 4px; }
.hi-az-stand-thumb.is-active { border-color: #c20e1a; box-shadow: 0 0 0 2px rgba(194,14,26,.25); }
.hi-az-stand-ops { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.hi-az-op-thumb { border: 2px solid var(--hi-az-border, #e4e6ef); border-radius: 8px; background: #fff; cursor: pointer; padding: 6px; }
.hi-az-op-thumb img { width: auto; max-height: 90px; height: auto; display: block; margin: 0 auto; }
.hi-az-op-thumb.is-active { border-color: #c20e1a; box-shadow: 0 0 0 2px rgba(194,14,26,.25); }
.hi-az-stand-preview { border: 1px solid var(--hi-az-border, #e4e6ef); border-radius: 10px; overflow: hidden; background: #f7f7f8; }
.hi-az-stand-preview img { width: 100%; height: auto; display: block; }

/* ---- Pagina partecipante: Eventi ---- */
.hi-az-eventi-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 768px) { .hi-az-eventi-grid { grid-template-columns: repeat(2, 1fr); } }
.hi-az-evcard__title { font-size: 1rem; font-weight: 600; color: var(--hi-az-ink, #071437); margin: 0; }
.hi-az-evcard__meta { display: flex; align-items: center; gap: 8px; font-size: .8125rem; color: var(--hi-az-muted, #6b7280); }
.hi-az-evcard__meta i { color: #c20e1a; }
.hi-az-evcard__actions { margin-top: .25rem; }
.hi-az-evb { font-size: 12px; font-weight: 600; padding: 4px 11px; border-radius: 999px; white-space: nowrap; }
.hi-az-evb--live { background: #e1f5ee; color: #0f6e56; }
.hi-az-evb--reg  { background: #e6f1fb; color: #185fa5; }
.hi-az-evb--open { background: #faeeda; color: #854f0b; }
.hi-az-evb--past { background: #e3e6ed; color: #2f3848; }
.hi-az-evcard__status { display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; font-weight: 600; color: #5b647a; }
.hi-az-evhide { display: none !important; }
/* Hero "prossimo evento" (focus iscrizione) */
.hi-az-evhero { border-radius: 16px; padding: 28px; color: #fff; background: linear-gradient(135deg, #c20e1a 0%, #8f0a13 100%); box-shadow: 0 8px 24px rgba(194,14,26,.18); }
.hi-az-evhero__kicker { display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; background: rgba(255,255,255,.18); padding: 5px 12px; border-radius: 999px; }
.hi-az-evhero__title { font-size: 1.6rem; font-weight: 800; margin: 14px 0 4px; line-height: 1.2; }
.hi-az-evhero__date { display: flex; align-items: center; gap: 8px; font-size: .95rem; opacity: .95; }
.hi-az-evhero__date i, .hi-az-evhero__kicker i { color: #fff; }
.hi-az-evhero__lead { margin: 16px 0 12px; font-size: .95rem; max-width: 52ch; opacity: .95; }
.hi-az-evhero__cta { margin-top: 18px; }
.hi-az-evhero__ok { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; background: rgba(255,255,255,.16); padding: 10px 16px; border-radius: 10px; }
.hi-az-evhero .kt-btn-primary { background: #fff; color: #c20e1a; border-color: #fff; }
.hi-az-evhero .kt-btn-primary:hover { background: #f3f3f3; color: #8f0a13; }
.kt-btn-lg { padding: 12px 22px; font-size: 1rem; }
/* Dashboard: card "prossimo evento" in evidenza quando serve l'iscrizione (niente barra laterale) */
.hi-az-evento-cta { border: 1px solid #f1c9cc; box-shadow: 0 6px 18px rgba(194,14,26,.12); }

/* ---- Pagina evento partecipante ---- */
.hi-az-evento__title { font-size: 1.25rem; font-weight: 700; color: var(--hi-az-ink, #071437); margin: 0; }
.hi-az-evento__date { display: flex; align-items: center; gap: 6px; color: var(--hi-az-muted, #6b7280); font-size: .875rem; margin-top: 4px; }
.hi-az-evento__date i { color: #c20e1a; }
.hi-az-evento__h { font-size: 1rem; font-weight: 600; color: var(--hi-az-ink, #071437); margin: .25rem 0 0; }
/* Colloqui: titoli sezione (h3) più grandi. */
.hi-az-colloqui .hi-az-evento__h { font-size: 1.375rem; }
.hi-az-stand-card { overflow: hidden; }
.hi-az-stand-card__img { height: 150px; background-size: cover; background-position: center; background-color: #f1eff0; }
.hi-az-stand-card__img--logo { background-size: contain; background-repeat: no-repeat; background-color: #fff; border-bottom: 1px solid #eef0f4; }
.hi-az-cvall { display: flex; flex-direction: column; gap: 12px; padding: 16px; margin-bottom: 1.5rem; background: #e6f1fb; border: 1px solid #cfe2f6; border-radius: 12px; }

/* Chat: pulsante unico "Accedi alla chat" (stile identico a "Entra nell'evento": kt-btn-lg) + banner. */
.hi-az-chat-banner { display: flex; gap: .6rem; align-items: flex-start; line-height: 1.5; }
.hi-az-chat-banner > i { flex: 0 0 auto; margin-top: 2px; font-size: 1.1rem; }
.hi-az-chat-banner p { margin: 0 0 .5rem; }
.hi-az-chat-banner p:last-child { margin-bottom: 0; }
.hi-az-cvall__lead { margin: 0; font-size: .875rem; line-height: 1.5; color: #1e3a5f; }
.hi-az-cvall__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.hi-az-cvall__hint { font-size: .8125rem; color: #4b5675; }
/* "CV consegnato" (badge) e "Vedi profilo"/azioni (btn): stessa identica altezza. */
.hi-az-stand-card__actions .kt-badge,
.hi-az-stand-card__actions .kt-btn { height: 34px; min-height: 34px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 8px; font-size: .8125rem; line-height: 1; box-sizing: border-box; }

/* Profilo partecipante: tab (segmented control) + repeater esperienze */
.hi-az-tabs__nav { display: flex; flex-wrap: nowrap; gap: 4px; overflow-x: auto; padding: 4px; background: #f4f5f8; border-radius: 12px; margin-bottom: 1.25rem; -webkit-overflow-scrolling: touch; }
.hi-az-tab { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; padding: 9px 14px; min-height: 42px; border: 0; background: transparent; cursor: pointer; font-size: .875rem; font-weight: 600; color: #4b5675; border-radius: 8px; transition: background .15s, color .15s; }
.hi-az-tab:hover { color: #071437; background: rgba(255,255,255,.6); }
.hi-az-tab.is-active { color: #c20e1a; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.hi-az-tab i { font-size: 1rem; }
.hi-az-tab:focus-visible { outline: 2px solid #c20e1a; outline-offset: 2px; }
/* Scorrimento tab: pulsanti REALI (accessibili) + sfumature ai bordi, visibili SOLO quando c'è
   contenuto fuori vista. hi-az-tabs.js avvolge la nav in .hi-az-tabs__navwrap (contesto di
   posizionamento alto quanto la nav) e attiva le classi .is-ovf-start / .is-ovf-end. */
.hi-az-tabs { position: relative; }
.hi-az-tabs__nav { scrollbar-width: thin; scrollbar-color: #c9ced8 transparent; scroll-behavior: smooth; }
.hi-az-tabs__nav::-webkit-scrollbar { height: 4px; }
.hi-az-tabs__nav::-webkit-scrollbar-thumb { background: #c9ced8; border-radius: 4px; }
.hi-az-tabs__navwrap { position: relative; margin-bottom: 1.25rem; }
.hi-az-tabs__navwrap > .hi-az-tabs__nav { margin-bottom: 0; } /* il margine lo dà il wrap (no doppio) */
/* Sfumature ai bordi: rinforzo visivo "c'è altro", non interattive. */
.hi-az-tabs__navwrap::before, .hi-az-tabs__navwrap::after { content: ""; position: absolute; top: 0; bottom: 0; width: 44px; pointer-events: none; opacity: 0; transition: opacity .15s; z-index: 1; border-radius: 12px; }
.hi-az-tabs__navwrap::before { left: 0; background: linear-gradient(to right, #f4f5f8, rgba(244,245,248,0)); }
.hi-az-tabs__navwrap::after { right: 0; background: linear-gradient(to left, #f4f5f8, rgba(244,245,248,0)); }
.hi-az-tabs__navwrap.is-ovf-start::before { opacity: 1; }
.hi-az-tabs__navwrap.is-ovf-end::after { opacity: 1; }
/* Pulsanti di scorrimento: <button> reali, tappabili e raggiungibili da tastiera. */
.hi-az-tabs__scroll { -webkit-appearance: none; appearance: none; position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 34px; height: 34px; display: none; align-items: center; justify-content: center; padding: 0; border: 1px solid #e3e6ee; border-radius: 50%; background: #fff; color: #c20e1a; cursor: pointer; box-shadow: 0 2px 8px rgba(7,20,55,.16); -webkit-tap-highlight-color: transparent; }
.hi-az-tabs__scroll i { font-size: 16px; line-height: 1; }
.hi-az-tabs__scroll--prev { left: 3px; }
.hi-az-tabs__scroll--next { right: 3px; }
.hi-az-tabs__scroll:hover { background: #fff5f5; }
.hi-az-tabs__scroll:focus-visible { outline: 2px solid #c20e1a; outline-offset: 2px; }
.hi-az-tabs__navwrap.is-ovf-start .hi-az-tabs__scroll--prev { display: inline-flex; }
.hi-az-tabs__navwrap.is-ovf-end .hi-az-tabs__scroll--next { display: inline-flex; }
.hi-az-tabpanel[hidden] { display: none; }
/* File upload + foto profilo */
.hi-az-fileinput { display: block; width: fit-content; max-width: 100%; font-size: .875rem; color: #4b5675; }
/* Input file nascosto ma funzionante (aperto solo dal bottone dedicato). */
.hi-az-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Messaggio d'errore inline per gli upload (niente alert popup). */
.hi-az-file-err { margin: 4px 0 0; font-size: .8125rem; font-weight: 600; color: #c20e1a; }
/* Le sezioni evento sono nella sidebar (sotto "Evento"): niente barra tab orizzontale. */
.hi-az-evento .hi-az-tabs__nav { display: none; }
.hi-az-fileinput::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 1px solid #d7dae2; border-radius: 8px; background: #fff; color: #071437; font-weight: 600; cursor: pointer; }
.hi-az-fileinput::file-selector-button:hover { background: #f4f5f8; }
.hi-az-foto-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.hi-az-foto-prev { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; border: 1px solid #eef0f4; flex-shrink: 0; background: #f1f1f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='%23b5b9c4'%3E%3Cpath d='M12 12a5 5 0 100-10 5 5 0 000 10zm0 2c-5 0-9 2.5-9 6v2h18v-2c0-3.5-4-6-9-6z'/%3E%3C/svg%3E") center/40px no-repeat; }
.hi-az-disclaimer { font-size: .8125rem; line-height: 1.45; color: #1e3a5f; background: #e6f1fb; border: 1px solid #cfe2f6; border-radius: 8px; padding: 10px 12px; display: flex; gap: 8px; align-items: flex-start; }
.hi-az-disclaimer i { color: #2563a6; margin-top: 1px; flex-shrink: 0; }
/* Campo in errore (es. data di nascita non valida) */
.hi-az-input-error { border-color: #c20e1a !important; box-shadow: 0 0 0 1px #c20e1a; }
.hi-az-field-error { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; font-size: .8125rem; font-weight: 600; color: #c20e1a; }
.hi-az-field-error i { font-size: .9375rem; }
/* Formazione: sotto-gruppi diploma/laurea/master */
.hi-az-fgroup { border: 1px solid #eef0f4; border-radius: 12px; padding: 16px; }
.hi-az-fgroup + .hi-az-fgroup { margin-top: 1rem; }
.hi-az-fgroup__h { font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #5b647a; margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }
.hi-az-fgroup__h i { color: #c20e1a; }
.hi-az-col-full { grid-column: 1 / -1; }
.hi-az-uprofilo textarea.kt-input { min-height: 104px; resize: vertical; }
/* CTA hero evento: niente a capo del testo del bottone */
.hi-az-evhero__cta .kt-btn { white-space: nowrap; }
.hi-az-rep { display: flex; flex-direction: column; gap: 1rem; }
.hi-az-rep__row { border: 1px solid #eef0f4; border-radius: 12px; padding: 16px; background: #fcfcfd; display: flex; flex-direction: column; gap: 1rem; }
.hi-az-rep__rowhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hi-az-rep__title { font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #5b647a; }
button.hi-az-rep__del { background: #fff; color: #c20e1a; border: 1px solid #f1c9cc; }
button.hi-az-rep__del:hover { background: #fdeaec; }
.hi-az-rep__empty { margin: 0; }
.hi-az-stand-card__name { font-size: 1rem; font-weight: 600; color: var(--hi-az-ink, #071437); margin: 0; }
.hi-az-stand-card__actions { display: flex; flex-wrap: wrap; gap: 8px; }
/* Griglia espositori a 4 colonne (responsive); logo contenuto, no stretch/sgranatura */
.hi-az-expo-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 640px) { .hi-az-expo-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .hi-az-expo-grid { grid-template-columns: repeat(4, 1fr); } }
.hi-az-expo-grid .hi-az-stand-card__img { height: 120px; }
.hi-az-expo-grid .hi-az-stand-card__img--logo { background-size: contain; background-origin: content-box; padding: 14px; }
/* Mobile: tab più compatti (restano scrollabili) + logo espositore contenuto. */
@media (max-width: 640px) {
  .hi-az-tabs__nav { gap: 2px; padding: 3px; }
  .hi-az-tab { padding: 8px 11px; min-height: 40px; font-size: .8125rem; gap: 6px; }
  .hi-az-expo-grid .hi-az-stand-card__img { height: 96px; }
  .hi-az-evhero { padding: 20px; }
  .hi-az-evhero__title { font-size: 1.35rem; }
}
/* Banner evento (iscrizioni aziende in corso) */
.hi-az-evbanner { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 1.5rem; }
.hi-az-evbanner i { margin-top: 2px; flex-shrink: 0; }
/* Box scadenza prenotazioni: classi proprie (NON kt-alert-success, che il JS toast rimuove).
   NB: nome "prscad", non "scad": .hi-az-scad è la lista scadenze in hi-az-dashboard.css
   (padding:0 + flex-direction:column) e azzerava padding/layout di questo banner. */
.hi-az-prscad { font-size: .95rem; }
.hi-az-prscad.hi-az-evbanner { margin-bottom: 2rem; }
.hi-az-prscad strong { font-weight: 700; }
.hi-az-prscad--open { background: #eafbf0; border: 1px solid #b6e6c8; color: #14622f; }
.hi-az-prscad--open i { color: #1c9e57; }
.hi-az-prscad--closed { background: #fff4e5; border: 1px solid #f3d08a; color: #8a5300; }
.hi-az-prscad--closed i { color: #c77700; }
/* Colloqui partecipante: righe confermati / in attesa / inviti */
.hi-az-colloqui__list { display: flex; flex-direction: column; gap: 10px; }
.hi-az-colloqui__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; border: 1px solid #eef0f4; border-radius: 12px; padding: 12px 14px; background: #fcfcfd; }
.hi-az-colloqui__main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.hi-az-colloqui__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
/* Logo colloquio: MAI tagliato (background-size: contain). Dimensione raddoppiata (44 → 88px). */
.hi-az-colloqui__logo { width: 88px; height: 88px; flex-shrink: 0; box-sizing: border-box; padding: 6px; border-radius: 10px; border: 1px solid #eef0f4; background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: contain; background-origin: content-box; }
.hi-az-colloqui__logo--ph { display: inline-flex; align-items: center; justify-content: center; color: #9aa2b1; }
.hi-az-colloqui__logo--ph i { font-size: 40px; }
.hi-az-colloqui__az { font-weight: 600; color: #071437; }
.hi-az-colloqui__time { display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; color: #4b5675; }
.hi-az-colloqui__time i { color: #c20e1a; }
.hi-az-colloqui__act { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hi-az-colloqui__hint { font-size: .8125rem; color: #4b5675; }
.hi-az-colloqui__disdici { margin: 0; }
button.hi-az-colloqui__disdici-btn { background: #fff !important; color: #c20e1a !important; border: 1px solid #f1c9cc !important; }
button.hi-az-colloqui__disdici-btn:hover { background: #fdeaec !important; }
@media (max-width: 640px) { .hi-az-colloqui__row { align-items: flex-start; } .hi-az-colloqui__act { width: 100%; } }
/* Dialog di conferma (sostituisce confirm() nativo del browser) */
.hi-az-confirm { width: min(420px, calc(100vw - 2rem)); max-width: 420px; padding: 24px; border: 0; border-radius: 14px; box-shadow: 0 20px 60px rgba(7, 20, 55, .25); color: #071437; }
.hi-az-confirm::backdrop { background: rgba(7, 20, 55, .45); }
.hi-az-confirm__title { margin: 0 0 8px; font-size: 1.1rem; font-weight: 700; }
.hi-az-confirm__msg { margin: 0 0 20px; color: #4b5675; font-size: .9375rem; line-height: 1.5; }
.hi-az-confirm__actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
/* Sala presentazioni: tabella */
.hi-az-table-wrap { overflow-x: auto; }
.hi-az-sala-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.hi-az-sala-table th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #5b647a; padding: 8px 10px; border-bottom: 1px solid #eef0f4; white-space: nowrap; }
.hi-az-sala-table td { padding: 10px; border-bottom: 1px solid #f1f1f4; vertical-align: top; color: var(--hi-az-ink, #071437); }
.hi-az-sala-table tr:last-child td { border-bottom: 0; }
.hi-az-coll { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.hi-az-coll__item { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: .875rem; }
.hi-az-coll__when { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: #c20e1a; }
.hi-az-coll__lbl { color: var(--hi-az-ink, #071437); }

/* ---- Offerte di lavoro (partecipante) ---- */
.hi-az-offers { max-width: none; }
.hi-az-offers-filter__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; }
.hi-az-offers-filter__field { display: flex; flex-direction: column; gap: 6px; flex: 1 1 220px; min-width: 0; }
.hi-az-offers-filter__field .kt-select { width: 100%; }
/* Fuori dalla shell Metronic (es. lista offerte pubblica, page_id=130) i <select> del
   filtro non ereditano lo stile Metronic e il tema li rende con altezza/line-height che
   TAGLIANO il testo: normalizziamo altezza, padding e freccia. */
.hi-az-offers-filter__field select {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 10px 40px 10px 12px;
  border: 1px solid var(--hi-az-border, #dbdfe9);
  border-radius: 8px;
  background-color: #fff;
  color: var(--hi-az-ink, #071437);
  font-family: inherit;
  font-size: .95rem;
  line-height: 1.4;
  appearance: none;
  -webkit-appearance: none;
  text-overflow: ellipsis;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
}
.hi-az-offers-filter__actions { display: flex; gap: 8px; flex-shrink: 0; }
.hi-az-offers-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 768px) { .hi-az-offers-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .hi-az-offers-grid { grid-template-columns: repeat(3, 1fr); } }
.hi-az-offcard__title { font-size: 1rem; font-weight: 600; margin: 0; line-height: 1.35; }
.hi-az-offcard__title a { color: var(--hi-az-ink, #071437); text-decoration: none; }
.hi-az-offcard__title a:hover { color: #c20e1a; }
.hi-az-offcard__company { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .8125rem; font-weight: 600; color: #5b647a; }
.hi-az-offcard__company i { color: #c20e1a; }
/* Miniatura logo azienda nella card offerta (al posto dell'icona). */
.hi-az-offcard__logo { width: 28px; height: 28px; border-radius: 6px; object-fit: contain; background: #fff; border: 1px solid #eef0f4; flex: 0 0 auto; }
.hi-az-offcard__meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.hi-az-chip { display: inline-flex; align-items: center; gap: 5px; font-size: .75rem; font-weight: 600; color: #2f3848; background: #f1f3f7; border-radius: 999px; padding: 3px 10px; }
.hi-az-chip i { font-size: .8125rem; color: #6b7280; }
.hi-az-offcard__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: .25rem; }
/* Mobile: pulsanti card offerta più spaziati (uno sotto l'altro, gap maggiore). */
@media (max-width: 600px) {
  .hi-az-offcard__actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .hi-az-offcard__actions .kt-btn { width: 100%; justify-content: center; }
}
.hi-az-offcard__apply { margin: 0; }
.hi-az-applied { display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; font-weight: 600; color: #0f6e56; background: #e1f5ee; border-radius: 8px; padding: 0 12px; min-height: 34px; }
.hi-az-cand-warn { margin-top: 8px; font-size: .8125rem; font-weight: 600; color: #854f0b; background: #faeeda; border: 1px solid #f0d9b5; border-radius: 8px; padding: 8px 12px; }
.hi-az-cand-warn a { color: #c20e1a; text-decoration: underline; }
/* Dettaglio singola offerta */
.hi-az-offer-detail { max-width: 1080px; margin: 0 auto; }
.hi-az-back { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; font-size: .875rem; font-weight: 600; color: #4b5675; text-decoration: none; padding: 2px 0; }
.hi-az-back:hover { color: #c20e1a; }
.hi-az-back i { font-size: 1rem; }
/* Invito al colloquio (scheda candidato, lato azienda) */
.hi-az-invite-block { border: 1px solid #eef0f4; border-radius: 12px; padding: 14px 16px; margin-bottom: 1.25rem; background: #fcfcfd; }
.hi-az-invite-block__h { display: flex; align-items: center; gap: 8px; font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #5b647a; margin: 0 0 10px; }
.hi-az-invite-block__h i { color: #c20e1a; }
.hi-az-invite-block__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.hi-az-invite-block__on { display: inline-flex; align-items: center; gap: 6px; font-size: .875rem; font-weight: 600; color: #0f6e56; }
.hi-az-notice--warn { background: #faeeda; color: #854f0b; }
/* Prenotazione colloquio (pagina) */
.hi-az-slotbook { max-width: 760px; margin: 0 auto; }
.hi-az-slotbook__head { display: flex; align-items: center; gap: 14px; }
.hi-az-slotbook__logo { width: 56px; height: 56px; border-radius: 12px; border: 1px solid #eef0f4; background: #fff center/contain no-repeat; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.hi-az-slotbook__logo--ph i { font-size: 26px; color: #9aa2b1; }
.hi-az-slotbook__hint { margin: 0; font-size: .875rem; color: #4b5675; }
.hi-az-slotbook__status { display: flex; align-items: center; gap: 8px; font-size: .9375rem; font-weight: 600; color: #0f6e56; background: #e1f5ee; border-radius: 10px; padding: 12px 14px; }
.hi-az-slotbook__status i { font-size: 1.1rem; }
.hi-az-slotbook__apply { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.hi-az-slotbook__apply .kt-select { min-width: 200px; }
.hi-az-slotlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.hi-az-slotlist__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 10px 14px; border: 1px solid #eef0f4; border-radius: 10px; background: #fcfcfd; }
.hi-az-slotlist__time { display: inline-flex; align-items: center; gap: 8px; font-size: .9375rem; font-weight: 600; color: var(--hi-az-ink, #071437); }
.hi-az-slotlist__time i { color: #c20e1a; }
.hi-az-offer-detail__title { font-size: 1.5rem; font-weight: 800; color: var(--hi-az-ink, #071437); margin: 0; line-height: 1.25; }
.hi-az-offer-detail__apply { flex-shrink: 0; }
@media (max-width: 640px) {
  .hi-az-offers-filter__field { flex-basis: 100%; }
  .hi-az-offers-filter__actions { width: 100%; }
  .hi-az-offers-filter__actions .kt-btn { flex: 1; justify-content: center; }
}
