/* Offerte Hi Azienda (M2). Usa i token di hi-az-tokens.css. */

.hi-az-offers-list, .hi-az-offers-manage, .hi-az-candidates { max-width: 1080px; margin: 0 auto; padding: var(--hi-az-gap); font-family: var(--hi-az-font); color: var(--hi-az-ink); }
.hi-az-offers-list h2, .hi-az-offers-manage h2, .hi-az-candidates h2, .hi-az-profile__offerte h3 { color: var(--hi-az-brand); }

/* Bottone (riusa la primitiva, ridichiarata per pagine senza hi-az-base) */
.hi-az-btn { display: inline-block; background: var(--hi-az-brand); color: #fff; border: 0; border-radius: var(--hi-az-radius); padding: 8px 16px; cursor: pointer; text-decoration: none; font-size: 0.95rem; }
.hi-az-btn:hover { background: var(--hi-az-brand-dark); color: #fff; }
.hi-az-btn--ghost { background: transparent; color: var(--hi-az-brand); border: 1px solid var(--hi-az-brand); }
.hi-az-btn--ghost:hover { background: var(--hi-az-surface); color: var(--hi-az-brand); }
.hi-az-btn--danger { background: #6b6b6b; }
.hi-az-btn--danger:hover { background: #4a4a4a; }

/* Badge stato */
.hi-az-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 0.8rem; }
.hi-az-badge--on { background: var(--hi-az-brand); color: #fff; }
.hi-az-badge--off { background: var(--hi-az-surface); color: var(--hi-az-ink); border: 1px solid var(--hi-az-border); }

/* Filtro lista */
.hi-az-offers-list__filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: var(--hi-az-gap); }
.hi-az-offers-list__filter select { padding: 6px 8px; border: 1px solid var(--hi-az-border); border-radius: var(--hi-az-radius); }

/* Griglia offerte pubbliche */
.hi-az-offers-list__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--hi-az-gap); }
.hi-az-offer-card { display: flex; flex-direction: column; gap: 6px; padding: var(--hi-az-gap); background: var(--hi-az-surface); border: 1px solid var(--hi-az-border); border-radius: var(--hi-az-radius); }
.hi-az-offer-card__title { margin: 0; font-size: 1.05rem; }
.hi-az-offer-card__title a { color: var(--hi-az-brand); text-decoration: none; }
.hi-az-offer-card__company { font-weight: 600; margin: 0; }
.hi-az-offer-card__settore, .hi-az-offer-card__provincia { margin: 0; color: #555; font-size: 0.9rem; }
.hi-az-offer-card__actions { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px; }
.hi-az-offer-card__apply { margin: 0; }

/* Tabelle (gestione, candidati, sezione profilo) */
.hi-az-offers-table, .hi-az-candidates-table { width: 100%; border-collapse: collapse; margin-top: var(--hi-az-gap); }
.hi-az-offers-table th, .hi-az-offers-table td, .hi-az-candidates-table th, .hi-az-candidates-table td { text-align: left; padding: 8px; border-bottom: 1px solid var(--hi-az-border); vertical-align: middle; }
.hi-az-offers-table__actions { display: flex; flex-wrap: wrap; gap: 6px; }

/* Creazione offerta (acf_form in <details>) */
.hi-az-offers-manage__create { margin-bottom: var(--hi-az-gap); border: 1px solid var(--hi-az-border); border-radius: var(--hi-az-radius); padding: var(--hi-az-gap); background: var(--hi-az-surface); }
.hi-az-offers-manage__create > summary { cursor: pointer; font-weight: 600; color: var(--hi-az-brand); }

/* Sezione offerte nel profilo */
.hi-az-profile__offerte { margin-bottom: calc(var(--hi-az-gap) * 1.5); }

/* Notice */
.hi-az-notice { padding: 12px 16px; border-radius: var(--hi-az-radius); background: var(--hi-az-surface); border: 1px solid var(--hi-az-border); }

/* ---- Form offerta: input/select coerenti + spaziatura (la shell non sempre rende kt-select pieno) ---- */
.hi-az-offer-form .kt-input,
.hi-az-offer-form .kt-select {
  width: 100%;
  min-height: 42px;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--input, #dbdfe9);
  border-radius: 8px;
  background-color: var(--background, #fff);
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--mono, #071437);
}
.hi-az-offer-form .kt-select:focus,
.hi-az-offer-form .kt-input:focus {
  outline: none;
  border-color: var(--primary, #c20e1a);
}
.hi-az-offer-form .grid { row-gap: 1.5rem; }
/* Tom Select copia le classi del <select> originale sul .ts-wrapper (quindi il
   wrapper eredita border/padding/min-height da .kt-select): azzero il box del
   wrapper così il campo vero è il .ts-control interno (niente doppio bordo/altezza). */
.hi-az-offer-form .ts-wrapper.kt-select {
  padding: 0;
  border: 0;
  min-height: 0;
  background: none;
}
/* Tom Select (Luogo di lavoro) coerente con gli altri campi: stessa altezza,
   padding, font e centratura verticale dei kt-input/kt-select accanto. */
.hi-az-offer-form .ts-control {
  min-height: 42px;
  border-radius: 8px;
  border: 1px solid var(--input, #dbdfe9);
  padding: 0.35rem 0.75rem;
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.4;
}
/* Con voci selezionate Tom Select applica un padding asimmetrico (0,3,0 > 0,2,0):
   lo riallineo così il campo non "salta" rispetto agli altri select. */
.hi-az-offer-form .ts-wrapper.multi.has-items .ts-control {
  padding: 0.35rem 0.75rem;
}
.hi-az-offer-form .ql-container { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; }
.hi-az-offer-form .ql-toolbar { border-top-left-radius: 8px; border-top-right-radius: 8px; }
