/* RWD Slider - 前台通用樣式 v19.2.0 */
/* ===== FOUC Prevention & Fallback ===== */
/*
 * 防止 FOUC (Flash of Unstyled Content) 問題
 * 1. 初始狀態隱藏幻燈片，等待 JS 初始化
 * 2. 如果 JS 初始化失敗或延遲，1.5秒後仍會顯示（優雅降級）
 * 3. 使用 min-height 預留空間，避免 CLS
 */

/* Fallback animation - 即使 JS 失敗也會顯示 */
@keyframes rwd-slider-fallback-show {
from {
visibility: hidden;
opacity: 0;
}
to {
visibility: visible;
opacity: 1;
}
}

.rwd-slider-wrapper {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    /* CLS Prevention: 預留最小高度 */
    min-height: var(--rwd-slider-height-desktop, 300px);
    /* Width Constraint */
    max-width: var(--rwd-max-width-desktop, 100%);
    /* Fallback: 0.4 秒後無論 JS 狀態如何都顯示，減少 FOUC（原 1.5s） */
    animation: rwd-slider-fallback-show 0.4s ease 0.4s forwards;
    
    /* Layout Support */
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* ===== Utility Classes ===== */
@media (min-width: 1181px) { .rwd-hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1180px) { .rwd-hide-tablet { display: none !important; } }
@media (max-width: 767px) { .rwd-hide-mobile { display: none !important; } }

/* Line Clamp Utilities */
[class*="rwd-line-clamp-"] {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rwd-line-clamp-1 { -webkit-line-clamp: 1; line-clamp: 1; }
.rwd-line-clamp-2 { -webkit-line-clamp: 2; line-clamp: 2; }
.rwd-line-clamp-3 { -webkit-line-clamp: 3; line-clamp: 3; }
.rwd-line-clamp-4 { -webkit-line-clamp: 4; line-clamp: 4; }
.rwd-line-clamp-5 { -webkit-line-clamp: 5; line-clamp: 5; }
.rwd-line-clamp-6 { -webkit-line-clamp: 6; line-clamp: 6; }
.rwd-line-clamp-7 { -webkit-line-clamp: 7; line-clamp: 7; }
.rwd-line-clamp-8 { -webkit-line-clamp: 8; line-clamp: 8; }
.rwd-line-clamp-9 { -webkit-line-clamp: 9; line-clamp: 9; }
.rwd-line-clamp-10 { -webkit-line-clamp: 10; line-clamp: 10; }

/* Side Thumbnails Layout */
.rwd-thumbs-pos--left {
    flex-direction: row !important;
    align-items: stretch;
}

.rwd-thumbs-pos--right {
    flex-direction: row-reverse !important;
    align-items: stretch;
}

.rwd-thumbs-pos--left .rwd-slider-main-area,
.rwd-thumbs-pos--right .rwd-slider-main-area {
    flex: 1;
    min-width: 0;
}

.rwd-thumbs-pos--left .rwd-slider-thumbs-wrapper,
.rwd-thumbs-pos--right .rwd-slider-thumbs-wrapper {
    flex-shrink: 0;
}

/* 響應式最小高度，避免 CLS */
@media (max-width: 1180px) {
.rwd-slider-wrapper {
min-height: var(--rwd-slider-height-tablet, 250px);
max-width: var(--rwd-max-width-tablet, 100%);
}
}
@media (max-width: 767px) {
.rwd-slider-wrapper {
min-height: var(--rwd-slider-height-mobile, 200px);
max-width: var(--rwd-max-width-mobile, 100%);
}
}

/* JS 初始化成功時覆蓋 fallback 動畫 */
.rwd-slider-wrapper.rwd-slider--initialized {
visibility: visible !important;
opacity: 1 !important;
animation: none !important; /* 取消 fallback 動畫 */
min-height: auto; /* 初始化後移除最小高度 */
}

.rwd-slider-wrapper.rwd-slider--lcp-preset {
visibility: visible;
opacity: 1;
animation: none;
}

.rwd-slider-wrapper.rwd-slider--lcp-preset:not(.rwd-slider--initialized) .swiper-slide:not(:first-child) {
visibility: hidden;
opacity: 0;
}

.rwd-slider-wrapper.rwd-slider--reduced-motion {
scroll-behavior: auto;
}

.rwd-slider-wrapper.rwd-slider--reduced-motion .rwd-slider__autoplay-toggle {
opacity: 0.72;
cursor: not-allowed;
}

.rwd-slider-wrapper.rwd-slider--reduced-motion .swiper-pagination-bullet {
transition: none !important;
}

.rwd-slider__responsive-picture {
display: contents;
}

.rwd-slider__img-container img {
object-position: var(--rwd-slide-object-position-desktop, inherit);
}

@media (max-width: 1180px) {
.rwd-slider__img-container img {
object-position: var(--rwd-slide-object-position-tablet, var(--rwd-slide-object-position-desktop, inherit));
}
}

@media (max-width: 767px) {
.rwd-slider__img-container img {
object-position: var(--rwd-slide-object-position-mobile, var(--rwd-slide-object-position-tablet, var(--rwd-slide-object-position-desktop, inherit)));
}
}

/* 確保第一張幻燈片在初始化前就正確顯示 */
.rwd-slider-wrapper:not(.rwd-slider--initialized) .swiper-slide:first-child {
opacity: 1 !important;
visibility: visible !important;
}
/* 確保第一張的連結可互動 */
.rwd-slider-wrapper:not(.rwd-slider--initialized) .swiper-slide:first-child .rwd-slider__slide-link {
pointer-events: auto;
}
.rwd-slider-main-area {
flex-grow: 1;
min-width: 0;
position: relative;
margin: 0 auto;
width: 100%;
/* 使用後台設定的間距 */
padding-top: var(--rwd-spacing-top-desktop, 0);
padding-bottom: var(--rwd-spacing-bottom-desktop, 0);
}

@media (max-width: 1180px) {
.rwd-slider-main-area {
padding-top: var(--rwd-spacing-top-tablet, 0);
padding-bottom: var(--rwd-spacing-bottom-tablet, 0);
}
}

@media (max-width: 767px) {
.rwd-slider-main-area {
padding-top: var(--rwd-spacing-top-mobile, 0);
padding-bottom: var(--rwd-spacing-bottom-mobile, 0);
}
}


/* =============================================================================
   📝 Slider 標題樣式 - 使用 PHP 生成的 CSS 變數
   ============================================================================= */
.rwd-slider__title {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0 15px;
    /* 使用後台設定的對齊方式 */
    text-align: var(--rwd-title-align-desktop, var(--rwd-title-align, center));
    font-weight: 600;
    /* 使用後台設定的字體大小 */
    font-size: var(--rwd-title-font-size-desktop, 22px);
    line-height: 1.3;
    color: inherit;
}

/* RWD 響應式標題字體大小 */
@media (max-width: 1180px) {
.rwd-slider__title {
font-size: var(--rwd-title-font-size-tablet, 20px);
text-align: var(--rwd-title-align-tablet, var(--rwd-title-align-desktop, center));
}
}
@media (max-width: 767px) {
.rwd-slider__title {
font-size: var(--rwd-title-font-size-mobile, 18px);
text-align: var(--rwd-title-align-mobile, var(--rwd-title-align-tablet, center));
margin: 0 0 8px 0; /* Reduced from 15px for mobile */
padding: 0 8px; /* Reduced from 15px for mobile */
line-height: 1.2; /* Tighter line height for mobile */
}
}
.rwd-slider-container {
overflow: hidden;
position: relative;
width: 100%;
}
/* Aspect ratio mode (default) */
.rwd-slider-container::before {
content: '';
display: block;
padding-top: var(--rwd-slide-aspect, 56.25%);
}
/* Fixed height mode - override aspect ratio */
.rwd-slider-wrapper--fixed-height .rwd-slider-container::before {
display: none;
}
.rwd-slider-wrapper--fixed-height .rwd-slider-container {
height: var(--rwd-slider-height-desktop, 450px);
}
@media (max-width: 1180px) {
.rwd-slider-wrapper--fixed-height .rwd-slider-container {
height: var(--rwd-slider-height-tablet, 400px);
}
}
@media (max-width: 767px) {
.rwd-slider-wrapper--fixed-height .rwd-slider-container {
height: var(--rwd-slider-height-mobile, 300px);
}
}
.rwd-slider-container > .swiper-wrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1; /* 確保 wrapper 在箭頭下方 */
}
.rwd-slider-wrapper .swiper-slide {
transform: translateZ(0);
height: 100%;
}

.rwd-slider__corner-badge {
position: absolute;
z-index: 16;
display: inline-flex;
align-items: center;
gap: 6px;
max-width: min(42vw, 220px);
padding: 6px 10px;
border-radius: 999px;
background: var(--rwd-corner-badge-bg, rgba(17, 17, 17, 0.72));
color: var(--rwd-corner-badge-color, #fff);
font-size: 12px;
line-height: 1.2;
backdrop-filter: blur(6px);
box-sizing: border-box;
pointer-events: auto;
overflow-wrap: anywhere;
}

.rwd-slider__corner-badge-link {
display: inline-flex;
align-items: center;
gap: 6px;
color: inherit;
text-decoration: none;
}

.rwd-slider__corner-badge .dashicons {
width: 14px;
height: 14px;
font-size: 14px;
color: inherit;
}

.rwd-slider__corner-badge--style-dark {
background: var(--rwd-corner-badge-bg, rgba(17, 17, 17, 0.72));
color: var(--rwd-corner-badge-color, #fff);
}

.rwd-slider__corner-badge--style-light {
background: var(--rwd-corner-badge-bg, rgba(255, 255, 255, 0.88));
color: var(--rwd-corner-badge-color, #111);
}

.rwd-slider__corner-badge--style-accent {
background: var(--rwd-corner-badge-bg, rgba(0, 115, 170, 0.9));
color: var(--rwd-corner-badge-color, #fff);
}

.rwd-slider__corner-badge--style-outline {
background: var(--rwd-corner-badge-bg, rgba(255, 255, 255, 0.08));
border: 1px solid rgba(255, 255, 255, 0.75);
color: var(--rwd-corner-badge-color, #fff);
}

.rwd-slider__corner-badge--top-left {
top: 12px;
left: 12px;
}

.rwd-slider__corner-badge--top-right {
top: 12px;
right: 12px;
}

.rwd-slider__corner-badge--bottom-left {
bottom: 12px;
left: 12px;
}

.rwd-slider__corner-badge--bottom-right {
bottom: 12px;
right: 12px;
}

/* =============================================================================
   🔧 防止 Slide 重疊問題
   使用 z-index 確保正確堆疊順序，而非 visibility hidden
   ============================================================================= */

/* 基礎：所有 slide 預設較低 z-index */
.rwd-slider-container .swiper-slide {
z-index: 1;
}

/* Active slide 最高優先級 */
.rwd-slider-container .swiper-slide-active {
z-index: 3 !important;
}

/* 前後 slide 中等優先級（for slide 效果） */
.rwd-slider-container .swiper-slide-prev,
.rwd-slider-container .swiper-slide-next {
z-index: 2;
}

/* Fade 效果模式下 - 非 active slide 透明 */
.rwd-slider-wrapper .swiper-fade .swiper-slide {
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
}

.rwd-slider-wrapper .swiper-fade .swiper-slide-active {
opacity: 1 !important;
pointer-events: auto !important;
}

/* =============================================================================
   🔧 Duplicate Slides 優化 - 防止循環跳動
   ============================================================================= */

/* 隱藏 duplicate slides，只在過渡時顯示 */
.rwd-slider-container .swiper-slide-duplicate {
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* 過渡期間顯示 duplicate slides - 強制顯示 */
.rwd-slider-container .swiper-slide-active,
.rwd-slider-container .swiper-slide-prev,
.rwd-slider-container .swiper-slide-next,
.rwd-slider-container .swiper-slide-duplicate-active,
.rwd-slider-container .swiper-slide-duplicate-prev,
.rwd-slider-container .swiper-slide-duplicate-next {
opacity: 1 !important;
visibility: visible !important;
}

/* 確保 duplicate slides 不會干擾點擊 */
.rwd-slider-container .swiper-slide-duplicate {
pointer-events: none;
}

/* 平滑過渡所有 slides */
.rwd-slider-wrapper .swiper-slide {
transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

/* =============================================================================
   ✨ Centered Mode - 左右部分透出視覺效果
   ============================================================================= */
.rwd-slider--centered .rwd-slider-container {
    overflow: visible !important; /* 讓左右 slide 可以透出來 */
}

/* Fix: Scope strictly to MAIN slider container to avoid affecting thumbnails */
.rwd-slider--centered .rwd-slider-container .swiper-slide {
    transition: transform 0.4s ease, opacity 0.4s ease !important;
    opacity: 0.5; /* 非 active slide 半透明 */
    transform: scale(0.9); /* 非 active slide 縮小 */
    pointer-events: none;
}

.rwd-slider--centered .rwd-slider-container .swiper-slide-active {
    opacity: 1 !important;
    transform: scale(1) !important;
    z-index: 10 !important;
    pointer-events: auto;
}

/* 確保投影片寬度，讓 auto 模式下有間距 */
.rwd-slider--centered .rwd-slider-container .swiper-slide {
    width: var(--rwd-centered-width-desktop, 80%) !important;
}

@media (max-width: 767px) {
    .rwd-slider--centered .rwd-slider-container .swiper-slide {
        width: var(--rwd-centered-width-mobile, 85%) !important;
    }
}

/* =============================================================================
   📏 Flat Centered Mode (Equal Height, Variable Width)
   ============================================================================= */
/* Override standard centered mode styles */
.rwd-slider--centered-flat .rwd-slider-container .swiper-slide {
    height: 100% !important;
    transform: none !important; /* No scaling */
    opacity: 0.5; /* Inactive opacity */
    pointer-events: auto !important; /* Allow clicking/dragging on side slides */
    /* Use configured width for all slides to ensure smooth centering */
    width: var(--rwd-flat-center-width, 60%) !important; 
    flex-shrink: 0;
}

/* Fix: Ensure image container has width in Flat Mode to prevent collapse */
.rwd-slider--centered-flat .rwd-slider__img-container {
    width: 100%;
    /* Removed min-width to allow smaller side slides if needed */
}
.rwd-slider--centered-flat .rwd-slider__img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Active Slide - Use configured width (Redundant but keeps opacity change) */
.rwd-slider--centered-flat .rwd-slider-container .swiper-slide-active {
    opacity: 1 !important;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .rwd-slider--centered-flat .rwd-slider-container .swiper-slide {
        width: var(--rwd-flat-center-width-mobile, 80%) !important;
    }
    .rwd-slider--centered-flat .rwd-slider-container .swiper-slide-active {
        /* Width is already set by base rule above within media query context if needed, 
           but here we just need to maintain opacity/active state */
         opacity: 1 !important;
    }
}

/* =============================================================================
   🖼️ Landscape Card Mode (Rounded, Spaced, Peeking)
   ============================================================================= */
.rwd-slider--centered-landscape .rwd-slider-container {
    padding-top: 20px;
    padding-bottom: 20px;
}

.rwd-slider--centered-landscape .rwd-slider-container .swiper-slide {
    height: 100% !important;
    transform: none !important; /* No scaling */
    opacity: 0.5;
    transition: opacity 0.3s ease, transform 0.3s ease;
    
    /* Card Style */
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    
    /* Default Widths (can be overridden by inline styles from settings) */
    width: var(--rwd-flat-center-width, 70%) !important; 
}

/* Active Slide */
.rwd-slider--centered-landscape .rwd-slider-container .swiper-slide-active {
    opacity: 1 !important;
    transform: scale(1.02) !important; /* Slight pop */
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    z-index: 2;
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .rwd-slider--centered-landscape .rwd-slider-container .swiper-slide {
        width: var(--rwd-flat-center-width-mobile, 85%) !important;
        border-radius: 8px;
    }
}

/* Adjust Arrows for Landscape Mode */
.rwd-slider--centered-landscape .rwd-slider__arrow {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: #333 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    /* Ensure arrows are above the slides but not blocking content too much */
    z-index: 10;
}

/* Position arrows at the edges of the center slide 
   Formula: (100% - CenterWidth) / 2 + Small Offset
   Note: We use a fallback of 70% / 85% to match the PHP defaults if var is missing.
*/
.rwd-slider--centered-landscape .rwd-slider__arrow--prev {
    left: calc( (100% - var(--rwd-flat-center-width, 70%)) / 2 - 25px ) !important;
}
.rwd-slider--centered-landscape .rwd-slider__arrow--next {
    right: calc( (100% - var(--rwd-flat-center-width, 70%)) / 2 - 25px ) !important;
}

/* Mobile: Recalculate based on mobile width */
@media (max-width: 767px) {
    .rwd-slider--centered-landscape .rwd-slider__arrow--prev {
        left: calc( (100% - var(--rwd-flat-center-width-mobile, 85%)) / 2 - 15px ) !important;
    }
    .rwd-slider--centered-landscape .rwd-slider__arrow--next {
        right: calc( (100% - var(--rwd-flat-center-width-mobile, 85%)) / 2 - 15px ) !important;
    }
}

/* Fix Image Container */
.rwd-slider--centered-landscape .rwd-slider__img-container {
    width: 100%;
    height: 100%;
}
.rwd-slider--centered-landscape .rwd-slider__img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.rwd-slider__slide-link,
.rwd-slider__slide-content {
display: block;
position: relative;
width: 100%;
height: 100%;
text-decoration: none;
color: inherit;
/* 防止透明圖片透出底下的 slide */
background-color: var(--rwd-slide-bg, #fff);
}
.rwd-slider__slide-link {
cursor: pointer;
}
.rwd-slider__html-content {
height: 100%;
box-sizing: border-box;
}
.rwd-slider__img-container img,
.rwd-slider__img-container picture {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.rwd-slider__img-container img {
object-fit: var(--rwd-image-object-fit, cover);
object-position: var(--rwd-image-object-position, center);
}
.rwd-slider__video-placeholder {
background-color: #000;
width: 100%;
height: 100%;
position: relative;
}
.rwd-slider__caption{
position: absolute;
bottom: 0;
left: 0;
right: 0;
width: 100%;
z-index: 3;
padding: 1em;
background: var(--rwd-caption-bg, rgba(0,0,0,0.5));
color: var(--rwd-caption-color, #fff);
font-size: var(--rwd-caption-font-size-desktop, 16px);
text-align: var(--rwd-caption-align-desktop, var(--rwd-caption-align, center));
box-sizing: border-box;
pointer-events: none;
}

/* RWD 響應式 Caption 字體大小 */
@media (max-width: 1180px) {
.rwd-slider__caption {
font-size: var(--rwd-caption-font-size-tablet, 14px);
text-align: var(--rwd-caption-align-tablet, var(--rwd-caption-align-desktop, center));
padding: 0.75em 1em; /* Reduced padding for tablet */
}
}
@media (max-width: 767px) {
.rwd-slider__caption {
font-size: var(--rwd-caption-font-size-mobile, 12px);
text-align: var(--rwd-caption-align-mobile, var(--rwd-caption-align-tablet, center));
padding: 0.5em 0.75em; /* Significantly reduced padding for mobile to prevent content coverage */
}
}
.rwd-slider__caption-text {
margin: 0;
padding: 0;
display: -webkit-box;
-webkit-box-orient: vertical;
/* 使用後台設定的行數限制 */
-webkit-line-clamp: var(--rwd-caption-max-lines-desktop, 2);
line-clamp: var(--rwd-caption-max-lines-desktop, 2);
overflow: hidden;
text-overflow: ellipsis;
}

/* RWD 響應式 Caption 行數限制 */
@media (max-width: 1180px) {
.rwd-slider__caption-text {
-webkit-line-clamp: var(--rwd-caption-max-lines-tablet, 2);
line-clamp: var(--rwd-caption-max-lines-tablet, 2);
}
}
@media (max-width: 767px) {
.rwd-slider__caption-text {
-webkit-line-clamp: var(--rwd-caption-max-lines-mobile, 2);
line-clamp: var(--rwd-caption-max-lines-mobile, 2);
}
}
.rwd-slider__video-wrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
visibility: hidden;
opacity: 0;
transition: opacity 0.3s ease;
}
.rwd-slider__video-wrapper.is-playing {
visibility: visible;
opacity: 1;
}
.rwd-slider__video-wrapper iframe {
width: 100%;
height: 100%;
}
.rwd-slider__play-button {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 3;
width: 68px;
height: 48px;
background-color: rgba(0,0,0,0.7);
border-radius: 10px;
cursor: pointer;
transition: background-color 0.2s ease;
}
.rwd-slider__play-button:hover {
background-color: #cc181e;
}
.rwd-slider__play-button::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-45%, -50%);
border-style: solid;
border-width: 10px 0 10px 20px;
border-color: transparent transparent transparent #fff;
}
.rwd-slider__overlay {
position: absolute;
z-index: 10;
pointer-events: none;
box-sizing: border-box;
}
.rwd-slider__overlay img {
max-width: 100%;
height: auto;
display: block;
}
/* Layer Styles */
.rwd-slider__layer {
position: absolute;
z-index: 12;
transform-style: preserve-3d;
opacity: 0;
transition-property: opacity, transform;
}
.swiper-slide-active .rwd-slider__layer.is-visible {
opacity: 1;
}
.rwd-slider__layer[data-anim-in='fadeIn'] { transform: translate(-50%, -50%); }
.swiper-slide-active .rwd-slider__layer.is-visible[data-anim-in='fadeIn'] { transform: translate(-50%, -50%); }
.rwd-slider__layer[data-anim-in='fadeInUp'] { transform: translate(-50%, calc(-50% + 20px)); }
.swiper-slide-active .rwd-slider__layer.is-visible[data-anim-in='fadeInUp'] { transform: translate(-50%, -50%); }
.rwd-slider__layer[data-anim-in='fadeInDown'] { transform: translate(-50%, calc(-50% - 20px)); }
.swiper-slide-active .rwd-slider__layer.is-visible[data-anim-in='fadeInDown'] { transform: translate(-50%, -50%); }
.rwd-slider__layer[data-anim-in='fadeInLeft'] { transform: translate(calc(-50% + 20px), -50%); }
.swiper-slide-active .rwd-slider__layer.is-visible[data-anim-in='fadeInLeft'] { transform: translate(-50%, -50%); }
.rwd-slider__layer[data-anim-in='fadeInRight'] { transform: translate(calc(-50% - 20px), -50%); }
.swiper-slide-active .rwd-slider__layer.is-visible[data-anim-in='fadeInRight'] { transform: translate(-50%, -50%); }

/* Controls */
.rwd-slider-wrapper .swiper-slide { transition-property: opacity, transform; }
.rwd-slider-wrapper .swiper-pagination-bullet{ transition: all 0.2s ease; }

/* =============================================================================
   🖼️ 縮圖導航 - 使用 PHP 生成的 CSS 變數
   ============================================================================= */
.rwd-slider-thumbs-wrapper {
position: relative;
display: flex;
align-items: center;
/* Apply alignment settings from PHP-generated variables */
width: var(--rwd-thumb-nav-width-real, var(--rwd-thumb-nav-width, 100%));
max-width: 100%;
margin: var(--rwd-thumb-nav-margin, 0);
margin-top: var(--rwd-external-controls-gap, 15px);
}
/* [Fix] Ensure alignment works for horizontal thumbs */
.rwd-slider-wrapper:not(.rwd-thumbs--right):not(.rwd-thumbs--left) > .rwd-slider-thumbs-wrapper {
    width: var(--rwd-thumb-nav-width-real, auto);
    margin: var(--rwd-thumb-nav-margin, 0 auto);
}

.rwd-slider-thumbs {
box-sizing: border-box;
cursor: pointer;
flex-grow: 1;
min-width: 0;
overflow: hidden; /* Required for Swiper */
position: relative;
/* 使用 PHP 生成的縮圖高度 */
height: var(--rwd-thumb-height-desktop, 80px);
}

/* RWD 響應式縮圖高度 */
@media (max-width: 1180px) {
.rwd-slider-thumbs {
height: var(--rwd-thumb-height-tablet, 70px);
}
}
@media (max-width: 767px) {
.rwd-slider-thumbs {
height: var(--rwd-thumb-height-mobile, 60px);
}
}
.rwd-slider-thumbs .swiper-slide {
opacity: 0.5;
transition: opacity 0.3s ease;
height: 100%;
box-sizing: border-box;
}
.rwd-slider-thumbs .swiper-slide-thumb-active {
opacity: 1;
}
.rwd-slider-thumbs .swiper-slide img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
/* Improve image sharpness */
image-rendering: -webkit-optimize-contrast;
image-rendering: crisp-edges;
}

/*
 * 修正 WebP 模式下，<picture> 標籤導致縮圖拉伸的邏輯問題
 */
.rwd-slider-thumbs .swiper-slide picture {
display: block; /* 讓 <picture> 像 div 一樣是塊級元素 */
width: 100%;
height: 100%;
}

.rwd-slider-thumbs__placeholder {
background-color: #333;
color: #fff;
display:flex;
align-items:center;
justify-content:center;
}
.rwd-slider-thumbs__placeholder .dashicons {
font-size: 30px;
height: 30px;
width: 30px;
}
/* Fix: High specificity to override Swiper defaults */
.rwd-slider-wrapper .rwd-slider-thumbs__arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 10;
width: 30px; /* Fallback */
height: 30px; /* Fallback */
background: rgba(0,0,0,0.5);
color: #fff;
border-radius: var(--rwd-thumb-arrow-radius, 50%) !important;
margin: 0 !important;
padding: 0 !important;
transition: opacity 0.3s ease;

/* Flex centering */
display: flex !important;
justify-content: center;
align-items: center;
box-sizing: border-box !important;
line-height: 1 !important;
border: none !important;
outline: none !important;
}
.rwd-slider-thumbs-wrapper:hover .rwd-slider-thumbs__arrow {
opacity: 1;
}
/* Thumbnail Arrow SVG Icon Size Control (Swiper latest version uses SVG) */
.rwd-slider-wrapper .rwd-slider-thumbs__arrow .swiper-navigation-icon {
width: var(--rwd-thumb-arrow-icon-size, 14px) !important;
height: var(--rwd-thumb-arrow-icon-size, 14px) !important;
max-width: var(--rwd-thumb-arrow-icon-size, 14px) !important;
max-height: var(--rwd-thumb-arrow-icon-size, 14px) !important;
}

/* Font icon fallback (for older Swiper versions) */
.rwd-slider-wrapper .rwd-slider-thumbs__arrow::after {
font-size: var(--rwd-thumb-arrow-icon-size, 14px) !important;
font-weight: bold;
}
/* Vertical Arrows for Thumbs */
.rwd-slider-thumbs-wrapper.rwd-thumbs-dir--vertical .rwd-slider-thumbs__arrow {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    top: auto;
}

.rwd-slider-thumbs-wrapper.rwd-thumbs-dir--vertical .rwd-slider-thumbs__arrow--prev {
    top: 5px !important;
}

.rwd-slider-thumbs-wrapper.rwd-thumbs-dir--vertical .rwd-slider-thumbs__arrow--next {
    bottom: 5px !important;
}

/* Rotate icons for vertical navigation */
.rwd-slider-thumbs-wrapper.rwd-thumbs-dir--vertical .rwd-slider-thumbs__arrow::after {
    display: inline-block;
    transform: rotate(90deg);
}

.rwd-slider-thumbs-wrapper.rwd-thumbs-dir--vertical .rwd-slider-thumbs__arrow--prev::after {
    /* No content change needed, Swiper's default icons work better */
}
/* Thumbnail Arrow Behaviors */
.rwd-thumb-behavior--standard .rwd-slider-thumbs__arrow.swiper-button-disabled {
    opacity: 0.3 !important;
    cursor: default;
    pointer-events: none;
}

.rwd-thumb-behavior--hide .rwd-slider-thumbs__arrow.swiper-button-disabled {
    opacity: 0 !important;
    visibility: hidden;
    cursor: default;
    pointer-events: none;
}

.rwd-slider-thumbs__arrow.swiper-button-disabled {
    /* Default fallback: hide if not specified or standard */
    opacity: 0 !important;
    pointer-events: none;
}
.rwd-slider__external-controls--bottom {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
box-sizing: border-box;
}
.rwd-slider__controls-wrapper--split {
    display: flex;
    justify-content: space-between; /* Split Arrows and Dots */
    align-items: center;
    width: 100%;
    gap: 15px;
    flex-wrap: wrap;
    row-gap: 10px;
}

/* Positioning logic based on wrapper classes */
.rwd-slider-wrapper--split-layout-arrows-left .rwd-slider__controls-wrapper--split {
    /* Default: Order stays same -> Arrows Left, Dots Right */
}

.rwd-slider-wrapper--split-layout-arrows-right .rwd-slider__controls-wrapper--split {
    flex-direction: row-reverse; /* Dots Left, Arrows Right */
}

.rwd-slider__controls-wrapper--split .swiper-pagination {
    flex: 0 1 auto; /* Don't grow, let space-between work */
    max-width: var(--rwd-pagination-max-width, none);
    min-width: 0;
    display: flex;
    justify-content: center; /* Center bullets within their container */
    gap: inherit;
    overflow: hidden; /* For dynamic bullets */
}

/* Center Dots Only Layout */
.rwd-slider-wrapper--split-layout-dots-center .rwd-slider__controls-wrapper--split {
    justify-content: center;
}

.rwd-slider__external-controls--bottom .rwd-slider__arrows-container--2 {
flex-shrink: 0;
display: flex;
gap: 8px;
margin-top: var(--rwd-arrow2-spacing-top, 0px);
margin-bottom: var(--rwd-arrow2-spacing-bottom, 0px);
}

.rwd-slider__autoplay-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-top: 10px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: #111827;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16);
    cursor: pointer;
    transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.rwd-slider__autoplay-toggle:hover,
.rwd-slider__autoplay-toggle:focus-visible {
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.22);
    transform: translateY(-1px);
}

.rwd-slider__autoplay-toggle:focus-visible {
    outline: 2px solid var(--pagination-color, #0073aa);
    outline-offset: 3px;
}

.rwd-slider__autoplay-toggle:disabled {
    cursor: not-allowed;
    opacity: 0.45;
    transform: none;
}

.rwd-slider__autoplay-toggle::before {
    content: '';
    width: 12px;
    height: 14px;
    border-left: 4px solid currentColor;
    border-right: 4px solid currentColor;
    box-sizing: border-box;
}

.rwd-slider__autoplay-toggle[aria-pressed="true"]::before {
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 12px solid currentColor;
    border-right: 0;
}

.rwd-slider__autoplay-toggle-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* 第二組箭頭樣式 - 使用 CSS 變數 */
.rwd-slider__arrow-2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--rwd-arrow2-size-desktop, 36px);
    height: var(--rwd-arrow2-size-desktop, 36px);
    background: var(--rwd-arrow2-bg, rgba(0, 0, 0, 0.6));
    color: var(--rwd-arrow2-color, #fff);
    border-radius: var(--rwd-arrow2-radius, 50%); /* Use Variable */
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

/* 箭頭圖示 - 使用 Swiper 的圖示字體 */
.rwd-slider__arrow-prev-2::before,
.rwd-slider__arrow-next-2::before {
    font-family: swiper-icons;
    font-size: var(--rwd-arrow2-icon-size-desktop, 14px); /* Use Variable */
    font-weight: bold;
    color: inherit;
}
.rwd-slider__arrow-prev-2::before {
content: 'prev';
}
.rwd-slider__arrow-next-2::before {
content: 'next';
}

.rwd-slider__arrow-2:hover {
opacity: 0.85;
}
/* 無障礙改進 */
.rwd-slider-wrapper[aria-label] {
/* 已有 role="region" */
}

.rwd-slider__slide[aria-hidden="true"] {
visibility: hidden;
}

/* 移除箭頭的預設藍框，保持無障礙支援 */
.swiper-button-prev:focus,
.swiper-button-next:focus,
.rwd-slider__arrow:focus,
.rwd-slider-thumbs__arrow:focus {
outline: none;
}

/* 僅在鍵盤導航時顯示焦點指示器 */
.swiper-button-prev:focus-visible,
.swiper-button-next:focus-visible,
.rwd-slider__arrow:focus-visible,
.rwd-slider-thumbs__arrow:focus-visible {
outline: 2px solid rgba(255, 255, 255, 0.8);
outline-offset: 2px;
}

/* 整個 wrapper 的焦點樣式（滾輪/鍵盤控制時）*/
.rwd-slider-wrapper:focus-visible {
outline: 2px solid #0073aa;
outline-offset: 2px;
}

/* 移除原本的 focus-within 樣式避免干擾 */
.rwd-slider-wrapper:focus-within:not(:focus-visible) {
outline: none;
}

/* 減少動畫（尊重使用者偏好） */
@media (prefers-reduced-motion: reduce) {
.rwd-slider-wrapper *,
.rwd-slider-wrapper *::before,
.rwd-slider-wrapper *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}

/* =============================================================================
   🎨 進階主題系統 - CSS 變數
   用法: 在 slider wrapper 上加入 data-theme="dark" 等屬性
   ============================================================================= */
.rwd-slider-wrapper {
/* 預設主題變數 */
--arrow-bg: rgba(0, 0, 0, 0.6);
--arrow-bg-hover: rgba(0, 0, 0, 0.85);
--arrow-color: #fff;
--arrow-size: 48px;
--arrow-icon-size: 18px;
--bullet-color: rgba(255, 255, 255, 0.5);
--bullet-active-color: #fff;
--bullet-size: 10px;
--shadow-color: rgba(0, 0, 0, 0.15);
--border-radius: 8px;
}

/* 深色主題 */
.rwd-slider-wrapper[data-theme="dark"] {
--arrow-bg: rgba(30, 30, 30, 0.9);
--arrow-bg-hover: #222;
--bullet-color: rgba(200, 200, 200, 0.4);
--bullet-active-color: #fff;
}

/* 淺色主題 */
.rwd-slider-wrapper[data-theme="light"] {
--arrow-bg: rgba(255, 255, 255, 0.85);
--arrow-bg-hover: #fff;
--arrow-color: #333;
--bullet-color: rgba(0, 0, 0, 0.3);
--bullet-active-color: #333;
}

/* 漸層主題 */
.rwd-slider-wrapper[data-theme="gradient"] {
--arrow-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
--arrow-bg-hover: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
}

/* =============================================================================
   🏹 箭頭基礎樣式
   使用 PHP 生成的 CSS 變數來設定箭頭外觀
   ============================================================================= */

/* 主箭頭 - 基礎樣式（使用 CSS 變數） */
.rwd-slider-wrapper .swiper-button-prev,
.rwd-slider-wrapper .swiper-button-next {
/* 尺寸：使用後台設定的大小 */
width: var(--rwd-arrow-size-desktop, 48px);
height: var(--rwd-arrow-size-desktop, 48px);

/* 背景和顏色：使用後台設定 */
background: var(--rwd-arrow-bg, rgba(0, 0, 0, 0.6));
color: var(--rwd-arrow-color, #fff);

/* 重設 Swiper 預設樣式 */
--swiper-navigation-size: calc(var(--rwd-arrow-size-desktop, 48px) * 0.4);
--swiper-navigation-color: var(--rwd-arrow-color, #fff);

/* 定位偏移 */
top: calc(50% + var(--rwd-arrow-y-offset, 0px));
/*transform: translateY(-50%);*/

/* 過渡效果 */
transition: opacity 0.3s ease, transform 0.3s ease, background 0.3s ease;
opacity: 0.8;

/* 重設邊框和外框 */
border: none !important;
outline: none !important;
box-shadow: none !important;

/* 確保 SVG 圖示正確顯示和大小 */
display: flex !important;
align-items: center !important;
justify-content: center !important;
}

/* Swiper SVG 圖示大小控制（Swiper 最新版本使用 SVG 而非字體） */
.rwd-slider-wrapper .swiper-button-prev .swiper-navigation-icon,
.rwd-slider-wrapper .swiper-button-next .swiper-navigation-icon {
width: var(--rwd-arrow-icon-size, calc(var(--rwd-arrow-size-desktop, 48px) * 0.4)) !important;
height: var(--rwd-arrow-icon-size, calc(var(--rwd-arrow-size-desktop, 48px) * 0.4)) !important;
max-width: var(--rwd-arrow-icon-size, calc(var(--rwd-arrow-size-desktop, 48px) * 0.4)) !important;
max-height: var(--rwd-arrow-icon-size, calc(var(--rwd-arrow-size-desktop, 48px) * 0.4)) !important;
}

/* 如果使用字體圖示（舊版 Swiper 或 fallback） */
.rwd-slider-wrapper .swiper-button-prev::after,
.rwd-slider-wrapper .swiper-button-next::after {
font-size: var(--rwd-arrow-icon-size, calc(var(--rwd-arrow-size-desktop, 48px) * 0.35));
font-weight: 700;
}

.rwd-slider-wrapper .swiper-button-prev {
left: var(--rwd-arrow-x-offset, 15px);
}
.rwd-slider-wrapper .swiper-button-next {
right: var(--rwd-arrow-x-offset, 15px);
}

/* 🏹 External Sides Arrows Positioning (Desktop Only) */
@media (min-width: 1181px) {
.rwd-slider--arrows-external-sides .rwd-slider-main-area {
position: relative; /* Ensure reference context */
}
.rwd-slider--arrows-external-sides .swiper-button-prev {
left: auto;
right: 100%;
margin-right: var(--rwd-arrow-x-offset, 15px);
}
.rwd-slider--arrows-external-sides .swiper-button-next {
right: auto;
left: 100%;
margin-left: var(--rwd-arrow-x-offset, 15px);
}
}

/* 箭頭 Hover 效果 - 只改變透明度，不縮放（避免視覺移動） */
.rwd-slider-wrapper .swiper-button-prev:hover,
.rwd-slider-wrapper .swiper-button-next:hover {
opacity: 1 !important;
}

/* Hover 時顯示箭頭 */
.rwd-slider-wrapper:hover .swiper-button-prev,
.rwd-slider-wrapper:hover .swiper-button-next {
opacity: 0.9;
}

/* 縮圖箭頭樣式 - 使用 CSS 變數 */
.rwd-slider-thumbs__arrow {
width: var(--rwd-thumb-arrow-size, 32px) !important;
height: var(--rwd-thumb-arrow-size, 32px) !important;
background: var(--rwd-thumb-arrow-bg, rgba(0, 0, 0, 0.6)) !important;
color: var(--rwd-thumb-arrow-color, #fff) !important;
--swiper-navigation-size: calc(var(--rwd-thumb-arrow-size, 32px) * 0.4);
--swiper-navigation-color: var(--rwd-thumb-arrow-color, #fff);
border-radius: var(--rwd-thumb-arrow-radius, 50%);
opacity: 0.8;
}

.rwd-slider-thumbs__arrow:hover {
opacity: 1 !important;
transform: translateY(-50%) scale(1.05);
}

/* RWD 響應式箭頭尺寸 */
@media (max-width: 1180px) {
    .rwd-slider-wrapper .swiper-button-prev,
    .rwd-slider-wrapper .swiper-button-next {
        width: var(--rwd-arrow-size-tablet, 40px);
        height: var(--rwd-arrow-size-tablet, 40px);
        --swiper-navigation-size: calc(var(--rwd-arrow-size-tablet, 40px) * 0.4);
    }
    .rwd-slider-wrapper .rwd-slider__arrow-2 {
        width: var(--rwd-arrow2-size-tablet, 32px);
        height: var(--rwd-arrow2-size-tablet, 32px);
    }
    .rwd-slider-wrapper .rwd-slider__arrow-2::before {
        font-size: var(--rwd-arrow2-icon-size-tablet, 12px);
    }
}

@media (max-width: 767px) {
    .rwd-slider-wrapper .swiper-button-prev,
    .rwd-slider-wrapper .swiper-button-next {
        width: var(--rwd-arrow-size-mobile, 36px);
        height: var(--rwd-arrow-size-mobile, 36px);
        --swiper-navigation-size: calc(var(--rwd-arrow-size-mobile, 36px) * 0.4);
    }
    .rwd-slider-wrapper .rwd-slider__arrow-2 {
        width: var(--rwd-arrow2-size-mobile, 28px);
        height: var(--rwd-arrow2-size-mobile, 28px);
    }
    .rwd-slider-wrapper .rwd-slider__arrow-2::before {
        font-size: var(--rwd-arrow2-icon-size-mobile, 10px);
    }
}

/* 主箭頭 - hover 效果（只改透明度，不縮放）*/
.rwd-slider-wrapper .rwd-slider__arrow:not(.rwd-slider-thumbs__arrow):hover,
.rwd-slider-wrapper .swiper-button-prev:not(.rwd-slider-thumbs__arrow):hover,
.rwd-slider-wrapper .swiper-button-next:not(.rwd-slider-thumbs__arrow):hover {
opacity: 1 !important;
}

/* 縮圖箭頭 - hover 只改透明度 */
.rwd-slider-thumbs__arrow:hover {
opacity: 1 !important;
}

/* 所有箭頭 Hover 顯示 */
.rwd-slider-wrapper:hover .swiper-button-prev:not(.rwd-slider-thumbs__arrow),
.rwd-slider-wrapper:hover .swiper-button-next:not(.rwd-slider-thumbs__arrow) {
opacity: 0.9;
}

/* =============================================================================
   ⚫ 分頁點樣式選擇器
   用法: 在 slider wrapper 上加入 data-bullet-style="dot" 等屬性
   ============================================================================= */

/* 📌 分頁風格 1: 圓點 (預設) - 使用 PHP 生成的 CSS 變數 */
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination-bullet,
.rwd-slider-wrapper:not([data-bullet-style]) .swiper-pagination-bullet {
width: var(--rwd-pagination-size-desktop, 10px);
height: var(--rwd-pagination-size-desktop, 10px);
background: var(--rwd-pagination-color, #ccc);
border: 0;
border-radius: 50%;
opacity: 1;
transition: all 0.3s ease;
margin: 0 calc(var(--rwd-pagination-gap, 8px) / 2);
box-shadow: none;
}

.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination-bullet-active,
.rwd-slider-wrapper:not([data-bullet-style]) .swiper-pagination-bullet-active {
background: var(--rwd-pagination-active-color, #0073aa);
border-color: var(--rwd-pagination-active-color, #0073aa);
transform: scale(1.3);
}

/* RWD 響應式分頁點大小 */
@media (max-width: 1180px) {
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination-bullet,
.rwd-slider-wrapper:not([data-bullet-style]) .swiper-pagination-bullet {
width: var(--rwd-pagination-size-tablet, 9px);
height: var(--rwd-pagination-size-tablet, 9px);
}
}
@media (max-width: 767px) {
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination-bullet,
.rwd-slider-wrapper:not([data-bullet-style]) .swiper-pagination-bullet {
width: var(--rwd-pagination-size-mobile, 8px);
height: var(--rwd-pagination-size-mobile, 8px);
}
}

/* 📌 分頁風格 2: 長條 */
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination-bullet {
width: 30px;
height: 4px;
border-radius: 2px;
background: var(--bullet-color);
opacity: 1;
transition: all 0.4s ease;
margin: 0 4px;
}

.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination-bullet-active {
background: var(--bullet-active-color);
width: 50px;
}

/* 📌 分頁風格 3: 數字 (需配合 Swiper fraction 類型) */
.rwd-slider-wrapper[data-bullet-style="number"] .swiper-pagination-fraction {
font-size: 16px;
font-weight: 600;
color: #fff;
text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

.rwd-slider-wrapper[data-bullet-style="number"] .swiper-pagination-current {
font-size: 24px;
color: #fff;
}

/* =============================================================================
   ✨ 進階視覺效果
   ============================================================================= */

/* 整體圓角（移除陰影）*/
.rwd-slider-wrapper {
/* box-shadow: 移除 */
border-radius: var(--border-radius);
overflow-x: hidden;
overflow-y: visible;
}

.rwd-slider-wrapper:hover {
/* box-shadow: 移除 */
}

/* 圖片 Hover 微縮放效果 */
.rwd-slider-wrapper .swiper-slide .rwd-slider__img-container img {
transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.rwd-slider-wrapper:hover .swiper-slide-active .rwd-slider__img-container img {
transform: none;
}

/* 標題淡入動畫 */
.rwd-slider-wrapper .rwd-slider__caption {
transition: opacity 0.4s ease, transform 0.4s ease;
}

.swiper-slide:not(.swiper-slide-active) .rwd-slider__caption {
opacity: 0;
transform: translateY(10px);
}

.swiper-slide-active .rwd-slider__caption {
opacity: 1;
transform: translateY(0);
}

/* =============================================================================
   📱 行動裝置與觸控優化
   ============================================================================= */

@media (max-width: 767px) {
.rwd-slider-wrapper {
--arrow-size: 36px;
--arrow-icon-size: 14px;
--bullet-size: 8px;
border-radius: 4px;
}

/* 行動裝置箭頭始終半透明顯示 */
.rwd-slider-wrapper .swiper-button-prev,
.rwd-slider-wrapper .swiper-button-next {
opacity: 0.5 !important;
}

.rwd-slider-wrapper:hover .swiper-button-prev,
.rwd-slider-wrapper:hover .swiper-button-next {
opacity: 0.7 !important;
}
}

/* 觸控裝置優化 */
@media (hover: none) and (pointer: coarse) {
.rwd-slider-wrapper .swiper-button-prev,
.rwd-slider-wrapper .swiper-button-next {
opacity: 0.6 !important;
}

/* 禁用圖片縮放避免效能問題 */
.rwd-slider-wrapper .swiper-slide .rwd-slider__img-container img {
transform: none !important;
}
}

/* =============================================================================
   🔄 自動播放進度條（需 JS 配合）
   ============================================================================= */
.rwd-slider-wrapper .swiper-autoplay-progress {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: rgba(255,255,255,0.2);
z-index: 20;
}

.rwd-slider-wrapper .swiper-autoplay-progress-bar {
height: 100%;
background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
width: 0;
transition: width 0.1s linear;
}

/* =============================================================================
   🖼️ 圖片載入 Skeleton 效果
   ============================================================================= */
/* 只對尚未載入圖片的容器顯示 skeleton（排除影片佔位符）*/
.rwd-slider__img-container:not(.rwd-slider__video-placeholder):not(:has(img[src])):not(:has(img.swiper-lazy-loaded)) {
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
background-size: 200% 100%;
animation: skeleton-loading 1.5s infinite;
}

/* 影片佔位符 - 穩定黑色背景，無動畫 */
.rwd-slider__video-placeholder {
background-color: #000 !important;
animation: none !important;
}

/* 確保圖片容器有正確的定位和大小 */
.rwd-slider__img-container {
position: relative;
width: 100%;
height: 100%;
}

@keyframes skeleton-loading {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}

/* =============================================================================
   🎛️ Header with Arrows - 標題區塊基礎樣式
   用於所有佈局的標題+箭頭功能
   ============================================================================= */

/* Base header styles */
.rwd-slider__header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 16px;
padding: 0;
gap: 12px;
}

.rwd-slider__header--arrows-only {
justify-content: flex-end;
}

.rwd-slider__header--arrows-right {
flex-direction: row;
}

.rwd-slider__header--arrows-left {
flex-direction: row-reverse;
}

.rwd-slider__header--arrows-left.rwd-slider__header--arrows-only {
justify-content: flex-start;
}

.rwd-slider__header--title-only {
justify-content: flex-start;
}

.rwd-slider__header-left {
display: flex;
align-items: center;
gap: 8px;
min-width: 0;
}

.rwd-slider__header .rwd-slider__title {
margin: 0;
padding: 0;
font-size: 20px;
font-weight: 600;
line-height: 1.35;
}

/* Title icon */
.rwd-slider__title-icon {
display: inline-flex;
align-items: center;
justify-content: center;
color: #666;
flex-shrink: 0;
}

.rwd-slider__title-icon svg {
width: 20px;
height: 20px;
}

/* Header arrows container */
.rwd-slider__header-arrows {
display: flex;
gap: 8px;
flex-shrink: 0;
}

/* Header arrow buttons */
.rwd-slider__header-arrow {
width: 32px;
height: 32px;
border: 1px solid #e0e0e0;
border-radius: 4px;
background: #fff;
color: #666;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.2s ease;
padding: 0;
}

.rwd-slider__header-arrow:hover {
background: #f5f5f5;
border-color: #ccc;
}

.rwd-slider__header-arrow svg {
width: 16px;
height: 16px;
}


/* =============================================================================
   🏹 Arrow Navigation Fixes - 箭頭導航修正
   注意：基礎樣式已在 line 642 定義，這裡只補充遺漏的設定
   ============================================================================= */

/* 確保箭頭可點擊且在最上層 */
.rwd-slider-wrapper .swiper-button-prev,
.rwd-slider-wrapper .swiper-button-next {
z-index: 50 !important;
pointer-events: auto !important;
cursor: pointer;
}

/* Hover 模式 - 僅在滑過時顯示 (需要加上 .rwd-slider--arrows-hover 類別) */
.rwd-slider-wrapper.rwd-slider--arrows-hover .swiper-button-prev,
.rwd-slider-wrapper.rwd-slider--arrows-hover .swiper-button-next {
opacity: 0;
}
.rwd-slider-wrapper.rwd-slider--arrows-hover:hover .swiper-button-prev:not(.swiper-button-disabled),
.rwd-slider-wrapper.rwd-slider--arrows-hover:hover .swiper-button-next:not(.swiper-button-disabled) {
opacity: 0.95;
}

/* Disabled state - 禁用箭頭樣式 */
/* [Feature] Arrow Behaviors: Standard vs Hide */

/* Standard: Fade out but stay visible */
.rwd-arrow-behavior--standard .rwd-slider-main-area .swiper-button-disabled,
.rwd-arrow-behavior--standard .rwd-slider__arrow-2.swiper-button-disabled {
    opacity: 0.3 !important;
    cursor: default;
    pointer-events: none;
    visibility: visible !important;
}

/* Pagination Overrides */
.swiper-horizontal>.swiper-pagination-bullets, 
.swiper-pagination-bullets.swiper-pagination-horizontal, 
.swiper-pagination-custom, 
.swiper-pagination-fraction,
.rwd-slider-container .swiper-pagination-bullets, 
.rwd-slider-container .swiper-pagination-bullets.swiper-pagination-horizontal,
.rwd-slider-container .swiper-pagination-custom,
.rwd-slider-container .swiper-pagination-fraction {
    bottom: 0px !important;
}

/* Hide: Completely disappear */
.rwd-arrow-behavior--hide .rwd-slider-main-area .swiper-button-disabled,
.rwd-arrow-behavior--hide .rwd-slider__arrow-2.swiper-button-disabled,
.rwd-arrow-behavior--hide_disabled .rwd-slider-main-area .swiper-button-disabled,
.rwd-arrow-behavior--hide_disabled .rwd-slider__arrow-2.swiper-button-disabled {
    opacity: 0 !important;
    visibility: hidden !important;
    cursor: default;
    pointer-events: none;
    display: none !important; /* Ensure it's not taking up space if needed */
}

/* Default fallback for disabled arrows */
.rwd-slider-wrapper :not(.rwd-arrow-behavior--standard) .swiper-button-disabled {
    opacity: 0 !important;
    visibility: hidden;
}
/* 不使用 pointer-events:none，讓 JS 處理點擊事件阻止 */


/* Arrow icon improvements */
/* SVG 圖示大小（Swiper 最新版本） */
.rwd-slider-wrapper .swiper-button-prev .swiper-navigation-icon,
.rwd-slider-wrapper .swiper-button-next .swiper-navigation-icon {
width: var(--rwd-arrow-icon-size, calc(var(--rwd-arrow-size-desktop, 48px) * 0.4)) !important;
height: var(--rwd-arrow-icon-size, calc(var(--rwd-arrow-size-desktop, 48px) * 0.4)) !important;
}

/* 字體圖示大小（舊版 Swiper 或 fallback） */
.rwd-slider-wrapper .swiper-button-prev::after,
.rwd-slider-wrapper .swiper-button-next::after {
font-size: var(--rwd-arrow-icon-size, calc(var(--rwd-arrow-size-desktop, 48px) * 0.35));
font-weight: 700;
}

/* Mobile arrow improvements */
@media (max-width: 767px) {
.rwd-slider-wrapper .swiper-button-prev,
.rwd-slider-wrapper .swiper-button-next {
width: 40px;
height: 40px;
opacity: 0.7;
}

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

/* Slightly visible on mobile without hover */
.rwd-slider-wrapper .swiper-button-prev:not(.swiper-button-disabled),
.rwd-slider-wrapper .swiper-button-next:not(.swiper-button-disabled) {
opacity: 0.6;
}
}

/* Touch device: Always show arrows */
@media (hover: none) and (pointer: coarse) {
.rwd-slider-wrapper .swiper-button-prev:not(.swiper-button-disabled),
.rwd-slider-wrapper .swiper-button-next:not(.swiper-button-disabled) {
opacity: 0.7;
}
}

/* =============================================================================
   Current Task: Fix Slider Arrow Positioning for External Sides
   ============================================================================= */
/* [Removed duplicate external arrows block] */

/* =============================================================================
   Dynamic Styling via Variables (Refactor)
   ============================================================================= */
.rwd-slider-wrapper .swiper-button-prev,
.rwd-slider-wrapper .swiper-button-next {
/* Dimensions & Positioning */
width: var(--rwd-arrow-size-desktop, 50px);
height: var(--rwd-arrow-size-desktop, 50px);
/* Center alignment + User offset */
margin-top: calc( (var(--rwd-arrow-size-desktop, 50px) / -2) + var(--rwd-arrow-y-offset, 0px) );

/* Styling */
color: var(--rwd-arrow-color, #fff);
background: var(--rwd-arrow-bg, rgba(0,0,0,0.5));
border-radius: var(--rwd-arrow-radius, 50%) !important;
border: var(--rwd-arrow-border, none);
}

/* Tablet Override */
@media (max-width: 1180px) {
.rwd-slider-wrapper .swiper-button-prev,
.rwd-slider-wrapper .swiper-button-next {
width: var(--rwd-arrow-size-tablet, 40px);
height: var(--rwd-arrow-size-tablet, 40px);
margin-top: calc( (var(--rwd-arrow-size-tablet, 40px) / -2) + var(--rwd-arrow-y-offset, 0px) );
}
}

/* Mobile Override */
@media (max-width: 767px) {
.rwd-slider-wrapper .swiper-button-prev,
.rwd-slider-wrapper .swiper-button-next {
width: var(--rwd-arrow-size-mobile, 30px);
height: var(--rwd-arrow-size-mobile, 30px);
margin-top: calc( (var(--rwd-arrow-size-mobile, 30px) / -2) + var(--rwd-arrow-y-offset, 0px) );
}
}

.rwd-slider-wrapper .rwd-slider__arrow-2 {
border-radius: var(--rwd-arrow2-radius, 50%);
background: var(--rwd-arrow2-bg, transparent);
color: var(--rwd-arrow2-color, #333);
}
.rwd-slider-wrapper .rwd-slider-thumbs__arrow {
border-radius: var(--rwd-thumb-arrow-radius, 50%);
background: var(--rwd-thumb-arrow-bg, rgba(0,0,0,0.5));
color: var(--rwd-thumb-arrow-color, #fff);
width: var(--rwd-thumb-arrow-size, 30px);
height: var(--rwd-thumb-arrow-size, 30px);
margin-top: calc( var(--rwd-thumb-arrow-size, 30px) / -2 ); /* Centered */
}

/* Pagination / Dots Layout - Restoring missing styles */
.rwd-slider-wrapper .rwd-slider__external-controls--bottom {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: var(--rwd-external-controls-gap, 15px);
row-gap: 10px;
margin-top: var(--rwd-external-controls-gap, 15px);
overflow: visible;
}
.rwd-slider-wrapper .rwd-slider__external-controls--bottom .swiper-pagination {
position: static !important;
transform: none !important;
margin-top: calc(var(--rwd-pagination-v-offset, 0px) + var(--rwd-pagination-spacing-top, 0px));
margin-bottom: var(--rwd-pagination-spacing-bottom, 0px);
width: auto !important;
flex-shrink: 0;
max-width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
row-gap: 6px;
padding: 4px 0;
}

.rwd-slider-wrapper .swiper-pagination-bullet {
border-radius: var(--rwd-dot-radius, 50%) !important;
width: var(--rwd-dot-width, var(--rwd-pagination-size-desktop));
height: var(--rwd-dot-height, var(--rwd-pagination-size-desktop));
background: var(--rwd-pagination-color, #ccc);
border: 0 !important;
box-shadow: none !important;
opacity: 1;
margin: 0 calc(var(--rwd-pagination-gap, 6px) / 2) !important;
}
.rwd-slider-wrapper .swiper-pagination-bullet-active {
    background: var(--rwd-pagination-active-color, #0073aa);
    opacity: 1;
}

/* Dynamic Bullets Support */
.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    white-space: nowrap;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 0.2s transform, 0.2s left;
}

.rwd-slider-wrapper .rwd-slider__slide img {
object-fit: var(--rwd-img-object-fit, cover);
object-position: var(--rwd-img-object-position, center);
}
.rwd-slider-wrapper .rwd-slider__slide {
background-color: var(--rwd-slide-bg-color, transparent);
}

/* =============================================================================
   Visibility Utility Classes (Refactor)
   ============================================================================= */
@media (min-width: 1181px) {
.rwd-hide-arrows-desktop .swiper-button-prev, .rwd-hide-arrows-desktop .swiper-button-next { display: none !important; }
.rwd-hide-dots-desktop .swiper-pagination { display: none !important; }
.rwd-show-thumbs-desktop .rwd-slider-thumbs-wrapper { display: flex !important; }

}
@media (min-width: 768px) and (max-width: 1180px) {
.rwd-hide-arrows-tablet .swiper-button-prev, .rwd-hide-arrows-tablet .swiper-button-next { display: none !important; }
.rwd-hide-dots-tablet .swiper-pagination { display: none !important; }
.rwd-show-thumbs-tablet .rwd-slider-thumbs-wrapper { display: flex !important; }

}
@media (max-width: 767px) {
.rwd-hide-arrows-mobile .swiper-button-prev, .rwd-hide-arrows-mobile .swiper-button-next { display: none !important; }
.rwd-hide-dots-mobile .swiper-pagination { display: none !important; }
.rwd-show-thumbs-mobile .rwd-slider-thumbs-wrapper { display: flex !important; }
}

/* =============================================================================
/* Force External Arrow Positioning (Overrides Layout Defaults) */
/* Desktop & Tablet: Add padding to wrapper to accommodate external arrows without cropping */
.rwd-slider-wrapper.rwd-slider--arrows-external-sides {
overflow: visible !important;
padding-left: 55px !important; /* Space for arrow + gap */
padding-right: 55px !important;
margin-left: auto !important;
margin-right: auto !important;
box-sizing: border-box;
}

/* Ensure main-area allows arrows to be positioned outside */
.rwd-slider-wrapper.rwd-slider--arrows-external-sides .rwd-slider-main-area {
overflow: visible !important;
position: relative;
}

/* Ensure container clips content slides but allows arrows (siblings) to be seen via wrapper overflow */
.rwd-slider--arrows-external-sides .rwd-slider-container {
overflow: hidden !important;
}

/* Re-assert positioning logic with HIGHER SPECIFICITY */
.rwd-slider-wrapper.rwd-slider--arrows-external-sides .rwd-slider__arrow--1.swiper-button-prev,
.rwd-slider-wrapper.rwd-slider--arrows-external-sides .rwd-slider__arrow--1.swiper-button-next {
position: absolute !important;
top: 50% !important;
transform: translateY(-50%) !important;
opacity: 1 !important;
display: flex !important;
margin: 0 !important;
z-index: 1100 !important; /* Higher than Grid mode's 999 */
border-radius: var(--rwd-arrow-radius, 50%) !important; /* Ensure shape is applied */
}

/* Position arrows OUTSIDE the main-area using negative positioning */
.rwd-slider-wrapper.rwd-slider--arrows-external-sides .rwd-slider__arrow--1.swiper-button-prev {
left: -55px !important; /* Move outside main-area into wrapper padding */
right: auto !important;
}
.rwd-slider-wrapper.rwd-slider--arrows-external-sides .rwd-slider__arrow--1.swiper-button-next {
right: -55px !important; /* Move outside main-area into wrapper padding */
left: auto !important;
}

/* Tablet Override - Maintain padding but adjust arrow size/pos if needed */
@media (max-width: 1180px) {
.rwd-slider-wrapper.rwd-slider--arrows-external-sides {
 padding-left: 45px !important;
 padding-right: 45px !important;
}
.rwd-slider-wrapper.rwd-slider--arrows-external-sides .rwd-slider__arrow--1.swiper-button-prev {
left: -45px !important;
}
.rwd-slider-wrapper.rwd-slider--arrows-external-sides .rwd-slider__arrow--1.swiper-button-next {
right: -45px !important;
}
}

/* Mobile Override - Remove padding, revert to overlay arrows */
@media (max-width: 767px) {
.rwd-slider-wrapper.rwd-slider--arrows-external-sides {
padding-left: 0 !important;
padding-right: 0 !important;
}

.rwd-slider-wrapper.rwd-slider--arrows-external-sides .rwd-slider__arrow--1.swiper-button-prev {
left: 5px !important;
background: rgba(0,0,0,0.3) !important;
}
.rwd-slider-wrapper.rwd-slider--arrows-external-sides .rwd-slider__arrow--1.swiper-button-next {
right: 5px !important;
background: rgba(0,0,0,0.3) !important;
}
}

/* =============================================================================
   🟢 Robust Arrow Shape Styling
   Ensures Admin setting overrides all other styles via modifier class.
   ============================================================================= */
.rwd-slider--arrow-shape-square .swiper-button-prev,
.rwd-slider--arrow-shape-square .swiper-button-next,
.rwd-slider-wrapper.rwd-slider--arrow-shape-square .rwd-slider__arrow--1 {
border-radius: 0 !important;
}

.rwd-slider--arrow-shape-rounded .swiper-button-prev,
.rwd-slider--arrow-shape-rounded .swiper-button-next,
.rwd-slider-wrapper.rwd-slider--arrow-shape-rounded .rwd-slider__arrow--1 {
border-radius: 12px !important;
}

.rwd-slider--arrow-shape-circle .swiper-button-prev,
.rwd-slider--arrow-shape-circle .swiper-button-next,
.rwd-slider-wrapper.rwd-slider--arrow-shape-circle .rwd-slider__arrow--1 {
border-radius: 50% !important;
}


/* ============================================================================
   Hotfix v21.0.8 - 修復點擊問題 (2026-01-11)
   ============================================================================ */

/* 桌面版：移除拖曳游標，使用標準游標 */
@media (min-width: 769px) {
.rwd-slider-wrapper .swiper-container,
.rwd-slider-wrapper .swiper-wrapper,
.rwd-slider-wrapper .swiper-slide {
cursor: default !important;
}

.rwd-slider-wrapper .swiper-container-free-mode > .swiper-wrapper {
cursor: default !important;
}
}

/* 行動版：保留拖曳游標 */
@media (max-width: 768px) {
.rwd-slider-wrapper .swiper-container {
cursor: grab;
}

.rwd-slider-wrapper .swiper-container:active {
cursor: grabbing;
}
}

/* 確保連結始終可點擊 */
.rwd-slider__slide-link {
cursor: pointer !important;
position: relative;
z-index: 10;
pointer-events: auto !important;
user-select: none;
-webkit-user-drag: none;
}

/* 箭頭確保可點擊 */
.rwd-slider-wrapper .swiper-button-prev,
.rwd-slider-wrapper .swiper-button-next {
cursor: pointer !important;
pointer-events: auto !important;
z-index: 50 !important;
}

/* 縮圖確保可點擊 */
.rwd-slider-thumbs .swiper-slide {
cursor: pointer !important;
}

/* 播放按鈕確保可點擊 */
.rwd-slider__play-button {
cursor: pointer !important;
pointer-events: auto !important;
z-index: 20;
}

/* =============================================================================
   Slider Positioning & Layout Utilities (Moved from Global for encapsulation)
   ============================================================================= */

/* Caption Position Modifiers */
.rwd-slider__caption--top { top:0 !important; left:0 !important; right:0 !important; bottom:auto !important; transform:none !important; }
.rwd-slider__caption--bottom { top:auto !important; left:0 !important; right:0 !important; bottom:0 !important; transform:none !important; }
.rwd-slider__caption--left { top:0 !important; left:0 !important; bottom:0 !important; right:auto !important; display:flex !important; align-items:center !important; width:30% !important; transform:none !important; }
.rwd-slider__caption--right { top:0 !important; right:0 !important; bottom:0 !important; left:auto !important; display:flex !important; align-items:center !important; width:30% !important; transform:none !important; }
.rwd-slider__caption--center { top:50% !important; left:50% !important; right:auto !important; bottom:auto !important; transform:translate(-50%,-50%) !important; }

/* Dedicated Slider Utilities (Used in Feature Modules) */
.rwd-slider-item-utility {
    position: relative;
    height: 500px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.rwd-slider-content-utility {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    padding: 30px;
    color: #fff;
}

.rwd-slider-title-utility {
    color: #fff !important;
    margin: 0 0 10px !important;
    font-size: 2em !important;
}

.rwd-slider-link-utility {
    color: #fff !important;
    text-decoration: none !important;
}

/* =============================================================================
   DISPLAY MODES - New System
   ========================================================================== */

/* -----------------------------------------------------------------------------
   Hero   ✨ Centered Mode - 左右部分透出視覺效果
   -------------------------------------------------------------------------- */
.rwd-slider--centered .swiper-slide-active .rwd-slider__img-container {
    box-shadow: 0 0 40px rgba(255, 255, 255, 0.3);
    z-index: 2;
    transition: box-shadow 0.6s ease;
}
/* -----------------------------------------------------------------------------
   Hero Banner Mode
   -------------------------------------------------------------------------- */
.rwd-slider--hero {
    position: relative;
    overflow: hidden;
}

.rwd-slider--hero .swiper-container {
    height: var(--rwd-hero-height, 80vh);
    min-height: 400px;
}

/* Positioning System (9-point grid) */
.rwd-slider--hero .swiper-slide {
    display: flex;
    box-sizing: border-box;
    padding: 60px;
}

.rwd-pos-top-left { align-items: flex-start; justify-content: flex-start; text-align: left; }
.rwd-pos-top-center { align-items: flex-start; justify-content: center; text-align: center; }
.rwd-pos-top-right { align-items: flex-start; justify-content: flex-end; text-align: right; }
.rwd-pos-center-left { align-items: center; justify-content: flex-start; text-align: left; }
.rwd-pos-center-center { align-items: center; justify-content: center; text-align: center; }
.rwd-pos-center-right { align-items: center; justify-content: flex-end; text-align: right; }
.rwd-pos-bottom-left { align-items: flex-end; justify-content: flex-start; text-align: left; }
.rwd-pos-bottom-center { align-items: flex-end; justify-content: center; text-align: center; }
.rwd-pos-bottom-right { align-items: flex-end; justify-content: flex-end; text-align: right; }

/* Overlay Styles */
.rwd-slider--hero .rwd-slider__img-container::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    pointer-events: none;
    transition: background 0.3s ease;
    z-index: 1;
}

.rwd-overlay-dim .rwd-slider__img-container::after {
    background: rgba(0, 0, 0, 0.4);
}

.rwd-overlay-gradient .rwd-slider__img-container::after {
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
}

/* Hero Typography */
.rwd-hero-caption {
    z-index: 10;
    max-width: 800px;
    width: 100%;
}

.rwd-slider__category {
    margin-bottom: 15px;
    display: block;
}

.rwd-slider__category span {
    display: inline-block;
    padding: 4px 12px;
    background: var(--rwd-category-bg, var(--rwd-slider-primary-color, #e6b422));
    color: var(--rwd-category-color, #fff);
    font-size: var(--rwd-cat-font-size-desktop, 12px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

/* Fix double border when category is part of meta items or relative */
/* [Fix 2026-02-26] Added .rwd-has-extra-badges to ensure inner span is suppressed when grouping is active */
.rwd-slider__category.rwd-slider__meta-item span,
.rwd-slider__category.rwd-cat-pos--relative span,
.rwd-slider__meta-group .rwd-slider__category span {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
}

/* Meta Group Wrapper to prevent individual wrapping */
.rwd-slider__meta-group {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    vertical-align: middle;
}

/* Category Positioning */
.rwd-cat-pos--top-left { position: absolute; top: 15px; left: 15px; z-index: 10; margin: 0; }
.rwd-cat-pos--top-right { position: absolute; top: 15px; right: 15px; z-index: 10; margin: 0; }
.rwd-cat-pos--bottom-left { position: absolute; bottom: 15px; left: 15px; z-index: 10; margin: 0; }
.rwd-cat-pos--bottom-right { position: absolute; bottom: 15px; right: 15px; z-index: 10; margin: 0; }

/* ============================================================================
   [REFACTOR 2026-02-25] Inline Meta Layout - Category + Date/Author Horizontal Alignment
   ⚠️ ONLY FOR IMAGE-TEXT MODE - Do not affect standard slides
   ============================================================================ */

/* Override absolute positioning when category is inside inline meta layout IN IMAGE-TEXT MODE */
.rwd-slider--image-text .rwd-meta-layout--inline .rwd-slider__category[class*="rwd-cat-pos--"] {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
    z-index: auto !important;
}

/* Global Meta Container Styling - Forces items to stay together */
.rwd-slider__meta {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center !important;
    gap: 12px !important;
    margin: 8px 0;
    line-height: normal;
    justify-content: flex-start; /* Default, can be overridden by parent alignment */
}

/* Ensure horizontal alignment in caption centered state */
.rwd-slider__caption--center .rwd-slider__meta {
    justify-content: center !important;
}

.rwd-slider__caption--right .rwd-slider__meta {
    justify-content: flex-end !important;
}

/* Pure whitespace separator mode - clean spacing without symbol (v25.0226.3) */
/* Standard slider mode */
.rwd-meta-layout--inline.rwd-meta--space-only {
    gap: 10px !important;  /* Wider gap for clean visual separation */
}

/* Image-text mode override */
.rwd-slider--image-text .rwd-meta-layout--inline.rwd-meta--space-only {
    gap: 10px !important;  /* Wider gap for clean visual separation */
    font-size: 0 !important;  /* Hide the space character itself */
}

.rwd-slider--image-text .rwd-meta-layout--inline.rwd-meta--space-only > * {
    font-size: 0.875rem !important;  /* Restore font size for actual content */
}

/* No separator mode - increase gap even more */
.rwd-slider--image-text .rwd-meta-layout--inline.rwd-meta--no-separator {
    gap: 10px !important;
}

/* All direct children - Use inline-flex for perfect alignment (IMAGE-TEXT MODE ONLY) */
.rwd-slider--image-text .rwd-meta-layout--inline > * {
    flex-shrink: 0;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1.5;
    font-size: 0.875rem;
    vertical-align: middle;
    align-self: center;  /* Ensure centered in flex parent */
}

/* Explicit styling for the meta separator text node */
.rwd-slider__meta-sep {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    opacity: 0.5;
    font-size: 0.9em;
    user-select: none; /* Prevent selection of the separator */
}

/* Meta Item Badges - Universal styles for Date, Author, and Pill Category */
.rwd-slider__meta-item {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 2px 10px !important;
    border-radius: 4px;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    white-space: nowrap;
    margin: 4px 0 !important;
    transition: all 0.2s ease;
}

/* Category Specific: Only apply default capsule background if in standard style */
.rwd-slider__category.rwd-slider__meta-item.rwd-cat-style--standard {
    color: var(--rwd-category-color, #1f5ea8) !important;
    background: var(--rwd-category-bg, #eaf3ff) !important;
}

.rwd-slider__meta-date,
.rwd-slider__meta-author {
    color: #4b5563 !important;
    background: #f3f4f6 !important;
}

/* Dashicons inside badges */
.rwd-slider__meta-item i,
.rwd-slider__meta-item .dashicons {
    margin-right: 4px !important;
    font-size: 14px !important;
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Dashicons - Perfect vertical centering (IMAGE-TEXT MODE ONLY) */
.rwd-slider--image-text .rwd-meta-layout--inline .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
    line-height: 1;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0;
    vertical-align: middle;
    margin: 0;
}

.rwd-hero-caption .rwd-slider__category span {
    font-size: 14px;
    padding: 6px 16px;
}

.rwd-hero-caption .rwd-slider__caption-text {
    font-size: var(--rwd-hero-title-size-desktop, 48px);
    color: var(--rwd-hero-title-color, #ffffff);
    line-height: 1.2;
    margin: 0 0 20px 0 !important;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
    /* Responsive Content Alignment */
    text-align: var(--rwd-cat-align-desktop, center) !important;
    justify-content: var(--rwd-cat-justify-desktop, center) !important;
    display: inline-flex;
    width: auto;
    margin-bottom: 0px; /* Let meta container handle spacing */
    margin-left: var(--rwd-cat-margin-left-desktop, auto);
    margin-right: var(--rwd-cat-margin-right-desktop, auto);
}

@media (max-width: 1180px) {
    .rwd-slider__category {
        text-align: var(--rwd-cat-align-tablet, var(--rwd-cat-align-desktop, center)) !important;
        justify-content: var(--rwd-cat-justify-tablet, var(--rwd-cat-justify-desktop, center)) !important;
        margin-left: var(--rwd-cat-margin-left-tablet, var(--rwd-cat-margin-left-desktop, auto));
        margin-right: var(--rwd-cat-margin-right-tablet, var(--rwd-cat-margin-right-desktop, auto));
    }
}

@media (max-width: 767px) {
    .rwd-slider__category {
        text-align: var(--rwd-cat-align-mobile, var(--rwd-cat-align-tablet, center)) !important;
        justify-content: var(--rwd-cat-justify-mobile, var(--rwd-cat-justify-tablet, center)) !important;
        margin-left: var(--rwd-cat-margin-left-mobile, var(--rwd-cat-margin-left-tablet, auto));
        margin-right: var(--rwd-cat-margin-right-mobile, var(--rwd-cat-margin-right-tablet, auto));
    }
}

.rwd-slider__excerpt {
    width: 100%;
    box-sizing: border-box;
    font-size: var(--rwd-hero-excerpt-size-desktop, 18px);
    color: var(--rwd-excerpt-color, rgba(255,255,255,0.9));
    line-height: 1.6;
    margin: 0 0 25px 0;
    text-align: var(--rwd-excerpt-align-desktop, center);
}

/* Excerpt Alignment Classes */
.rwd-excerpt-align-d--left { text-align: left; }
.rwd-excerpt-align-d--center { text-align: center; }
.rwd-excerpt-align-d--right { text-align: right; }

@media (max-width: 1180px) {
    .rwd-slider__excerpt {
        text-align: var(--rwd-excerpt-align-tablet, var(--rwd-excerpt-align-desktop, center));
    }
    .rwd-excerpt-align-t--left { text-align: left; }
    .rwd-excerpt-align-t--center { text-align: center; }
    .rwd-excerpt-align-t--right { text-align: right; }
}
@media (max-width: 767px) {
    .rwd-slider__excerpt {
        text-align: var(--rwd-excerpt-align-mobile, var(--rwd-excerpt-align-tablet, center));
        margin: 0 0 10px 0; /* Reduced from 25px for mobile */
    }
    .rwd-excerpt-align-m--left { text-align: left; }
    .rwd-excerpt-align-m--center { text-align: center; }
    .rwd-excerpt-align-m--right { text-align: right; }
}
.rwd-slider__excerpt {
    max-width: 650px;
}

.rwd-pos-top-center .rwd-slider__excerpt,
.rwd-pos-center-center .rwd-slider__excerpt,
.rwd-pos-bottom-center .rwd-slider__excerpt {
    margin-left: auto;
    margin-right: auto;
}

.rwd-slider__author {
    font-size: var(--rwd-hero-meta-size, 14px);
    color: var(--rwd-hero-meta-color, rgba(255,255,255,0.8));
    font-style: italic;
}

@media (max-width: 767px) {
    .rwd-slider--hero .swiper-container {
        height: 60vh;
        min-height: 300px;
    }
    .rwd-slider--hero .swiper-slide {
        padding: 30px;
    }
    .rwd-hero-caption .rwd-slider__caption-text {
        font-size: var(--rwd-hero-title-size-mobile, 32px);
    }
    .rwd-slider__excerpt {
        font-size: var(--rwd-hero-excerpt-size-mobile, 16px);
        margin-bottom: 20px;
    }
}

   -------------------------------------------------------------------------- */
.rwd-slider--feature .swiper-slide {
    aspect-ratio: 16 / 9; /* Default */
    overflow: hidden;
}

.rwd-slider--feature.rwd-aspect-4-3 .swiper-slide {
    aspect-ratio: 4 / 3;
}

.rwd-slider--feature.rwd-aspect-1-1 .swiper-slide {
    aspect-ratio: 1 / 1;
}

.rwd-slider--feature.rwd-aspect-3-4 .swiper-slide {
    aspect-ratio: 3 / 4;
}

.rwd-slider--feature .rwd-slider__img-container {
    width: 100%;
    height: 100%;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.rwd-slider--feature .rwd-slider__img-container:hover {
    transform: none;
}

.rwd-slider--feature .rwd-slider__img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* -----------------------------------------------------------------------------
   Category Carousel Mode
   -------------------------------------------------------------------------- */
.rwd-slider--carousel.rwd-carousel--hover .swiper-slide .rwd-slider__img-container {
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.rwd-slider--carousel.rwd-carousel--hover .swiper-slide:hover .rwd-slider__img-container {
    transform: none;
    z-index: 5;
}
.rwd-slider--carousel .swiper-container {
    padding: 0 10px;
}

.rwd-slider--carousel .swiper-slide {
    width: auto;
    height: auto;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.rwd-slider--carousel.rwd-carousel--hover .swiper-slide:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.rwd-slider--carousel .rwd-slider__img-container {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.rwd-slider--carousel .rwd-slider__img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.rwd-slider--carousel.rwd-carousel--hover .swiper-slide:hover .rwd-slider__img-container img {
    transform: none;
}

.rwd-slider--carousel .rwd-slider__caption {
    padding: 15px;
}

/* Carousel spacing controlled by Swiper spaceBetween option */

/* -----------------------------------------------------------------------------
   Enhanced Thumbnail Navigation (Existing Feature)
   -------------------------------------------------------------------------- */
/* Default: Bottom Position */
.rwd-slider-thumbs {
    margin-top: 15px;
    padding: 0;
}

.rwd-slider-thumbs .swiper-slide {
    opacity: 0.6;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.rwd-slider-thumbs .swiper-slide:hover {
    opacity: 0.9;
}

.rwd-slider-thumbs .swiper-slide-thumb-active {
    opacity: 1;
    border-color: #007bff;
}

.rwd-slider-thumbs .rwd-slider__img-container {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.rwd-slider-thumbs .rwd-slider__img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Right Position */
.rwd-slider-wrapper.rwd-thumbs--right {
    display: flex;
    align-items: stretch;
    gap: 15px;
}

.rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-main-area {
    flex: 1;
    min-width: 0; /* Prevent flex overflow */
}

/* Left Position */
/* [Fix] Robust Right/Left Thumbs Layout */
@media (min-width: 769px) { /* Apply only on Desktop/Tablet */
    .rwd-slider-wrapper.rwd-thumbs--right {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
    }
    .rwd-slider-wrapper.rwd-thumbs--left {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
    }
    
    .rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-main-area,
    .rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-main-area {
        flex: 1 1 auto !important;
        width: calc(100% - 170px) !important; /* Ensure space for thumbs + gap */
        min-width: 0 !important;
    }

    .rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-thumbs-wrapper,
    .rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-thumbs-wrapper {
        width: 150px !important;
        flex: 0 0 150px !important;
        height: auto !important;
        position: relative !important;
    }
    
    .rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-thumbs-wrapper > .rwd-slider-thumbs,
    .rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-thumbs-wrapper > .rwd-slider-thumbs {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
    }

    /* [Fix] Vertical Thumbnail Arrows */
    .rwd-slider-wrapper.rwd-thumbs--right .rwd-slider-thumbs__arrow,
    .rwd-slider-wrapper.rwd-thumbs--left .rwd-slider-thumbs__arrow {
        top: auto !important;
        bottom: auto !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
    .rwd-slider-wrapper.rwd-thumbs--right .rwd-slider-thumbs__arrow--prev,
    .rwd-slider-wrapper.rwd-thumbs--left .rwd-slider-thumbs__arrow--prev {
        top: 5px !important;
    }
    .rwd-slider-wrapper.rwd-thumbs--right .rwd-slider-thumbs__arrow--next,
    .rwd-slider-wrapper.rwd-thumbs--left .rwd-slider-thumbs__arrow--next {
        bottom: 5px !important;
    }
    .rwd-slider-wrapper.rwd-thumbs--right .rwd-slider-thumbs__arrow .swiper-navigation-icon,
    .rwd-slider-wrapper.rwd-thumbs--left .rwd-slider-thumbs__arrow .swiper-navigation-icon {
        transform: rotate(90deg) !important;
    }
}


.rwd-slider-wrapper.rwd-thumbs--left {
    display: flex;
    align-items: stretch;
    gap: 15px;
}

.rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-main-area {
    flex: 1;
    min-width: 0;
    order: 2; /* Main content goes second (right side) */
}

/* Shared Thumbs Wrapper Styling (Right/Left) */
.rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-thumbs-wrapper,
.rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-thumbs-wrapper {
    position: relative; /* Context for absolute positioning */
    width: 150px;
    flex-shrink: 0;
    margin: 0;
    /* Height comes from align-items: stretch on parent */
}

.rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-thumbs-wrapper {
    order: 2; /* Thumbs go to right */
    margin-left: 0;
}

.rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-thumbs-wrapper {
    order: 1; /* Thumbs go to left */
    margin-right: 0;
}

/* Force Swiper container to fill the height */
.rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-thumbs-wrapper > .rwd-slider-thumbs,
.rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-thumbs-wrapper > .rwd-slider-thumbs {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100% !important;
    margin: 0;
}

/* Reset Swiper Wrapper direction (handled by JS direction: 'vertical') */
.rwd-slider-wrapper.rwd-thumbs--right .rwd-slider-thumbs .swiper-wrapper,
.rwd-slider-wrapper.rwd-thumbs--left .rwd-slider-thumbs .swiper-wrapper {
    flex-direction: column; /* This mimics JS vertical mode, safe to keep or remove */
    /* But absolute container is key */
}


/* Responsive: Mobile always bottom */
@media (max-width: 768px) {
    .rwd-slider-wrapper.rwd-thumbs--right,
    .rwd-slider-wrapper.rwd-thumbs--left {
        flex-direction: column !important;
    }
    
    .rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-thumbs-wrapper,
    .rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-thumbs-wrapper {
        width: 100% !important;
        height: auto !important; /* Allow natural height flow on mobile */
        margin-top: 15px;
        margin-left: 0;
        margin-right: 0;
        order: unset; /* Reset order on mobile */
    }

    /* Reset absolute positioning for mobile */
    .rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-thumbs-wrapper > .rwd-slider-thumbs,
    .rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-thumbs-wrapper > .rwd-slider-thumbs {
        position: relative !important;
        height: auto !important;
    }
    
    .rwd-slider-wrapper.rwd-thumbs--right > .rwd-slider-main-area,
    .rwd-slider-wrapper.rwd-thumbs--left > .rwd-slider-main-area {
        order: unset;
    }
}


/* -----------------------------------------------------------------------------
   Image-Text Layout Mode
   -------------------------------------------------------------------------- */
.rwd-slider--image-text {
    --rwd-it-gap-desktop: var(--rwd-it-gap, clamp(14px, 1.8vw, 28px));
    --rwd-it-gap-tablet: var(--rwd-it-gap, clamp(12px, 1.6vw, 22px));
    --rwd-it-gap-mobile: 12px;
    --rwd-it-radius: 14px;
    --rwd-it-media-min-h-desktop: clamp(220px, 28vw, 430px);
    --rwd-it-media-min-h-tablet: clamp(190px, 30vw, 340px);
    --rwd-it-media-min-h-mobile: clamp(170px, 52vw, 280px);
    --rwd-it-content-pad-x-desktop: clamp(16px, 2.2vw, 34px);
    --rwd-it-content-pad-y-desktop: clamp(14px, 1.8vw, 26px);
    --rwd-it-content-pad-x-tablet: clamp(14px, 2vw, 22px);
    --rwd-it-content-pad-y-tablet: clamp(12px, 1.4vw, 18px);
}

.rwd-slider--image-text .swiper-slide {
    display: flex;
    align-items: stretch;
    gap: var(--rwd-it-gap-desktop);
    padding: clamp(8px, 1vw, 14px);
    box-sizing: border-box;
    min-height: var(--rwd-image-text-slide-height-desktop, var(--rwd-slider-height-desktop, 380px));
    height: auto !important;
    background: #fff;
    border: 1px solid #e6edf5;
    border-radius: calc(var(--rwd-it-radius) + 2px);
    overflow: hidden;
}

.rwd-slider--image-text .rwd-slider__slide-content {
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 100%;
    gap: var(--rwd-it-gap-desktop);
    padding: 0;
    color: inherit;
    text-decoration: none;
}

/* Fix: When slide-content has both classes, reset slide-link width constraints */
.rwd-slider--image-text .swiper-slide > .rwd-slider__slide-content.rwd-slider__slide-link {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Image block in split layout - Only apply to nested slide-link (the actual image container) */
.rwd-slider--image-text .rwd-slider__slide-content > .rwd-slider__slide-link {
    flex: 0 0 min(var(--image-text-width, 50%), var(--image-text-max-width, 9999px));
    width: min(var(--image-text-width, 50%), var(--image-text-max-width, 9999px));
    min-width: clamp(200px, 24vw, 340px);
    max-width: 100%;
    text-decoration: none;
    display: flex;
    align-items: stretch;
}

/* Right position = image on right, text on left */
.rwd-slider--image-text.rwd-image-right .swiper-slide .rwd-slider__slide-link,
.rwd-slider--image-text.rwd-image-right .swiper-slide .rwd-slider__slide-content {
    flex-direction: row-reverse;
}

.rwd-slider--image-text .rwd-slider__img-container {
    flex: 1 1 auto;
    width: 100% !important;
    height: 100%;
    /*min-height: var(--rwd-it-media-min-h-desktop);*/
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: var(--rwd-it-radius);
    background: linear-gradient(180deg, #f4f7fb 0%, #eef2f7 100%);
}

.rwd-slider--image-text .rwd-slider__img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.45s ease;
}

.rwd-slider--image-text .swiper-slide:hover .rwd-slider__img-container img,
.rwd-slider--image-text .rwd-slider__slide-link:hover .rwd-slider__img-container img {
    transform: none;
}

.rwd-slider--image-text .rwd-slider__content {
    box-sizing: border-box;
    flex: 1 1 0%;  /* [Fix 2026-02-25] flex-basis: 0% so content grows into remaining space instead of overflowing */
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: clamp(10px, 1.2vw, 14px);  /* Vertical spacing between elements */
    justify-content: flex-start;
    align-items: flex-start;
    /* Ensure adequate padding - fallback if CSS vars not loaded */
    padding: var(--rwd-it-content-pad-y-desktop, 20px) var(--rwd-it-content-pad-x-desktop, 24px);
    overflow-wrap: break-word;
    word-wrap: break-word;
    overflow: hidden;  /* [Fix 2026-02-25] Clip text that exceeds flex-allocated width */
}

.rwd-slider--it-text-align-center .rwd-slider__content {
    align-items: center;
    text-align: center;
}

.rwd-slider--it-text-align-right .rwd-slider__content {
    align-items: flex-end;
    text-align: right;
}

.rwd-slider--it-text-align-right .rwd-slider__meta {
    justify-content: flex-end;
}

.rwd-slider--it-text-align-left .rwd-slider__content {
    align-items: flex-start;
    text-align: left;
}

.rwd-slider--image-text .rwd-slider__category {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    font-size: 0.76rem;
    color: #1f5ea8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: #eaf3ff;
    border: 1px solid #d2e4ff;
    border-radius: 999px;
    padding: 4px 12px;
    text-decoration: none;
    margin-bottom: 0;
    flex-shrink: 0;
}

.rwd-slider--image-text .rwd-slider__title {
    font-size: clamp(1.28rem, 2.05vw, 1.95rem);
    line-height: 1.42;
    font-weight: 700;
    color: #1f2328;
    margin: 0;
    padding: 0;
    text-align: inherit;
    width: 100%;  /* Take full width of parent */
    max-width: 100%;
    box-sizing: border-box;  /* Include padding in width calculation */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    visibility: visible !important;
    opacity: 1 !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;  /* Force break long words */
    hyphens: auto;  /* Allow hyphenation for long words */
}

.rwd-slider--image-text .rwd-slider__title-link,
.rwd-slider--image-text .rwd-slider__title-link:visited,
.rwd-slider--image-text .rwd-slider__title-link:hover,
.rwd-slider--image-text .rwd-slider__title-link:focus {
    color: inherit !important;
    text-decoration: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    display: block !important;  /* Block display for proper width handling */
    width: 100% !important;  /* Take full width of parent */
    max-width: 100% !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    overflow: hidden !important;  /* Prevent overflow */
}

/* Backward compatibility: cached HTML may still use old utility classes */
.rwd-slider--image-text .rwd-slider__title .hp-text-inherit,
.rwd-slider--image-text .rwd-slider__title .hp-text-inherit:visited,
.rwd-slider--image-text .rwd-slider__title .hp-text-inherit:hover,
.rwd-slider--image-text .rwd-slider__title .hp-text-inherit:focus,
.rwd-slider--image-text .rwd-slider__title .hp-color-inherit,
.rwd-slider--image-text .rwd-slider__title .hp-color-inherit:visited,
.rwd-slider--image-text .rwd-slider__title .hp-color-inherit:hover,
.rwd-slider--image-text .rwd-slider__title .hp-color-inherit:focus {
    color: inherit !important;
    text-decoration: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

.rwd-slider--image-text .rwd-slider__excerpt {
    color: #4a4f57;
    line-height: 1.68;
    font-size: clamp(0.95rem, 1.1vw, 1.02rem);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;  /* Take full width of parent */
    max-width: 100%;
    box-sizing: border-box;  /* Include padding in width calculation */
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;  /* Force break long words */
    margin: 0;
    padding: 0;  /* Ensure no unexpected padding */
}

.rwd-slider--image-text .rwd-slider__meta {
    font-size: 0;  /* [Fix 2026-02-25] Collapse text-node separators; children have explicit font-size */
    color: #6f7781;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 0;
    margin-bottom: clamp(8px, 1vw, 12px);
}

.rwd-slider--image-text .rwd-slider__meta-date,
.rwd-slider--image-text .rwd-slider__meta-author {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* Fix dashicons in image-text mode */
.rwd-slider--image-text .rwd-slider__meta .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* [REMOVED 2026-02-25] Duplicate styles moved to unified inline meta layout section (line 1975+) */

/* Mobile fallback caption for image-text mode (hidden on desktop/tablet by default) */
.rwd-slider--image-text .rwd-slider__it-mobile-caption {
    display: none;
    z-index: 6;
    color: #fff;
    pointer-events: auto;
}

.rwd-slider--image-text .rwd-slider__it-mobile-caption .rwd-slider__caption-text {
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.rwd-slider--image-text .rwd-slider__it-mobile-caption-link,
.rwd-slider--image-text .rwd-slider__it-mobile-caption-link:visited,
.rwd-slider--image-text .rwd-slider__it-mobile-caption-link:hover,
.rwd-slider--image-text .rwd-slider__it-mobile-caption-link:focus {
    color: inherit !important;
    text-decoration: none !important;
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    -webkit-text-fill-color: currentColor !important;
}

.rwd-slider--image-text .rwd-slider-container .swiper-pagination {
    z-index: 30;
}

.rwd-slider--image-text .swiper-pagination-bullet {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.65);
    margin: 0 8px !important;
}

/* Multi-column image-text cards: force vertical stack to avoid cramped split layout */
.rwd-slider--image-text.rwd-slider--it-cols-2 .rwd-slider__slide-content,
.rwd-slider--image-text.rwd-slider--it-cols-3 .rwd-slider__slide-content,
.rwd-slider--image-text.rwd-slider--it-cols-grid .rwd-slider__slide-content {
    flex-direction: column !important;
}

.rwd-slider--image-text.rwd-slider--it-cols-2 .rwd-slider__slide-link,
.rwd-slider--image-text.rwd-slider--it-cols-3 .rwd-slider__slide-link,
.rwd-slider--image-text.rwd-slider--it-cols-grid .rwd-slider__slide-link {
    width: 100%;
    min-width: 0;
    flex: 0 0 auto;
}

/* -----------------------------------------------------------------------------
   Image Shapes
   -------------------------------------------------------------------------- */
.rwd-slider--it-shape-circle .rwd-slider__img-container {
    border-radius: 50%;
    aspect-ratio: 1 / 1;
}

.rwd-slider--it-shape-rounded .rwd-slider__img-container {
    border-radius: 20px;
}

.rwd-slider--it-shape-access_card .rwd-slider__img-container {
    border-radius: 8px;
}

.rwd-slider--it-shape-square .rwd-slider__img-container {
    aspect-ratio: 1 / 1;
}

/* -----------------------------------------------------------------------------
   Layout Styles: Split (Left/Right Image-Text Split)
   -------------------------------------------------------------------------- */
/* Split style (default): Image on left/right, text on opposite side */
.rwd-slider--it-style-split .swiper-slide {
    display: flex;
    align-items: stretch;
}

.rwd-slider--it-style-split .rwd-slider__slide-content {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    gap: var(--rwd-it-gap-desktop);
}

.rwd-slider--it-style-split .rwd-slider__slide-link {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
}

.rwd-slider--it-style-split .rwd-slider__content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(14px, 2vw, 24px) clamp(16px, 2.5vw, 32px);
}

/* Ensure title and other elements are visible in split mode */
.rwd-slider--it-style-split .rwd-slider__title,
.rwd-slider--it-style-split .rwd-slider__excerpt,
.rwd-slider--it-style-split .rwd-slider__meta,
.rwd-slider--it-style-split .rwd-slider__category {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.rwd-slider--it-style-split .rwd-slider__title {
    margin-bottom: clamp(8px, 1vw, 12px);
}

/* Content mode: Show full content (default behavior) */
.rwd-slider--it-mode-desktop-content .rwd-slider__content,
.rwd-slider--it-mode-tablet-content .rwd-slider__content {
    display: flex !important;
}

/* Tablet responsive for split */
@media (min-width: 768px) and (max-width: 1180px) {
    .rwd-slider--it-style-split .rwd-slider__slide-content {
        gap: var(--rwd-it-gap-tablet);
    }
}

/* Mobile: Stack vertically for split style */
@media (max-width: 767px) {
    .rwd-slider--it-style-split .rwd-slider__slide-content {
        flex-direction: column !important;
        gap: var(--rwd-it-gap-mobile);
    }

    .rwd-slider--it-style-split .rwd-slider__slide-link {
        width: 100%;
        flex: 0 0 auto;
    }
}

/* -----------------------------------------------------------------------------
   Layout Styles: Card (Top Image / Bottom Text)
   -------------------------------------------------------------------------- */
.rwd-slider--it-style-card .swiper-slide,
.rwd-slider--it-style-card .rwd-slider__slide-link,
.rwd-slider--it-style-card .rwd-slider__slide-content {
    flex-direction: column !important;
    align-items: stretch;
    height: 100%;
}

.rwd-slider--it-style-card .swiper-slide {
    padding: clamp(8px, 1vw, 14px);
}

.rwd-slider--it-style-card .rwd-slider__slide-link {
    width: 100%;
    min-width: 0;
    flex: 0 0 auto;
}

.rwd-slider--it-style-card .rwd-slider__img-container {
    width: 100% !important;
    max-width: min(100%, var(--image-text-max-width, 9999px)) !important;
    margin: 0 auto;
    min-height: clamp(190px, 24vw, 320px);
    aspect-ratio: 16 / 9;
}

.rwd-slider--it-shape-circle.rwd-slider--it-style-card .rwd-slider__img-container {
    aspect-ratio: 1 / 1;
}

.rwd-slider--it-style-card .rwd-slider__content {
    width: 100%;
    padding: clamp(14px, 1.8vw, 24px);
    gap: 10px;
    flex: 1 1 auto;
    justify-content: flex-start;
}

.rwd-slider--it-style-card .rwd-slider__title {
    font-size: clamp(1.1rem, 1.6vw, 1.45rem);
}

.rwd-slider--it-style-card.rwd-slider--it-text-align-left .rwd-slider__content {
    text-align: left;
    align-items: flex-start;
}

.rwd-slider--it-style-card.rwd-slider--it-text-align-left .rwd-slider__meta {
    justify-content: flex-start;
}

.rwd-slider--it-style-card.rwd-slider--it-text-align-right .rwd-slider__content {
    text-align: right;
    align-items: flex-end;
}

.rwd-slider--it-style-card.rwd-slider--it-text-align-right .rwd-slider__meta {
    justify-content: flex-end;
}

@media (max-width: 1180px) {
    .rwd-slider--image-text .swiper-slide {
        min-height: var(--rwd-image-text-slide-height-tablet, var(--rwd-slider-height-tablet, 300px));
        gap: var(--rwd-it-gap-tablet);
        padding: 10px;
    }

    .rwd-slider--image-text .rwd-slider__slide-content {
        gap: var(--rwd-it-gap-tablet);
    }

    .rwd-slider--image-text .rwd-slider__slide-link {
        min-width: clamp(170px, 30vw, 280px);
    }

    .rwd-slider--image-text .rwd-slider__img-container {
        min-height: var(--rwd-it-media-min-h-tablet);
    }

    .rwd-slider--image-text .rwd-slider__content {
        padding: var(--rwd-it-content-pad-y-tablet, 16px) var(--rwd-it-content-pad-x-tablet, 18px);
        gap: clamp(8px, 1vw, 12px);  /* Maintain vertical spacing on tablet */
    }

    .rwd-slider--image-text .rwd-slider__title {
        font-size: clamp(1.15rem, 2vw, 1.6rem);
        line-height: 1.4;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        margin-bottom: 10px;
    }

    .rwd-slider--image-text .rwd-slider__excerpt {
        -webkit-line-clamp: 2;
        line-clamp: 2;
        margin-bottom: 10px;
    }

    .rwd-slider--image-text .rwd-slider__meta {
        gap: 8px;
        margin-bottom: 0;
    }

    .rwd-slider--image-text .rwd-slider__category {
        font-size: 0.72rem;
        padding: 3px 11px;
    }
}

@media (min-width: 1181px) {
    .rwd-slider--image-text.rwd-slider--it-mode-desktop-caption .rwd-slider__slide-content {
        position: static;
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto;
        width: 100%;
        height: 100%;
        gap: 0;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-desktop-caption .rwd-slider__slide-link {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-desktop-caption .rwd-slider__img-container {
        height: 100%;
        min-height: 0;
        max-height: none;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-desktop-caption .rwd-slider__content {
        display: none !important;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-desktop-caption .rwd-slider__it-mobile-caption {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        width: 100%;
        box-sizing: border-box;
        background: #fff !important;
        color: #1f2328 !important;
        padding: 12px 14px !important;
        pointer-events: auto !important;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-desktop-caption .rwd-slider__it-mobile-caption .rwd-slider__caption-text {
        color: inherit;
        font-size: clamp(1rem, 1.1vw, 1.15rem);
        line-height: 1.45;
    }
}

@media (min-width: 768px) and (max-width: 1180px) {
    .rwd-slider--image-text.rwd-slider--it-mode-tablet-caption .swiper-slide {
        gap: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-tablet-caption .rwd-slider__slide-content {
        position: static;
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto;
        width: 100%;
        height: 100%;
        gap: 0;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-tablet-caption .rwd-slider__slide-link {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-tablet-caption .rwd-slider__img-container {
        height: 100%;
        min-height: 0;
        max-height: none;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-tablet-caption .rwd-slider__content {
        display: none !important;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-tablet-caption .rwd-slider__it-mobile-caption {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        width: 100%;
        box-sizing: border-box;
        background: #fff !important;
        color: #1f2328 !important;
        padding: 11px 13px !important;
        pointer-events: auto !important;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-tablet-caption .rwd-slider__it-mobile-caption .rwd-slider__caption-text {
        color: inherit;
        font-size: clamp(1rem, 2.2vw, 1.15rem);
        line-height: 1.42;
    }
}

@media (max-width: 767px) {
    .rwd-slider--image-text .swiper-slide {
        min-height: auto;
        gap: var(--rwd-it-gap-mobile);
        padding: 10px;
    }

    .rwd-slider--image-text .rwd-slider__slide-content {
        flex-direction: column !important;
        gap: var(--rwd-it-gap-mobile);
    }

    .rwd-slider--image-text.rwd-image-right .swiper-slide .rwd-slider__slide-link,
    .rwd-slider--image-text.rwd-image-right .swiper-slide .rwd-slider__slide-content {
        flex-direction: column !important;
    }

    .rwd-slider--image-text .rwd-slider__slide-link {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        flex: 0 0 auto;
    }

    .rwd-slider--image-text .rwd-slider__img-container {
        min-height: var(--rwd-it-media-min-h-mobile);
        max-height: 360px;
    }

    .rwd-slider--image-text .rwd-slider__content {
        padding: 16px 18px 18px;  /* Increased padding for better spacing */
        gap: clamp(8px, 2vw, 12px);  /* Add gap between elements */
    }

    .rwd-slider--image-text .rwd-slider__title {
        font-size: clamp(1rem, 4.5vw, 1.3rem) !important;
        line-height: 1.45 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        line-clamp: 2 !important;
        overflow: hidden !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        background: transparent !important;
        color: #1f2328 !important;
        padding: 0 !important;
        margin: 0 0 10px 0 !important;
        border-radius: 0;
        text-align: inherit !important;  /* [Fix 2026-02-25] Override generic title center; inherit from .rwd-slider__content */
        box-shadow: none;
        pointer-events: auto;
    }

    .rwd-slider--image-text .rwd-slider__title-link {
        color: inherit !important;
        text-shadow: none;
    }

    .rwd-slider--image-text .rwd-slider__excerpt {
        font-size: 0.92rem;
        line-height: 1.62;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        margin: 0 0 10px 0;
    }

    .rwd-slider--image-text .rwd-slider__meta {
        font-size: 0;  /* [Fix 2026-02-25] Collapse text-node separators on mobile */
        gap: 8px !important;  /* [Fix 2026-02-25] Ensure spacing between meta elements */
        margin-bottom: 0;
    }

    .rwd-slider--image-text .rwd-slider__category {
        font-size: 0.7rem;
        padding: 3px 10px;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-mobile-caption .swiper-slide {
        gap: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-mobile-caption .rwd-slider__slide-content {
        position: static;
        display: grid !important;
        grid-template-rows: minmax(0, 1fr) auto;
        width: 100%;
        height: 100%;
        gap: 0;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-mobile-caption .rwd-slider__slide-link {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        flex: 0 0 auto;
        height: 100%;
        min-height: 0;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-mobile-caption .rwd-slider__img-container {
        height: 100%;
        min-height: 0;
        max-height: none;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-mobile-caption .rwd-slider__content {
        display: none !important;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-mobile-caption .rwd-slider__it-mobile-caption {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 4;
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        width: 100%;
        box-sizing: border-box;
        background: #fff !important;
        color: #1f2328 !important;
        padding: 10px 12px !important;
        pointer-events: auto !important;
    }

    .rwd-slider--image-text.rwd-slider--it-mode-mobile-caption .rwd-slider__it-mobile-caption .rwd-slider__caption-text {
        color: inherit;
        font-size: clamp(1rem, 4.5vw, 1.2rem);
        line-height: 1.4;
    }

    /* [Fix 2026-02-25] Inherit text-align for mobile caption from wrapper's it-text-align class */
    .rwd-slider--it-text-align-left .rwd-slider__it-mobile-caption .rwd-slider__caption-text { text-align: left; }
    .rwd-slider--it-text-align-right .rwd-slider__it-mobile-caption .rwd-slider__caption-text { text-align: right; }
    .rwd-slider--it-text-align-center .rwd-slider__it-mobile-caption .rwd-slider__caption-text { text-align: center; }

    .rwd-slider--image-text .swiper-pagination-bullet {
        margin: 0 6px !important;
    }
}

/* -----------------------------------------------------------------------------
   Vertical Scroll Mode
   -------------------------------------------------------------------------- */
.rwd-slider--vertical .swiper-container {
    height: 600px;
}

@media (max-width: 767px) {
    .rwd-slider--vertical .swiper-container {
        height: 400px;
    }
}

.rwd-slider--vertical .swiper-wrapper {
    flex-direction: column;
}

.rwd-slider--vertical .rwd-slider__arrow--prev {
    top: 20px;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%) rotate(-90deg);
}

.rwd-slider--vertical .rwd-slider__arrow--next {
    bottom: 20px;
    top: auto;
    left: 50%;
    transform: translateX(-50%) rotate(-90deg);
}

.rwd-slider--vertical .swiper-pagination {
    position: absolute !important;
    right: 15px !important;
    left: auto !important;
    bottom: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    z-index: 10;
    width: auto !important;
}

.rwd-slider--vertical .swiper-pagination-bullet {
    margin: 0 !important; /* Remove default margin */
}


/* -----------------------------------------------------------------------------
   3D Coverflow Mode
   -------------------------------------------------------------------------- */
.rwd-slider--coverflow {
    padding: 40px 0;
}

.rwd-slider--coverflow .swiper-container {
    overflow: visible;
    padding: 60px 0;
}

.rwd-slider--coverflow .swiper-slide {
    width: 300px;
    height: 400px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

@media (max-width: 767px) {
    .rwd-slider--coverflow .swiper-slide {
        width: 200px;
        height: 300px;
    }
}

.rwd-slider--coverflow .swiper-slide-active {
    z-index: 2 !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}

.rwd-slider--coverflow.rwd-coverflow--shadow .swiper-slide {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), 0 0 60px rgba(0, 0, 0, 0.1);
}

.rwd-slider--coverflow .rwd-slider__img-container {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.rwd-slider--coverflow .rwd-slider__img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Coverflow effect is applied via Swiper's coverflowEffect option in JS */

/* =============================================================================
   Pagination Style Customization
   ============================================================================= */
/* CSS Variables for easy customization from PHP */
.rwd-slider {
    --pagination-color: #007bff;
    --pagination-inactive-color: #ddd;
    --pagination-size: 10px;
    --rwd-pagination-gap: 12px;
}

/* Base Pagination Styles */
.swiper-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* -----------------------------------------------------------------------------
   Dots Style (Default)
   -------------------------------------------------------------------------- */
.rwd-pagination--dots .swiper-pagination-bullet {
    width: var(--pagination-size);
    height: var(--pagination-size);
    background: var(--pagination-inactive-color);
    border: 0;
    box-shadow: none;
    opacity: 1;
    margin: 0 calc(var(--rwd-pagination-gap, 12px) / 2) !important;
    transition: all 0.3s ease;
    border-radius: 50%;
}

.rwd-pagination--dots .swiper-pagination-bullet-active {
    background: var(--pagination-color);
    transform: scale(1.3);
}

/* -----------------------------------------------------------------------------
   Lines Style
   -------------------------------------------------------------------------- */
.rwd-pagination--lines .swiper-pagination-bullet {
    width: calc(var(--rwd-pagination-size-desktop, 25px) * 2) !important;
    height: calc(var(--rwd-pagination-size-desktop, 4px) / 2) !important;
    min-height: 2px !important;
    border-radius: 0 !important;
    background: var(--pagination-inactive-color, #ddd) !important;
    opacity: 0.6;
    margin: 0 calc(var(--pagination-gap, 8px) / 2) !important;
    border: none !important;
    transition: all 0.3s ease;
}

@media (max-width: 1180px) {
    .rwd-pagination--lines .swiper-pagination-bullet {
        width: calc(var(--rwd-pagination-size-tablet, 20px) * 2) !important;
        height: calc(var(--rwd-pagination-size-tablet, 4px) / 2) !important;
    }
}

@media (max-width: 767px) {
    .rwd-pagination--lines .swiper-pagination-bullet {
        width: calc(var(--rwd-pagination-size-mobile, 16px) * 2) !important;
        height: calc(var(--rwd-pagination-size-mobile, 4px) / 2) !important;
    }
}

.rwd-pagination--lines .swiper-pagination-bullet-active {
    width: calc(var(--rwd-pagination-size-desktop, 25px) * 3) !important;
    background: var(--pagination-color, #007bff) !important;
    opacity: 1;
}

@media (max-width: 1180px) {
    .rwd-pagination--lines .swiper-pagination-bullet-active {
        width: calc(var(--rwd-pagination-size-tablet, 20px) * 3) !important;
    }
}

@media (max-width: 767px) {
    .rwd-pagination--lines .swiper-pagination-bullet-active {
        width: calc(var(--rwd-pagination-size-mobile, 16px) * 3) !important;
    }
}

/* -----------------------------------------------------------------------------
   Numbers Style
   -------------------------------------------------------------------------- */
.rwd-pagination--numbers .swiper-pagination-bullet {
    width: 28px;
    height: 28px;
    background: var(--pagination-inactive-color);
    color: #333;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    border-radius: 50%;
    opacity: 1;
    margin: 0 calc(var(--pagination-gap) / 2) !important;
    transition: all 0.3s ease;
}

.rwd-pagination--numbers .swiper-pagination-bullet-active {
    background: var(--pagination-color);
    color: #fff;
    transform: scale(1.1);
}

/* ----------------------------------------------------------------------- ----
   Fraction Style
   -------------------------------------------------------------------------- */
.rwd-pagination--fraction .swiper-pagination-fraction {
    width: auto;
    padding: 6px 16px;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
}

.rwd-pagination--fraction .swiper-pagination-current {
    color: var(--pagination-color, #007bff);
    font-weight: 700;
}

/* -----------------------------------------------------------------------------
   Progress Bar Style
   -------------------------------------------------------------------------- */
.rwd-pagination--progressbar .swiper-pagination-progressbar {
    background: var(--pagination-inactive-color, rgba(0,0,0,0.1)) !important;
    height: 6px !important;
    top: auto !important;
    bottom: 0 !important;
}

.rwd-pagination--progressbar .swiper-pagination-progressbar-fill {
    background: var(--pagination-color, #007bff) !important;
}

/* Whole Block Clickable Feature */
.rwd-slider--full-clickable {
    cursor: pointer;
    text-decoration: none !important;
    color: inherit !important;
    transition: all 0.3s ease;
}

.rwd-slider--full-clickable:hover {
    background-color: rgba(0, 0, 0, 0.03);
}

.rwd-slider--full-clickable:hover .rwd-slider__title {
    opacity: 0.8;
}

.rwd-slider--full-clickable:hover .rwd-slider__img-container img {
    transform: none;
}

.rwd-slider__img-container img {
    transition: transform 0.5s ease;
}

/* Glassmorphism Effect for Mobile Captions */
.rwd-slider__caption--glass {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background: rgba(0, 0, 0, 0.45) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}/* -----------------------------------------------------------------------------
   Responsive Visibility
   -------------------------------------------------------------------------- */
@media (min-width: 1181px) {
    .rwd-hide-desktop {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1180px) {
    .rwd-hide-tablet {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .rwd-hide-mobile {
        display: none !important;
    }
}

/* -----------------------------------------------------------------------------
   Ken Burns Effect Implementation
   -------------------------------------------------------------------------- */
@keyframes rwd-ken-burns {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.15);
    }
}

.rwd-slider--ken-burns .swiper-slide-active .rwd-slider__img-container img,
.rwd-slider--ken-burns .swiper-slide-duplicate-active .rwd-slider__img-container img {
    animation: rwd-ken-burns 10s linear infinite alternate;
}

/* -----------------------------------------------------------------------------
   Hover Effect Controls & Disable Zoom
   -------------------------------------------------------------------------- */
/* Base slider instances should keep image hover stable unless a dedicated
   non-hover animation (for example Ken Burns) is explicitly enabled. */
.rwd-slider-wrapper:not(.rwd-slider--ken-burns) .swiper-slide:hover .rwd-slider__img-container img,
.rwd-slider-wrapper:not(.rwd-slider--ken-burns) .rwd-slider__slide-link:hover .rwd-slider__img-container img {
    transform: none;
}

/* Global override to disable all hover scale effects */
.rwd-slider--disable-zoom .swiper-slide:hover .rwd-slider__img-container,
.rwd-slider--disable-zoom .swiper-slide:hover .rwd-slider__img-container img,
.rwd-slider--disable-zoom .swiper-slide:hover {
    transform: none !important;
}

/* Premium Lift effect (can be used as a class) */
.rwd-slider--lift-on-hover .swiper-slide {
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease;
}

.rwd-slider--lift-on-hover .swiper-slide:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
    z-index: 10;
}

/* Enhanced default transitions for smoother feel */
.rwd-slider__img-container img {
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* =============================================================================
   ✨ New Category & Slide Effects (Version 22.0+)
   ============================================================================= */

/* Category Style Variants */
.rwd-slider__category {
    font-size: var(--rwd-cat-font-size-desktop, 12px);
    padding: var(--rwd-cat-padding, 4px 12px);
    text-transform: var(--rwd-cat-transform, none);
    letter-spacing: var(--rwd-cat-letter-spacing, 0);
    transition: all 0.3s ease;
    width: fit-content;
    display: block;
    /* margin-left and margin-right are now handled by media queries above for better responsiveness */
}

@media (max-width: 1180px) {
    .rwd-slider__category { font-size: var(--rwd-cat-font-size-tablet, 11px); }
    .rwd-slider__meta-date { font-size: var(--rwd-date-font-size-tablet, 11px); }
}

@media (max-width: 767px) {
    .rwd-slider__category { font-size: var(--rwd-cat-font-size-mobile, 10px); }
    .rwd-slider__meta-date { font-size: var(--rwd-date-font-size-mobile, 10px); }
}

/* Meta Layout Support */
.rwd-slider__meta {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    line-height: 1.4;
    /* Responsive Meta Alignment */
    justify-content: var(--rwd-cat-justify-desktop, center) !important;
}

@media (max-width: 1180px) {
    .rwd-slider__meta {
        justify-content: var(--rwd-cat-justify-tablet, var(--rwd-cat-justify-desktop, center)) !important;
    }
}

@media (max-width: 767px) {
    .rwd-slider__meta {
        justify-content: var(--rwd-cat-justify-mobile, var(--rwd-cat-justify-tablet, center)) !important;
    }
}
.rwd-meta--with-cat {
    gap: 12px;
}

/* Separators are rendered directly in PHP via implode() */

/* Ensure categories and meta don't overlap with title */
.rwd-slider__title {
    position: relative;
    z-index: 5;
}

/* Defensive spacing for when categories are positioned absolutely in the corners */
.rwd-abs-cat-top-left {
    padding-top: var(--rwd-abs-cat-spacing, 50px) !important;
}

.rwd-abs-cat-top-right {
    padding-top: var(--rwd-abs-cat-spacing, 50px) !important;
}

.rwd-abs-cat-bottom-left {
    padding-bottom: var(--rwd-abs-cat-spacing, 50px) !important;
}

.rwd-abs-cat-bottom-right {
    padding-bottom: var(--rwd-abs-cat-spacing, 50px) !important;
}

.rwd-meta-layout--stacked {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 5px !important;
}

.rwd-meta-layout--stacked > *::after {
    display: none !important;
}

.rwd-slider__meta-date, 
.rwd-slider__meta-author {
    color: var(--rwd-date-color, #888);
    font-size: var(--rwd-date-font-size-desktop, 13px);
}

/* =============================================================================
   🔘 CTA Button Styles
   ============================================================================= */
.rwd-slider__cta {
    display: block; /* Change to block for alignment wrapper */
    width: 100%;
    text-align: var(--rwd-cta-align-desktop, center);
    margin-top: 15px;
}

.rwd-slider__button {
    display: inline-block;
    padding: 10px 24px;
    background-color: var(--rwd-cta-bg, #0073aa);
    color: var(--rwd-cta-color, #ffffff) !important;
    border-radius: var(--rwd-cta-radius, 4px);
    text-decoration: none !important;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    border: none;
    cursor: pointer;
    text-align: center;
    line-height: 1.2;
    border: 2px solid transparent;
}

@media (max-width: 1180px) {
    .rwd-slider__cta {
        text-align: var(--rwd-cta-align-tablet, var(--rwd-cta-align-desktop, center));
    }
}

@media (max-width: 767px) {
    .rwd-slider__cta {
        text-align: var(--rwd-cta-align-mobile, var(--rwd-cta-align-tablet, center));
    }
}

.rwd-slider__cta:hover {
    filter: brightness(1.1);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Button Variants */
.rwd-btn-style--outline {
    background-color: transparent !important;
    border: 2px solid var(--rwd-cta-bg, #0073aa);
    color: var(--rwd-cta-bg, #0073aa) !important;
}
.rwd-btn-style--outline:hover {
    background-color: var(--rwd-cta-bg, #0073aa) !important;
    color: var(--rwd-cta-color, #ffffff) !important;
}

.rwd-btn-style--glass {
    background-color: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff !important;
}

@keyframes rwd-pulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(var(--rwd-cta-bg-rgb, 0, 115, 170), 0.7); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(var(--rwd-cta-bg-rgb, 0, 115, 170), 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(var(--rwd-cta-bg-rgb, 0, 115, 170), 0); }
}
.rwd-btn-style--pulse {
    animation: rwd-pulse 2s infinite;
}

/* Sizes */
.rwd-btn-size--small { padding: 6px 16px; font-size: 12px; }
.rwd-btn-size--medium { padding: 10px 24px; font-size: 14px; }
.rwd-btn-size--large { padding: 14px 32px; font-size: 16px; }

/* =============================================================================
   ⏳ Autoplay Progress Bar
   ============================================================================= */
.rwd-autoplay-progress {
    position: absolute;
    left: 0;
    width: 0%;
    height: 4px;
    background-color: var(--rwd-progress-bar-color, #ffffff);
    z-index: 10;
    transition: width 0.1s linear;
}
.rwd-autoplay-progress--top { top: 0; }
.rwd-autoplay-progress--bottom { bottom: 0; }

/* Pill Style */
.rwd-cat-style--pill {
    border-radius: 50px;
}

/* Outline Style */
.rwd-cat-style--outline {
    background: transparent !important;
    border: var(--rwd-cat-border-width, 1px) solid var(--rwd-category-color, #fff);
}

/* Glass Style */
.rwd-cat-style--glass {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Ribbon Style */
.rwd-cat-style--ribbon {
    border-radius: 0;
    padding: 4px 15px !important;
    margin-left: -15px; /* Offset parent padding if necessary */
    clip-path: polygon(0 0, 100% 0, 95% 50%, 100% 100%, 0 100%);
}

/* Title Hover Zoom Disable */
.rwd-slider--title-no-zoom .rwd-slider__title:hover,
.rwd-slider--title-no-zoom .rwd-slider__title-link:hover {
    transform: none !important;
    text-decoration: underline; /* Visual cue instead of scale */
}

/* Slide Border Radius */
.rwd-slider-container,
.rwd-slider-wrapper .swiper-slide,
.rwd-slider-wrapper .rwd-slider__slide-link,
.rwd-slider-wrapper .rwd-slider__img-container {
    border-radius: var(--rwd-slide-radius, 0);
    overflow: hidden;
}

/* Slide Shadow */
.rwd-slider--has-shadow .swiper-slide {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    margin-top: 10px;
    margin-bottom: 15px;
}

/* Hover Lift Effect */
.rwd-slider--hover-lift .swiper-slide {
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease-in-out;
}

.rwd-slider--hover-lift .swiper-slide:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

/* =============================================================================
   🛠 Cover Link Pattern - Resolve Nested <a> Issues
   ============================================================================= */
.rwd-slider__slide-content {
    position: relative;
    width: 100%;
    height: 100%;
}

.rwd-slider__cover-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    text-decoration: none;
    background: transparent;
}

/* Ensure interactive elements stay above the cover link */
.rwd-slider__cta,
.rwd-slider__category a,
.rwd-slider__title-link,
.rwd-slider__meta a {
    position: relative;
    z-index: 10;
}

/* =============================================================================
   Image-Text Mode Layout Fixes (2026-02-25)
   Ensures proper display in split layout mode
   ============================================================================= */

/* Fix for image wrapper in image-text mode — prevent image from shrinking */
/* [Fix 2026-02-25] Changed from > * to > .rwd-slider__slide-link so .rwd-slider__content can still shrink */
.rwd-slider--image-text .rwd-slider__slide-content > .rwd-slider__slide-link {
    flex-shrink: 0;
}

/* Ensure text elements don't overflow */
.rwd-slider--image-text .rwd-slider__title,
.rwd-slider--image-text .rwd-slider__excerpt,
.rwd-slider--image-text .rwd-slider__meta,
.rwd-slider--image-text .rwd-slider__category {
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}

/* Fix for very long words */
.rwd-slider--image-text .rwd-slider__title-link,
.rwd-slider--image-text .rwd-slider__excerpt {
    word-break: break-word;
}

/* Ensure proper flex behavior in split mode */
.rwd-slider--it-style-split .rwd-slider__img-container {
    flex-shrink: 0;
}

/* Additional mobile fixes for split style */
@media (max-width: 767px) {
    .rwd-slider--it-style-split .rwd-slider__content {
        width: 100%;
    }

    .rwd-slider--it-style-split .rwd-slider__img-container {
        width: 100% !important;
        max-width: 100%;
    }
}

/* ============================================================================
   🔄 Progress Bar Indicator - v25.0226.1
   視覺化進度指示器，提升自動播放體驗
   ============================================================================ */

/* Progress Bar Container - 共用基礎樣式 */
.rwd-slider-progress-bar {
    position: absolute;
    z-index: 20;
    overflow: hidden;
    pointer-events: none; /* 不干擾使用者互動 */
}

/* Progress Bar 內部填充條 */
.rwd-slider-progress-bar__fill {
    background: var(--progress-bar-color, #0073aa);
    height: 100%;
    width: 0%;
    transition: width 0.1s linear;
}

/* 平滑動畫模式 */
.rwd-slider-progress-bar--smooth .rwd-slider-progress-bar__fill {
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 脈動效果 */
@keyframes rwd-progress-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.rwd-slider-progress-bar--pulse .rwd-slider-progress-bar__fill {
    animation: rwd-progress-pulse 2s ease-in-out infinite;
}

/* ========== 樣式 1: 線性條 (Linear) ========== */
.rwd-slider-progress-bar--linear {
    left: 0;
    right: 0;
    height: var(--progress-bar-height, 4px);
}

/* 線性條 - 頂部位置 */
.rwd-slider-progress-bar--linear.rwd-slider-progress-bar--top {
    top: 0;
}

/* 線性條 - 底部位置 */
.rwd-slider-progress-bar--linear.rwd-slider-progress-bar--bottom {
    bottom: 0;
}

/* 線性條背景 */
.rwd-slider-progress-bar--linear::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--progress-bar-bg-color, rgba(255,255,255,0.3));
}

/* ========== 樣式 2: 圓形進度 (Circular) ========== */
.rwd-slider-progress-bar--circular {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--progress-bar-bg-color, rgba(0,0,0,0.3));
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 圓形進度 - 預設位置（右下角） */
.rwd-slider-progress-bar--circular:not(.rwd-slider-progress-bar--bullets) {
    bottom: 20px;
    right: 20px;
}

/* 圓形進度 SVG */
.rwd-slider-progress-bar--circular svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.rwd-slider-progress-bar--circular circle {
    fill: none;
    stroke-width: 3;
}

.rwd-slider-progress-bar--circular .rwd-circle-bg {
    stroke: var(--progress-bar-bg-color, rgba(255,255,255,0.3));
}

.rwd-slider-progress-bar--circular .rwd-circle-progress {
    stroke: var(--progress-bar-color, #0073aa);
    stroke-dasharray: 157; /* 2 * π * 25 (半徑) */
    stroke-dashoffset: 157;
    transition: stroke-dashoffset 0.1s linear;
}

.rwd-slider-progress-bar--circular.rwd-slider-progress-bar--smooth .rwd-circle-progress {
    transition: stroke-dashoffset 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 圓形進度 - 百分比文字 */
.rwd-slider-progress-bar--circular .rwd-progress-text {
    position: absolute;
    font-size: 14px;
    font-weight: 600;
    color: var(--progress-bar-color, #0073aa);
}

/* ========== 樣式 3: 極簡線條 (Minimal) ========== */
.rwd-slider-progress-bar--minimal {
    left: 0;
    right: 0;
    height: 2px;
}

.rwd-slider-progress-bar--minimal.rwd-slider-progress-bar--top {
    top: 0;
}

.rwd-slider-progress-bar--minimal.rwd-slider-progress-bar--bottom {
    bottom: 0;
}

.rwd-slider-progress-bar--minimal .rwd-slider-progress-bar__fill {
    box-shadow: 0 0 8px var(--progress-bar-color, #0073aa);
}

/* ========== 圓點內嵌模式 (Bullets Integration) ========== */
/* 將 Progress Bar 顯示在 Pagination 圓點旁邊 */
.rwd-slider-wrapper[data-progress-bullets="yes"] .swiper-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.rwd-slider-progress-bar--bullets {
    position: relative !important;
    width: 60px;
    height: 60px;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
}

.rwd-slider-progress-bar--bullets.rwd-slider-progress-bar--linear {
    width: 100px;
    height: 4px;
}

/* ========== 響應式顯示控制 ========== */
/* 桌機顯示 */
@media (min-width: 1181px) {
    .rwd-slider-progress-bar[data-show-desktop="no"] {
        display: none !important;
    }
}

/* 平板顯示 */
@media (min-width: 768px) and (max-width: 1180px) {
    .rwd-slider-progress-bar[data-show-tablet="no"] {
        display: none !important;
    }

    /* 平板圓形尺寸調整 */
    .rwd-slider-progress-bar--circular {
        width: 50px;
        height: 50px;
    }

    .rwd-slider-progress-bar--circular .rwd-progress-text {
        font-size: 12px;
    }
}

/* 手機顯示 */
@media (max-width: 767px) {
    .rwd-slider-progress-bar[data-show-mobile="no"] {
        display: none !important;
    }

    /* 手機圓形尺寸調整 */
    .rwd-slider-progress-bar--circular {
        width: 40px;
        height: 40px;
        bottom: 10px;
        right: 10px;
    }

    .rwd-slider-progress-bar--circular .rwd-progress-text {
        font-size: 10px;
    }

    .rwd-slider-progress-bar--circular circle {
        stroke-width: 2;
    }
}

/* ========== 與 Swiper Autoplay Progress 整合 ========== */
/* 支援既有的 .rwd-autoplay-progress 樣式（向後相容） */
.rwd-autoplay-progress {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    height: 4px;
    background: var(--progress-bar-bg-color, rgba(255,255,255,0.3));
    z-index: 20;
}

.rwd-autoplay-progress-bar {
    height: 100%;
    background: var(--progress-bar-color, #0073aa);
    width: 0%;
    transition: width 0.1s linear;
}

/* ========== 暗色模式支援 ========== */
@media (prefers-color-scheme: dark) {
    .rwd-slider-progress-bar--linear::before,
    .rwd-slider-progress-bar--circular {
        background: var(--progress-bar-bg-color, rgba(0,0,0,0.5));
    }
}

/* ========== Lighthouse 觸控目標修正 ==========
   將可點擊區域放大，但保留原本的小圓點 / 線條視覺。 */
.rwd-slider-wrapper:not(.rwd-slider--centered):not(.rwd-slider--centered-flat):not(.rwd-slider--centered-landscape):not(.rwd-slider--arrows-external-sides) {
    width: 100%;
    min-width: 0;
    overflow-x: clip;
}

.rwd-slider-wrapper:not(.rwd-slider--centered):not(.rwd-slider--centered-flat):not(.rwd-slider--centered-landscape):not(.rwd-slider--arrows-external-sides) .rwd-slider-main-area,
.rwd-slider-wrapper:not(.rwd-slider--centered):not(.rwd-slider--centered-flat):not(.rwd-slider--centered-landscape):not(.rwd-slider--arrows-external-sides) .rwd-slider-container,
.rwd-slider-wrapper:not(.rwd-slider--centered):not(.rwd-slider--centered-flat):not(.rwd-slider--centered-landscape):not(.rwd-slider--arrows-external-sides) .rwd-slider__external-controls--bottom {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: clip;
}

@supports not (overflow: clip) {
    .rwd-slider-wrapper:not(.rwd-slider--centered):not(.rwd-slider--centered-flat):not(.rwd-slider--centered-landscape):not(.rwd-slider--arrows-external-sides),
    .rwd-slider-wrapper:not(.rwd-slider--centered):not(.rwd-slider--centered-flat):not(.rwd-slider--centered-landscape):not(.rwd-slider--arrows-external-sides) .rwd-slider-main-area,
    .rwd-slider-wrapper:not(.rwd-slider--centered):not(.rwd-slider--centered-flat):not(.rwd-slider--centered-landscape):not(.rwd-slider--arrows-external-sides) .rwd-slider-container,
    .rwd-slider-wrapper:not(.rwd-slider--centered):not(.rwd-slider--centered-flat):not(.rwd-slider--centered-landscape):not(.rwd-slider--arrows-external-sides) .rwd-slider__external-controls--bottom {
        overflow-x: hidden;
    }
}

.rwd-slider-wrapper .swiper-pagination {
    gap: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 100%;
    overflow: visible;
    row-gap: 0;
    column-gap: 0;
}

.rwd-slider-wrapper.rwd-pagination--dots .rwd-slider__external-controls--bottom > .rwd-slider__pagination,
.rwd-slider-wrapper.rwd-pagination--dots .rwd-slider__external-controls--bottom > .swiper-pagination {
    display: inline-flex !important;
    flex: 0 1 auto;
    width: auto !important;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    padding: 0;
}

.rwd-slider-wrapper.rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet,
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination .swiper-pagination-bullet,
.rwd-slider-wrapper:not([data-bullet-style]).rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet,
.rwd-slider-wrapper.rwd-pagination--lines .swiper-pagination .swiper-pagination-bullet,
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination .swiper-pagination-bullet {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 40px !important;
    min-height: 40px !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-color: transparent !important;
    box-sizing: border-box;
    flex: 0 0 40px;
    color: transparent;
    font-size: 0;
    line-height: 0;
    opacity: 1 !important;
    overflow: visible;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none !important;
    transform: none !important;
    touch-action: manipulation;
}

.rwd-slider-wrapper.rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet-active,
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination .swiper-pagination-bullet-active,
.rwd-slider-wrapper:not([data-bullet-style]).rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet-active,
.rwd-slider-wrapper.rwd-pagination--lines .swiper-pagination .swiper-pagination-bullet-active,
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination .swiper-pagination-bullet-active {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.rwd-slider-wrapper.rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet,
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination .swiper-pagination-bullet,
.rwd-slider-wrapper:not([data-bullet-style]).rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 calc((var(--rwd-dot-width, var(--rwd-pagination-size-desktop, var(--pagination-size, 11px))) + var(--rwd-pagination-gap, 8px) - 40px) * 0.5) !important;
}

.rwd-slider-wrapper.rwd-pagination--lines .swiper-pagination .swiper-pagination-bullet,
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination .swiper-pagination-bullet {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 calc((var(--rwd-line-width, calc(var(--rwd-pagination-size-desktop, 25px) * 2)) + var(--rwd-pagination-gap, var(--pagination-gap, 8px)) - 40px) * 0.5) !important;
}

.rwd-slider-wrapper.rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet::before,
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination .swiper-pagination-bullet::before,
.rwd-slider-wrapper:not([data-bullet-style]).rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet::before,
.rwd-slider-wrapper.rwd-pagination--lines .swiper-pagination .swiper-pagination-bullet::before,
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination .swiper-pagination-bullet::before {
    content: "";
    display: block;
    width: var(--rwd-dot-width, var(--rwd-pagination-size-desktop, var(--pagination-size, 11px)));
    height: var(--rwd-dot-height, var(--rwd-pagination-size-desktop, var(--pagination-size, 11px)));
    border-radius: var(--rwd-dot-radius, 50%);
    background: var(--rwd-pagination-color, var(--pagination-inactive-color, #ccc));
    border: 0;
    box-sizing: border-box;
    box-shadow: none !important;
    outline: 0;
    background-clip: padding-box;
    opacity: 1;
    transition: transform 0.2s ease, background-color 0.2s ease, width 0.2s ease;
}

.rwd-slider-wrapper.rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet-active::before,
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination .swiper-pagination-bullet-active::before,
.rwd-slider-wrapper:not([data-bullet-style]).rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet-active::before {
    background: var(--rwd-pagination-active-color, var(--pagination-color, #0073aa));
    transform: scale(1.3);
}

.rwd-slider-wrapper.rwd-pagination--lines .swiper-pagination .swiper-pagination-bullet-active::before,
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination .swiper-pagination-bullet-active::before {
    background: var(--rwd-pagination-active-color, var(--pagination-color, #0073aa));
}

.rwd-slider-wrapper.rwd-pagination--lines .swiper-pagination-bullet::before,
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination-bullet::before {
    width: var(--rwd-line-width, calc(var(--rwd-pagination-size-desktop, 25px) * 2));
    height: max(2px, calc(var(--rwd-pagination-size-desktop, 4px) / 2));
    opacity: 0.6;
    border: 0;
    border-radius: 999px;
}

.rwd-slider-wrapper.rwd-pagination--lines .swiper-pagination-bullet-active::before,
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination-bullet-active::before {
    width: var(--rwd-line-active-width, calc(var(--rwd-pagination-size-desktop, 25px) * 3));
    opacity: 1;
    transform: none;
}

.rwd-slider-wrapper.rwd-pagination--numbers .swiper-pagination .swiper-pagination-bullet {
    min-width: 40px !important;
    min-height: 40px !important;
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 calc(var(--rwd-pagination-gap, var(--pagination-gap, 8px)) / 2) !important;
    transform: none !important;
    touch-action: manipulation;
}

.rwd-slider-wrapper.rwd-pagination--numbers .swiper-pagination .swiper-pagination-bullet-active {
    transform: none !important;
}

.rwd-slider-wrapper.rwd-pagination--progressbar .swiper-pagination-progressbar {
    display: block;
}

@media (max-width: 1180px) {
    .rwd-slider-wrapper {
        --rwd-dot-width: var(--rwd-dot-width-tablet, var(--rwd-pagination-size-tablet, 9px));
        --rwd-dot-height: var(--rwd-dot-height-tablet, var(--rwd-pagination-size-tablet, 9px));
        --rwd-line-width: calc(var(--rwd-pagination-size-tablet, 20px) * 2);
        --rwd-line-active-width: calc(var(--rwd-pagination-size-tablet, 20px) * 3);
    }
}

@media (max-width: 767px) {
    .rwd-slider-wrapper {
        --rwd-dot-width: var(--rwd-dot-width-mobile, var(--rwd-pagination-size-mobile, 8px));
        --rwd-dot-height: var(--rwd-dot-height-mobile, var(--rwd-pagination-size-mobile, 8px));
        --rwd-line-width: calc(var(--rwd-pagination-size-mobile, 16px) * 2);
        --rwd-line-active-width: calc(var(--rwd-pagination-size-mobile, 16px) * 3);
    }
}

.rwd-slider-wrapper .swiper-pagination .swiper-pagination-bullet:focus {
    outline: none !important;
}

.rwd-slider-wrapper.rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet:focus-visible,
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination .swiper-pagination-bullet:focus-visible,
.rwd-slider-wrapper:not([data-bullet-style]).rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet:focus-visible,
.rwd-slider-wrapper.rwd-pagination--lines .swiper-pagination .swiper-pagination-bullet:focus-visible,
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination .swiper-pagination-bullet:focus-visible {
    outline: none !important;
}

.rwd-slider-wrapper.rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet:focus-visible::before,
.rwd-slider-wrapper[data-bullet-style="dot"] .swiper-pagination .swiper-pagination-bullet:focus-visible::before,
.rwd-slider-wrapper:not([data-bullet-style]).rwd-pagination--dots .swiper-pagination .swiper-pagination-bullet:focus-visible::before,
.rwd-slider-wrapper.rwd-pagination--lines .swiper-pagination .swiper-pagination-bullet:focus-visible::before,
.rwd-slider-wrapper[data-bullet-style="bar"] .swiper-pagination .swiper-pagination-bullet:focus-visible::before {
    box-shadow: 0 0 0 3px rgba(14, 116, 144, 0.35);
}

.rwd-slider-wrapper.rwd-pagination--numbers .swiper-pagination .swiper-pagination-bullet:focus-visible {
    outline: 3px solid rgba(14, 116, 144, 0.55);
    outline-offset: -4px;
}

.rwd-slider__sponsor-disclosure {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: min(72%, 420px);
    padding: 6px 10px;
    border: 1px solid color-mix(in srgb, var(--rwd-slider-sponsor-color, #111827) 28%, transparent);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--rwd-slider-sponsor-color, #111827);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(10px);
}

.rwd-slider__sponsor-disclosure--ribbon {
    border-radius: 0 999px 999px 0;
    left: 0;
}

.rwd-slider__sponsor-disclosure--minimal {
    border-color: transparent;
    background: rgba(17, 24, 39, 0.68);
    color: #fff;
    box-shadow: none;
}

.rwd-slider__sponsor-disclosure--outline {
    background: rgba(255, 255, 255, 0.75);
}

.rwd-slider__sponsor-logo {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    object-fit: cover;
    flex: 0 0 22px;
}

.rwd-slider__sponsor-text {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.rwd-slider__sponsor-advertiser,
.rwd-slider__sponsor-copy {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    opacity: 0.82;
}

.rwd-slider__slide--purpose-ad .rwd-slider__cover-link,
.rwd-slider__slide--purpose-sponsored .rwd-slider__cover-link,
.rwd-slider__slide--purpose-co_promo .rwd-slider__cover-link {
    cursor: pointer;
}

@media (max-width: 767px) {
    .rwd-slider__sponsor-disclosure {
        top: 10px;
        left: 10px;
        max-width: calc(100% - 20px);
        font-size: 11px;
    }

    .rwd-slider__sponsor-copy {
        display: none;
    }
}

/* ========== Print 媒體隱藏 ========== */
@media print {
    .rwd-slider-progress-bar {
        display: none !important;
    }
}
