.np-accordion,
.np-collapse,
.np-faq,
.np-disclosure,
.np-accordion-group {
    position: relative;
    display: grid;
    width: 100%;
    min-width: 0;
    gap: var(--np-accordion-gap, 0.75rem);
}

.np-accordion.is-compact,
.np-collapse.is-compact,
.np-faq.is-compact,
.np-disclosure.is-compact,
.np-accordion-group.is-compact {
    --np-accordion-gap: 0.5rem;
}

.np-accordion.is-spacious,
.np-collapse.is-spacious,
.np-faq.is-spacious,
.np-disclosure.is-spacious,
.np-accordion-group.is-spacious {
    --np-accordion-gap: 1rem;
}

.np-accordion-item,
.np-collapse-item,
.np-faq-item,
.np-disclosure-item {
    position: relative;
    overflow: hidden;
    background: var(--np-accordion-item-background, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-accordion-item-border-color, #e2e8f0);
    border-radius: var(--np-accordion-item-radius, 1.25rem);
    color: var(--np-accordion-color, #334155);
    box-shadow: var(--np-accordion-item-shadow, 0 1px 3px rgba(15, 23, 42, 0.06));
    transition: background var(--np-transition-fast, 160ms ease), border-color var(--np-transition-fast, 160ms ease), box-shadow var(--np-transition-fast, 160ms ease);
}

.np-accordion-item:hover,
.np-collapse-item:hover,
.np-faq-item:hover,
.np-disclosure-item:hover {
    border-color: var(--np-accordion-item-border-color-hover, #cbd5e1);
    box-shadow: var(--np-accordion-item-shadow-hover, 0 8px 24px rgba(15, 23, 42, 0.08));
}

.np-accordion-item.is-active,
.np-accordion-item.is-open,
.np-collapse-item.is-active,
.np-collapse-item.is-open,
.np-faq-item.is-active,
.np-faq-item.is-open,
.np-disclosure-item.is-active,
.np-disclosure-item.is-open {
    border-color: var(--np-accordion-item-border-color-active, rgba(79, 70, 229, 0.28));
    box-shadow: var(--np-accordion-item-shadow-active, 0 14px 38px rgba(15, 23, 42, 0.1));
}

.np-accordion-item.is-flat,
.np-collapse-item.is-flat,
.np-faq-item.is-flat,
.np-disclosure-item.is-flat {
    box-shadow: none;
}

.np-accordion-item.is-borderless,
.np-collapse-item.is-borderless,
.np-faq-item.is-borderless,
.np-disclosure-item.is-borderless {
    border-color: transparent;
}

.np-accordion-item.is-soft,
.np-collapse-item.is-soft,
.np-faq-item.is-soft,
.np-disclosure-item.is-soft {
    background: var(--np-color-surface-muted, #f1f5f9);
}

.np-accordion-item.is-glass,
.np-collapse-item.is-glass,
.np-faq-item.is-glass,
.np-disclosure-item.is-glass {
    background: var(--np-glass-background, rgba(255, 255, 255, 0.76));
    border-color: var(--np-glass-border-color, rgba(203, 213, 225, 0.62));
    box-shadow: var(--np-glass-shadow, 0 8px 24px rgba(15, 23, 42, 0.08));
    backdrop-filter: var(--np-glass-backdrop-filter, blur(16px));
}

.np-accordion-item.is-primary,
.np-collapse-item.is-primary,
.np-faq-item.is-primary,
.np-disclosure-item.is-primary {
    background: var(--np-color-primary-soft, #eef2ff);
    border-color: var(--np-color-primary-subtle, #e0e7ff);
}

.np-accordion-item.is-sky,
.np-collapse-item.is-sky,
.np-faq-item.is-sky,
.np-disclosure-item.is-sky {
    background: var(--np-color-sky-soft, #e0f2fe);
    border-color: var(--np-color-sky-subtle, #bae6fd);
}

.np-accordion-item.is-teal,
.np-collapse-item.is-teal,
.np-faq-item.is-teal,
.np-disclosure-item.is-teal {
    background: var(--np-color-teal-soft, #ccfbf1);
    border-color: var(--np-color-teal-subtle, #99f6e4);
}

.np-accordion-item.is-lime,
.np-collapse-item.is-lime,
.np-faq-item.is-lime,
.np-disclosure-item.is-lime {
    background: var(--np-color-lime-soft, #ecfccb);
    border-color: var(--np-color-lime-subtle, #d9f99d);
}

.np-accordion-item.is-dark,
.np-collapse-item.is-dark,
.np-faq-item.is-dark,
.np-disclosure-item.is-dark {
    background: var(--np-color-heading, #0f172a);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.78);
}

.np-accordion-header,
.np-collapse-header,
.np-faq-header,
.np-disclosure-header {
    position: relative;
    margin: 0;
}

.np-accordion-trigger,
.np-collapse-trigger,
.np-faq-question,
.np-disclosure-trigger,
button.np-accordion-trigger,
button.np-collapse-trigger,
button.np-faq-question,
button.np-disclosure-trigger {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--np-accordion-trigger-gap, 1rem);
    width: 100%;
    min-height: var(--np-accordion-trigger-min-height, 4rem);
    margin: 0;
    padding-block: var(--np-accordion-trigger-padding-y, 1rem);
    padding-inline: var(--np-accordion-trigger-padding-x, 1.25rem);
    background: transparent;
    border: 0;
    border-radius: inherit;
    color: var(--np-accordion-trigger-color, #0f172a);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-accordion-trigger-font-size, 1rem);
    font-weight: var(--np-accordion-trigger-font-weight, 800);
    line-height: var(--np-line-height-snug, 1.5);
    text-align: start;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    transition: background var(--np-transition-fast, 160ms ease), color var(--np-transition-fast, 160ms ease);
}

.np-accordion-trigger:hover,
.np-accordion-trigger:focus,
.np-collapse-trigger:hover,
.np-collapse-trigger:focus,
.np-faq-question:hover,
.np-faq-question:focus,
.np-disclosure-trigger:hover,
.np-disclosure-trigger:focus {
    background: var(--np-accordion-trigger-background-hover, rgba(79, 70, 229, 0.04));
    color: var(--np-accordion-trigger-color-hover, #4f46e5);
    text-decoration: none;
}

.np-accordion-trigger:focus-visible,
.np-collapse-trigger:focus-visible,
.np-faq-question:focus-visible,
.np-disclosure-trigger:focus-visible {
    outline: var(--np-focus-outline-width, 3px) solid var(--np-focus-outline-color, #2dd4bf);
    outline-offset: calc(var(--np-focus-outline-offset, 3px) * -1);
}

.np-accordion-title,
.np-collapse-title,
.np-faq-title,
.np-disclosure-title {
    display: inline-flex;
    align-items: center;
    gap: var(--np-spacing-sm, 0.75rem);
    min-width: 0;
    color: inherit;
}

.np-accordion-title-text,
.np-collapse-title-text,
.np-faq-title-text,
.np-disclosure-title-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.np-accordion-icon,
.np-collapse-icon,
.np-faq-icon,
.np-disclosure-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-accordion-icon-size, 2rem);
    min-width: var(--np-accordion-icon-size, 2rem);
    height: var(--np-accordion-icon-size, 2rem);
    background: var(--np-accordion-icon-background, #eef2ff);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-accordion-icon-color, #4f46e5);
    font-size: var(--np-accordion-icon-font-size, 1rem);
    line-height: 1;
}

.np-accordion-icon svg,
.np-collapse-icon svg,
.np-faq-icon svg,
.np-disclosure-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.np-accordion-indicator,
.np-collapse-indicator,
.np-faq-indicator,
.np-disclosure-indicator {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-accordion-indicator-size, 2rem);
    min-width: var(--np-accordion-indicator-size, 2rem);
    height: var(--np-accordion-indicator-size, 2rem);
    background: var(--np-accordion-indicator-background, #f1f5f9);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-accordion-indicator-color, #64748b);
    transition: background var(--np-transition-fast, 160ms ease), color var(--np-transition-fast, 160ms ease), transform var(--np-transition-fast, 160ms ease);
}

.np-accordion-indicator::before,
.np-accordion-indicator::after,
.np-collapse-indicator::before,
.np-collapse-indicator::after,
.np-faq-indicator::before,
.np-faq-indicator::after,
.np-disclosure-indicator::before,
.np-disclosure-indicator::after {
    position: absolute;
    width: 0.75rem;
    height: 2px;
    background: currentColor;
    border-radius: var(--np-radius-pill, 999px);
    content: "";
}

.np-accordion-indicator::after,
.np-collapse-indicator::after,
.np-faq-indicator::after,
.np-disclosure-indicator::after {
    transform: rotate(90deg);
    transition: transform var(--np-transition-fast, 160ms ease), opacity var(--np-transition-fast, 160ms ease);
}

.np-accordion-trigger:hover .np-accordion-indicator,
.np-accordion-trigger:focus .np-accordion-indicator,
.np-collapse-trigger:hover .np-collapse-indicator,
.np-collapse-trigger:focus .np-collapse-indicator,
.np-faq-question:hover .np-faq-indicator,
.np-faq-question:focus .np-faq-indicator,
.np-disclosure-trigger:hover .np-disclosure-indicator,
.np-disclosure-trigger:focus .np-disclosure-indicator {
    background: var(--np-color-primary-soft, #eef2ff);
    color: var(--np-color-primary, #4f46e5);
}

.np-accordion-item.is-open .np-accordion-indicator,
.np-accordion-item.is-active .np-accordion-indicator,
.np-collapse-item.is-open .np-collapse-indicator,
.np-collapse-item.is-active .np-collapse-indicator,
.np-faq-item.is-open .np-faq-indicator,
.np-faq-item.is-active .np-faq-indicator,
.np-disclosure-item.is-open .np-disclosure-indicator,
.np-disclosure-item.is-active .np-disclosure-indicator,
.np-accordion-trigger[aria-expanded="true"] .np-accordion-indicator,
.np-collapse-trigger[aria-expanded="true"] .np-collapse-indicator,
.np-faq-question[aria-expanded="true"] .np-faq-indicator,
.np-disclosure-trigger[aria-expanded="true"] .np-disclosure-indicator {
    background: var(--np-color-primary, #4f46e5);
    color: var(--np-color-white, #ffffff);
}

.np-accordion-item.is-open .np-accordion-indicator::after,
.np-accordion-item.is-active .np-accordion-indicator::after,
.np-collapse-item.is-open .np-collapse-indicator::after,
.np-collapse-item.is-active .np-collapse-indicator::after,
.np-faq-item.is-open .np-faq-indicator::after,
.np-faq-item.is-active .np-faq-indicator::after,
.np-disclosure-item.is-open .np-disclosure-indicator::after,
.np-disclosure-item.is-active .np-disclosure-indicator::after,
.np-accordion-trigger[aria-expanded="true"] .np-accordion-indicator::after,
.np-collapse-trigger[aria-expanded="true"] .np-collapse-indicator::after,
.np-faq-question[aria-expanded="true"] .np-faq-indicator::after,
.np-disclosure-trigger[aria-expanded="true"] .np-disclosure-indicator::after {
    transform: rotate(0deg);
    opacity: 0;
}

.np-accordion-indicator.is-chevron::before,
.np-collapse-indicator.is-chevron::before,
.np-faq-indicator.is-chevron::before,
.np-disclosure-indicator.is-chevron::before {
    width: 0.5rem;
    height: 0.5rem;
    transform: rotate(45deg);
    border-inline-end: 2px solid currentColor;
    border-block-end: 2px solid currentColor;
    background: transparent;
    border-radius: 0;
    content: "";
}

.np-accordion-indicator.is-chevron::after,
.np-collapse-indicator.is-chevron::after,
.np-faq-indicator.is-chevron::after,
.np-disclosure-indicator.is-chevron::after {
    display: none;
}

.np-accordion-item.is-open .np-accordion-indicator.is-chevron,
.np-accordion-item.is-active .np-accordion-indicator.is-chevron,
.np-collapse-item.is-open .np-collapse-indicator.is-chevron,
.np-collapse-item.is-active .np-collapse-indicator.is-chevron,
.np-faq-item.is-open .np-faq-indicator.is-chevron,
.np-faq-item.is-active .np-faq-indicator.is-chevron,
.np-disclosure-item.is-open .np-disclosure-indicator.is-chevron,
.np-disclosure-item.is-active .np-disclosure-indicator.is-chevron,
.np-accordion-trigger[aria-expanded="true"] .np-accordion-indicator.is-chevron,
.np-collapse-trigger[aria-expanded="true"] .np-collapse-indicator.is-chevron,
.np-faq-question[aria-expanded="true"] .np-faq-indicator.is-chevron,
.np-disclosure-trigger[aria-expanded="true"] .np-disclosure-indicator.is-chevron {
    transform: rotate(180deg);
}

.np-accordion-panel,
.np-collapse-panel,
.np-faq-answer,
.np-disclosure-panel {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows var(--np-accordion-transition, 260ms ease), opacity var(--np-accordion-transition, 260ms ease);
    opacity: 0;
}

.np-accordion-panel-inner,
.np-collapse-panel-inner,
.np-faq-answer-inner,
.np-disclosure-panel-inner {
    min-height: 0;
    overflow: hidden;
}

.np-accordion-item.is-open .np-accordion-panel,
.np-accordion-item.is-active .np-accordion-panel,
.np-collapse-item.is-open .np-collapse-panel,
.np-collapse-item.is-active .np-collapse-panel,
.np-faq-item.is-open .np-faq-answer,
.np-faq-item.is-active .np-faq-answer,
.np-disclosure-item.is-open .np-disclosure-panel,
.np-disclosure-item.is-active .np-disclosure-panel,
.np-accordion-panel.is-open,
.np-accordion-panel.is-active,
.np-collapse-panel.is-open,
.np-collapse-panel.is-active,
.np-faq-answer.is-open,
.np-faq-answer.is-active,
.np-disclosure-panel.is-open,
.np-disclosure-panel.is-active {
    grid-template-rows: 1fr;
    opacity: 1;
}

.np-accordion-panel[hidden],
.np-collapse-panel[hidden],
.np-faq-answer[hidden],
.np-disclosure-panel[hidden] {
    display: none !important;
}

.np-accordion-content,
.np-collapse-content,
.np-faq-content,
.np-disclosure-content {
    padding: 0 var(--np-accordion-content-padding-x, 1.25rem) var(--np-accordion-content-padding-y, 1.25rem);
    color: var(--np-accordion-content-color, #64748b);
    font-size: var(--np-accordion-content-font-size, 0.9375rem);
    line-height: var(--np-line-height-relaxed, 1.9);
}

.np-accordion-content > *:first-child,
.np-collapse-content > *:first-child,
.np-faq-content > *:first-child,
.np-disclosure-content > *:first-child {
    margin-block-start: 0;
}

.np-accordion-content > *:last-child,
.np-collapse-content > *:last-child,
.np-faq-content > *:last-child,
.np-disclosure-content > *:last-child {
    margin-block-end: 0;
}

.np-accordion-content a,
.np-collapse-content a,
.np-faq-content a,
.np-disclosure-content a {
    color: var(--np-color-primary, #4f46e5);
    font-weight: var(--np-font-weight-bold, 700);
    text-decoration: none;
}

.np-accordion-content a:hover,
.np-accordion-content a:focus,
.np-collapse-content a:hover,
.np-collapse-content a:focus,
.np-faq-content a:hover,
.np-faq-content a:focus,
.np-disclosure-content a:hover,
.np-disclosure-content a:focus {
    color: var(--np-color-sky, #38bdf8);
    text-decoration: none;
}

.np-accordion.is-line,
.np-collapse.is-line,
.np-faq.is-line,
.np-disclosure.is-line {
    gap: 0;
}

.np-accordion.is-line .np-accordion-item,
.np-collapse.is-line .np-collapse-item,
.np-faq.is-line .np-faq-item,
.np-disclosure.is-line .np-disclosure-item {
    background: transparent;
    border-width: 0 0 var(--np-border-width, 1px);
    border-color: var(--np-color-border-soft, #e2e8f0);
    border-radius: 0;
    box-shadow: none;
}

.np-accordion.is-line .np-accordion-trigger,
.np-collapse.is-line .np-collapse-trigger,
.np-faq.is-line .np-faq-question,
.np-disclosure.is-line .np-disclosure-trigger {
    padding-inline: 0;
}

.np-accordion.is-line .np-accordion-content,
.np-collapse.is-line .np-collapse-content,
.np-faq.is-line .np-faq-content,
.np-disclosure.is-line .np-disclosure-content {
    padding-inline: 0;
}

.np-accordion.is-card,
.np-collapse.is-card,
.np-faq.is-card,
.np-disclosure.is-card {
    padding: var(--np-accordion-card-padding, 1rem);
    background: var(--np-color-surface, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-color-border-soft, #e2e8f0);
    border-radius: var(--np-radius-2xl, 1.5rem);
    box-shadow: var(--np-shadow-sm, 0 8px 24px rgba(15, 23, 42, 0.08));
}

.np-accordion.is-card .np-accordion-item,
.np-collapse.is-card .np-collapse-item,
.np-faq.is-card .np-faq-item,
.np-disclosure.is-card .np-disclosure-item {
    box-shadow: none;
}

.np-accordion.is-numbered,
.np-faq.is-numbered {
    counter-reset: np-accordion;
}

.np-accordion.is-numbered .np-accordion-item,
.np-faq.is-numbered .np-faq-item {
    counter-increment: np-accordion;
}

.np-accordion.is-numbered .np-accordion-title::before,
.np-faq.is-numbered .np-faq-title::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    min-width: 2rem;
    height: 2rem;
    background: var(--np-color-primary-soft, #eef2ff);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-color-primary, #4f46e5);
    font-size: var(--np-font-size-xs, 0.75rem);
    font-weight: var(--np-font-weight-black, 900);
    line-height: 1;
    content: counter(np-accordion);
}

.np-accordion.is-numbered .np-accordion-item.is-open .np-accordion-title::before,
.np-accordion.is-numbered .np-accordion-item.is-active .np-accordion-title::before,
.np-faq.is-numbered .np-faq-item.is-open .np-faq-title::before,
.np-faq.is-numbered .np-faq-item.is-active .np-faq-title::before {
    background: var(--np-color-primary, #4f46e5);
    color: var(--np-color-white, #ffffff);
}

.np-accordion.is-split .np-accordion-trigger,
.np-collapse.is-split .np-collapse-trigger,
.np-faq.is-split .np-faq-question,
.np-disclosure.is-split .np-disclosure-trigger {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.np-accordion.is-split .np-accordion-icon,
.np-collapse.is-split .np-collapse-icon,
.np-faq.is-split .np-faq-icon,
.np-disclosure.is-split .np-disclosure-icon {
    order: 1;
}

.np-accordion.is-split .np-accordion-title,
.np-collapse.is-split .np-collapse-title,
.np-faq.is-split .np-faq-title,
.np-disclosure.is-split .np-disclosure-title {
    order: 2;
}

.np-accordion.is-split .np-accordion-indicator,
.np-collapse.is-split .np-collapse-indicator,
.np-faq.is-split .np-faq-indicator,
.np-disclosure.is-split .np-disclosure-indicator {
    order: 3;
}

.np-disclosure details,
details.np-disclosure-details,
details.np-accordion-item,
details.np-faq-item {
    overflow: hidden;
    background: var(--np-accordion-item-background, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-accordion-item-border-color, #e2e8f0);
    border-radius: var(--np-accordion-item-radius, 1.25rem);
    color: var(--np-accordion-color, #334155);
    box-shadow: var(--np-accordion-item-shadow, 0 1px 3px rgba(15, 23, 42, 0.06));
}

.np-disclosure details[open],
details.np-disclosure-details[open],
details.np-accordion-item[open],
details.np-faq-item[open] {
    border-color: var(--np-accordion-item-border-color-active, rgba(79, 70, 229, 0.28));
    box-shadow: var(--np-accordion-item-shadow-active, 0 14px 38px rgba(15, 23, 42, 0.1));
}

.np-disclosure summary,
details.np-disclosure-details summary,
details.np-accordion-item summary,
details.np-faq-item summary {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--np-accordion-trigger-gap, 1rem);
    min-height: var(--np-accordion-trigger-min-height, 4rem);
    padding-block: var(--np-accordion-trigger-padding-y, 1rem);
    padding-inline: var(--np-accordion-trigger-padding-x, 1.25rem);
    color: var(--np-accordion-trigger-color, #0f172a);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-accordion-trigger-font-size, 1rem);
    font-weight: var(--np-accordion-trigger-font-weight, 800);
    line-height: var(--np-line-height-snug, 1.5);
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.np-disclosure summary::-webkit-details-marker,
details.np-disclosure-details summary::-webkit-details-marker,
details.np-accordion-item summary::-webkit-details-marker,
details.np-faq-item summary::-webkit-details-marker {
    display: none;
}

.np-disclosure summary::after,
details.np-disclosure-details summary::after,
details.np-accordion-item summary::after,
details.np-faq-item summary::after {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-accordion-indicator-size, 2rem);
    min-width: var(--np-accordion-indicator-size, 2rem);
    height: var(--np-accordion-indicator-size, 2rem);
    background: var(--np-accordion-indicator-background, #f1f5f9);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-accordion-indicator-color, #64748b);
    font-size: 1.2rem;
    font-weight: var(--np-font-weight-regular, 400);
    line-height: 1;
    transition: background var(--np-transition-fast, 160ms ease), color var(--np-transition-fast, 160ms ease), transform var(--np-transition-fast, 160ms ease);
    content: "+";
}

.np-disclosure details[open] summary::after,
details.np-disclosure-details[open] summary::after,
details.np-accordion-item[open] summary::after,
details.np-faq-item[open] summary::after {
    transform: rotate(180deg);
    background: var(--np-color-primary, #4f46e5);
    color: var(--np-color-white, #ffffff);
    content: "−";
}

.np-disclosure summary:hover,
.np-disclosure summary:focus,
details.np-disclosure-details summary:hover,
details.np-disclosure-details summary:focus,
details.np-accordion-item summary:hover,
details.np-accordion-item summary:focus,
details.np-faq-item summary:hover,
details.np-faq-item summary:focus {
    color: var(--np-color-primary, #4f46e5);
}

.np-disclosure-details-content,
details.np-disclosure-details > :not(summary),
details.np-accordion-item > :not(summary),
details.np-faq-item > :not(summary) {
    padding: 0 var(--np-accordion-content-padding-x, 1.25rem) var(--np-accordion-content-padding-y, 1.25rem);
    color: var(--np-accordion-content-color, #64748b);
    font-size: var(--np-accordion-content-font-size, 0.9375rem);
    line-height: var(--np-line-height-relaxed, 1.9);
}

.np-accordion-toolbar,
.np-collapse-toolbar,
.np-faq-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--np-spacing-md, 1rem);
    margin-block-end: var(--np-spacing-lg, 1.5rem);
}

.np-accordion-toolbar-start,
.np-accordion-toolbar-end,
.np-collapse-toolbar-start,
.np-collapse-toolbar-end,
.np-faq-toolbar-start,
.np-faq-toolbar-end {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--np-spacing-sm, 0.75rem);
}

.np-accordion-expand-all,
.np-accordion-collapse-all,
.np-faq-expand-all,
.np-faq-collapse-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--np-button-height-sm, 2.5rem);
    padding-inline: var(--np-button-padding-x-sm, 1rem);
    background: var(--np-color-surface, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-color-border-soft, #e2e8f0);
    border-radius: var(--np-radius-pill, 999px);
    color: var(--np-color-text, #334155);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-font-size-sm, 0.875rem);
    font-weight: var(--np-font-weight-bold, 700);
    line-height: 1;
    cursor: pointer;
    transition: background var(--np-transition-fast, 160ms ease), border-color var(--np-transition-fast, 160ms ease), color var(--np-transition-fast, 160ms ease);
}

.np-accordion-expand-all:hover,
.np-accordion-expand-all:focus,
.np-accordion-collapse-all:hover,
.np-accordion-collapse-all:focus,
.np-faq-expand-all:hover,
.np-faq-expand-all:focus,
.np-faq-collapse-all:hover,
.np-faq-collapse-all:focus {
    background: var(--np-color-primary-soft, #eef2ff);
    border-color: var(--np-color-primary-subtle, #e0e7ff);
    color: var(--np-color-primary, #4f46e5);
}

.np-accordion-search,
.np-faq-search {
    position: relative;
    width: min(100%, var(--np-accordion-search-width, 420px));
}

.np-accordion-search input,
.np-faq-search input {
    width: 100%;
    min-height: var(--np-input-height, 3rem);
    padding-inline: var(--np-input-padding-x, 1rem);
    background: var(--np-input-background, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-input-border-color, #e2e8f0);
    border-radius: var(--np-input-radius, 1rem);
    color: var(--np-input-text-color, #334155);
    font-family: var(--np-body-font-family, Tahoma, Arial, sans-serif);
    font-size: var(--np-font-size-md, 1rem);
    outline: none;
}

.np-accordion-search input:focus,
.np-faq-search input:focus {
    border-color: var(--np-input-border-color-focus, #4f46e5);
    box-shadow: var(--np-input-shadow-focus, 0 0 0 4px rgba(79, 70, 229, 0.12));
}

.np-accordion-empty,
.np-faq-empty {
    display: grid;
    place-items: center;
    min-height: 220px;
    padding: var(--np-spacing-xl, 2rem);
    background: var(--np-color-surface, #ffffff);
    border: var(--np-border-width, 1px) dashed var(--np-color-border-soft, #e2e8f0);
    border-radius: var(--np-radius-xl, 1.25rem);
    color: var(--np-color-text-muted, #64748b);
    text-align: center;
}

.np-accordion-empty-content,
.np-faq-empty-content {
    display: grid;
    gap: var(--np-spacing-sm, 0.75rem);
    max-width: 420px;
    margin-inline: auto;
}

.np-accordion-empty-title,
.np-faq-empty-title {
    margin: 0;
    color: var(--np-color-heading, #0f172a);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-font-size-lg, 1.125rem);
    font-weight: var(--np-font-weight-black, 900);
    line-height: var(--np-line-height-tight, 1.3);
}

.np-accordion-empty-text,
.np-faq-empty-text {
    margin: 0;
    color: var(--np-color-text-muted, #64748b);
    font-size: var(--np-font-size-sm, 0.875rem);
    line-height: var(--np-line-height-snug, 1.5);
}

.np-accordion-loading,
.np-faq-loading {
    position: relative;
    min-height: 220px;
    pointer-events: none;
}

.np-accordion-loading::before,
.np-faq-loading::before {
    position: absolute;
    inset: 0;
    z-index: var(--np-z-index-content, 10);
    background: rgba(255, 255, 255, 0.64);
    backdrop-filter: blur(4px);
    content: "";
}

.np-accordion-loading::after,
.np-faq-loading::after {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    z-index: calc(var(--np-z-index-content, 10) + 1);
    width: 2rem;
    height: 2rem;
    margin-block-start: -1rem;
    margin-inline-start: -1rem;
    border: 3px solid var(--np-loader-track-color, #eef2ff);
    border-block-start-color: var(--np-loader-color, #4f46e5);
    border-radius: var(--np-radius-circle, 50%);
    animation: np-accordion-spin 700ms linear infinite;
    content: "";
}

[dir="rtl"] .np-accordion-loading::after,
[dir="rtl"] .np-faq-loading::after,
.rtl .np-accordion-loading::after,
.rtl .np-faq-loading::after {
    margin-inline-start: 0;
    margin-inline-end: -1rem;
}

.np-accordion-skeleton,
.np-faq-skeleton {
    position: relative;
    overflow: hidden;
    background: var(--np-color-surface-muted, #f1f5f9);
    color: transparent;
    pointer-events: none;
}

.np-accordion-skeleton::after,
.np-faq-skeleton::after {
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.58) 50%, transparent 100%);
    animation: np-accordion-skeleton 1200ms ease-in-out infinite;
    content: "";
}

[dir="rtl"] .np-accordion-skeleton::after,
[dir="rtl"] .np-faq-skeleton::after,
.rtl .np-accordion-skeleton::after,
.rtl .np-faq-skeleton::after {
    transform: translateX(100%);
    animation-name: np-accordion-skeleton-rtl;
}

.wp-block-details {
    overflow: hidden;
    background: var(--np-accordion-item-background, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-accordion-item-border-color, #e2e8f0);
    border-radius: var(--np-accordion-item-radius, 1.25rem);
    box-shadow: var(--np-accordion-item-shadow, 0 1px 3px rgba(15, 23, 42, 0.06));
}

.wp-block-details summary {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--np-accordion-trigger-gap, 1rem);
    min-height: var(--np-accordion-trigger-min-height, 4rem);
    padding-block: var(--np-accordion-trigger-padding-y, 1rem);
    padding-inline: var(--np-accordion-trigger-padding-x, 1.25rem);
    color: var(--np-accordion-trigger-color, #0f172a);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-accordion-trigger-font-size, 1rem);
    font-weight: var(--np-accordion-trigger-font-weight, 800);
    line-height: var(--np-line-height-snug, 1.5);
    cursor: pointer;
    list-style: none;
}

.wp-block-details summary::-webkit-details-marker {
    display: none;
}

.wp-block-details summary::after {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-accordion-indicator-size, 2rem);
    min-width: var(--np-accordion-indicator-size, 2rem);
    height: var(--np-accordion-indicator-size, 2rem);
    background: var(--np-accordion-indicator-background, #f1f5f9);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-accordion-indicator-color, #64748b);
    font-size: 1.2rem;
    line-height: 1;
    content: "+";
}

.wp-block-details[open] summary::after {
    background: var(--np-color-primary, #4f46e5);
    color: var(--np-color-white, #ffffff);
    content: "−";
}

.wp-block-details > :not(summary) {
    padding-inline: var(--np-accordion-content-padding-x, 1.25rem);
}

.wp-block-details > :last-child {
    padding-block-end: var(--np-accordion-content-padding-y, 1.25rem);
}

.woocommerce-Tabs-panel .np-accordion,
.woocommerce-Tabs-panel .np-faq {
    margin-block: var(--np-spacing-lg, 1.5rem);
}

.woocommerce .woocommerce-MyAccount-navigation ul li.is-active > a + .np-collapse-panel,
.woocommerce-page .woocommerce-MyAccount-navigation ul li.is-active > a + .np-collapse-panel {
    grid-template-rows: 1fr;
    opacity: 1;
}

.elementor-accordion {
    display: grid;
    gap: var(--np-accordion-gap, 0.75rem);
}

.elementor-accordion .elementor-accordion-item {
    overflow: hidden;
    background: var(--np-accordion-item-background, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-accordion-item-border-color, #e2e8f0);
    border-radius: var(--np-accordion-item-radius, 1.25rem);
    box-shadow: var(--np-accordion-item-shadow, 0 1px 3px rgba(15, 23, 42, 0.06));
}

.elementor-accordion .elementor-tab-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--np-accordion-trigger-gap, 1rem);
    min-height: var(--np-accordion-trigger-min-height, 4rem);
    padding-block: var(--np-accordion-trigger-padding-y, 1rem);
    padding-inline: var(--np-accordion-trigger-padding-x, 1.25rem);
    color: var(--np-accordion-trigger-color, #0f172a);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-accordion-trigger-font-size, 1rem);
    font-weight: var(--np-accordion-trigger-font-weight, 800);
    line-height: var(--np-line-height-snug, 1.5);
    cursor: pointer;
    transition: background var(--np-transition-fast, 160ms ease), color var(--np-transition-fast, 160ms ease);
}

.elementor-accordion .elementor-tab-title:hover,
.elementor-accordion .elementor-tab-title:focus,
.elementor-accordion .elementor-tab-title.elementor-active {
    background: var(--np-accordion-trigger-background-hover, rgba(79, 70, 229, 0.04));
    color: var(--np-color-primary, #4f46e5);
}

.elementor-accordion .elementor-accordion-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-accordion-indicator-size, 2rem);
    min-width: var(--np-accordion-indicator-size, 2rem);
    height: var(--np-accordion-indicator-size, 2rem);
    background: var(--np-accordion-indicator-background, #f1f5f9);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-accordion-indicator-color, #64748b);
    font-size: var(--np-font-size-sm, 0.875rem);
    line-height: 1;
}

.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
    background: var(--np-color-primary, #4f46e5);
    color: var(--np-color-white, #ffffff);
}

.elementor-accordion .elementor-tab-content {
    padding: 0 var(--np-accordion-content-padding-x, 1.25rem) var(--np-accordion-content-padding-y, 1.25rem);
    border: 0;
    color: var(--np-accordion-content-color, #64748b);
    font-size: var(--np-accordion-content-font-size, 0.9375rem);
    line-height: var(--np-line-height-relaxed, 1.9);
}

.elementor-toggle {
    display: grid;
    gap: var(--np-accordion-gap, 0.75rem);
}

.elementor-toggle .elementor-toggle-item {
    overflow: hidden;
    background: var(--np-accordion-item-background, #ffffff);
    border: var(--np-border-width, 1px) solid var(--np-accordion-item-border-color, #e2e8f0);
    border-radius: var(--np-accordion-item-radius, 1.25rem);
    box-shadow: var(--np-accordion-item-shadow, 0 1px 3px rgba(15, 23, 42, 0.06));
}

.elementor-toggle .elementor-tab-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--np-accordion-trigger-gap, 1rem);
    min-height: var(--np-accordion-trigger-min-height, 4rem);
    padding-block: var(--np-accordion-trigger-padding-y, 1rem);
    padding-inline: var(--np-accordion-trigger-padding-x, 1.25rem);
    color: var(--np-accordion-trigger-color, #0f172a);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-accordion-trigger-font-size, 1rem);
    font-weight: var(--np-accordion-trigger-font-weight, 800);
    line-height: var(--np-line-height-snug, 1.5);
}

.elementor-toggle .elementor-tab-title:hover,
.elementor-toggle .elementor-tab-title:focus,
.elementor-toggle .elementor-tab-title.elementor-active {
    background: var(--np-accordion-trigger-background-hover, rgba(79, 70, 229, 0.04));
    color: var(--np-color-primary, #4f46e5);
}

.elementor-toggle .elementor-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--np-accordion-indicator-size, 2rem);
    min-width: var(--np-accordion-indicator-size, 2rem);
    height: var(--np-accordion-indicator-size, 2rem);
    background: var(--np-accordion-indicator-background, #f1f5f9);
    border-radius: var(--np-radius-circle, 50%);
    color: var(--np-accordion-indicator-color, #64748b);
    font-size: var(--np-font-size-sm, 0.875rem);
    line-height: 1;
}

.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon {
    background: var(--np-color-primary, #4f46e5);
    color: var(--np-color-white, #ffffff);
}

.elementor-toggle .elementor-tab-content {
    padding: 0 var(--np-accordion-content-padding-x, 1.25rem) var(--np-accordion-content-padding-y, 1.25rem);
    border: 0;
    color: var(--np-accordion-content-color, #64748b);
    font-size: var(--np-accordion-content-font-size, 0.9375rem);
    line-height: var(--np-line-height-relaxed, 1.9);
}

.np-section-dark .np-accordion-item,
.np-section-dark .np-collapse-item,
.np-section-dark .np-faq-item,
.np-section-dark .np-disclosure-item,
.np-section-dark details.np-disclosure-details,
.np-section-dark details.np-accordion-item,
.np-section-dark details.np-faq-item,
.np-section-dark .wp-block-details,
.np-section-dark .elementor-accordion .elementor-accordion-item,
.np-section-dark .elementor-toggle .elementor-toggle-item,
.np-layout-dark .np-accordion-item,
.np-layout-dark .np-collapse-item,
.np-layout-dark .np-faq-item,
.np-layout-dark .np-disclosure-item,
.np-layout-dark details.np-disclosure-details,
.np-layout-dark details.np-accordion-item,
.np-layout-dark details.np-faq-item,
.np-layout-dark .wp-block-details,
.np-layout-dark .elementor-accordion .elementor-accordion-item,
.np-layout-dark .elementor-toggle .elementor-toggle-item {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.78);
    box-shadow: none;
}

.np-section-dark .np-accordion-trigger,
.np-section-dark .np-collapse-trigger,
.np-section-dark .np-faq-question,
.np-section-dark .np-disclosure-trigger,
.np-section-dark details.np-disclosure-details summary,
.np-section-dark details.np-accordion-item summary,
.np-section-dark details.np-faq-item summary,
.np-section-dark .wp-block-details summary,
.np-section-dark .elementor-accordion .elementor-tab-title,
.np-section-dark .elementor-toggle .elementor-tab-title,
.np-layout-dark .np-accordion-trigger,
.np-layout-dark .np-collapse-trigger,
.np-layout-dark .np-faq-question,
.np-layout-dark .np-disclosure-trigger,
.np-layout-dark details.np-disclosure-details summary,
.np-layout-dark details.np-accordion-item summary,
.np-layout-dark details.np-faq-item summary,
.np-layout-dark .wp-block-details summary,
.np-layout-dark .elementor-accordion .elementor-tab-title,
.np-layout-dark .elementor-toggle .elementor-tab-title {
    color: var(--np-color-white, #ffffff);
}

.np-section-dark .np-accordion-trigger:hover,
.np-section-dark .np-accordion-trigger:focus,
.np-section-dark .np-collapse-trigger:hover,
.np-section-dark .np-collapse-trigger:focus,
.np-section-dark .np-faq-question:hover,
.np-section-dark .np-faq-question:focus,
.np-section-dark .np-disclosure-trigger:hover,
.np-section-dark .np-disclosure-trigger:focus,
.np-section-dark .elementor-accordion .elementor-tab-title:hover,
.np-section-dark .elementor-accordion .elementor-tab-title:focus,
.np-section-dark .elementor-toggle .elementor-tab-title:hover,
.np-section-dark .elementor-toggle .elementor-tab-title:focus,
.np-layout-dark .np-accordion-trigger:hover,
.np-layout-dark .np-accordion-trigger:focus,
.np-layout-dark .np-collapse-trigger:hover,
.np-layout-dark .np-collapse-trigger:focus,
.np-layout-dark .np-faq-question:hover,
.np-layout-dark .np-faq-question:focus,
.np-layout-dark .np-disclosure-trigger:hover,
.np-layout-dark .np-disclosure-trigger:focus,
.np-layout-dark .elementor-accordion .elementor-tab-title:hover,
.np-layout-dark .elementor-accordion .elementor-tab-title:focus,
.np-layout-dark .elementor-toggle .elementor-tab-title:hover,
.np-layout-dark .elementor-toggle .elementor-tab-title:focus {
    background: rgba(255, 255, 255, 0.08);
    color: var(--np-color-white, #ffffff);
}

.np-section-dark .np-accordion-content,
.np-section-dark .np-collapse-content,
.np-section-dark .np-faq-content,
.np-section-dark .np-disclosure-content,
.np-section-dark .elementor-accordion .elementor-tab-content,
.np-section-dark .elementor-toggle .elementor-tab-content,
.np-layout-dark .np-accordion-content,
.np-layout-dark .np-collapse-content,
.np-layout-dark .np-faq-content,
.np-layout-dark .np-disclosure-content,
.np-layout-dark .elementor-accordion .elementor-tab-content,
.np-layout-dark .elementor-toggle .elementor-tab-content {
    color: rgba(255, 255, 255, 0.72);
}

.np-section-dark .np-accordion-indicator,
.np-section-dark .np-collapse-indicator,
.np-section-dark .np-faq-indicator,
.np-section-dark .np-disclosure-indicator,
.np-section-dark .elementor-accordion .elementor-accordion-icon,
.np-section-dark .elementor-toggle .elementor-toggle-icon,
.np-layout-dark .np-accordion-indicator,
.np-layout-dark .np-collapse-indicator,
.np-layout-dark .np-faq-indicator,
.np-layout-dark .np-disclosure-indicator,
.np-layout-dark .elementor-accordion .elementor-accordion-icon,
.np-layout-dark .elementor-toggle .elementor-toggle-icon {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.76);
}

.np-section-dark .np-accordion-item.is-open .np-accordion-indicator,
.np-section-dark .np-accordion-item.is-active .np-accordion-indicator,
.np-section-dark .np-collapse-item.is-open .np-collapse-indicator,
.np-section-dark .np-collapse-item.is-active .np-collapse-indicator,
.np-section-dark .np-faq-item.is-open .np-faq-indicator,
.np-section-dark .np-faq-item.is-active .np-faq-indicator,
.np-section-dark .np-disclosure-item.is-open .np-disclosure-indicator,
.np-section-dark .np-disclosure-item.is-active .np-disclosure-indicator,
.np-section-dark .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon,
.np-section-dark .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon,
.np-layout-dark .np-accordion-item.is-open .np-accordion-indicator,
.np-layout-dark .np-accordion-item.is-active .np-accordion-indicator,
.np-layout-dark .np-collapse-item.is-open .np-collapse-indicator,
.np-layout-dark .np-collapse-item.is-active .np-collapse-indicator,
.np-layout-dark .np-faq-item.is-open .np-faq-indicator,
.np-layout-dark .np-faq-item.is-active .np-faq-indicator,
.np-layout-dark .np-disclosure-item.is-open .np-disclosure-indicator,
.np-layout-dark .np-disclosure-item.is-active .np-disclosure-indicator,
.np-layout-dark .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon,
.np-layout-dark .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon {
    background: var(--np-color-white, #ffffff);
    color: var(--np-color-primary, #4f46e5);
}

@keyframes np-accordion-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes np-accordion-skeleton {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(100%);
    }
}

@keyframes np-accordion-skeleton-rtl {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@media (max-width: 1024px) {
    .np-accordion-toolbar,
    .np-collapse-toolbar,
    .np-faq-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .np-accordion-toolbar-start,
    .np-accordion-toolbar-end,
    .np-collapse-toolbar-start,
    .np-collapse-toolbar-end,
    .np-faq-toolbar-start,
    .np-faq-toolbar-end {
        width: 100%;
    }

    .np-accordion-search,
    .np-faq-search {
        width: 100%;
    }
}

@media (max-width: 782px) {
    .np-accordion,
    .np-collapse,
    .np-faq,
    .np-disclosure,
    .np-accordion-group,
    .elementor-accordion,
    .elementor-toggle {
        gap: var(--np-accordion-gap-mobile, 0.625rem);
    }

    .np-accordion-item,
    .np-collapse-item,
    .np-faq-item,
    .np-disclosure-item,
    details.np-disclosure-details,
    details.np-accordion-item,
    details.np-faq-item,
    .wp-block-details,
    .elementor-accordion .elementor-accordion-item,
    .elementor-toggle .elementor-toggle-item {
        border-radius: var(--np-accordion-item-radius-mobile, 1rem);
    }

    .np-accordion-trigger,
    .np-collapse-trigger,
    .np-faq-question,
    .np-disclosure-trigger,
    button.np-accordion-trigger,
    button.np-collapse-trigger,
    button.np-faq-question,
    button.np-disclosure-trigger,
    .np-disclosure summary,
    details.np-disclosure-details summary,
    details.np-accordion-item summary,
    details.np-faq-item summary,
    .wp-block-details summary,
    .elementor-accordion .elementor-tab-title,
    .elementor-toggle .elementor-tab-title {
        min-height: var(--np-accordion-trigger-min-height-mobile, 3.5rem);
        padding-block: var(--np-accordion-trigger-padding-y-mobile, 0.875rem);
        padding-inline: var(--np-accordion-trigger-padding-x-mobile, 1rem);
        gap: var(--np-accordion-trigger-gap-mobile, 0.75rem);
        font-size: var(--np-accordion-trigger-font-size-mobile, 0.9375rem);
    }

    .np-accordion-indicator,
    .np-collapse-indicator,
    .np-faq-indicator,
    .np-disclosure-indicator,
    .np-disclosure summary::after,
    details.np-disclosure-details summary::after,
    details.np-accordion-item summary::after,
    details.np-faq-item summary::after,
    .wp-block-details summary::after,
    .elementor-accordion .elementor-accordion-icon,
    .elementor-toggle .elementor-toggle-icon {
        --np-accordion-indicator-size: 1.75rem;
    }

    .np-accordion-icon,
    .np-collapse-icon,
    .np-faq-icon,
    .np-disclosure-icon {
        --np-accordion-icon-size: 1.75rem;
    }

    .np-accordion-content,
    .np-collapse-content,
    .np-faq-content,
    .np-disclosure-content,
    .np-disclosure-details-content,
    details.np-disclosure-details > :not(summary),
    details.np-accordion-item > :not(summary),
    details.np-faq-item > :not(summary),
    .elementor-accordion .elementor-tab-content,
    .elementor-toggle .elementor-tab-content {
        padding-inline: var(--np-accordion-content-padding-x-mobile, 1rem);
        padding-block-end: var(--np-accordion-content-padding-y-mobile, 1rem);
        font-size: var(--np-accordion-content-font-size-mobile, 0.875rem);
    }

    .np-accordion.is-card,
    .np-collapse.is-card,
    .np-faq.is-card,
    .np-disclosure.is-card {
        padding: var(--np-spacing-sm, 0.75rem);
        border-radius: var(--np-radius-xl, 1.25rem);
    }

    .np-accordion-toolbar-start,
    .np-accordion-toolbar-end,
    .np-collapse-toolbar-start,
    .np-collapse-toolbar-end,
    .np-faq-toolbar-start,
    .np-faq-toolbar-end {
        align-items: stretch;
        flex-direction: column;
    }

    .np-accordion-toolbar-start > *,
    .np-accordion-toolbar-end > *,
    .np-collapse-toolbar-start > *,
    .np-collapse-toolbar-end > *,
    .np-faq-toolbar-start > *,
    .np-faq-toolbar-end > * {
        width: 100%;
    }

    .np-accordion-empty,
    .np-faq-empty {
        min-height: 180px;
        padding: var(--np-spacing-lg, 1.5rem);
        border-radius: var(--np-radius-lg, 1rem);
    }
}

@media (max-width: 480px) {
    .np-accordion-trigger,
    .np-collapse-trigger,
    .np-faq-question,
    .np-disclosure-trigger,
    button.np-accordion-trigger,
    button.np-collapse-trigger,
    button.np-faq-question,
    button.np-disclosure-trigger,
    .np-disclosure summary,
    details.np-disclosure-details summary,
    details.np-accordion-item summary,
    details.np-faq-item summary,
    .wp-block-details summary,
    .elementor-accordion .elementor-tab-title,
    .elementor-toggle .elementor-tab-title {
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: var(--np-accordion-trigger-min-height-small, 3.25rem);
        padding-inline: var(--np-accordion-trigger-padding-x-small, 0.875rem);
        font-size: var(--np-font-size-sm, 0.875rem);
    }

    .np-accordion.is-split .np-accordion-trigger,
    .np-collapse.is-split .np-collapse-trigger,
    .np-faq.is-split .np-faq-question,
    .np-disclosure.is-split .np-disclosure-trigger {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .np-accordion.is-split .np-accordion-icon,
    .np-collapse.is-split .np-collapse-icon,
    .np-faq.is-split .np-faq-icon,
    .np-disclosure.is-split .np-disclosure-icon {
        display: none;
    }

    .np-accordion-title,
    .np-collapse-title,
    .np-faq-title,
    .np-disclosure-title {
        gap: var(--np-spacing-xs, 0.5rem);
    }

    .np-accordion-content,
    .np-collapse-content,
    .np-faq-content,
    .np-disclosure-content,
    .np-disclosure-details-content,
    details.np-disclosure-details > :not(summary),
    details.np-accordion-item > :not(summary),
    details.np-faq-item > :not(summary),
    .elementor-accordion .elementor-tab-content,
    .elementor-toggle .elementor-tab-content {
        padding-inline: var(--np-accordion-content-padding-x-small, 0.875rem);
        padding-block-end: var(--np-accordion-content-padding-y-small, 0.875rem);
    }

    .np-accordion.is-numbered .np-accordion-title::before,
    .np-faq.is-numbered .np-faq-title::before {
        width: 1.75rem;
        min-width: 1.75rem;
        height: 1.75rem;
    }

    .np-accordion-empty-title,
    .np-faq-empty-title {
        font-size: var(--np-font-size-md, 1rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .np-accordion-item,
    .np-collapse-item,
    .np-faq-item,
    .np-disclosure-item,
    .np-accordion-trigger,
    .np-collapse-trigger,
    .np-faq-question,
    .np-disclosure-trigger,
    .np-accordion-indicator,
    .np-collapse-indicator,
    .np-faq-indicator,
    .np-disclosure-indicator,
    .np-accordion-indicator::after,
    .np-collapse-indicator::after,
    .np-faq-indicator::after,
    .np-disclosure-indicator::after,
    .np-accordion-panel,
    .np-collapse-panel,
    .np-faq-answer,
    .np-disclosure-panel,
    details summary::after,
    .elementor-accordion .elementor-tab-title,
    .elementor-toggle .elementor-tab-title {
        transition: none !important;
        animation: none !important;
    }

    .np-accordion-loading::after,
    .np-faq-loading::after,
    .np-accordion-skeleton::after,
    .np-faq-skeleton::after {
        animation: none !important;
    }
}

@media print {
    .np-accordion,
    .np-collapse,
    .np-faq,
    .np-disclosure,
    .np-accordion-group,
    .elementor-accordion,
    .elementor-toggle {
        display: block !important;
    }

    .np-accordion-item,
    .np-collapse-item,
    .np-faq-item,
    .np-disclosure-item,
    details.np-disclosure-details,
    details.np-accordion-item,
    details.np-faq-item,
    .wp-block-details,
    .elementor-accordion .elementor-accordion-item,
    .elementor-toggle .elementor-toggle-item {
        break-inside: avoid;
        margin-block-end: 1rem;
        background: #ffffff !important;
        border: 1px solid #000000 !important;
        border-radius: 0 !important;
        color: #000000 !important;
        box-shadow: none !important;
    }

    .np-accordion-trigger,
    .np-collapse-trigger,
    .np-faq-question,
    .np-disclosure-trigger,
    .np-disclosure summary,
    details.np-disclosure-details summary,
    details.np-accordion-item summary,
    details.np-faq-item summary,
    .wp-block-details summary,
    .elementor-accordion .elementor-tab-title,
    .elementor-toggle .elementor-tab-title {
        color: #000000 !important;
    }

    .np-accordion-panel,
    .np-collapse-panel,
    .np-faq-answer,
    .np-disclosure-panel,
    .np-accordion-panel[hidden],
    .np-collapse-panel[hidden],
    .np-faq-answer[hidden],
    .np-disclosure-panel[hidden] {
        display: block !important;
        grid-template-rows: 1fr !important;
        opacity: 1 !important;
        overflow: visible !important;
    }

    .np-accordion-content,
    .np-collapse-content,
    .np-faq-content,
    .np-disclosure-content,
    .np-disclosure-details-content,
    details.np-disclosure-details > :not(summary),
    details.np-accordion-item > :not(summary),
    details.np-faq-item > :not(summary),
    .wp-block-details > :not(summary),
    .elementor-accordion .elementor-tab-content,
    .elementor-toggle .elementor-tab-content {
        display: block !important;
        padding: 0 1rem 1rem !important;
        color: #000000 !important;
    }

    .np-accordion-indicator,
    .np-collapse-indicator,
    .np-faq-indicator,
    .np-disclosure-indicator,
    .np-accordion-icon,
    .np-collapse-icon,
    .np-faq-icon,
    .np-disclosure-icon,
    .elementor-accordion .elementor-accordion-icon,
    .elementor-toggle .elementor-toggle-icon,
    details summary::after,
    .np-accordion-toolbar,
    .np-collapse-toolbar,
    .np-faq-toolbar,
    .np-accordion-loading::before,
    .np-accordion-loading::after,
    .np-faq-loading::before,
    .np-faq-loading::after,
    .np-accordion-skeleton::after,
    .np-faq-skeleton::after {
        display: none !important;
    }
}