.hitix-iva-public { --iva-bg:#fff; --iva-text:#25313b; --iva-muted:#526270; --iva-line:#dae1e6; --iva-accent:#185b86; color-scheme:light; color:var(--iva-text); background:var(--iva-bg); margin:24px 0; line-height:1.6; font-size:16px; }
.hitix-iva-public * { box-sizing:border-box; }
.hitix-iva-public h2,.hitix-iva-public h3 { color:var(--iva-accent); line-height:1.3; margin:0 0 16px; }
.hitix-iva-public a { color:var(--iva-accent); text-decoration:underline; overflow-wrap:anywhere; }
.hitix-iva-public button,.hitix-iva-public summary { font:inherit; cursor:pointer; }
.hitix-iva-public button { border:1px solid var(--iva-accent); background:var(--iva-accent); color:#fff; padding:10px 18px; border-radius:3px; min-height:44px; margin:12px 0; }
.hitix-iva-public button.hitix-secondary { background:#fff; color:var(--iva-accent); }
.hitix-iva-public :focus-visible { outline:3px solid #e4a619; outline-offset:3px; }
.hitix-iva-public input:not([type=checkbox]),.hitix-iva-public textarea { display:block; font:inherit; padding:10px; color:#25313b; background:#fff; border:1px solid #8997a3; border-radius:3px; width:100%; max-width:100%; }
.hitix-iva-public input[readonly] { background:#f4f6f8; }
.hitix-iva-public input[type=checkbox] { width:auto; }
.hitix-iva-public label { font-weight:600; }
.hitix-iva-public small { font-weight:400; color:var(--iva-muted); }
.hitix-iva-public .hitix-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.hitix-iva-public .hitix-form-grid label { display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
.hitix-iva-public .hitix-span-2 { grid-column:1/-1; }
.hitix-iva-public .hitix-login { max-width:540px; }
.hitix-iva-public .hitix-trap { display:none !important; }
.hitix-profile-notice { padding:12px 16px; background:#edf7f0; border-left:4px solid #36724a; }
.hitix-profile-notice.error { background:#fff3ed; border-color:#b43c1b; }
.hitix-alphabet { --iva-line:#dae1e6; --iva-accent:#185b86; display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; margin:0; border-bottom:1px solid var(--iva-line); background:#fff; color:#25313b; font:600 16px/1.4 sans-serif; box-sizing:border-box; }
.hitix-alphabet a { display:grid; place-items:center; min-width:42px; min-height:42px; color:var(--iva-accent); background:#f2f6f9; border:1px solid var(--iva-line); border-radius:3px; font-weight:700; text-decoration:none; box-sizing:border-box; }
.hitix-alphabet a:hover,.hitix-alphabet a[aria-current] { background:#e3edf4; border-color:#185b86; }
.hitix-alphabet a:focus-visible { outline:3px solid #e4a619; outline-offset:2px; }
/* Floating outside Divi ancestors avoids overflow clipping and transformed containing blocks. */
.hitix-alphabet-floating { position:fixed; z-index:2147483647; box-shadow:0 4px 8px #25313b12; }
.hitix-letter { scroll-margin-top:110px; margin-top:32px; }
.hitix-directory-card { display:grid; grid-template-columns:minmax(180px,28%) minmax(0,1fr); gap:28px; padding:26px 0; border-bottom:1px solid var(--iva-line); align-items:start; }
.hitix-logo { min-height:70px; display:flex; justify-content:center; align-items:flex-start; }
.hitix-logo img { display:block; max-width:100%; max-height:150px; height:auto; width:auto; object-fit:contain; }
.hitix-directory-card > .hitix-logo { border:1px solid var(--iva-line); padding:16px; background:#fff; }
.hitix-directory-card > .hitix-logo-placeholder { border:0; background:transparent; padding:0; }
.hitix-card-interactive { cursor:pointer; }
.hitix-card-interactive:hover .hitix-card-info > h3 { text-decoration:underline; }
.hitix-card-info { min-width:0; }
.hitix-company-overview { display:flow-root; }
.hitix-company-overview .hitix-detail-logo { float:right; display:block; width:30%; max-width:260px; min-height:0; margin:0 0 20px 28px; }
.hitix-detail-logo img { margin-left:auto; max-height:180px; }
.hitix-company-industry { font-weight:700; margin:0 0 18px; }
.hitix-detail-divider { clear:both; border:0; border-top:1px solid var(--iva-line); margin:22px 0; }
.hitix-company-address { margin:0 0 16px; }
.hitix-company-description { margin:0 0 24px; overflow-wrap:anywhere; }
.hitix-company-description p { margin:0 0 16px; }
.hitix-company-description ul,.hitix-company-description ol { padding-left:24px; }
.hitix-company-description li { padding-bottom:6px; }
.hitix-card-info p { margin:8px 0; }
.hitix-profile-details { display:grid; grid-template-columns:minmax(120px,.32fr) minmax(0,1fr); gap:8px 20px; margin:14px 0; align-items:start; }
.hitix-profile-details dt { color:var(--iva-muted); font-weight:600; }
.hitix-profile-details dd { margin:0; overflow-wrap:anywhere; }
.hitix-member-details { margin-top:18px; }
.hitix-member-details summary { display:table; list-style:none; margin:0 0 0 auto; color:var(--iva-accent); background:#f2f4f6; border:1px solid var(--iva-line); padding:8px 14px; border-radius:4px; font-weight:600; min-height:44px; }
.hitix-member-details summary::-webkit-details-marker { display:none; }
.hitix-member-details summary:hover { background:#e7edf2; border-color:#aebfc9; }
.hitix-member-details[open] .hitix-detail-content { padding:16px 0; }
.hitix-member-modal { color-scheme:light; color:#25313b; background:#fff; border:1px solid #dae1e6; border-radius:6px; position:fixed; top:50px; bottom:auto; left:0; right:0; width:min(960px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100vh - 66px); max-height:calc(100dvh - 66px); padding:0; margin:0 auto; box-shadow:0 16px 70px #0004; overflow:auto; }
.hitix-member-modal:not([open]) { display:none; }
.hitix-member-modal::backdrop { background:#172b40a6; }
.hitix-member-modal header { position:sticky; top:0; display:flex; justify-content:space-between; gap:16px; align-items:flex-start; padding:16px 24px; background:#fff; border-bottom:1px solid #dae1e6; z-index:1; }
.hitix-member-modal header h2 { font-size:24px; margin:8px 0; overflow-wrap:anywhere; min-width:0; }
.hitix-modal-controls { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.hitix-member-modal .hitix-modal-controls button { font-size:24px; line-height:1; margin:0; padding:8px; min-width:44px; min-height:44px; background:#f4f6f8; color:#185b86; }
.hitix-member-modal .hitix-modal-controls button:disabled { opacity:.35; cursor:default; }
.hitix-modal-position { font-size:13px; white-space:nowrap; color:#526270; }
.hitix-modal-body { padding:24px; }
.hitix-social-row { margin:-2px 0 16px; }
.hitix-social-label { visibility:hidden; }
.hitix-social-links { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
.hitix-social-link { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; box-sizing:border-box; border:1px solid #cbd6dd; border-radius:50%; background:#f5f7f8; color:var(--iva-accent); font-weight:700; font-size:15px; line-height:1; text-decoration:none; }
.hitix-social-link:hover,.hitix-social-link:focus { color:#fff; background:var(--iva-accent); border-color:var(--iva-accent); text-decoration:none; }
.hitix-social-icon { display:block; width:21px; height:21px; flex:none; }
.hitix-social-icon-globe { width:22px; height:22px; }
.hitix-social-link:focus-visible { outline:3px solid #f0b323; outline-offset:2px; }
html.hitix-modal-open { overflow:hidden; }
@media(max-width:600px) {
 .hitix-member-modal { top:0; width:100%; max-width:100%; max-height:100vh; max-height:100dvh; margin:0; padding:0; border:0; border-radius:0; }
 .hitix-iva-public .hitix-form-grid { grid-template-columns:1fr; }
 .hitix-directory-card { grid-template-columns:minmax(56px,22%) minmax(0,1fr); gap:16px; }
 .hitix-alphabet { gap:5px; }
 .hitix-alphabet a { min-width:36px; min-height:40px; }
 .hitix-member-modal header { flex-direction:column; gap:8px; }
 .hitix-member-modal header h2 { font-size:22px; margin:0; }
 .hitix-modal-controls { align-self:flex-end; }
 .hitix-company-overview .hitix-detail-logo { width:38%; margin-left:16px; }
 .hitix-directory-card > .hitix-logo { max-width:100%; padding:6px; }
 .hitix-logo { justify-content:flex-start; }
 .hitix-directory-card > .hitix-logo-placeholder { min-height:0; }
 .hitix-profile-details { grid-template-columns:1fr; gap:0; }
 .hitix-profile-details dd { margin:0 0 12px; }
 .hitix-social-row { grid-template-columns:1fr; margin-top:-4px; }
 .hitix-social-label { display:none; }
 .hitix-social-links { grid-column:1; }
 .hitix-member-modal header,.hitix-modal-body { padding:16px; }
}
