
.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;
}

.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: flex;
}

.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;
}
