/* Profilo azienda Hi Azienda (M1). Usa i token di hi-az-tokens.css. */

.hi-az-profile { max-width: 1080px; margin: 0 auto; padding: var(--hi-az-gap); font-family: var(--hi-az-font); color: var(--hi-az-ink); }
.hi-az-profile h1, .hi-az-profile h3, .hi-az-profile h4 { color: var(--hi-az-brand); }

/* Header */
.hi-az-profile__header { display: flex; align-items: center; gap: var(--hi-az-gap); margin-bottom: calc(var(--hi-az-gap) * 1.5); border-bottom: 1px solid var(--hi-az-border); padding-bottom: var(--hi-az-gap); }
.hi-az-profile__logo { max-width: 200px; max-height: 150px; object-fit: contain; }
.hi-az-profile__name { margin: 0; font-size: 1.8rem; }

/* Info grid */
.hi-az-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--hi-az-gap); margin-bottom: calc(var(--hi-az-gap) * 1.5); }
.hi-az-info-grid__cell { background: var(--hi-az-surface); border: 1px solid var(--hi-az-border); border-radius: var(--hi-az-radius); padding: var(--hi-az-gap); }
.hi-az-settori { margin: 0; padding-left: 1.1em; }

/* Bottone (riusa primitiva, ridichiarato 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; }
.hi-az-btn:hover { background: var(--hi-az-brand-dark); color: #fff; }
.hi-az-btn--social { min-width: 140px; text-align: center; }

/* Descrizione */
.hi-az-profile__descrizione, .hi-az-profile__social, .hi-az-profile__video, .hi-az-profile__pdf { margin-bottom: calc(var(--hi-az-gap) * 1.5); }
.hi-az-richtext { line-height: 1.6; overflow-wrap: break-word; }
/* Media incorporati nella descrizione (video, immagini): responsive, mai fuori dallo spazio.
   Il player [video] di WP arriva con width/height FISSI in pixel (div .wp-video style="width:1280px"
   + <video width=1280 height=720>): serve !important per sovrascrivere gli inline. */
.hi-az-richtext img { max-width: 100%; height: auto; }
.hi-az-richtext embed,
.hi-az-richtext object { max-width: 100%; }
.hi-az-richtext .wp-video { width: 100% !important; max-width: 100% !important; }
.hi-az-richtext video,
.hi-az-richtext video.wp-video-shortcode,
.hi-az-richtext .mejs-container,
.hi-az-richtext .mejs-overlay,
.hi-az-richtext .mejs-mediaelement,
.hi-az-richtext .mejs-poster { width: 100% !important; max-width: 100% !important; height: auto !important; }
.hi-az-richtext iframe { max-width: 100%; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
/* Liste descrizione offerta/profilo: bullet normali e proporzionati (il tema li rendeva enormi). */
.hi-az-richtext ul { list-style: disc; padding-left: 1.35em; margin: .5em 0; }
.hi-az-richtext ol { list-style: decimal; padding-left: 1.5em; margin: .5em 0; }
.hi-az-richtext li { margin: .15em 0; padding-left: .15em; }
.hi-az-richtext li::marker { font-size: .8em; color: currentColor; }

/* Social grid */
.hi-az-social-grid { display: flex; flex-wrap: wrap; gap: var(--hi-az-gap); }

/* Video grid */
.hi-az-video-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--hi-az-gap); }
.hi-az-video-embed { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: var(--hi-az-radius); background: #000; }
.hi-az-video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* Facade click-to-load: anteprima + pulsante play; al clic diventa l'iframe qui sopra. */
.hi-az-vfacade { cursor: pointer; }
.hi-az-vfacade__thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hi-az-vfacade__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.hi-az-vfacade__play i { font-size: 64px; color: #ff0000; filter: drop-shadow(0 2px 6px rgba(0,0,0,.45)); transition: transform .15s ease; }
.hi-az-vfacade:hover .hi-az-vfacade__play i,
.hi-az-vfacade:focus-visible .hi-az-vfacade__play i { transform: scale(1.12); }
.hi-az-vfacade__title { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 12px; background: linear-gradient(transparent, rgba(0,0,0,.72)); color: #fff; font-size: .85rem; font-weight: 600; line-height: 1.3; }

/* PDF table */
.hi-az-pdf-table { width: 100%; border-collapse: collapse; }
.hi-az-pdf-table th, .hi-az-pdf-table td { text-align: left; padding: 8px; border-bottom: 1px solid var(--hi-az-border); vertical-align: top; }

/* Lista aziende */
.hi-az-list__filter { margin-bottom: var(--hi-az-gap); }
.hi-az-list__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--hi-az-gap); }
.hi-az-list__card { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: var(--hi-az-gap); background: var(--hi-az-surface); border: 1px solid var(--hi-az-border); border-radius: var(--hi-az-radius); text-decoration: none; color: var(--hi-az-ink); }
.hi-az-list__card:hover { border-color: var(--hi-az-brand); }
.hi-az-list__logo { max-width: 140px; max-height: 90px; object-fit: contain; }
.hi-az-list__name { font-weight: 600; text-align: center; }

/* Editor */
.hi-az-editor { max-width: 880px; margin: 0 auto; }
.hi-az-editor__title { color: var(--hi-az-brand); }
.hi-az-notice { padding: 12px 16px; border-radius: var(--hi-az-radius); background: var(--hi-az-surface); border: 1px solid var(--hi-az-border); }
.hi-az-notice--success { border-color: var(--hi-az-brand); }

/* Editor profilo: area Quill WYSIWYG */
.hi-az-quill {
  min-height: 160px;
  background: var(--background, #fff);
}
.hi-az-quill .ql-editor {
  min-height: 140px;
  font-size: 0.875rem;
}
.hi-az-logo-preview {
  height: 64px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  border: 1px solid var(--border, #e4e6ef);
  border-radius: 8px;
  background: #fff;
  padding: 4px;
  margin-bottom: 4px;
}

/* ---- Form profilo: input/select coerenti (difensivo, come offerta/slot) ---- */
.hi-az-profile-form .kt-input,
.hi-az-profile-form .kt-select,
.hi-az-profile-form textarea {
  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;
  color: var(--mono, #071437);
}
.hi-az-profile-form textarea { min-height: 80px; }
.hi-az-profile-form .kt-input:focus,
.hi-az-profile-form .kt-select:focus,
.hi-az-profile-form textarea:focus { outline: none; border-color: var(--primary, #c20e1a); }

/* ---- Form profilo PARTECIPANTE: campi tutti alti uguale (come Regione/Provincia).
   I textarea diventano a riga singola come gli altri; solo "Altre informazioni
   sulla condizione" (info_disabilita) resta grande. ---- */
.hi-az-uprofilo-form .kt-input,
.hi-az-uprofilo-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-uprofilo-form textarea.kt-input { height: 42px; min-height: 42px; resize: vertical; }
.hi-az-uprofilo-form textarea#info_disabilita { height: auto; min-height: 120px; }
.hi-az-uprofilo-form .kt-input:focus,
.hi-az-uprofilo-form .kt-select:focus { outline: none; border-color: var(--primary, #c20e1a); }
/* Le sezioni profilo sono nella sidebar (sotto "Il mio profilo"): niente barra tab orizzontale. */
.hi-az-uprofilo .hi-az-tabs__nav { display: none; }
/* Accessibilità: su tablet/desktop (2 colonne) alcune label vanno a 2 righe (es. "Necessito di
   interprete LIS…") e altre a 1 (es. "Percentuale…"), disallineando gli input della stessa riga.
   Riservo 2 righe di altezza alle label così gli input restano in linea. */
@media (min-width: 768px) {
  .hi-az-access-grid .kt-form-label { min-height: 2.8em; }
}

/* ============================================================
   Profilo espositore (single hi_azienda) — layout Metronic
   ============================================================ */
.hi-az-cprofile { max-width: 1080px; margin: 0 auto; }
.hi-az-cprofile__hero { padding: 0; overflow: hidden; }
/* Copertina: immagine INTERA (manuale o stand), nessun crop, su desktop e mobile. */
.hi-az-cprofile__cover { display: block; width: 100%; height: auto; }
.hi-az-cprofile__cover--ph { height: 160px; background: linear-gradient(135deg, #c20e1a 0%, #8f0a13 100%); }
.hi-az-cprofile__bar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 20px; padding: 16px 24px 20px; }
.hi-az-cprofile__id { display: flex; align-items: flex-end; gap: 16px; min-width: 0; }
.hi-az-cprofile__logo { width: 92px; height: 92px; margin-top: -62px; border-radius: 16px; background: #fff; border: 1px solid #eef0f4; box-shadow: 0 6px 18px rgba(0,0,0,.12); display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.hi-az-cprofile__logo img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.hi-az-cprofile__logo i { font-size: 34px; color: #9aa2b1; }
.hi-az-cprofile__idtext { min-width: 0; padding-bottom: 2px; }
.hi-az-cprofile__name { font-size: 1.5rem; font-weight: 800; color: var(--hi-az-ink, #071437); margin: 0 0 7px; line-height: 1.2; }
.hi-az-cprofile__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hi-az-cprofile__links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-bottom: 4px; }
.hi-az-social-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; color: #2f3848; background: #f1f3f7; border: 1px solid #e3e6ed; border-radius: 50%; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.hi-az-social-icon:hover { background: #c20e1a; color: #fff; border-color: #c20e1a; }
.hi-az-social-icon svg { display: block; }
/* Company profile: testo allineato a sinistra (neutralizza eventuale center inline del contenuto). */
.hi-az-cprofile .hi-az-richtext { text-align: left; }
.hi-az-cprofile .hi-az-richtext [style*="text-align: center"],
.hi-az-cprofile .hi-az-richtext [style*="text-align:center"],
.hi-az-cprofile .hi-az-richtext [align="center"] { text-align: left !important; }
/* Sezioni */
.hi-az-csection__h { display: flex; align-items: center; gap: 8px; font-size: 1.05rem; font-weight: 700; color: var(--hi-az-ink, #071437); margin: 0; }
.hi-az-csection__h i { color: #c20e1a; font-size: 1.1rem; }
.hi-az-coffers, .hi-az-cfiles { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.hi-az-coffers__item, .hi-az-cfiles__item { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border: 1px solid #eef0f4; border-radius: 12px; background: #fcfcfd; }
.hi-az-coffers__title { font-weight: 600; color: var(--hi-az-ink, #071437); text-decoration: none; flex: 1 1 220px; min-width: 0; }
.hi-az-coffers__title:hover { color: #c20e1a; }
.hi-az-coffers__cta { margin-left: auto; }
.hi-az-cfiles__item .kt-btn { margin-left: auto; }
.hi-az-cfiles__ico { font-size: 22px; color: #c20e1a; flex-shrink: 0; }
.hi-az-cfiles__txt { display: flex; flex-direction: column; gap: 2px; flex: 1 1 220px; min-width: 0; }
.hi-az-cfiles__title { font-weight: 600; color: var(--hi-az-ink, #071437); }
.hi-az-cfiles__descr { font-size: .8125rem; color: #6b7280; }
@media (max-width: 640px) {
  .hi-az-cprofile__cover--ph { height: 110px; }
  .hi-az-cprofile__bar { padding: 14px 16px 18px; }
  .hi-az-cprofile__logo { width: 76px; height: 76px; margin-top: -52px; }
  .hi-az-cprofile__name { font-size: 1.25rem; }
  .hi-az-cprofile__links { width: 100%; }
}

/* Video: card-facciata link-out (no iframe; il consent manager bloccherebbe gli embed) */
.hi-az-cprofile .hi-az-video-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.hi-az-vcard { display: flex; flex-direction: column; gap: 8px; text-decoration: none; }
.hi-az-vcard__thumb { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; border-radius: 12px; background: linear-gradient(135deg, #2f3848 0%, #11151d 100%); color: #fff; overflow: hidden; }
.hi-az-vcard__thumb i { font-size: 40px; color: #fff; opacity: .92; transition: transform .15s, opacity .15s; }
.hi-az-vcard:hover .hi-az-vcard__thumb i { transform: scale(1.12); opacity: 1; color: #ff4b55; }
.hi-az-vcard__title { font-size: .875rem; font-weight: 600; color: var(--hi-az-ink, #071437); line-height: 1.4; }
.hi-az-vcard:hover .hi-az-vcard__title { color: #c20e1a; }
