/* EHN Add-ons 1.4.0 — scoped HeroUI-inspired native components.
 * Intentionally never targets Salient/WPBakery's unprefixed tabs/card/accordion selectors.
 */
.ehn-ui-accordion,
.ehn-ui-tabs,
.ehn-ui-card {
    --ehn-ui-accent: #3452ff;
    --ehn-ui-ink: #18181b;
    --ehn-ui-line: #e4e4e7;
    --ehn-ui-surface: #fff;
    --ehn-ui-radius: 12px;
    box-sizing: border-box;
    max-width: 100%;
    color: var(--ehn-ui-ink);
    font-family: inherit;
    font-size: inherit;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
.ehn-ui-accordion *, .ehn-ui-tabs *, .ehn-ui-card *,
.ehn-ui-accordion *::before, .ehn-ui-tabs *::before, .ehn-ui-card *::before,
.ehn-ui-accordion *::after, .ehn-ui-tabs *::after, .ehn-ui-card *::after { box-sizing: border-box; }
.ehn-ui-accordion [hidden], .ehn-ui-tabs [hidden] { display: none !important; }
.ehn-ui-accordion :focus-visible, .ehn-ui-tabs :focus-visible, .ehn-ui-card :focus-visible {
    outline: 2px solid var(--ehn-ui-accent);
    outline-offset: 3px;
}
/* Accordion */
.ehn-ui-accordion { width: 100%; }
.ehn-ui-accordion .ehn-ui-accordion__item { min-width: 0; border-bottom: 1px solid var(--ehn-ui-line); }
.ehn-ui-accordion .ehn-ui-accordion__item:first-child { border-top: 1px solid var(--ehn-ui-line); }
.ehn-ui-accordion .ehn-ui-accordion__heading {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4;
    font-family: inherit;
    font-weight: 600;
    font-size: inherit;
    color: inherit;
}
.ehn-ui-accordion .ehn-ui-accordion__trigger {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-width: 0;
    padding: 19px 20px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ehn-ui-ink);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: normal;
    text-transform: none;
    text-align: left;
    appearance: none;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease;
}
.ehn-ui-accordion .ehn-ui-accordion__trigger:hover,
.ehn-ui-accordion .ehn-ui-accordion__trigger:focus-visible {
    background: color-mix(in srgb, var(--ehn-ui-ink) 4%, transparent);
    color: var(--ehn-ui-accent);
    box-shadow: none;
}
.ehn-ui-accordion .ehn-ui-accordion__heading-text { display: flex; flex-direction: column; min-width: 0; gap: 3px; }
.ehn-ui-accordion .ehn-ui-accordion__title { overflow-wrap: anywhere; }
.ehn-ui-accordion .ehn-ui-accordion__subtitle { font-size: .835em; line-height: 1.45; font-weight: 400; opacity: .68; }
.ehn-ui-accordion .ehn-ui-accordion__indicator {
    display: inline-flex;
    width: 26px; height: 26px;
    flex: 0 0 26px; align-items: center; justify-content: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--ehn-ui-ink) 5%, transparent);
    transition: transform .2s ease, background-color .2s ease;
}
.ehn-ui-accordion .ehn-ui-accordion__indicator svg { display:block; width: 17px; height: 17px; }
.ehn-ui-accordion .ehn-ui-accordion__trigger[aria-expanded="true"] .ehn-ui-accordion__indicator--chevron { transform: rotate(180deg); }
.ehn-ui-accordion .ehn-ui-accordion__trigger[aria-expanded="true"] .ehn-ui-accordion__indicator--plus svg { transform: rotate(45deg); }
.ehn-ui-accordion .ehn-ui-accordion__trigger[aria-expanded="true"] .ehn-ui-accordion__indicator {
    color: var(--ehn-ui-accent);
    background: color-mix(in srgb, var(--ehn-ui-accent) 10%, transparent);
}
.ehn-ui-accordion .ehn-ui-accordion__body {
    min-width: 0; padding: 0 20px 21px;
    font-size: .95em;
    font-weight: 400;
    line-height: 1.65;
}
.ehn-ui-accordion .ehn-ui-accordion__body > :last-child { margin-bottom: 0; }
.ehn-ui-accordion--surface { display: flex; flex-direction: column; gap: 10px; }
.ehn-ui-accordion--surface .ehn-ui-accordion__item,
.ehn-ui-accordion--surface .ehn-ui-accordion__item:first-child {
    overflow: clip;
    border: 1px solid var(--ehn-ui-line);
    border-radius: var(--ehn-ui-radius);
    background: var(--ehn-ui-surface);
}
.ehn-ui-accordion--no-separators:not(.ehn-ui-accordion--surface) .ehn-ui-accordion__item,
.ehn-ui-accordion--no-separators:not(.ehn-ui-accordion--surface) .ehn-ui-accordion__item:first-child { border: 0; }
.ehn-ui-accordion--no-separators.ehn-ui-accordion--surface .ehn-ui-accordion__item { border-color: transparent; }
.ehn-ui-accordion--sm .ehn-ui-accordion__trigger { padding: 12px 14px; font-size: .92rem; }
.ehn-ui-accordion--sm .ehn-ui-accordion__body { padding: 0 14px 14px; }
.ehn-ui-accordion--lg .ehn-ui-accordion__trigger { padding: 25px 26px; font-size: 1.1rem; }
.ehn-ui-accordion--lg .ehn-ui-accordion__body { padding: 0 26px 26px; }
.ehn-ui-accordion .ehn-ui-accordion__item.is-disabled .ehn-ui-accordion__trigger {
    opacity: .42; cursor: not-allowed; background: transparent; color: var(--ehn-ui-ink);
}
/* Tabs */
.ehn-ui-tabs { display: flex; flex-direction: column; min-width: 0; width: 100%; gap: 18px; }
.ehn-ui-tabs .ehn-ui-tabs__list-wrap { max-width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
.ehn-ui-tabs .ehn-ui-tabs__list {
    display: flex; flex-flow: row nowrap; align-items: center;
    gap: 3px; width: max-content; min-width: min-content;
    padding: 5px; border-radius: var(--ehn-ui-radius);
    background: var(--ehn-ui-surface);
}
.ehn-ui-tabs--align-center .ehn-ui-tabs__list { margin-inline: auto; }
.ehn-ui-tabs--align-end .ehn-ui-tabs__list { margin-left: auto; }
.ehn-ui-tabs--full .ehn-ui-tabs__list { width: 100%; }
.ehn-ui-tabs .ehn-ui-tabs__tab {
    display: inline-flex; flex: 0 0 auto; min-width: 0;
    align-items: center; justify-content: center; gap: 8px;
    white-space: nowrap; cursor: pointer;
    padding: 10px 16px;
    appearance: none; border: 0;
    border-radius: calc(var(--ehn-ui-radius) - 4px);
    background: transparent; color: var(--ehn-ui-ink);
    box-shadow: none;
    font: inherit; font-size: .9rem; font-weight: 550; line-height: 1.4;
    letter-spacing: normal; text-transform: none;
    transition: color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.ehn-ui-tabs .ehn-ui-tabs__tab:hover:not(:disabled) {
    background: color-mix(in srgb, var(--ehn-ui-ink) 6%, transparent);
    color: var(--ehn-ui-ink); box-shadow: none;
}
.ehn-ui-tabs--primary .ehn-ui-tabs__tab[aria-selected="true"],
.ehn-ui-tabs--primary .ehn-ui-tabs__tab[aria-selected="true"]:hover {
    background: var(--ehn-ui-accent); color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.1);
}
.ehn-ui-tabs .ehn-ui-tabs__tab:disabled { opacity: .36; cursor: not-allowed; }
.ehn-ui-tabs .ehn-ui-tabs__badge {
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 100px; padding: 1px 6px;
    background: color-mix(in srgb, currentColor 12%, transparent);
    font-size: .75em; font-weight: 650;
}
.ehn-ui-tabs--secondary .ehn-ui-tabs__list {
    background: transparent; padding: 0; gap: 4px;
    border-radius: 0; border-bottom: 1px solid var(--ehn-ui-line);
}
.ehn-ui-tabs--secondary .ehn-ui-tabs__tab { position: relative; border-radius: 7px 7px 0 0; }
.ehn-ui-tabs--secondary .ehn-ui-tabs__tab[aria-selected="true"] { color: var(--ehn-ui-accent); }
.ehn-ui-tabs--secondary .ehn-ui-tabs__tab[aria-selected="true"]::after {
    content: ''; position: absolute; left: 6px; right: 6px; bottom: -1px;
    height: 2px; background: var(--ehn-ui-accent); border-radius: 2px 2px 0 0;
}
.ehn-ui-tabs--sm .ehn-ui-tabs__tab { padding: 7px 11px; font-size: .81rem; }
.ehn-ui-tabs--lg .ehn-ui-tabs__tab { padding: 13px 20px; font-size: 1rem; }
.ehn-ui-tabs .ehn-ui-tabs__panels { flex: 1 1 auto; min-width: 0; }
.ehn-ui-tabs .ehn-ui-tabs__panel { min-width: 0; width: 100%; animation: ehn-ui-panel-in .18s ease-out; }
.ehn-ui-tabs .ehn-ui-tabs__panel > :last-child { margin-bottom: 0; }
.ehn-ui-tabs--vertical { flex-direction: row; align-items: stretch; gap: 22px; }
.ehn-ui-tabs--vertical .ehn-ui-tabs__list-wrap { flex: 0 0 220px; max-width: 40%; overflow-x: auto; }
.ehn-ui-tabs--vertical .ehn-ui-tabs__list {
    display: flex; flex-direction: column; align-items: stretch;
    width: 100%; min-width: 0; margin-inline: 0;
}
.ehn-ui-tabs--vertical .ehn-ui-tabs__tab { width: 100%; justify-content: flex-start; text-align: left; white-space: normal; }
.ehn-ui-tabs--vertical.ehn-ui-tabs--secondary .ehn-ui-tabs__list { border-bottom: 0; border-right: 1px solid var(--ehn-ui-line); }
.ehn-ui-tabs--vertical.ehn-ui-tabs--secondary .ehn-ui-tabs__tab[aria-selected="true"]::after {
    top: 6px; right: -1px; bottom: 6px; left: auto;
    width: 2px; height: auto; border-radius: 2px 0 0 2px;
}
@keyframes ehn-ui-panel-in { from {opacity:.6; transform:translateY(3px);} to {opacity:1; transform:translateY(0);} }
/* Card */
.ehn-ui-card {
    --ehn-ui-card-surface: #fff;
    --ehn-ui-card-padding: 24px;
    display: flex; flex-direction: column;
    position: relative; width: 100%; min-width: 0;
    overflow: hidden;
    border: 1px solid var(--ehn-ui-line);
    border-radius: var(--ehn-ui-radius);
    background: var(--ehn-ui-card-custom-bg, var(--ehn-ui-card-surface));
    color: var(--ehn-ui-ink);
    box-shadow: none;
    transition: transform .2s ease, box-shadow .2s ease;
}
.ehn-ui-card--transparent { --ehn-ui-card-surface: transparent; }
.ehn-ui-card--secondary { --ehn-ui-card-surface: #f4f4f5; }
.ehn-ui-card--tertiary { --ehn-ui-card-surface: #e9e9ee; }
.ehn-ui-card--no-border { border-color: transparent; }
.ehn-ui-card--sm { --ehn-ui-card-padding: 16px; }
.ehn-ui-card--lg { --ehn-ui-card-padding: 32px; }
.ehn-ui-card--shadow-sm { box-shadow: 0 2px 8px rgba(18,20,30,.055); }
.ehn-ui-card--shadow-md { box-shadow: 0 6px 24px rgba(18,20,30,.10); }
@media (hover: hover) {
    .ehn-ui-card--hover-lift:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(18,20,30,.13); }
}
.ehn-ui-card .ehn-ui-card__inner { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; padding: var(--ehn-ui-card-padding); }
.ehn-ui-card .ehn-ui-card__header { display: flex; flex-direction: column; gap: 7px; margin: 0 0 16px; min-width: 0; }
.ehn-ui-card .ehn-ui-card__title {
    margin: 0 !important; padding: 0 !important;
    color: inherit; font-family: inherit; font-size: 1.15rem;
    line-height: 1.3; font-weight: 700; letter-spacing: -.012em;
}
.ehn-ui-card .ehn-ui-card__badge {
    display: inline-flex; align-self: flex-start;
    max-width: 100%; width: fit-content;
    margin-bottom: 5px; padding: 3px 9px;
    border-radius: 999px; font-size: .75rem; font-weight: 650;
    background: color-mix(in srgb, var(--ehn-ui-accent) 10%, transparent);
    color: var(--ehn-ui-accent);
}
.ehn-ui-card .ehn-ui-card__description { margin: 0; color: inherit; font-size: .94rem; line-height: 1.55; opacity: .67; }
.ehn-ui-card .ehn-ui-card__content { flex: 1 1 auto; min-width: 0; font-size: .94rem; line-height: 1.65; }
.ehn-ui-card .ehn-ui-card__content > :last-child { margin-bottom: 0; }
.ehn-ui-card .ehn-ui-card__footer {
    margin-top: 20px; padding-top: 16px;
    border-top: 1px solid var(--ehn-ui-line);
    display: flex; gap: 12px; flex-wrap: wrap; align-items: center; justify-content: space-between;
}
.ehn-ui-card .ehn-ui-card__footer-text { font-size: .85rem; opacity: .7; }
.ehn-ui-card .ehn-ui-card__action {
    display: inline-flex; align-items: center; gap: 7px;
    color: var(--ehn-ui-accent); background: transparent;
    font-size: .9rem; font-weight: 650; text-decoration: none;
    border: 0; box-shadow: none; padding: 3px 0;
}
.ehn-ui-card .ehn-ui-card__action:hover { color: var(--ehn-ui-accent); opacity: .8; text-decoration: none; }
.ehn-ui-card .ehn-ui-card__action svg { display: block; width: 16px; height: 16px; transition: transform .2s ease; }
.ehn-ui-card .ehn-ui-card__action:hover svg { transform: translateX(3px); }
.ehn-ui-card--align-center .ehn-ui-card__header,
.ehn-ui-card--align-center .ehn-ui-card__content { text-align: center; }
.ehn-ui-card--align-center .ehn-ui-card__badge { align-self: center; }
.ehn-ui-card--align-right .ehn-ui-card__header,
.ehn-ui-card--align-right .ehn-ui-card__content { text-align: right; }
.ehn-ui-card--align-right .ehn-ui-card__badge { align-self: flex-end; }
.ehn-ui-card .ehn-ui-card__media { position: relative; display: block; flex: 0 0 auto; padding: 0; margin: 0; min-width: 0; overflow: hidden; background: #f4f4f5; }
.ehn-ui-card--ratio-wide .ehn-ui-card__media { aspect-ratio: 16 / 9; }
.ehn-ui-card--ratio-landscape .ehn-ui-card__media { aspect-ratio: 4 / 3; }
.ehn-ui-card--ratio-square .ehn-ui-card__media { aspect-ratio: 1; }
.ehn-ui-card .ehn-ui-card__media .ehn-ui-card__image {
    display: block; width: 100%; height: 100%; max-width: none;
    object-fit: cover; object-position: center; border-radius: 0; margin: 0;
}
.ehn-ui-card--fit-contain .ehn-ui-card__media .ehn-ui-card__image { object-fit: contain; }
.ehn-ui-card--ratio-auto .ehn-ui-card__media .ehn-ui-card__image { width: 100%; height: auto; }
.ehn-ui-card--media-left, .ehn-ui-card--media-right { flex-direction: row; }
.ehn-ui-card--media-left .ehn-ui-card__media,
.ehn-ui-card--media-right .ehn-ui-card__media {
    flex: 0 0 38%; align-self: stretch; aspect-ratio: auto; min-height: 200px;
}
.ehn-ui-card--media-left .ehn-ui-card__media .ehn-ui-card__image,
.ehn-ui-card--media-right .ehn-ui-card__media .ehn-ui-card__image { position: absolute; inset: 0; height: 100%; }
.ehn-ui-card--media-right .ehn-ui-card__media { order: 2; }
.ehn-ui-card--media-right .ehn-ui-card__inner { order: 1; }
.ehn-ui-orphan { padding: 12px; border: 1px solid var(--ehn-ui-line, #e4e4e7); border-radius: 8px; }
@media (max-width: 767px) {
    .ehn-ui-tabs--vertical { flex-direction: column; gap: 16px; }
    .ehn-ui-tabs--vertical .ehn-ui-tabs__list-wrap { flex: none; max-width: 100%; width: 100%; }
    .ehn-ui-tabs--vertical .ehn-ui-tabs__list { width: 100%; }
    .ehn-ui-card--media-left, .ehn-ui-card--media-right { flex-direction: column; }
    .ehn-ui-card--media-left .ehn-ui-card__media,
    .ehn-ui-card--media-right .ehn-ui-card__media { flex: none; width: 100%; aspect-ratio: 16 / 9; min-height: 0; order: 0; }
    .ehn-ui-card--media-left .ehn-ui-card__inner,
    .ehn-ui-card--media-right .ehn-ui-card__inner { order: 1; }
    .ehn-ui-card--media-left .ehn-ui-card__media .ehn-ui-card__image,
    .ehn-ui-card--media-right .ehn-ui-card__media .ehn-ui-card__image { position: absolute; }
    .ehn-ui-card--lg { --ehn-ui-card-padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .ehn-ui-accordion *, .ehn-ui-tabs *, .ehn-ui-card * { animation: none !important; transition-duration: .01ms !important; }
    .ehn-ui-tabs .ehn-ui-tabs__panel { animation: none; }
}
