/* Base Container */
.tds-wrapper {
    display: flex;
    width: 100%;
    overflow: hidden;
    color: #fff;
    font-family: 'Helvetica', sans-serif;
    box-sizing: border-box;
}

/* Left Column */
.tds-left-col {
    height: 100%;
    position: relative;
}

.tds-left-col .swiper-slide {
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    padding: 60px 40px;
    position: relative;
    box-sizing: border-box;
}

.tds-overlay {
    position: absolute;
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%;
    z-index: 1;
    pointer-events: none; /* Allows clicks/swipes to pass through to the slider */
}

.tds-content-box {
    position: relative;
    z-index: 2;
}

.tds-title { font-size: 42px; font-weight: 800; margin: 0 0 15px 0; line-height: 1.1; color: #fff; }
.tds-desc { font-size: 16px; opacity: 0.8; margin-bottom: 25px; line-height: 1.6; }
.tds-btn { 
    display: inline-block; padding: 12px 30px; border: 2px solid #fff; border-radius: 50px; 
    color: #fff; text-decoration: none; font-weight: 600; transition: all 0.3s ease;
}
.tds-btn:hover { background: #fff; color: #111; }

/* Right Column */
.tds-right-col {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
}

/* Vertical Alignment Logic */
.tds-panel-container {
    width: 100%;
    position: relative;
    flex-grow: 0; /* Prevents stretching so vertical align works */
}

.tds-grid-panel {
    display: none;
    width: 100%;
}

.tds-grid-panel.active {
    display: block;
}

/* Card Styling - Removing the "Strip" bug */
.tds-card { 
    position: relative; 
    overflow: hidden; 
    display: block;
    line-height: 0; /* Removes space under image */
    font-size: 0;   /* Removes space under image */
    text-decoration: none;
}

.tds-card-img img { 
    width: 100%; 
    display: block; 
    border: none; 
    margin: 0; 
    padding: 0;
}

.tds-card-overlay { 
    position: absolute; 
    top: 0; left: 0; width: 100%; height: 100%; 
    display: flex; padding: 20px; box-sizing: border-box; 
    pointer-events: none; 
}

.tds-card-overlay h5 { 
    margin: 0; 
    line-height: 1.2;
}

/* Pagination & Navigation */
.tds-pagination {
    position: absolute; bottom: 30px !important; left: 40px !important;
    text-align: left !important; width: auto !important; z-index: 10;
}
.swiper-pagination-bullet { background: #fff !important; opacity: 0.5; }
.swiper-pagination-bullet-active { opacity: 1; width: 30px; border-radius: 5px; }

/* Inner Swiper Nav Colors */
.tds-inner-next, .tds-inner-prev { color: #fff; transform: scale(0.6); }

/* Animations */
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes slide-up { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slide-left { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }

/* Mobile */
@media (max-width: 768px) {
    .tds-wrapper { flex-direction: column; height: auto !important; }
    .tds-left-col, .tds-right-col { width: 100% !important; height: 500px !important; }
}