/* ============================================================
   SANNAWAVE — SLIDER STYLES (Swiper 11)
   ============================================================ */

/* ─── Hero Slider ─────────────────────────────────────────── */
.sw-hero-slider-wrap {
    position: relative;
    overflow: hidden;
    background: var(--sw-bg-dark);
}

.sw-hero-slider {
    width: 100%;
    height: 100vh;
    min-height: 600px;
    max-height: 900px;
}

.sw-hero-slide {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* Background image */
.sw-hero-slide__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}
.sw-hero-slide__bg img,
.sw-hero-slide__bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.06);
    transition: transform 6s ease-out;
}
.swiper-slide-active .sw-hero-slide__bg img,
.swiper-slide-active .sw-hero-slide__bg video {
    transform: scale(1);
}

/* Fallback gradient (no image) */
.sw-hero-slide--no-image .sw-hero-slide__bg {
    background: linear-gradient(
        135deg,
        var(--sw-bg-dark) 0%,
        #1a1a18 40%,
        #0e2e22 100%
    );
}

/* Overlay */
.sw-hero-slide__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        105deg,
        rgba(0,0,0,.72) 0%,
        rgba(0,0,0,.30) 55%,
        rgba(0,0,0,.10) 100%
    );
}
.sw-hero-slide--center .sw-hero-slide__overlay {
    background: rgba(0,0,0,.50);
}
.sw-hero-slide--light .sw-hero-slide__overlay {
    background: linear-gradient(
        105deg,
        rgba(255,255,255,.85) 0%,
        rgba(255,255,255,.55) 60%,
        rgba(255,255,255,.10) 100%
    );
}

/* Radial teal accent (no-image slides) */
.sw-hero-slide--no-image .sw-hero-slide__overlay::after {
    content: '';
    position: absolute;
    top: -10%;
    right: -5%;
    width: 60vw;
    height: 60vw;
    background: radial-gradient(circle, rgba(29,158,117,.14) 0%, transparent 65%);
    border-radius: 50%;
    pointer-events: none;
}
.sw-hero-slide--no-image .sw-hero-slide__overlay::before {
    content: '';
    position: absolute;
    bottom: -15%;
    left: -5%;
    width: 45vw;
    height: 45vw;
    background: radial-gradient(circle, rgba(83,74,183,.1) 0%, transparent 65%);
    border-radius: 50%;
    pointer-events: none;
}

/* Content */
.sw-hero-slide__content {
    position: relative;
    z-index: 2;
    padding: 0 0 0 0;
    max-width: 660px;
}
.sw-hero-slide--center .sw-hero-slide__content {
    max-width: 760px;
    text-align: center;
    margin: 0 auto;
}

.sw-hero-slide__container {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--space-6);
    height: 100%;
    display: flex;
    align-items: center;
}

/* Badge */
.sw-hero-slide__badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: .35rem 1rem;
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: rgba(29,158,117,.2);
    color: #6EE7C0;
    border: 1px solid rgba(29,158,117,.35);
    margin-bottom: var(--space-5);
    backdrop-filter: blur(8px);
}
.sw-hero-slide--light .sw-hero-slide__badge {
    background: var(--sw-teal-faint);
    color: var(--sw-teal-dark);
    border-color: rgba(29,158,117,.25);
}

/* Headline */
.sw-hero-slide__headline {
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 5.5vw, 3rem);
    line-height: 1.06;
    color: #fff;
    margin-bottom: var(--space-6);
    letter-spacing: -.02em;
}
.sw-hero-slide__headline em {
    font-style: italic;
    color: var(--sw-teal-light);
}
.sw-hero-slide--light .sw-hero-slide__headline { color: var(--sw-text); }
.sw-hero-slide--light .sw-hero-slide__headline em { color: var(--sw-teal); }

/* Subtext */
.sw-hero-slide__subtext {
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 300;
    color: rgba(255,255,255,.7);
    line-height: 1.7;
    margin-bottom: var(--space-10);
    max-width: 520px;
}
.sw-hero-slide--center .sw-hero-slide__subtext { margin: 0 auto var(--space-10); }
.sw-hero-slide--light .sw-hero-slide__subtext { color: var(--sw-text-muted); }

/* CTAs */
.sw-hero-slide__cta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    align-items: center;
}
.sw-hero-slide--center .sw-hero-slide__cta { justify-content: center; }

/* Swiper navigation custom */
.sw-hero-slider-wrap .swiper-button-next,
.sw-hero-slider-wrap .swiper-button-prev {
    width: 52px;
    height: 52px;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(12px);
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.18);
    transition: background var(--dur-normal), transform var(--dur-normal);
}
.sw-hero-slider-wrap .swiper-button-next:hover,
.sw-hero-slider-wrap .swiper-button-prev:hover {
    background: rgba(29,158,117,.35);
    transform: scale(1.08);
}
.sw-hero-slider-wrap .swiper-button-next::after,
.sw-hero-slider-wrap .swiper-button-prev::after {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}

/* Swiper pagination bullets */
.sw-hero-slider-wrap .swiper-pagination {
    bottom: 2rem;
}
.sw-hero-slider-wrap .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(255,255,255,.45);
    opacity: 1;
    transition: all var(--dur-normal);
}
.sw-hero-slider-wrap .swiper-pagination-bullet-active {
    background: var(--sw-teal-light);
    width: 28px;
    border-radius: var(--radius-full);
}

/* Progress bar */
.sw-hero-slider__progress {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255,255,255,.1);
    z-index: 10;
}
.sw-hero-slider__progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--sw-teal), var(--sw-indigo));
    width: 0%;
    transition: width linear;
    border-radius: 0 2px 2px 0;
}

/* Slide counter */
.sw-hero-slider__counter {
    position: absolute;
    bottom: 2rem;
    right: 5rem;
    z-index: 10;
    font-size: var(--text-sm);
    color: rgba(255,255,255,.6);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: .35rem;
}
.sw-hero-slider__counter .current {
    font-size: 1.1rem;
    color: #fff;
}

@media (max-width: 768px) {
    .sw-hero-slider { height: 90vh; max-height: 700px; }
    .sw-hero-slide__headline { font-size: clamp(1.9rem, 8vw, 3rem); }
    .sw-hero-slider-wrap .swiper-button-next,
    .sw-hero-slider-wrap .swiper-button-prev { display: none; }
    .sw-hero-slider__counter { display: none; }
}
@media (max-width: 480px) {
    .sw-hero-slide__cta { flex-direction: column; }
    .sw-hero-slide__cta .btn-sw { width: 100%; justify-content: center; }
}

/* ─── Testimonial Slider ──────────────────────────────────── */
.sw-testi-slider-wrap {
    position: relative;
    padding: 0 var(--space-12);
}
@media (max-width: 576px) { .sw-testi-slider-wrap { padding: 0; } }

.sw-testi-slider {
    overflow: visible;
    padding-bottom: var(--space-8);
}

.sw-testi-card {
    background: #fff;
    border-radius: var(--radius-xl);
    border: 1px solid var(--sw-border);
    padding: var(--space-8);
    height: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    transition: box-shadow var(--dur-normal), transform var(--dur-normal);
}
.swiper-slide-active .sw-testi-card,
.swiper-slide:focus-within .sw-testi-card {
    box-shadow: var(--shadow-lg);
}

/* Stars */
.sw-testi-stars {
    display: flex;
    gap: 3px;
}
.sw-testi-star {
    color: #F59E0B;
    font-size: 1rem;
}

/* Quote */
.sw-testi-quote {
    font-family: var(--font-display);
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    line-height: 1.65;
    color: var(--sw-text);
    font-style: italic;
    flex: 1;
}
.sw-testi-quote::before { content: '"'; color: var(--sw-teal); font-size: 1.4em; line-height: 0; vertical-align: -0.35em; margin-right: 2px; }
.sw-testi-quote::after  { content: '"'; color: var(--sw-teal); font-size: 1.4em; line-height: 0; vertical-align: -0.35em; margin-left: 2px; }

/* Author */
.sw-testi-author-row {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: auto;
}
.sw-testi-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--sw-teal-faint);
    flex-shrink: 0;
}
.sw-testi-avatar-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--sw-teal-faint);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}
.sw-testi-name {
    font-weight: 700;
    font-size: var(--text-sm);
    color: var(--sw-text);
    margin-bottom: 1px;
}
.sw-testi-role {
    font-size: var(--text-xs);
    color: var(--sw-text-muted);
}
.sw-testi-use-case {
    font-size: var(--text-xs);
    padding: 3px 8px;
    border-radius: var(--radius-full);
    background: var(--sw-teal-faint);
    color: var(--sw-teal-dark);
    font-weight: 600;
    margin-left: auto;
    white-space: nowrap;
}

/* Testimonial slider pagination */
.sw-testi-slider-wrap .swiper-pagination {
    position: static;
    margin-top: var(--space-4);
}
.sw-testi-slider-wrap .swiper-pagination-bullet {
    background: var(--sw-border);
    opacity: 1;
    transition: all var(--dur-normal);
}
.sw-testi-slider-wrap .swiper-pagination-bullet-active {
    background: var(--sw-teal);
    width: 20px;
    border-radius: var(--radius-full);
}
