
.lt-horizontal-accordion {
    --lt-ha-closed-width: 90px;
    --lt-ha-height: 520px;
    --lt-ha-transition-duration: 450ms;
    --lt-ha-title-rotation: -90deg;
    --lt-ha-content-max-width: 720px;
    --lt-ha-content-max-width-vertical: 100%;
    --lt-ha-icon-spacing: 8px;
    --lt-ha-title-top: 50%;
    --lt-ha-title-translate-y: -50%;
    width: 100%;
}

.lt-horizontal-accordion,
.lt-horizontal-accordion * {
    box-sizing: border-box;
}

.lt-horizontal-accordion .lt-ha-item,
.lt-horizontal-accordion .lt-ha-header {
    margin: 0;
}

.lt-horizontal-accordion .lt-ha-item::marker,
.lt-horizontal-accordion .lt-ha-header::marker,
.lt-horizontal-accordion .lt-ha-header::-webkit-details-marker {
    display: none;
    content: '';
}

.lt-horizontal-accordion .lt-ha-header {
    cursor: pointer;
    list-style: none;
    user-select: none;
    outline: none;
}

.lt-horizontal-accordion .lt-ha-title-text {
    margin: 0;
}

.lt-horizontal-accordion .lt-ha-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    flex: 0 0 auto;
}

.lt-horizontal-accordion .lt-ha-icon svg,
.lt-horizontal-accordion .lt-ha-icon i {
    display: block;
    width: 1em;
    height: 1em;
    font-size: 1em;
}

.lt-horizontal-accordion .lt-ha-icon-opened,
.lt-horizontal-accordion .lt-ha-item[open] .lt-ha-icon-closed {
    display: none;
}

.lt-horizontal-accordion .lt-ha-item[open] .lt-ha-icon-opened,
.lt-horizontal-accordion .lt-ha-icon-closed {
    display: inline-flex;
}

.lt-horizontal-accordion.is-horizontal-mode {
    display: flex;
    min-height: var(--lt-ha-height, 520px);
    overflow: hidden;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item {
    display: flex;
    flex: 0 0 var(--lt-ha-closed-width, 90px);
    min-width: var(--lt-ha-closed-width, 90px);
    max-width: var(--lt-ha-closed-width, 90px);
    overflow: hidden;
    transition: flex var(--lt-ha-transition-duration, 450ms) ease, max-width var(--lt-ha-transition-duration, 450ms) ease;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-closed-width-auto .lt-ha-item {
    flex-basis: auto;
    min-width: max(72px, var(--lt-ha-closed-width, 90px));
    max-width: max(72px, var(--lt-ha-closed-width, 90px));
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] {
    flex: 1 1 auto;
    max-width: 100%;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-header {
    position: relative;
    width: var(--lt-ha-closed-width, 90px);
    min-width: var(--lt-ha-closed-width, 90px);
    min-height: var(--lt-ha-height, 520px);
    display: block;
    overflow: hidden;
    padding: 0;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-closed-width-auto .lt-ha-header {
    width: max(72px, var(--lt-ha-closed-width, 90px));
    min-width: max(72px, var(--lt-ha-closed-width, 90px));
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-header-inner {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-title-text {
    position: absolute;
    left: 50%;
    top: var(--lt-ha-title-top, 50%);
    display: block;
    white-space: nowrap;
    transform: translate(-50%, var(--lt-ha-title-translate-y, -50%)) rotate(var(--lt-ha-title-rotation, -90deg));
    transform-origin: center;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-icon {
    position: absolute;
    z-index: 2;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-h-icon-no .lt-ha-icon {
    display: none !important;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-h-icon-pos-top .lt-ha-icon {
    top: var(--lt-ha-icon-spacing, 8px);
    left: 50%;
    transform: translateX(-50%);
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-h-icon-pos-bottom .lt-ha-icon {
    bottom: var(--lt-ha-icon-spacing, 8px);
    left: 50%;
    transform: translateX(-50%);
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-h-icon-pos-left .lt-ha-icon {
    left: var(--lt-ha-icon-spacing, 8px);
    top: 50%;
    transform: translateY(-50%);
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-h-icon-pos-right .lt-ha-icon {
    right: var(--lt-ha-icon-spacing, 8px);
    top: 50%;
    transform: translateY(-50%);
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-panel {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: var(--lt-ha-content-max-width, 720px);
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition: opacity 250ms ease;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] .lt-ha-panel {
    opacity: 1;
    pointer-events: auto;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-left .lt-ha-panel {
    margin-right: auto;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-center .lt-ha-panel {
    margin-left: auto;
    margin-right: auto;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-right .lt-ha-panel {
    margin-left: auto;
}

.lt-horizontal-accordion.is-vertical-mode {
    display: block;
    min-height: auto;
    overflow: visible;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-item {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
    overflow: visible;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-header {
    width: 100%;
    min-width: 0;
    min-height: 0;
    display: block;
    padding: 0;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-header-inner {
    display: flex;
    align-items: center;
    width: 100%;
    gap: var(--lt-ha-icon-spacing, 8px);
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-no .lt-ha-icon {
    display: none !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-pos-right .lt-ha-header-inner {
    justify-content: space-between;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-pos-right .lt-ha-icon {
    order: 2;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-pos-right .lt-ha-title-text {
    order: 1;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-pos-left .lt-ha-icon {
    order: 1;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-pos-left .lt-ha-title-text {
    order: 2;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-title-text {
    position: static;
    transform: none;
    white-space: normal;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-panel {
    display: none;
    width: 100%;
    max-width: var(--lt-ha-content-max-width-vertical, 100%);
    opacity: 1;
    overflow: visible;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-item[open] .lt-ha-panel {
    display: block;
}

.elementor-editor-active .lt-horizontal-accordion .lt-ha-panel,
.elementor-editor-preview .lt-horizontal-accordion .lt-ha-panel {
    width: 100%;
}

.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] .lt-ha-panel,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] .lt-ha-panel {
    min-width: 0;
}

.lt-ha-empty-editor-placeholder {
    padding: 16px;
    border: 1px dashed #b6bcc6;
    background: #f7f8fa;
    color: #4b5563;
}

/* Elementor Nested Elements compatibility: native child containers are the real panels. */
.lt-horizontal-accordion .lt-ha-item > .e-con,
.lt-horizontal-accordion .lt-ha-item > .elementor-element.e-con {
    box-sizing: border-box;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item > .e-con,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item > .elementor-element.e-con {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: var(--lt-ha-content-max-width, 720px);
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition: opacity 250ms ease;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con {
    opacity: 1;
    pointer-events: auto;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-item > .e-con,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item > .elementor-element.e-con {
    display: none;
    width: 100%;
    max-width: var(--lt-ha-content-max-width-vertical, 100%);
    opacity: 1;
    overflow: visible;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item[open] > .elementor-element.e-con {
    display: var(--display, flex);
}


/* Vertical mode must behave like a normal nested accordion: the plugin only
 * opens/closes the direct panel. It must not squeeze or restyle the real
 * Elementor content inside each panel.
 */
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item > .e-con,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item > .elementor-element.e-con,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item > .lt-ha-panel {
    min-width: 0;
    flex-shrink: 0;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-item[open]:not(.is-lt-ha-opening):not(.is-lt-ha-closing) > .e-con,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item[open]:not(.is-lt-ha-opening):not(.is-lt-ha-closing) > .elementor-element.e-con,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item[open]:not(.is-lt-ha-opening):not(.is-lt-ha-closing) > .lt-ha-panel {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.lt-horizontal-accordion.is-vertical-mode .lt-ha-item.is-lt-ha-opening > .e-con > *,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item.is-lt-ha-closing > .e-con > *,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item.is-lt-ha-opening > .elementor-element.e-con > *,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item.is-lt-ha-closing > .elementor-element.e-con > *,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item.is-lt-ha-opening > .lt-ha-panel > *,
.lt-horizontal-accordion.is-vertical-mode .lt-ha-item.is-lt-ha-closing > .lt-ha-panel > * {
    flex-shrink: 0;
}

.elementor-editor-active .lt-horizontal-accordion .lt-ha-item > .e-con,
.elementor-editor-preview .lt-horizontal-accordion .lt-ha-item > .e-con,
.elementor-editor-active .lt-horizontal-accordion .lt-ha-item > .elementor-element.e-con,
.elementor-editor-preview .lt-horizontal-accordion .lt-ha-item > .elementor-element.e-con {
    min-width: 0;
    width: 100%;
}

.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con {
    min-height: 120px;
}


/* v1.14.3: stronger editor/frontend state handling. The active item must be the
 * only expanded horizontal panel when “Cerrar otros al abrir” is enabled, and the
 * nested Elementor child must remain editable and visible inside the open panel.
 */
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item:not([open]) > .lt-ha-panel,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item:not([open]) > .e-con,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item:not([open]) > .elementor-element.e-con {
    display: none !important;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con {
    display: flex !important;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con {
    min-height: 180px !important;
    max-width: var(--lt-ha-content-max-width, 720px) !important;
    --width: 100% !important;
    --container-widget-width: 100% !important;
    --container-widget-flex-grow: 1 !important;
    --content-width: 100% !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con > .e-con-inner,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con > .e-con-inner,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con > .e-con-inner,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
}

/* v1.14.4: custom nested editor registration + vertical sticky header. */
.lt-horizontal-accordion.is-vertical-mode.lt-ha-sticky-vertical-yes .lt-ha-item[open] > .lt-ha-header {
    position: sticky;
    top: var(--lt-ha-sticky-offset, 0px);
    z-index: 5;
}

.elementor-editor-active .lt-horizontal-accordion .lt-ha-editor-nested-panel,
.elementor-editor-preview .lt-horizontal-accordion .lt-ha-editor-nested-panel,
.elementor-editor-active .lt-horizontal-accordion .elementor-element[data-lt-ha-nested-child="true"],
.elementor-editor-preview .lt-horizontal-accordion .elementor-element[data-lt-ha-nested-child="true"] {
    width: 100% !important;
    min-width: 0 !important;
    --width: 100% !important;
    --container-widget-width: 100% !important;
    --container-widget-flex-grow: 1 !important;
    --content-width: 100% !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element[data-lt-ha-nested-child="true"],
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element[data-lt-ha-nested-child="true"] {
    display: flex !important;
    min-height: 180px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* v1.14.5: editor usability + active states.
 * - The rotated title must not be clipped when aligned to top/bottom.
 * - The real Elementor nested child must stay inside the opened panel.
 * - Active header styles generated by Elementor use !important from PHP controls.
 */
.lt-horizontal-accordion {
    --lt-ha-title-edge-offset: 24px;
}

.lt-horizontal-accordion.is-horizontal-mode,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-header {
    overflow: visible;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-header {
    z-index: 2;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-title-text {
    z-index: 3;
    max-width: none;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item:not([open]) > .lt-ha-panel,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item:not([open]) > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item:not([open]) > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item:not([open]) > .e-con,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item:not([open]) > .elementor-element.e-con {
    display: none !important;
}

.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con {
    display: flex !important;
    flex: 1 1 auto !important;
    align-self: stretch;
    min-width: 0 !important;
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width, 720px) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-left .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-left .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-left .lt-ha-item[open] > .elementor-element.e-con {
    margin-right: auto;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-center .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-center .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-center .lt-ha-item[open] > .elementor-element.e-con {
    margin-left: auto;
    margin-right: auto;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-right .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-right .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-right .lt-ha-item[open] > .elementor-element.e-con {
    margin-left: auto;
}

.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .lt-ha-panel,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .lt-ha-panel,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .elementor-element.e-con {
    min-height: 220px !important;
    --width: 100% !important;
    --container-widget-width: 100% !important;
    --container-widget-flex-grow: 1 !important;
    --content-width: 100% !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .lt-ha-panel .elementor-empty-view,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .lt-ha-panel .elementor-empty-view,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con .elementor-empty-view,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode .lt-ha-item[open] > .e-con .elementor-empty-view {
    width: 100% !important;
}


/* v1.14.6: Elementor nested interlaced children fix.
 * In the editor Elementor can render the real nested container as a sibling of
 * the <details> item instead of a child inside it. Treat that sibling as the
 * opened item's panel so the "Drag widget here" area stays in the horizontal
 * panel and does not fall below the accordion.
 */
.lt-horizontal-accordion.is-horizontal-mode > .e-con,
.lt-horizontal-accordion.is-horizontal-mode > .elementor-element.e-con,
.lt-horizontal-accordion.is-horizontal-mode > .elementor-element[data-lt-ha-nested-child="true"] {
    box-sizing: border-box;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width, 720px) !important;
    align-self: stretch;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item:not([open]) + .e-con,
.lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item:not([open]) + .elementor-element.e-con,
.lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item:not([open]) + .elementor-element[data-lt-ha-nested-child="true"] {
    display: none !important;
}

.lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .e-con,
.lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .elementor-element.e-con,
.lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .elementor-element[data-lt-ha-nested-child="true"] {
    display: flex !important;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-left > .lt-ha-item[open] + .e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-left > .lt-ha-item[open] + .elementor-element.e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-left > .lt-ha-item[open] + .elementor-element[data-lt-ha-nested-child="true"] {
    margin-right: auto;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-center > .lt-ha-item[open] + .e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-center > .lt-ha-item[open] + .elementor-element.e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-center > .lt-ha-item[open] + .elementor-element[data-lt-ha-nested-child="true"] {
    margin-left: auto;
    margin-right: auto;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-right > .lt-ha-item[open] + .e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-right > .lt-ha-item[open] + .elementor-element.e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-align-right > .lt-ha-item[open] + .elementor-element[data-lt-ha-nested-child="true"] {
    margin-left: auto;
}

.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .e-con,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .e-con,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .elementor-element.e-con,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .elementor-element.e-con,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .elementor-element[data-lt-ha-nested-child="true"],
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .elementor-element[data-lt-ha-nested-child="true"] {
    min-height: 220px !important;
    --width: 100% !important;
    --container-widget-width: 100% !important;
    --container-widget-flex-grow: 1 !important;
    --content-width: 100% !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .e-con > .e-con-inner,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .e-con > .e-con-inner,
.elementor-editor-active .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .elementor-element.e-con > .e-con-inner,
.elementor-editor-preview .lt-horizontal-accordion.is-horizontal-mode > .lt-ha-item[open] + .elementor-element.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
}

.lt-horizontal-accordion.is-vertical-mode > .e-con,
.lt-horizontal-accordion.is-vertical-mode > .elementor-element.e-con,
.lt-horizontal-accordion.is-vertical-mode > .elementor-element[data-lt-ha-nested-child="true"] {
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width-vertical, 100%) !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) + .e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) + .elementor-element.e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) + .elementor-element[data-lt-ha-nested-child="true"] {
    display: none !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] + .e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] + .elementor-element.e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] + .elementor-element[data-lt-ha-nested-child="true"] {
    display: flex !important;
}

/* Safer edge offset for rotated titles aligned top/bottom. */
.lt-horizontal-accordion {
    --lt-ha-title-edge-offset: 56px;
}

/* v1.14.7: external nested panels pairing.
 * When Elementor renders the nested containers as direct children of the widget
 * instead of children of each <details>, the header item must stay as a closed
 * vertical tab and the paired external panel must take the expanded area.
 */
.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode {
    display: flex;
    align-items: stretch;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-item,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-item[open] {
    flex: 0 0 var(--lt-ha-closed-width, 90px) !important;
    min-width: var(--lt-ha-closed-width, 90px) !important;
    max-width: var(--lt-ha-closed-width, 90px) !important;
    width: var(--lt-ha-closed-width, 90px) !important;
    display: flex !important;
    align-self: stretch;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item[open] {
    flex-basis: max(72px, var(--lt-ha-closed-width, 90px)) !important;
    min-width: max(72px, var(--lt-ha-closed-width, 90px)) !important;
    max-width: max(72px, var(--lt-ha-closed-width, 90px)) !important;
    width: max(72px, var(--lt-ha-closed-width, 90px)) !important;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-item > .lt-ha-panel,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-item > .e-con,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-item > .elementor-element.e-con {
    display: none !important;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-external-panel,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .e-con.lt-ha-external-panel,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .elementor-element.e-con.lt-ha-external-panel {
    display: none !important;
    flex: 0 0 0 !important;
    min-width: 0 !important;
    width: 0 !important;
    max-width: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden;
    pointer-events: none !important;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-external-panel.is-active,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .e-con.lt-ha-external-panel.is-active,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .elementor-element.e-con.lt-ha-external-panel.is-active {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    align-self: stretch;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode.lt-ha-align-left > .lt-ha-external-panel.is-active {
    justify-content: flex-start;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode.lt-ha-align-center > .lt-ha-external-panel.is-active {
    justify-content: center;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode.lt-ha-align-right > .lt-ha-external-panel.is-active {
    justify-content: flex-end;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-external-panel.is-active > .e-con-inner {
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width, 720px) !important;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode.lt-ha-align-left > .lt-ha-external-panel.is-active > .e-con-inner {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode.lt-ha-align-center > .lt-ha-external-panel.is-active > .e-con-inner {
    margin-left: auto !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode.lt-ha-align-right > .lt-ha-external-panel.is-active > .e-con-inner {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.elementor-editor-active .lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-external-panel.is-active,
.elementor-editor-preview .lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-external-panel.is-active {
    min-height: 220px !important;
    --width: 100% !important;
    --container-widget-width: 100% !important;
    --container-widget-flex-grow: 1 !important;
    --content-width: 100% !important;
}

.elementor-editor-active .lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-external-panel.is-active .elementor-empty-view,
.elementor-editor-preview .lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-external-panel.is-active .elementor-empty-view,
.elementor-editor-active .lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-external-panel.is-active .elementor-add-section,
.elementor-editor-preview .lt-horizontal-accordion.lt-ha-has-external-panels.is-horizontal-mode > .lt-ha-external-panel.is-active .elementor-add-section {
    width: 100% !important;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-vertical-mode > .lt-ha-external-panel {
    display: none !important;
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width-vertical, 100%) !important;
}

.lt-horizontal-accordion.lt-ha-has-external-panels.is-vertical-mode > .lt-ha-external-panel.is-active {
    display: flex !important;
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width-vertical, 100%) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* v1.14.8: native nested panels inside <details> layout fix.
 * The console confirms Elementor renders the real editable panel INSIDE each
 * <details> item. Native <details>/<summary> can ignore flex distribution in
 * some editor contexts, so the opened horizontal item is handled as a positioned
 * panel: the rotated header stays in the closed-tab column and the nested
 * container fills the remaining horizontal area.
 */
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode {
    display: flex !important;
    align-items: stretch;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item {
    position: relative;
    display: block !important;
    flex: 0 0 var(--lt-ha-closed-width, 90px) !important;
    min-width: var(--lt-ha-closed-width, 90px) !important;
    max-width: var(--lt-ha-closed-width, 90px) !important;
    width: var(--lt-ha-closed-width, 90px) !important;
    min-height: var(--lt-ha-height, 520px);
    align-self: stretch;
    overflow: visible !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item {
    flex-basis: max(72px, var(--lt-ha-closed-width, 90px)) !important;
    min-width: max(72px, var(--lt-ha-closed-width, 90px)) !important;
    max-width: max(72px, var(--lt-ha-closed-width, 90px)) !important;
    width: max(72px, var(--lt-ha-closed-width, 90px)) !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] {
    flex: 1 1 auto !important;
    min-width: calc(var(--lt-ha-closed-width, 90px) + 220px) !important;
    max-width: none !important;
    width: auto !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item[open] {
    min-width: calc(max(72px, var(--lt-ha-closed-width, 90px)) + 220px) !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item > .lt-ha-header {
    position: absolute !important;
    inset: 0 auto 0 0;
    width: var(--lt-ha-closed-width, 90px) !important;
    min-width: var(--lt-ha-closed-width, 90px) !important;
    max-width: var(--lt-ha-closed-width, 90px) !important;
    height: 100% !important;
    min-height: 0 !important;
    z-index: 4;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item > .lt-ha-header {
    width: max(72px, var(--lt-ha-closed-width, 90px)) !important;
    min-width: max(72px, var(--lt-ha-closed-width, 90px)) !important;
    max-width: max(72px, var(--lt-ha-closed-width, 90px)) !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item:not([open]) > .lt-ha-header {
    position: relative !important;
    min-height: var(--lt-ha-height, 520px) !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .elementor-element.e-con {
    position: absolute !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: var(--lt-ha-closed-width, 90px);
    display: flex !important;
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 100% !important;
    align-self: stretch;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: visible !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item[open] > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-closed-width-auto > .lt-ha-item[open] > .elementor-element.e-con {
    left: max(72px, var(--lt-ha-closed-width, 90px));
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-left > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-left > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-left > .lt-ha-item[open] > .elementor-element.e-con {
    justify-content: flex-start;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-center > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-center > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-center > .lt-ha-item[open] > .elementor-element.e-con {
    justify-content: center;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-right > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-right > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-right > .lt-ha-item[open] > .elementor-element.e-con {
    justify-content: flex-end;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .lt-ha-panel > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .e-con > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .elementor-element.e-con > .e-con-inner {
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width, 720px) !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-left > .lt-ha-item[open] > .lt-ha-panel > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-left > .lt-ha-item[open] > .e-con > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-left > .lt-ha-item[open] > .elementor-element.e-con > .e-con-inner {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-center > .lt-ha-item[open] > .lt-ha-panel > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-center > .lt-ha-item[open] > .e-con > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-center > .lt-ha-item[open] > .elementor-element.e-con > .e-con-inner {
    margin-left: auto !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-right > .lt-ha-item[open] > .lt-ha-panel > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-right > .lt-ha-item[open] > .e-con > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-align-right > .lt-ha-item[open] > .elementor-element.e-con > .e-con-inner {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.elementor-editor-active .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .lt-ha-panel .elementor-empty-view,
.elementor-editor-preview .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .lt-ha-panel .elementor-empty-view,
.elementor-editor-active .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .e-con .elementor-empty-view,
.elementor-editor-preview .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode > .lt-ha-item[open] > .e-con .elementor-empty-view {
    width: 100% !important;
    min-height: 160px !important;
}

/* v1.14.11: safe horizontal content vertical alignment.
 * This intentionally does not hide nested editor content. The 1.14.8 native
 * nested layout remains the source of truth because it keeps Drag widget here
 * inside the active panel.
 */
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-top > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-top > .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-top > .lt-ha-item[open] > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-top > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-top > .lt-ha-item[open] > .elementor-element.e-con {
    justify-content: flex-start !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-center > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-center > .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-center > .lt-ha-item[open] > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-center > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-center > .lt-ha-item[open] > .elementor-element.e-con {
    justify-content: center !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-bottom > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-bottom > .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-bottom > .lt-ha-item[open] > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-bottom > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-content-v-align-bottom > .lt-ha-item[open] > .elementor-element.e-con {
    justify-content: flex-end !important;
}

/* Safer native sticky support in vertical mode. No JS/fixed fallback here: the
 * fallback from 1.14.10 is intentionally removed because it could interfere with
 * Elementor editing. If sticky still fails, the cause is probably a parent with
 * overflow/transform and must be diagnosed separately.
 */
.lt-horizontal-accordion.is-vertical-mode.lt-ha-sticky-vertical-yes,
.lt-horizontal-accordion.is-vertical-mode.lt-ha-sticky-vertical-yes .lt-ha-item {
    overflow: visible !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-sticky-vertical-yes .lt-ha-item[open] > .lt-ha-header,
.lt-horizontal-accordion.is-vertical-mode.lt-ha-sticky-vertical-yes .lt-ha-item.is-active > .lt-ha-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--lt-ha-sticky-offset, 0px) !important;
    z-index: 50 !important;
}


/* v1.14.12: stable reveal model for native nested horizontal layout.
 * The active panel keeps a fixed final width and the opened <details> clips it
 * while the item expands. This avoids text reflow while preserving Elementor's
 * nested container editability.
 */
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics {
    overflow: hidden !important;
    align-items: stretch !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    flex: 0 0 var(--lt-ha-closed-width, 90px) !important;
    flex-basis: var(--lt-ha-closed-width, 90px) !important;
    width: var(--lt-ha-closed-width, 90px) !important;
    min-width: var(--lt-ha-closed-width, 90px) !important;
    max-width: var(--lt-ha-closed-width, 90px) !important;
    height: var(--lt-ha-height, 520px) !important;
    min-height: var(--lt-ha-height, 520px) !important;
    overflow: hidden !important;
    transition: flex-basis var(--lt-ha-transition-duration, 450ms) ease, width var(--lt-ha-transition-duration, 450ms) ease, min-width var(--lt-ha-transition-duration, 450ms) ease, max-width var(--lt-ha-transition-duration, 450ms) ease !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics.lt-ha-closed-width-auto > .lt-ha-item {
    flex-basis: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    width: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    min-width: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    max-width: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] {
    flex: 0 0 calc(var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) + var(--lt-ha-panel-width, 0px)) !important;
    flex-basis: calc(var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) + var(--lt-ha-panel-width, 0px)) !important;
    width: calc(var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) + var(--lt-ha-panel-width, 0px)) !important;
    min-width: calc(var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) + var(--lt-ha-panel-width, 0px)) !important;
    max-width: calc(var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) + var(--lt-ha-panel-width, 0px)) !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item > .lt-ha-header {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    width: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    min-width: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    max-width: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
    z-index: 5 !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item:not([open]) > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item:not([open]) > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item:not([open]) > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item:not([open]) > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item:not([open]) > .elementor-element.e-con {
    display: flex !important;
    flex: 0 0 var(--lt-ha-panel-width, 0px) !important;
    width: var(--lt-ha-panel-width, 0px) !important;
    min-width: var(--lt-ha-panel-width, 0px) !important;
    max-width: var(--lt-ha-panel-width, 0px) !important;
    height: 100% !important;
    min-height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .elementor-element.e-con {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex: 0 0 var(--lt-ha-panel-width, 0px) !important;
    flex-basis: var(--lt-ha-panel-width, 0px) !important;
    width: var(--lt-ha-panel-width, 0px) !important;
    min-width: var(--lt-ha-panel-width, 0px) !important;
    max-width: var(--lt-ha-panel-width, 0px) !important;
    height: 100% !important;
    min-height: 100% !important;
    align-self: stretch !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: opacity 220ms ease !important;
}

/* Keep nested content at its final width while the parent item expands. This is
 * the part that prevents paragraphs/words from reflowing during the reveal. */
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .lt-ha-panel > .elementor-element,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .lt-ha-panel > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .lt-ha-panel > .elementor-empty-view,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .lt-ha-editor-nested-panel > .elementor-element,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .e-con > .elementor-element,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .elementor-element.e-con > .elementor-element {
    width: 100% !important;
    min-width: min(var(--lt-ha-panel-width, 100%), 100%) !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .lt-ha-panel > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .e-con > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .elementor-element.e-con > .e-con-inner {
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width, 720px) !important;
}

.elementor-editor-active .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .lt-ha-panel,
.elementor-editor-preview .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .lt-ha-panel,
.elementor-editor-active .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .e-con,
.elementor-editor-preview .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .e-con,
.elementor-editor-active .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .elementor-element.e-con,
.elementor-editor-preview .lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item[open] > .elementor-element.e-con {
    min-height: 220px !important;
}

/* v1.14.14: closing reveal + reveal speed + whole block alignment fix.
 * The closing item keeps its native <details> content alive until the reveal
 * animation finishes, so the panel folds by clipping instead of disappearing.
 * The block alignment needs a real width, not only max-width; otherwise a 100%
 * flex/grid element still fills the parent and left/center/right cannot be seen.
 */
.lt-horizontal-accordion {
    --lt-ha-reveal-duration: var(--lt-ha-transition-duration, 450ms);
    width: min(100%, var(--lt-ha-block-width, 100%)) !important;
    max-width: var(--lt-ha-block-max-width, var(--lt-ha-block-width, 100%)) !important;
    box-sizing: border-box;
}


.elementor-widget-lemon-horizontal-accordion > .elementor-widget-container {
    width: 100%;
}

.elementor-widget-lemon-horizontal-accordion:has(.lt-ha-block-align-left) > .elementor-widget-container {
    display: flex;
    justify-content: flex-start;
}

.elementor-widget-lemon-horizontal-accordion:has(.lt-ha-block-align-center) > .elementor-widget-container {
    display: flex;
    justify-content: center;
}

.elementor-widget-lemon-horizontal-accordion:has(.lt-ha-block-align-right) > .elementor-widget-container {
    display: flex;
    justify-content: flex-end;
}

.lt-horizontal-accordion.lt-ha-block-align-left {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion.lt-ha-block-align-center {
    margin-left: auto !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion.lt-ha-block-align-right {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item {
    transition: flex-basis var(--lt-ha-reveal-duration, var(--lt-ha-transition-duration, 450ms)) ease,
        width var(--lt-ha-reveal-duration, var(--lt-ha-transition-duration, 450ms)) ease,
        min-width var(--lt-ha-reveal-duration, var(--lt-ha-transition-duration, 450ms)) ease,
        max-width var(--lt-ha-reveal-duration, var(--lt-ha-transition-duration, 450ms)) ease !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item.is-lt-ha-closing {
    flex: 0 0 var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    flex-basis: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    width: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    min-width: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    max-width: var(--lt-ha-effective-closed-width, var(--lt-ha-closed-width, 90px)) !important;
    overflow: hidden !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item.is-lt-ha-closing > .lt-ha-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item.is-lt-ha-closing > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item.is-lt-ha-closing > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item.is-lt-ha-closing > .e-con,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item.is-lt-ha-closing > .elementor-element.e-con {
    position: relative !important;
    display: flex !important;
    flex: 0 0 var(--lt-ha-panel-width, 0px) !important;
    flex-basis: var(--lt-ha-panel-width, 0px) !important;
    width: var(--lt-ha-panel-width, 0px) !important;
    min-width: var(--lt-ha-panel-width, 0px) !important;
    max-width: var(--lt-ha-panel-width, 0px) !important;
    height: 100% !important;
    min-height: 100% !important;
    align-self: stretch !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item.is-lt-ha-closing > .lt-ha-panel > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item.is-lt-ha-closing > .e-con > .e-con-inner,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics > .lt-ha-item.is-lt-ha-closing > .elementor-element.e-con > .e-con-inner {
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width, 720px) !important;
}

/* v1.14.15: closed tabs group alignment.
 * This is intentionally different from the accordion block width. The widget can
 * occupy the full available area, while the collapsed tabs group aligns left,
 * center or right when no panel is open.
 */
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-all-closed {
    display: flex !important;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-all-closed.lt-ha-block-align-left {
    justify-content: flex-start !important;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-all-closed.lt-ha-block-align-center {
    justify-content: center !important;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-all-closed.lt-ha-block-align-right {
    justify-content: flex-end !important;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-all-closed > .lt-ha-item {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
}

.lt-horizontal-accordion.is-horizontal-mode.lt-ha-all-closed > .lt-ha-item > .lt-ha-panel,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-all-closed > .lt-ha-item > .e-con,
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-all-closed > .lt-ha-item > .elementor-element.e-con {
    display: none !important;
}

/* v1.14.17: right-aligned closed tabs reveal without reversing item internals.
 * When the collapsed tabs group is aligned right and a panel opens, the whole
 * accordion remains anchored to the right, but the open item's own order stays
 * normal: header first, panel after it. This prevents the tab from ending up
 * on the right side of its own content.
 */
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-open-anchor-right {
    justify-content: flex-end !important;
}

.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics.lt-ha-open-anchor-right > .lt-ha-item[open],
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics.lt-ha-open-anchor-right > .lt-ha-item.is-active,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics.lt-ha-open-anchor-right > .lt-ha-item.is-lt-ha-opening,
.lt-horizontal-accordion:not(.lt-ha-has-external-panels).is-horizontal-mode.lt-ha-has-metrics.lt-ha-open-anchor-right > .lt-ha-item.is-lt-ha-closing {
    flex-direction: row !important;
}

/* v1.14.28: vertical/editor parity guard.
 * Horizontal reveal metrics must never leak into vertical mode. This keeps the
 * mobile/vertical accordion preview closer to the frontend and lets nested
 * Elementor containers keep their own responsive layout.
 */
.lt-horizontal-accordion.is-vertical-mode {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    transform: none !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item {
    display: block !important;
    flex: none !important;
    flex-basis: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    transition: none !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item > .lt-ha-header {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    overflow: visible !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item > .lt-ha-header .lt-ha-title-text {
    position: static !important;
    transform: none !important;
    white-space: normal !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) > .lt-ha-panel,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) > .e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) > .elementor-element.e-con {
    display: none !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .elementor-element.e-con {
    display: flex !important;
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width-vertical, 100%) !important;
    height: auto !important;
    min-height: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    pointer-events: auto !important;
    transform: none !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .lt-ha-panel:has(.elementor-empty-view),
.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .e-con:has(.elementor-empty-view),
.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .elementor-element.e-con:has(.elementor-empty-view) {
    min-height: 80px !important;
}


/* v1.14.29: frontend vertical mode parity hardening.
 * In vertical mode the panel is an Elementor container, so do not force the
 * horizontal reveal metrics into it. Respect Elementor container variables
 * such as --display and --min-height while still hiding closed panels.
 */
.lt-horizontal-accordion.is-vertical-mode {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .elementor-element.e-con {
    display: var(--display, flex) !important;
    flex-direction: var(--flex-direction, column) !important;
    height: var(--height, auto) !important;
    min-height: var(--min-height, auto) !important;
    max-height: none !important;
    flex: none !important;
    flex-basis: auto !important;
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width-vertical, 100%) !important;
    transform: none !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon svg,
.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon i {
    display: block !important;
    width: 1em !important;
    height: 1em !important;
}


/* v1.14.30: vertical header default parity.
 * Elementor editor gives summary/details a small native-looking spacing in some contexts.
 * Keep the base default explicit in both editor and frontend, while still allowing
 * the Elementor padding control for Header - Vertical to override it through generated CSS.
 */
.lt-horizontal-accordion.is-vertical-mode .lt-ha-header {
    padding: 0;
}

/* v1.14.31: vertical folded width/alignment + editor icon parity.
 * In vertical mode, the folded headers must use the configured vertical max-width,
 * not shrink to the intrinsic title width. Horizontal and vertical folded
 * alignment are separate states.
 */
.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed {
    width: min(100%, var(--lt-ha-content-max-width-vertical, 100%)) !important;
    max-width: var(--lt-ha-content-max-width-vertical, 100%) !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed.lt-ha-v-closed-align-left {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed.lt-ha-v-closed-align-center {
    margin-left: auto !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed.lt-ha-v-closed-align-right {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed > .lt-ha-item,
.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed > .lt-ha-item > .lt-ha-header {
    width: 100% !important;
    max-width: 100% !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-header-inner > .lt-ha-icon {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
    min-width: 1em;
    min-height: 1em;
}

.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-header-inner > .lt-ha-icon,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-header-inner > .lt-ha-icon {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon svg,
.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon i,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon svg,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon i {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 1em !important;
    height: 1em !important;
}

/* v1.14.32: vertical all-closed width hard fix.
 * When every vertical item is folded, the headers must keep the configured
 * vertical max width instead of shrinking to the intrinsic text width. Use
 * :not(.lt-ha-has-open-item) as a defensive fallback in case the all-closed
 * helper class is not available during the first editor/frontend paint.
 */
.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item) {
    display: block !important;
    width: var(--lt-ha-content-max-width-vertical, 100%) !important;
    max-width: 100% !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed.lt-ha-v-closed-align-left,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item).lt-ha-v-closed-align-left {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed.lt-ha-v-closed-align-center,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item).lt-ha-v-closed-align-center {
    margin-left: auto !important;
    margin-right: auto !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed.lt-ha-v-closed-align-right,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item).lt-ha-v-closed-align-right {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed > .lt-ha-item,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item) > .lt-ha-item,
.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed > .lt-ha-item > .lt-ha-header,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item) > .lt-ha-item > .lt-ha-header,
.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed > .lt-ha-item > .lt-ha-header > .lt-ha-header-inner,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item) > .lt-ha-item > .lt-ha-header > .lt-ha-header-inner {
    width: 100% !important;
    max-width: 100% !important;
}

/* Editor fallback: if Elementor's JS template cannot render the selected icon
 * during a nested-item repaint, keep a visible plus/minus placeholder so the
 * editor preview matches the interactive state instead of showing nothing.
 */
.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-header-inner:not(:has(.lt-ha-icon))::after,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-header-inner:not(:has(.lt-ha-icon))::after {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-left: auto;
    line-height: 1;
    font-weight: inherit;
    color: currentColor;
}

.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-item[open] > .lt-ha-header .lt-ha-header-inner:not(:has(.lt-ha-icon))::after,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-item[open] > .lt-ha-header .lt-ha-header-inner:not(:has(.lt-ha-icon))::after {
    content: '−';
}


/* v1.14.33: vertical all-closed width must be based on the widget area, not on
 * the intrinsic closed headers. In Elementor containers with centred/aligned
 * children, the widget wrapper can shrink to the closed text width before the
 * accordion gets width:100%. Force the widget and widget-container to stretch,
 * then let the accordion itself use the vertical max-width/alignment controls.
 */
.elementor-widget-lemon-horizontal-accordion:has(.lt-horizontal-accordion.is-vertical-mode) {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    align-self: stretch !important;
}

.elementor-widget-lemon-horizontal-accordion:has(.lt-horizontal-accordion.is-vertical-mode) > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item) {
    width: min(100%, var(--lt-ha-content-max-width-vertical, 100%)) !important;
    max-width: var(--lt-ha-content-max-width-vertical, 100%) !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed > .lt-ha-item,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item) > .lt-ha-item,
.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed > .lt-ha-item > .lt-ha-header,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item) > .lt-ha-item > .lt-ha-header,
.lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed > .lt-ha-item > .lt-ha-header > .lt-ha-header-inner,
.lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item) > .lt-ha-item > .lt-ha-header > .lt-ha-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Editor-only fallback for Font Awesome icons inside nested accordion headers.
 * In some Elementor editor renders the <i class="fas ..."> node exists and has
 * size, but the Font Awesome pseudo glyph is not painted. Force a simple native
 * plus/minus so the editor preview remains usable and matches the state.
 */
.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed .fa-plus::before,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed .fa-plus::before {
    content: '+' !important;
    font-family: inherit !important;
    font-weight: inherit !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened .fa-minus::before,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened .fa-minus::before {
    content: '−' !important;
    font-family: inherit !important;
    font-weight: inherit !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon {
    color: inherit;
    fill: currentColor;
}


/* v1.14.34: hard vertical folded width fix.
 * The vertical accordion must not let the Elementor widget wrapper shrink to
 * the intrinsic width of folded headers. The wrapper is always the available
 * area; the accordion itself uses the vertical max-width and closed alignment.
 */
body .elementor-widget-lemon-horizontal-accordion,
body .elementor-widget.elementor-widget-lemon-horizontal-accordion,
body .elementor-widget-n-accordion.elementor-widget-lemon-horizontal-accordion {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-basis: 100% !important;
    align-self: stretch !important;
}

body .elementor-widget-lemon-horizontal-accordion > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
}

body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode {
    width: var(--lt-ha-content-max-width-vertical, 100%) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-closed-align-left,
body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed.lt-ha-v-closed-align-left,
body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item).lt-ha-v-closed-align-left {
    margin-left: 0 !important;
    margin-right: auto !important;
}

body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-closed-align-center,
body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed.lt-ha-v-closed-align-center,
body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item).lt-ha-v-closed-align-center {
    margin-left: auto !important;
    margin-right: auto !important;
}

body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-closed-align-right,
body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode.lt-ha-all-closed.lt-ha-v-closed-align-right,
body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode:not(.lt-ha-has-open-item).lt-ha-v-closed-align-right {
    margin-left: auto !important;
    margin-right: 0 !important;
}

body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode > .lt-ha-item,
body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode > .lt-ha-item > .lt-ha-header,
body .elementor-widget-lemon-horizontal-accordion .lt-horizontal-accordion.is-vertical-mode > .lt-ha-item > .lt-ha-header > .lt-ha-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* v1.14.34: editor icon fallback that does not depend on Font Awesome being
 * painted in the preview iframe. Elementor may render the <i> node with size
 * but the glyph itself can be invisible; in the editor we use native text.
 */
.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed > i,
.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened > i,
.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed > svg,
.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened > svg,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed > i,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened > i,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed > svg,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened > svg {
    display: none !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed::before,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed::before {
    content: '+' !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1em !important;
    height: 1em !important;
    line-height: 1 !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    color: currentColor !important;
}

.elementor-editor-active .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened::before,
.elementor-editor-preview .lt-horizontal-accordion.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened::before {
    content: '−' !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1em !important;
    height: 1em !important;
    line-height: 1 !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    color: currentColor !important;
}

/* v1.14.35: vertical folded width is guarded by JS because Elementor flex/nested
 * wrappers can shrink intrinsically when every <details> item is closed. In that
 * state CSS width:100% only means 100% of an already-shrunk parent, so the JS
 * measures the nearest available parent width and writes --lt-ha-vertical-guard-width.
 */
body .elementor-widget-lemon-horizontal-accordion[data-lt-ha-vertical-width-guard="yes"] {
    width: var(--lt-ha-vertical-guard-width, 100%) !important;
    max-width: var(--lt-ha-vertical-guard-width, 100%) !important;
    min-width: 0 !important;
    flex: 0 1 var(--lt-ha-vertical-guard-width, 100%) !important;
    flex-basis: var(--lt-ha-vertical-guard-width, 100%) !important;
    box-sizing: border-box !important;
}

body .elementor-widget-lemon-horizontal-accordion[data-lt-ha-vertical-width-guard="yes"] .lt-horizontal-accordion.is-vertical-mode {
    width: var(--lt-ha-vertical-guard-width, 100%) !important;
    max-width: var(--lt-ha-vertical-guard-width, 100%) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body .elementor-widget-lemon-horizontal-accordion[data-lt-ha-vertical-width-guard="yes"] .lt-horizontal-accordion.is-vertical-mode > .lt-ha-item,
body .elementor-widget-lemon-horizontal-accordion[data-lt-ha-vertical-width-guard="yes"] .lt-horizontal-accordion.is-vertical-mode > .lt-ha-item > .lt-ha-header,
body .elementor-widget-lemon-horizontal-accordion[data-lt-ha-vertical-width-guard="yes"] .lt-horizontal-accordion.is-vertical-mode > .lt-ha-item > .lt-ha-header > .lt-ha-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Editor icon fallback bound to a class added by JS, because the editor iframe does
 * not always expose .elementor-editor-active on the same document where the widget
 * is rendered. This avoids depending on Font Awesome pseudo glyphs in preview.
 */
.lt-horizontal-accordion.lt-ha-editor-context.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: inherit;
    opacity: 1 !important;
    visibility: visible !important;
}

.lt-horizontal-accordion.lt-ha-editor-context.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed > i,
.lt-horizontal-accordion.lt-ha-editor-context.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened > i,
.lt-horizontal-accordion.lt-ha-editor-context.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed > svg,
.lt-horizontal-accordion.lt-ha-editor-context.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened > svg {
    display: none !important;
}

.lt-horizontal-accordion.lt-ha-editor-context.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed::before {
    content: '+' !important;
}

.lt-horizontal-accordion.lt-ha-editor-context.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened::before {
    content: '−' !important;
}

.lt-horizontal-accordion.lt-ha-editor-context.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-closed::before,
.lt-horizontal-accordion.lt-ha-editor-context.is-vertical-mode.lt-ha-v-icon-yes .lt-ha-icon-opened::before {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1em !important;
    height: 1em !important;
    line-height: 1 !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    color: currentColor !important;
}


/* v1.15.28: vertical mode must behave like a real accordion.
 * The nested Elementor container is the user's content. In vertical mode we only
 * show/hide/animate the outer panel; we must not keep horizontal heights,
 * horizontal min-heights or vertical alignment rules that reshape the content.
 */
.lt-horizontal-accordion.is-vertical-mode {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item > .lt-ha-header {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) > .lt-ha-panel,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) > .e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item:not([open]) > .elementor-element.e-con {
    display: none !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .elementor-element.e-con {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: var(--lt-ha-content-max-width-vertical, 100%) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: none !important;
    flex-basis: auto !important;
    align-self: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    pointer-events: auto !important;
    transform: none !important;
}

/* v1.15.30: in vertical mode the opened panel must keep Elementor's own
 * container layout. Do not force flex-direction, justify-content, align-items
 * or gap here: those values belong to the nested Elementor container and
 * overriding them can collapse the spacing between headings/text widgets. */
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .elementor-element.e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .e-con {
    display: var(--display, flex) !important;
}

.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .lt-ha-panel > .e-con-inner,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .lt-ha-editor-nested-panel > .e-con-inner,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .elementor-element.e-con > .e-con-inner,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
}

/* v1.15.31: Elementor calculates some widget margins as
 * calc(var(--kit-widget-spacing, 0px) + <custom-margin>).
 * In frontend, nested/external accordion panels can miss --kit-widget-spacing
 * even though the editor iframe has it. Preserve Elementor's spacing variable
 * locally so intentional negative margins behave the same in frontend/editor.
 */
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .lt-ha-panel,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .lt-ha-editor-nested-panel,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > [data-lt-ha-nested-child="true"],
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .e-con,
.lt-horizontal-accordion.is-vertical-mode > .lt-ha-item[open] > .elementor-element.e-con,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-vertical-mode > .lt-ha-external-panel.is-active,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-vertical-mode > .e-con.lt-ha-external-panel.is-active,
.lt-horizontal-accordion.lt-ha-has-external-panels.is-vertical-mode > .elementor-element.e-con.lt-ha-external-panel.is-active {
    --kit-widget-spacing: var(--widgets-spacing-row, 20px);
}


/* v1.15.47: runtime fallback for header border controls.
 * Some frontend renders can miss Elementor generated CSS for the Group_Control_Border
 * of the accordion headers. The widget exposes the saved border values as scoped
 * CSS variables on the accordion root and applies them only to the direct header
 * in the matching mode.
 */
.lt-horizontal-accordion.is-horizontal-mode.lt-ha-h-header-border-runtime > .lt-ha-item > .lt-ha-header {
    border-style: var(--lt-ha-horizontal-header-border-style) !important;
    border-color: var(--lt-ha-horizontal-header-border-color) !important;
    border-width: var(--lt-ha-horizontal-header-border-width) !important;
}

.lt-horizontal-accordion.is-vertical-mode.lt-ha-v-header-border-runtime > .lt-ha-item > .lt-ha-header {
    border-style: var(--lt-ha-vertical-header-border-style) !important;
    border-color: var(--lt-ha-vertical-header-border-color) !important;
    border-width: var(--lt-ha-vertical-header-border-width) !important;
}
