/* 基础布局 */
.astra-tabs {
    display: flex;
    flex-direction: column;
}

.astra-tabs-wrapper-outer {
    position: relative;
    overflow: hidden;
    padding: 0 35px; /* 导航按钮空间 */
}

.astra-tabs-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    touch-action: pan-y pinch-zoom;
}

.astra-tabs-wrapper.swiper-container {
    overflow: visible;
}

.astra-tabs-wrapper .swiper-slide {
    width: auto;
    height: auto;
    cursor: grab;
}

.astra-tabs-wrapper .swiper-slide:active {
    cursor: grabbing;
}

/* 标签基础样式 */
.astra-tab-title {
    flex: 1;
    margin: 0;
    padding: 15px 10px;
    white-space: nowrap;
    text-align: center;
    box-sizing: border-box;
    min-width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 标签宽度控制 */
.elementor-tab-width-auto .astra-tab-title {
    flex: 0 1 auto;
}

.elementor-tab-width-stretch .astra-tab-title {
    flex: 1 1 0;
}

/* 标题布局 - 内联 */
.elementor-title-layout-inline .astra-tab-title {
    flex-direction: row;
}

.elementor-title-layout-inline .astra-tab-icon {
    margin-right: 10px;
    margin-bottom: 0;
}

/* 标题布局 - 块级 */
.elementor-title-layout-block .astra-tab-title {
    flex-direction: column;
    white-space: normal;
}

.elementor-title-layout-block .astra-tab-icon {
    margin-bottom: 10px;
    margin-right: 0;
}

/* 图标容器样式 */
.astra-tab-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.astra-tab-title-text {
    display: block;
}

.astra-tab-icon img {
    width: 100%;
    height: auto;
}

/* 激活状态 */
.astra-tab-title.astra-active {
    background-color: #fff;
    border-color: #D4D4D4;
    border-bottom-color: transparent;
}

/* 内容区域样式 */
.astra-tabs-content-wrapper {
    position: relative;
}

.astra-tab-content {
    display: none;
    padding: 20px 0;
}

.astra-tab-content.astra-active {
    display: block;
}

/* 添加图片相关样式 */
.elementor-widget-astra_custom_tabs .elementor-image-gallery {
    display: grid;
    grid-gap: 20px;
}

.elementor-widget-astra_custom_tabs .elementor-image-gallery.columns-1 {
    grid-template-columns: repeat(1, 1fr);
}

.elementor-widget-astra_custom_tabs .elementor-image-gallery.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.elementor-widget-astra_custom_tabs .elementor-image-gallery.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.elementor-widget-astra_custom_tabs .elementor-image-gallery.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.elementor-widget-astra_custom_tabs .elementor-image-gallery.columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.elementor-widget-astra_custom_tabs .elementor-image-gallery.columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

.elementor-widget-astra_custom_tabs .elementor-image-gallery .gallery-item {
    text-align: center;
}

.elementor-widget-astra_custom_tabs .elementor-image-gallery img {
    width: 100%;
    height: auto;
}

@media (max-width: 767px) {
    .elementor-widget-astra_custom_tabs .elementor-image-gallery {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 480px) {
    .elementor-widget-astra_custom_tabs .elementor-image-gallery {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/* 确保图标容器样式正确应用 */
.elementor-widget-astra_custom_tabs .astra-tab-icon {
    position: relative;
    overflow: hidden;
}

/* 对齐方式的特殊处理 */
.elementor-widget-astra_custom_tabs .astra-tabs-wrapper[style*="justify-content: stretch"] .astra-tab-title {
    text-align: center;
    justify-content: center;
}

/* Gallery Layout */
.astra-image-gallery {
    display: grid;
    grid-gap: 10px;
}

.astra-image-gallery.columns-1 { grid-template-columns: repeat(1, 1fr); }
.astra-image-gallery.columns-2 { grid-template-columns: repeat(2, 1fr); }
.astra-image-gallery.columns-3 { grid-template-columns: repeat(3, 1fr); }
.astra-image-gallery.columns-4 { grid-template-columns: repeat(4, 1fr); }
.astra-image-gallery.columns-5 { grid-template-columns: repeat(5, 1fr); }
.astra-image-gallery.columns-6 { grid-template-columns: repeat(6, 1fr); }

/* Gallery Items */
.astra-image-gallery .gallery-item {
    position: relative;
    overflow: hidden;
}

.astra-image-gallery .gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    transition: all 0.3s ease;
}

/* Responsive */
@media (max-width: 767px) {
    .astra-image-gallery.columns-3,
    .astra-image-gallery.columns-4,
    .astra-image-gallery.columns-5,
    .astra-image-gallery.columns-6 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .astra-image-gallery[class*="columns-"] {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Tabs Slider Layout */
.elementor-tabs.tabs-with-slider .elementor-tabs-wrapper-outer {
    position: relative;
    overflow: hidden;
    padding: 0 35px; /* 导航按钮空间 */
}

.elementor-tabs.tabs-with-slider .elementor-tabs-wrapper {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.elementor-tabs.tabs-with-slider .elementor-tab-title {
    flex: 0 0 calc((100% - 50px) / 6); /* 只在滑动模式下固定宽度 */
    margin: 0;
    padding: 15px 10px;
    white-space: nowrap;
    text-align: center;
    box-sizing: border-box;
}

/* 响应式调整 */
@media (max-width: 1024px) {
    .elementor-tabs.tabs-with-slider .elementor-tab-title {
        flex: 0 0 calc((100% - 30px) / 4);
    }
}

@media (max-width: 768px) {
    .elementor-tabs.tabs-with-slider .elementor-tab-title {
        flex: 0 0 calc((100% - 20px) / 3);
    }
}

@media (max-width: 480px) {
    .elementor-tabs.tabs-with-slider .elementor-tab-title {
        flex: 0 0 calc((100% - 10px) / 2);
    }
}

/* Swiper Navigation Buttons */
.astra-tabs .swiper-button-next,
.astra-tabs .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    z-index: 10;
    cursor: pointer;
    display: none;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    transition: all 0.3s ease;
}

.astra-tabs .swiper-button-prev {
    left: 0;
}

.astra-tabs .swiper-button-next {
    right: 0;
}

.astra-tabs .swiper-button-next:after,
.astra-tabs .swiper-button-prev:after {
    font-size: 14px;
    color: #000;
}

.astra-tabs .swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .elementor-tabs.tabs-with-slider .elementor-tab-title {
        min-width: 100px;
    }
}

/* 响应式布局样式 */
.astra-tabs .astra-tabs-wrapper .astra-tab-title {
    flex: 0 0 calc(100% / var(--tabs-display-desktop, 6));
    max-width: calc(100% / var(--tabs-display-desktop, 6));
}

@media (max-width: 1024px) {
    .astra-tabs .astra-tabs-wrapper .astra-tab-title {
        flex: 0 0 calc(100% / var(--tabs-display-tablet, 4));
        max-width: calc(100% / var(--tabs-display-tablet, 4));
    }
}

@media (max-width: 767px) {
    .astra-tabs .astra-tabs-wrapper .astra-tab-title {
        flex: 0 0 calc(100% / var(--tabs-display-mobile, 3));
        max-width: calc(100% / var(--tabs-display-mobile, 3));
    }
}

/* 图片网格响应式布局 */
.astra-image-gallery {
    --columns-desktop: 3;
    --columns-tablet: 2;
    --columns-mobile: 2;
    grid-template-columns: repeat(var(--columns-desktop), 1fr);
}

@media (max-width: 1024px) {
    .astra-image-gallery {
        grid-template-columns: repeat(var(--columns-tablet), 1fr);
    }
}

@media (max-width: 767px) {
    .astra-image-gallery {
        grid-template-columns: repeat(var(--columns-mobile), 1fr);
    }
}

/* Swiper 导航按钮响应式调整 */
@media (max-width: 768px) {
    .astra-tabs .swiper-button-next,
    .astra-tabs .swiper-button-prev {
        width: 30px;
        height: 30px;
    }
    
    .astra-tabs .swiper-button-next:after,
    .astra-tabs .swiper-button-prev:after {
        font-size: 14px;
    }
}

.astra-tabs-with-slider .swiper-button-prev,
.astra-tabs-with-slider .swiper-button-next {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}

.astra-tabs-with-slider.swiper-container-initialized .swiper-button-prev,
.astra-tabs-with-slider.swiper-container-initialized .swiper-button-next {
    display: flex;
}

.elementor-image-gallery {
    display: grid;
    grid-gap: 10px;
}

@media (max-width: 1024px) {
    .elementor-image-gallery[data-columns-tablet] {
        grid-template-columns: repeat(var(--columns-tablet, 2), 1fr) !important;
    }
}

@media (max-width: 767px) {
    .elementor-image-gallery[data-columns-mobile] {
        grid-template-columns: repeat(var(--columns-mobile, 2), 1fr) !important;
    }
}

.swiper-initialized .swiper-button-prev,
.swiper-initialized .swiper-button-next {
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-button-prev {
    left: 0;
}

.swiper-button-next {
    right: 0;
}

.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-size: 14px;
} 