/* ==========================================================
   SPtv CHANNEL HERO
   Clean replacement stylesheet for home_hero.blade.php
========================================================== */
.sptv-channel-hero {
    position: relative;
    min-height: 480px;
    overflow: hidden;
    background: #f8f3fa;
}
.sptv-channel-hero__background,
.sptv-channel-hero__wash {
    position: absolute;
    inset: 0;
}
.sptv-channel-hero__background {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    transform-origin: center center;
    animation: sptvHeroMovement 24s ease-in-out infinite alternate;
}
.sptv-channel-hero__wash {
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.99) 0%,
        rgba(255, 255, 255, 0.95) 21%,
        rgba(255, 255, 255, 0.48) 39%,
        rgba(255, 255, 255, 0.05) 58%,
        rgba(255, 255, 255, 0.10) 100%
    );
}
.sptv-channel-hero__inner {
    position: relative;
    z-index: 2;
    width: min(1500px, 96%);
    min-height: 480px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 360px minmax(360px, 1fr) 350px;
    gap: 26px;
    align-items: start;
    padding: 32px 0 18px;
}
/* ==========================================================
   INTRO
========================================================== */
.sptv-channel-hero__intro {
    position: relative;
    z-index: 3;
    padding-left: 8px;
}
.sptv-channel-hero__logo {
    display: block;
    width: 225px;
    max-width: 100%;
    height: auto;
    margin: 0 0 10px;
}
.sptv-channel-hero__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}
.sptv-channel-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 20px;
    border-radius: 7px;
    font-size: 0.87rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}
.sptv-channel-button:hover {
    text-decoration: none;
    transform: translateY(-2px);
}
.sptv-channel-button--primary {
    min-width: 142px;
    border: 1px solid #7141c8;
    background: linear-gradient(135deg, #7646ce, #6133b3);
    color: #fff;
    box-shadow: 0 10px 22px rgba(101, 55, 184, 0.20);
}
.sptv-channel-button--primary:hover {
    border-color: #5c2fac;
    background: #5f32af;
    color: #fff;
}
.sptv-channel-button--secondary {
    min-width: 184px;
    border: 1px solid #8d64ce;
    background: rgba(255, 255, 255, 0.90);
    color: #6638b6;
}
.sptv-channel-button--secondary:hover {
    border-color: #6d3dbc;
    background: #fff;
    color: #572da2;
}
.sptv-channel-button__play,
.sptv-channel-button__sparkle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
}
/* ==========================================================
   TESTIMONIALS
========================================================== */
.sptv-hero-testimonials {
    display: block;
    max-width: 430px;
    margin-top: 28px;
    cursor: pointer;
}
.sptv-testimonial-avatars {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}
.sptv-testimonial-avatar {
    position: relative;
    width: 48px;
    height: 48px;
    margin-left: -9px;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
    background: #fff;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 5px 15px rgba(20, 23, 44, 0.14);
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}
.sptv-testimonial-avatar:first-child {
    margin-left: 0;
}
.sptv-testimonial-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sptv-testimonial-avatar:hover,
.sptv-testimonial-avatar.is-active {
    z-index: 5;
    transform: translateY(-3px) scale(1.08);
}
.sptv-testimonial-avatar.is-active {
    border-color: #7137d8;
    box-shadow: 0 8px 20px rgba(113, 55, 216, 0.28);
}
.sptv-testimonial-content {
    min-height: 92px;
}
.sptv-testimonial-item {
    display: none;
}
.sptv-testimonial-item.is-active {
    display: block;
    animation: sptvTestimonialFade 0.45s ease;
}
.sptv-testimonial-stars {
    display: flex;
    gap: 2px;
    margin-bottom: 4px;
    color: #f4ad24;
    font-size: 12px;
}
.sptv-testimonial-item blockquote {
    max-width: 390px;
    margin: 0;
    color: #24253a;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
}
.sptv-testimonial-author {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 5px;
    color: #676979;
    font-size: 12px;
}
.sptv-testimonial-author strong {
    color: #24253a;
}
.sptv-testimonial-author span::before {
    content: "•";
    margin-right: 5px;
}
/* ==========================================================
   PRESENTER SPACE
========================================================== */
.sptv-channel-hero__presenter-space {
    min-height: 430px;
}
/* ==========================================================
   TV GUIDE
========================================================== */
.sptv-tv-guide {
    position: relative;
    z-index: 4;
    align-self: start;
    width: 100%;
    margin-top: 10px;
    padding: 10px 20px 16px;
    border: 1px solid rgba(110, 76, 141, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow:
        0 22px 55px rgba(55, 38, 73, 0.20),
        0 3px 10px rgba(55, 38, 73, 0.07);
    backdrop-filter: blur(15px);
}
.sptv-tv-guide__live-label {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e92d2d;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    box-shadow: 0 5px 12px rgba(233, 45, 45, 0.24);
}
.sptv-tv-guide__broadcast-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    animation: sptvBroadcastPulse 1.5s infinite;
}
.sptv-tv-guide__featured {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 18px 0 16px;
}
.sptv-tv-guide__featured-image,
.sptv-tv-guide__image-placeholder {
    width: 54px;
    height: 54px;
    border-radius: 50%;
}
.sptv-tv-guide__featured-image,
.sptv-tv-guide__programme-image {
    overflow: hidden;
    background: #eee7f4;
}
.sptv-tv-guide__featured-image img,
.sptv-tv-guide__programme-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sptv-tv-guide__image-placeholder,
.sptv-tv-guide__programme-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #efe5f7, #d8c7ea);
    color: #7146a5;
}
.sptv-tv-guide__featured-content {
    min-width: 0;
}
.sptv-tv-guide__featured-content h2 {
    margin: 0;
    color: #171321;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.25;
}
.sptv-tv-guide__featured-content p {
    margin: 4px 0 8px;
    color: #5c5664;
    font-size: 0.71rem;
    line-height: 1.45;
}
.sptv-tv-guide__featured-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}
.sptv-tv-guide__status,
.sptv-tv-guide__watch {
    display: inline-flex;
    min-height: 23px;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 0.61rem;
    font-weight: 800;
    line-height: 1;
}
.sptv-tv-guide__status {
    background: #ed2d37;
    color: #fff;
}
.sptv-tv-guide__watch {
    background: #eee6f9;
    color: #6234aa;
    text-decoration: none;
}
.sptv-tv-guide__watch:hover {
    background: #e2d4f4;
    color: #542a98;
    text-decoration: none;
}
.sptv-tv-guide__schedule {
    border-top: 1px solid #e7e2eb;
}
.sptv-tv-guide__section-title {
    padding: 13px 0 7px;
    color: #625c69;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.07em;
}
.sptv-tv-guide__programme {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 9px 0;
    border-bottom: 1px solid #ede9f0;
}
.sptv-tv-guide__programme:last-child {
    border-bottom: 0;
}
.sptv-tv-guide__programme-image,
.sptv-tv-guide__programme-placeholder {
    width: 44px;
    height: 44px;
    border-radius: 50%;
}
.sptv-tv-guide__programme-details {
    min-width: 0;
}
.sptv-tv-guide__programme-details time {
    display: block;
    margin-bottom: 1px;
    color: #67616e;
    font-size: 0.62rem;
    line-height: 1.25;
}
.sptv-tv-guide__programme-details h3,
.sptv-tv-guide__programme-details p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sptv-tv-guide__programme-details h3 {
    margin: 0;
    color: #171321;
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.3;
}
.sptv-tv-guide__programme-details p {
    margin: 2px 0 0;
    color: #706a76;
    font-size: 0.63rem;
    line-height: 1.3;
}
/* ==========================================================
   LAPTOP
========================================================== */
@media (max-width: 1250px) and (min-width: 993px) {
    .sptv-channel-hero__inner {
        width: min(1180px, 95%);
        grid-template-columns: 310px minmax(280px, 1fr) 310px;
        gap: 18px;
    }
    .sptv-channel-hero__logo {
        width: 195px;
    }
    .sptv-channel-hero__actions {
        flex-direction: column;
        align-items: flex-start;
    }
    .sptv-channel-button {
        width: 210px;
    }
}
/* ==========================================================
   TABLET / IPAD
   Same overlay composition, scaled down
========================================================== */
@media (max-width: 992px) and (min-width: 601px) {
    .sptv-channel-hero,
    .sptv-channel-hero__inner {
        min-height: 400px;
        height: 400px;
    }
    .sptv-channel-hero__background {
        animation: none;
        transform: none;
    }
    .sptv-channel-hero__wash {
        background: linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(255, 255, 255, 0.87) 24%,
            rgba(255, 255, 255, 0.25) 47%,
            rgba(255, 255, 255, 0.05) 66%,
            rgba(255, 255, 255, 0.10) 100%
        );
    }
    .sptv-channel-hero__inner {
        width: 94%;
        grid-template-columns: 210px minmax(80px, 1fr) 260px;
        gap: 12px;
        padding: 20px 0 12px;
    }
    .sptv-channel-hero__intro {
        padding-left: 0;
    }
    .sptv-channel-hero__logo {
        width: 145px;
    }
    .sptv-channel-hero__actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-top: 14px;
    }
    .sptv-channel-button {
        width: 180px;
        min-width: 0;
        min-height: 40px;
        padding: 9px 12px;
        font-size: 0.74rem;
    }
    .sptv-channel-hero__presenter-space {
        min-height: 360px;
    }
    .sptv-hero-testimonials {
        width: 205px;
        margin-top: 16px;
    }
    .sptv-testimonial-avatar {
        width: 34px;
        height: 34px;
        margin-left: -7px;
        border-width: 2px;
    }
    .sptv-testimonial-content {
        min-height: 70px;
    }
    .sptv-testimonial-stars {
        font-size: 9px;
    }
    .sptv-testimonial-item blockquote {
        font-size: 10px;
        line-height: 1.35;
    }
    .sptv-testimonial-author {
        font-size: 9px;
    }
    .sptv-tv-guide {
        margin-top: 0;
        padding: 11px 12px 9px;
    }
    .sptv-tv-guide__live-label {
        min-height: 23px;
        padding: 5px 8px;
        font-size: 0.56rem;
    }
    .sptv-tv-guide__featured {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 8px;
        padding: 10px 0;
    }
    .sptv-tv-guide__featured-image,
    .sptv-tv-guide__image-placeholder {
        width: 42px;
        height: 42px;
    }
    .sptv-tv-guide__featured-content h2 {
        font-size: 0.78rem;
    }
    .sptv-tv-guide__featured-content p {
        margin: 3px 0 5px;
        font-size: 0.59rem;
    }
    .sptv-tv-guide__status,
    .sptv-tv-guide__watch {
        min-height: 20px;
        padding: 4px 7px;
        font-size: 0.53rem;
    }
    .sptv-tv-guide__section-title {
        padding: 8px 0 4px;
        font-size: 0.53rem;
    }
    .sptv-tv-guide__programme {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 7px;
        padding: 5px 0;
    }
    .sptv-tv-guide__programme-image,
    .sptv-tv-guide__programme-placeholder {
        width: 33px;
        height: 33px;
    }
    .sptv-tv-guide__programme-details time {
        font-size: 0.52rem;
    }
    .sptv-tv-guide__programme-details h3 {
        font-size: 0.61rem;
    }
    .sptv-tv-guide__programme-details p {
        font-size: 0.53rem;
    }
}
/* ==========================================================
   MOBILE
   Image first, content stacked underneath
========================================================== */
@media (max-width: 600px) {
    .sptv-channel-hero {
        min-height: 0;
        height: auto;
        overflow: visible;
        background: #f8f3fa;
    }
    .sptv-channel-hero__background {
        position: relative;
        inset: auto;
        width: 100%;
        height: 310px;
        background-position: center center;
        animation: none;
        transform: none;
    }
    .sptv-channel-hero__wash {
        top: 0;
        right: 0;
        bottom: auto;
        left: 0;
        height: 310px;
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.03) 58%,
            rgba(248, 243, 250, 0.72) 86%,
            #f8f3fa 100%
        );
    }
    .sptv-channel-hero__inner {
        width: min(92%, 520px);
        min-height: 0;
        height: auto;
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 24px 0 42px;
    }
    .sptv-channel-hero__intro {
        order: 1;
        width: 100%;
        padding: 0;
        text-align: center;
    }
    .sptv-channel-hero__logo {
        width: 180px;
        margin: 0 auto 12px;
    }
    .sptv-channel-hero__actions {
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin-top: 20px;
    }
    .sptv-channel-button {
        width: min(100%, 330px);
        min-width: 0;
    }
    .sptv-channel-hero__presenter-space {
        display: none;
    }
    .sptv-hero-testimonials {
        width: 100%;
        margin: 24px auto 0;
        text-align: center;
    }
    .sptv-testimonial-avatars,
    .sptv-testimonial-stars,
    .sptv-testimonial-author {
        justify-content: center;
    }
    .sptv-testimonial-avatars {
        flex-wrap: wrap;
        row-gap: 8px;
    }
    .sptv-testimonial-avatar {
        width: 42px;
        height: 42px;
    }
    .sptv-testimonial-item blockquote {
        max-width: none;
        font-size: 13px;
    }
    .sptv-tv-guide {
        order: 2;
        width: 100%;
        margin: 0;
        padding: 17px 15px 13px;
    }
    .sptv-tv-guide__featured {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 10px;
        padding: 15px 0 14px;
    }
    .sptv-tv-guide__featured-image,
    .sptv-tv-guide__image-placeholder {
        width: 48px;
        height: 48px;
    }
    .sptv-tv-guide__programme {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 9px;
    }
    .sptv-tv-guide__programme-image,
    .sptv-tv-guide__programme-placeholder {
        width: 40px;
        height: 40px;
    }
}
@media (max-width: 390px) {
    .sptv-channel-hero__background,
    .sptv-channel-hero__wash {
        height: 275px;
    }
    .sptv-channel-hero__inner {
        width: 94%;
    }
    .sptv-channel-hero__logo {
        width: 165px;
    }
    .sptv-channel-button {
        width: 100%;
        font-size: 0.82rem;
    }
    .sptv-testimonial-avatar {
        width: 38px;
        height: 38px;
        margin-left: -6px;
    }
}
/* ==========================================================
   ANIMATIONS / ACCESSIBILITY
========================================================== */
@keyframes sptvHeroMovement {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.035);
    }
}
@keyframes sptvBroadcastPulse {
    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.25);
        opacity: 0.6;
    }
}
@keyframes sptvTestimonialFade {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (prefers-reduced-motion: reduce) {
    .sptv-channel-hero__background,
    .sptv-tv-guide__broadcast-icon,
    .sptv-testimonial-item.is-active {
        animation: none;
    }
}

/* =========================================================
   SPtv Home Welcome
========================================================= */

.sptv-home-welcome {
    position: relative;
    padding: 72px 0 84px;
    background: #f4f3f7;
}

.sptv-home-welcome .sptv-container {
    width: min(1480px, calc(100% - 48px));
    margin: 0 auto;
}

.sptv-home-welcome-box {
    position: relative;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
    padding: 36px 58px 48px 36px;
    background: #ffffff;
    border-radius: 32px;
    box-shadow: 0 24px 70px rgba(35, 25, 55, 0.09);
}

/* =========================================================
   Personal Welcome Panel
========================================================= */

.sptv-home-intro,
.sptv-welcome {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px 10px 12px 4px;
}

.sptv-home-intro .sptv-welcome-small,
.sptv-home-intro .sptv-home-intro-kicker,
.sptv-welcome-small {
    display: block;
    margin: 0 0 12px;
    color: #7250a4;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.sptv-home-intro h2{
    margin:0 0 18px;
    font-family: "Allura", cursive;
    font-size:34px;
    font-weight:400;
    line-height:1.08;
    color:#6d47b1;
}

.sptv-home-intro p,
.sptv-home-intro .sptv-welcome-text,
.sptv-welcome-text {
    margin: 0;
    color: #6d6872;
    font-size: 14px;
    line-height: 1.72;
}

.sptv-home-intro-footer,
.sptv-welcome-founder,
.sptv-welcome-person {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.sptv-home-intro-footer img,
.sptv-welcome-founder img,
.sptv-welcome-person img,
.sptv-welcome-photo img {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: block;
    object-fit: cover;
    border-radius: 50%;
}

.sptv-welcome-photo {
    margin: 0 0 18px;
}

.sptv-home-intro-name,
.sptv-welcome-founder-name {
    display: block;
    color: #34263f;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 800;
}

.sptv-home-intro-role,
.sptv-welcome-founder-role {
    display: block;
    margin-top: 2px;
    color: #918a96;
    font-size: 12px;
    line-height: 1.25;
}

.sptv-welcome-signature {
    margin-top: 10px;
}

.sptv-welcome-signature img {
    display: block;
    width: auto;
    max-width: 135px;
    max-height: 54px;
}

/* =========================================================
   Carousel Area
========================================================= */

.sptv-home-slider {
    min-width: 0;
    width: 100%;
    position: relative;
}

.sptv-home-cards {
    position: relative;
}

.sptv-home-cards .owl-stage-outer {
    overflow: hidden;
    padding: 4px 2px 18px;
}

.sptv-home-cards .owl-stage {
    display: flex;
}

.sptv-home-cards .owl-item {
    display: flex;
    min-height: 100%;
}

.sptv-home-cards .owl-item > article {
    width: 100%;
}

/* =========================================================
   Feature Cards
========================================================= */

.sptv-home-card {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #ece8f0;
    border-radius: 21px;
    box-shadow: 0 9px 24px rgba(44, 30, 58, 0.08);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.sptv-home-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 34px rgba(44, 30, 58, 0.13);
}

.sptv-home-card-image {
    position: relative;
    width: 100%;
    height: 178px;
    overflow: hidden;
    background: #eeeaf1;
}

.sptv-home-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.sptv-home-card:hover .sptv-home-card-image img {
    transform: scale(1.035);
}

.sptv-home-card-body {
    min-height: 190px;
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 19px 19px 20px;
}

.sptv-home-card-category {
    display: block;
    margin: 0 0 9px;
    color: #7650a6;
    font-size: 10px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
}

.sptv-home-card-body h3 {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 10px;
    color: #312738;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 800;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sptv-home-card-body p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 17px;
    color: #77717c;
    font-size: 13px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.sptv-home-card-body a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: auto;
    color: #6f489d;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
    text-decoration: none;
}

.sptv-home-card-body a i {
    font-size: 11px;
    transition: transform 0.2s ease;
}

.sptv-home-card-body a:hover i {
    transform: translateX(4px);
}

/* =========================================================
   Owl Navigation
========================================================= */

.sptv-home-cards .owl-nav {
    position: static;
    margin: 0;
}

.sptv-home-cards .owl-nav button.owl-prev,
.sptv-home-cards .owl-nav button.owl-next {
    position: absolute;
    top: calc(50% - 31px);
    z-index: 5;
    width: 46px;
    height: 46px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    color: #5f3d86 !important;
    background: #ffffff !important;
    border: 1px solid #ebe5ef !important;
    border-radius: 50% !important;
    box-shadow: 0 6px 16px rgba(43, 28, 57, 0.14);
    font-size: 0 !important;
}

.sptv-home-cards .owl-nav button.owl-prev {
    left: -22px;
}

.sptv-home-cards .owl-nav button.owl-next {
    right: -44px;
}

.sptv-home-cards .owl-nav button.owl-prev::before,
.sptv-home-cards .owl-nav button.owl-next::before {
    font-family: "Font Awesome 5 Free";
    font-size: 15px;
    font-weight: 900;
}

.sptv-home-cards .owl-nav button.owl-prev::before {
    content: "\f053";
}

.sptv-home-cards .owl-nav button.owl-next::before {
    content: "\f054";
}

.sptv-home-cards .owl-nav button.disabled {
    opacity: 0.35;
    cursor: default;
}

.sptv-home-cards .owl-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
}

.sptv-home-cards .owl-dots .owl-dot {
    margin: 0;
}

.sptv-home-cards .owl-dots .owl-dot span {
    width: 7px;
    height: 7px;
    margin: 0;
    display: block;
    background: #d8d1dd;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.sptv-home-cards .owl-dots .owl-dot.active span {
    width: 22px;
    background: #74509c;
    border-radius: 10px;
}

/* =========================================================
   Large Tablet
========================================================= */

@media (max-width: 1199px) {
    .sptv-home-welcome-box {
        grid-template-columns: 210px minmax(0, 1fr);
        gap: 24px;
        padding-right: 48px;
    }

    .sptv-home-card-image {
        height: 190px;
    }

    .sptv-home-cards .owl-nav button.owl-next {
        right: -36px;
    }
}

/* =========================================================
   Tablet
========================================================= */

@media (max-width: 991px) {
    .sptv-home-welcome {
        padding: 58px 0 72px;
    }

    .sptv-home-welcome-box {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 34px 44px 34px;
    }

    .sptv-home-intro,
    .sptv-welcome {
        max-width: 650px;
        padding: 0;
    }

    .sptv-home-intro h2,
    .sptv-welcome-title {
        font-size: 38px;
    }

    .sptv-home-cards .owl-nav button.owl-prev {
        left: -22px;
    }

    .sptv-home-cards .owl-nav button.owl-next {
        right: -22px;
    }
}

/* =========================================================
   Mobile
========================================================= */

@media (max-width: 767px) {
    .sptv-home-welcome {
        padding: 42px 0 62px;
    }

    .sptv-home-welcome .sptv-container {
        width: min(100% - 24px, 1480px);
    }

    .sptv-home-welcome-box {
        gap: 25px;
        padding: 27px 24px 34px;
        border-radius: 24px;
    }

    .sptv-home-intro h2,
    .sptv-welcome-title {
        font-size: 33px;
    }

    .sptv-home-card-image {
        height: 205px;
    }

    .sptv-home-card-body {
        min-height: 180px;
    }

    .sptv-home-cards .owl-nav button.owl-prev,
    .sptv-home-cards .owl-nav button.owl-next {
        top: calc(50% - 28px);
        width: 40px;
        height: 40px;
    }

    .sptv-home-cards .owl-nav button.owl-prev {
        left: -17px;
    }

    .sptv-home-cards .owl-nav button.owl-next {
        right: -17px;
    }
}

/* ==========================================================
   SPtv Featured Event Advert
========================================================== */

.sptv-event-advert {
    padding: 28px 0 42px;
    background: #f5f3f8;
}

.sptv-event-advert .sptv-container {
    width: min(1400px, 94%);
    margin: 0 auto;
}

.sptv-event-advert__banner {
    position: relative;
    min-height: 350px;
    overflow: hidden;
    border-radius: 20px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0 18px 45px rgba(47, 31, 62, 0.18);
}

.sptv-event-advert__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(36, 21, 53, 0.94) 0%,
            rgba(50, 28, 72, 0.86) 31%,
            rgba(63, 37, 86, 0.72) 58%,
            rgba(35, 21, 48, 0.82) 100%
        );
}

.sptv-event-advert__content {
    position: relative;
    object-position: top !important;
    z-index: 2;
    min-height: 330px;
    display: grid;
    grid-template-columns: minmax(360px, 1.05fr) minmax(250px, 0.72fr) minmax(420px, 1.2fr);
    gap: 28px;
    align-items: center;
    padding: 28px 34px;
}

/* ==========================================================
   Left Event Introduction
========================================================== */

.sptv-event-advert__intro {
    min-width: 0;
    color: #ffffff;
}

.sptv-event-advert__label {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 7px;
    margin-bottom: 13px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #d5ad43;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: 0 6px 16px rgba(22, 12, 31, 0.2);
}

.sptv-event-advert__intro h2 {
    max-width: 520px;
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 2.2vw, 2.55rem);
    font-weight: 500;
    line-height: 1.05;
    text-shadow: 0 3px 12px rgba(19, 10, 27, 0.24);
}

.sptv-event-advert__date {
    margin-top: 13px;
    color: #f4eaf9;
    font-size: 0.96rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.sptv-event-advert__date span {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: none;
}

.sptv-event-advert__intro p {
    display: -webkit-box;
    max-width: 460px;
    overflow: hidden;
    margin: 14px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.78rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.sptv-event-advert__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.sptv-event-advert__button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 16px;
    border-radius: 7px;
    font-size: 0.72rem;
    font-weight: 800;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

.sptv-event-advert__button:hover {
    text-decoration: none;
    transform: translateY(-2px);
}

.sptv-event-advert__button--primary {
    background: #d6ae42;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(22, 12, 31, 0.22);
}

.sptv-event-advert__button--primary:hover {
    background: #c79d31;
    color: #ffffff;
}

.sptv-event-advert__button--secondary {
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.13);
    color: #ffffff;
    backdrop-filter: blur(8px);
}

.sptv-event-advert__button--secondary:hover {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
}

/* ==========================================================
   Centre Event Features
========================================================== */

.sptv-event-advert__features {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 30px rgba(22, 12, 31, 0.2);
    backdrop-filter: blur(12px);
}

.sptv-event-advert__feature {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.sptv-event-advert__feature-icon {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #eee7f6;
    color: #70449e;
    font-size: 0.78rem;
}

.sptv-event-advert__feature div {
    min-width: 0;
}

.sptv-event-advert__feature strong,
.sptv-event-advert__feature div > span {
    display: block;
}

.sptv-event-advert__feature strong {
    color: #34283d;
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.3;
}

.sptv-event-advert__feature div > span {
    margin-top: 2px;
    color: #79717e;
    font-size: 0.82rem;
    line-height: 1.35;
}

/* ==========================================================
   Countdown and Featured Mediums
========================================================== */

.sptv-event-advert__countdown-wrap {
    min-width: 0;
    text-align: center;
}

.sptv-event-advert__countdown-title {
    display: block;
    margin-bottom: 12px;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.sptv-event-advert__countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(60px, 1fr));
    gap: 8px;
}

.sptv-event-advert__countdown > div {
    padding: 12px 7px 10px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.93);
    box-shadow: 0 9px 22px rgba(22, 12, 31, 0.2);
}

.sptv-event-advert__countdown strong,
.sptv-event-advert__countdown span {
    display: block;
}

.sptv-event-advert__countdown strong {
    color: #7245a2;
    font-size: 1.45rem;
    font-weight: 900;
    line-height: 1;
}

.sptv-event-advert__countdown span {
    margin-top: 6px;
    color: #6e6673;
    font-size: 0.52rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.sptv-event-advert__mediums {
    margin-top: 18px;
}

.sptv-event-advert__mediums-title {
    display: block;
    margin-bottom: 10px;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.sptv-event-advert__medium-list {
    display: flex;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    padding: 4px 4px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.55) rgba(255, 255, 255, 0.12);
}

.sptv-event-advert__medium-list::-webkit-scrollbar {
    height: 7px;
}

.sptv-event-advert__medium-list::-webkit-scrollbar-track {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
}

.sptv-event-advert__medium-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
}

.sptv-event-advert__medium {
    position: relative;
    width: 82px;
    flex: 0 0 82px;
    text-align: center;
    cursor: pointer;
}

.sptv-event-advert__medium img {
    display: block;
    width: 52px;
    height: 52px;
    margin: 0 auto;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    box-shadow: 0 7px 18px rgba(20, 11, 28, 0.28);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.sptv-event-advert__medium span {
    display: block;
    margin-top: 6px;
    color: #ffffff;
    font-size: 0.60rem;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    word-break: normal;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.sptv-event-advert__medium:hover img {
    transform: translateY(-3px) scale(1.08);
    box-shadow: 0 10px 24px rgba(20, 11, 28, 0.38);
}

.sptv-event-advert__medium:hover span {
    color: #f3d46f;
    transform: translateY(-1px);
}

.sptv-event-advert__medium {
    width: 82px;
    flex: 0 0 82px;
    text-align: center;
}

.sptv-event-advert__medium img {
    display: block;
    width: 52px;
    height: 52px;
    margin: 0 auto;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    box-shadow: 0 7px 18px rgba(20, 11, 28, 0.28);
}

.sptv-event-advert__medium span {
    display: block;
    margin-top: 6px;
    color: #ffffff;
    font-size: 0.60rem;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    word-break: break-word;
}

/* ==========================================================
   Tablet
========================================================== */

@media (max-width: 1100px) {
    .sptv-event-advert__content {
        object-position: top;
        grid-template-columns: minmax(260px, 1fr) minmax(190px, 0.7fr) minmax(320px, 1fr);
        gap: 18px;
        padding: 24px;
    }

    .sptv-event-advert__intro h2 {
        font-size: 2.25rem;
    }

    .sptv-event-advert__countdown {
        grid-template-columns: repeat(2, minmax(70px, 1fr));
    }

    .sptv-event-advert__medium-list {
        gap: 6px;
    }

    .sptv-event-advert__medium {
        width: 54px;
    }

    .sptv-event-advert__medium img {
        width: 45px;
        height: 45px;
    }
}

@media (max-width: 850px) {
    .sptv-event-advert__banner,
    .sptv-event-advert__content {
        min-height: 0;
    }

    .sptv-event-advert__content {
        grid-template-columns: 1fr 1fr;
    }

    .sptv-event-advert__intro {
        grid-column: 1 / -1;
    }

    .sptv-event-advert__features,
    .sptv-event-advert__countdown-wrap {
        align-self: stretch;
    }
}

/* ==========================================================
   Mobile
========================================================== */

@media (max-width: 600px) {
    .sptv-event-advert {
        padding: 22px 0 34px;
    }

    .sptv-event-advert .sptv-container {
        width: min(92%, 580px);
    }

    .sptv-event-advert__banner {
        border-radius: 16px;
        background-position: center;
    }

    .sptv-event-advert__overlay {
        background: rgba(39, 23, 53, 0.86);
    }

    .sptv-event-advert__content {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 24px 20px;
    }

    .sptv-event-advert__intro {
        grid-column: auto;
        text-align: center;
    }

    .sptv-event-advert__intro h2,
    .sptv-event-advert__intro p {
        margin-right: auto;
        margin-left: auto;
    }

    .sptv-event-advert__actions {
        justify-content: center;
    }

    .sptv-event-advert__features {
        width: 100%;
    }

    .sptv-event-advert__countdown {
        grid-template-columns: repeat(4, 1fr);
        gap: 5px;
    }

    .sptv-event-advert__countdown > div {
        padding: 10px 3px 8px;
    }

    .sptv-event-advert__countdown strong {
        font-size: 1.1rem;
    }

    .sptv-event-advert__medium-list {
        flex-wrap: wrap;
    }
}
.sptv-event-advert__features{
    padding:28px;
    gap:18px;
    border-radius:18px;
    align-self:center;
}
.sptv-event-advert__feature{
    gap:14px;
    padding-bottom:10px;
}

.sptv-event-advert__feature:not(:last-child){
    border-bottom:1px solid #ece7f0;
}
.sptv-event-advert__feature-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    font-size:0.9rem;
}
.sptv-event-advert__countdown-wrap{
    align-self:start;
    padding-top:18px;
}
.sptv-event-advert__medium-list{
    scrollbar-width:none;
}

.sptv-event-advert__medium-list::-webkit-scrollbar{
    display:none;
}

/*=========================================================
 Discover SPtv
=========================================================*/

.sptv-channels{
    padding:70px 0;
    background:#faf9fc;
}

.sptv-channels .sptv-container{
    width:min(1400px,94%);
    margin:0 auto;
}

.sptv-channels__heading{
    margin-bottom:34px;
}

.sptv-channels__heading-top{
    display:flex;
    align-items:center;
    gap:18px;
}

.sptv-channels__heading-top::after{
    content:"";
    flex:1;
    height:1px;
    background:#e8e2ec;
}

.sptv-channels__heading-top span{
    margin:0;
    color:#7b5cff;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    white-space:nowrap;
}

.sptv-channels__heading h2{
    margin:0;
    color:#2d2535;
    font-size:2.4rem;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:500;
}

/*=========================================================
 Grid
=========================================================*/

.sptv-channels__grid{

    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:24px;

}

.sptv-channels__item{

    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;

    padding:34px 24px;

    background:#fff;

    border-radius:18px;

    text-decoration:none;

    border:1px solid #ece8f2;

    transition:.30s;

    overflow:hidden;

}

.sptv-channels__item::before{

    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:4px;
    background:var(--accent);
    transform:scaleX(0);
    transition:.30s;
}

.sptv-channels__item:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.12);
    text-decoration:none;
}

.sptv-channels__item:hover::before{
    transform:scaleX(1);
}

.sptv-channels__icon{
    width:78px;
    height:78px;
    border-radius:50%;
    background:color-mix(in srgb,var(--accent) 12%,white);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
    transition:.3s;
}

.sptv-channels__icon i{
    font-size:2rem;
    color:var(--accent);
    transition:.3s;
}

.sptv-channels__item:hover .sptv-channels__icon{
    transform:scale(1.08);
    background:var(--accent);
}

.sptv-channels__item:hover .sptv-channels__icon i{
    color:#fff;
}

.sptv-channels__item h3{
    margin:0 0 12px;
    color:#2c2434;
    font-size:1.15rem;
    font-weight:700;
}

.sptv-channels__item p{
    flex:1;
    margin:0;
    color:#6d6775;
    font-size:.88rem;
    line-height:1.65;
}

.sptv-channels__link{
    margin-top:22px;
    color:#7b5cff;
    font-weight:700;
    font-size:.82rem;
}

.sptv-channels__link i{
    margin-left:7px;
    transition:.25s;
}

.sptv-channels__item:hover .sptv-channels__link i{
    margin-left:13px;
}

/*=========================================================
 Tablet
=========================================================*/

@media(max-width:1200px){

.sptv-channels__grid{

grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:768px){

.sptv-channels{

padding:55px 0;

}

.sptv-channels__heading h2{

font-size:2rem;

}

.sptv-channels__grid{

grid-template-columns:repeat(2,1fr);

gap:18px;

}

}

@media(max-width:520px){

.sptv-channels__grid{

grid-template-columns:1fr;

}

}

/* Accent colours */

.sptv-live{
    --accent:#ff3b30;
}

.sptv-guidance{
    --accent:#7b5cff;
}

.sptv-blogs{
    --accent:#3b82f6;
}

.sptv-courses{
    --accent:#f4b400;
}

.sptv-events{
    --accent:#ec4899;
}

.sptv-shop{
    --accent:#22c55e;
}
.sptv-channels__item:hover .sptv-channels__icon{
    transform:translateY(-4px) scale(1.08) rotate(6deg);
}
/* ==========================================================
   Meet the SPtv Family
========================================================== */

.sptv-family {
    padding: 72px 0 78px;
    background: #f1f1fd;
}

.sptv-family .sptv-container {
    width: min(1400px, 94%);
    margin: 0 auto;
}

.sptv-family-heading {
    margin-bottom: 34px;
    text-align: center;
}

.sptv-family-heading span {
    display: block;
    margin-bottom: 8px;
    color: #7b5cff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sptv-family-heading h2 {
    margin: 0;
    color: #2d2535;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 1.2;
}

.sptv-family-carousel {
    position: relative;
}

.sptv-family-carousel .owl-stage {
    display: flex;
}

.sptv-family-carousel .owl-item {
    display: flex;
}

.sptv-family-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 22px 16px 20px;
    border-radius: 18px;
    background: #ffffff;
    color: inherit;
    text-align: center;
    text-decoration: none;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease;
}

.sptv-family-card:hover {
    color: inherit;
    text-decoration: none;
    transform: translateY(-6px);
    box-shadow: 0 18px 38px rgba(73, 50, 96, 0.14);
}

.sptv-family-image {
    position: relative;
    width: 118px;
    height: 118px;
    margin-bottom: 18px;
    padding: 5px;
    border-radius: 50%;
    background: linear-gradient(135deg, #eee7f7, #d7c6ea);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.sptv-family-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 4px solid #ffffff;
    border-radius: 50%;
}

.sptv-family-card:hover .sptv-family-image {
    transform: scale(1.06);
    box-shadow:
        0 0 0 7px rgba(123, 92, 255, 0.09),
        0 0 28px rgba(123, 92, 255, 0.28);
}

.sptv-family-body h3 {
    margin: 0;
    color: #2f2736;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}

.sptv-family-body p {
    min-height: 38px;
    margin: 7px 0 0;
    color: #756e7a;
    font-size: 0.76rem;
    line-height: 1.45;
}

.sptv-family-body span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 13px;
    color: #7b5cff;
    font-size: 0.72rem;
    font-weight: 800;
}

.sptv-family-body span i {
    font-size: 0.65rem;
    transition: transform 0.2s ease;
}

.sptv-family-card:hover .sptv-family-body span i {
    transform: translateX(4px);
}

/* Owl navigation */

.sptv-family-carousel .owl-nav {
    margin: 0;
}

.sptv-family-carousel .owl-nav button.owl-prev,
.sptv-family-carousel .owl-nav button.owl-next {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 42px;
    height: 42px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border-radius: 50% !important;
    background: #ffffff !important;
    color: #6b4598 !important;
    box-shadow: 0 10px 24px rgba(55, 37, 71, 0.14);
    font-size: 0 !important;
}

.sptv-family-carousel .owl-nav button.owl-prev {
    left: -18px;
}

.sptv-family-carousel .owl-nav button.owl-next {
    right: -18px;
}

.sptv-family-carousel .owl-nav button.owl-prev::before,
.sptv-family-carousel .owl-nav button.owl-next::before {
    font-family: "Font Awesome 5 Free";
    font-size: 14px;
    font-weight: 900;
}

.sptv-family-carousel .owl-nav button.owl-prev::before {
    content: "\f053";
}

.sptv-family-carousel .owl-nav button.owl-next::before {
    content: "\f054";
}

.sptv-family-carousel .owl-dots {
    margin-top: 24px;
}

.sptv-family-carousel .owl-dots .owl-dot span {
    width: 7px;
    height: 7px;
    margin: 0 4px;
    background: #d7d0dd;
}

.sptv-family-carousel .owl-dots .owl-dot.active span {
    width: 22px;
    border-radius: 10px;
    background: #7b5cff;
}

/* Tablet */

@media (max-width: 900px) {
    .sptv-family {
        padding: 60px 0 66px;
    }

    .sptv-family-heading h2 {
        font-size: 2rem;
    }

    .sptv-family-image {
        width: 108px;
        height: 108px;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .sptv-family {
        padding: 48px 0 56px;
    }

    .sptv-family .sptv-container {
        width: min(92%, 520px);
    }

    .sptv-family-heading {
        margin-bottom: 26px;
    }

    .sptv-family-heading h2 {
        font-size: 1.75rem;
    }

    .sptv-family-card {
        padding: 20px 14px 18px;
    }

    .sptv-family-carousel .owl-nav button.owl-prev {
        left: -10px;
    }

    .sptv-family-carousel .owl-nav button.owl-next {
        right: -10px;
    }
}
.sptv-family-heading__top {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 8px;
}

.sptv-family-heading__top::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #e8e2ec;
}

.sptv-family-heading__top > span {
    margin: 0;
    white-space: nowrap;
}

.sptv-family-heading__view-all {
    order: 3;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    color: #7b5cff;
    font-size: 0.72rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.sptv-family-heading__view-all:hover {
    color: #5f3fc5;
    text-decoration: none;
}

.sptv-family-heading__view-all i {
    font-size: 0.64rem;
    transition: transform 0.2s ease;
}

.sptv-family-heading__view-all:hover i {
    transform: translateX(4px);
}

/* ==========================================================
   SPtv Three Box Feature Section
========================================================== */

.sptv-home-feature-banner {
    padding: 34px 0 45px;
    background: #f8f6fa;
}

.sptv-home-feature-banner .sptv-container {
    width: min(1400px, 94%);
    margin: 0 auto;
}

.sptv-feature-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr) minmax(0, 0.9fr);
    gap: 22px;
}

.sptv-feature-card {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    border: 1px solid #e9e3ed;
    border-radius: 20px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 14px 34px rgba(45, 31, 58, 0.08);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.sptv-feature-card:hover {
    color: inherit;
    text-decoration: none;
    transform: translateY(-5px);
    box-shadow: 0 20px 44px rgba(45, 31, 58, 0.14);
}

.sptv-feature-content {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 28px;
}

.sptv-feature-label {
    display: block;
    margin-bottom: 15px;
    color: #7448a6;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.sptv-feature-card h3 {
    margin: 0;
    color: #2d2534;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.2;
}

.sptv-feature-card p {
    margin: 14px 0 0;
    color: #6e6873;
    font-size: 0.88rem;
    line-height: 1.65;
}

.sptv-feature-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 22px;
    padding: 10px 16px;
    border-radius: 8px;
    background: #7143a7;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    box-shadow: 0 9px 20px rgba(88, 50, 127, 0.22);
}

.sptv-feature-button i {
    font-size: 0.67rem;
    transition: transform 0.2s ease;
}

.sptv-feature-card:hover .sptv-feature-button i {
    transform: translateX(4px);
}

/* ==========================================================
   Daily Inspiration
========================================================== */

.sptv-feature-daily {
    display: block;
    background-image: url('/uploadfiles/sptv/daily-inspiration.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.sptv-feature-daily .sptv-feature-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.97) 0%,
            rgba(255, 255, 255, 0.88) 55%,
            rgba(255, 255, 255, 0.30) 100%
        );
}

.sptv-feature-daily .sptv-feature-content {
    display: flex;
    max-width: 78%;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 28px;
}

.sptv-feature-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.sptv-feature-actions .sptv-feature-button {
    margin-top: 0;
}

.sptv-feature-button--gold {
    background: #d8aa36;
}

.sptv-feature-button--light {
    border: 1px solid rgba(113, 67, 167, 0.28);
    background: rgba(255, 255, 255, 0.92);
    color: #7143a7;
    box-shadow: 0 8px 18px rgba(88, 50, 127, 0.12);
}

.sptv-feature-button--light:hover {
    color: #5c328d;
}

.sptv-feature-daily .sptv-feature-label {
    color: #9a6a19;
}

.sptv-feature-daily .sptv-feature-button {
    background: #d8aa36;
}

/* ==========================================================
   Recent Guidance Questions
========================================================== */

.sptv-feature-guidance {
    background: #ffffff;
}

.sptv-feature-guidance .sptv-feature-content {
    padding: 26px;
}

.sptv-feature-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.sptv-feature-header::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #ebe6ee;
}

.sptv-feature-header .sptv-feature-label {
    margin: 0;
    white-space: nowrap;
}

.sptv-feature-header > a {
    order: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    color: #7448a6;
    font-size: 0.68rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.sptv-feature-header > a:hover {
    color: #573082;
    text-decoration: none;
}

.sptv-guidance-question {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    gap: 14px;
    align-items: center;
    min-height: 77px;
    padding: 14px 2px;
    border-bottom: 1px solid #ece7ef;
    color: inherit;
    text-decoration: none;
}

.sptv-guidance-question:last-child {
    border-bottom: 0;
}

.sptv-guidance-question:hover {
    color: inherit;
    text-decoration: none;
}

.sptv-guidance-question div {
    min-width: 0;
}

.sptv-guidance-question small {
    display: block;
    margin-bottom: 5px;
    color: #9a929f;
    font-size: 0.64rem;
}

.sptv-guidance-question strong {
    display: block;
    color: #312938;
    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.42;
    transition: color 0.2s ease;
}

.sptv-guidance-question > i {
    color: #9d84b9;
    font-size: 0.68rem;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.sptv-guidance-question:hover strong,
.sptv-guidance-question:hover > i {
    color: #7448a6;
}

.sptv-guidance-question:hover > i {
    transform: translateX(4px);
}

/* ==========================================================
   Community Highlight
========================================================== */

.sptv-feature-community {
    display: block;
    background-image: url('/uploadfiles/sptv/community.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.sptv-feature-community .sptv-feature-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(255, 255, 255, 0.92) 50%,
            rgba(255, 255, 255, 0.25) 100%
        );
}

.sptv-feature-community .sptv-feature-content {
    display: flex;
    max-width: 72%;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.sptv-feature-community ul {
    margin: 17px 0 0;
    padding: 0;
    list-style: none;
}

.sptv-feature-community li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #514959;
    font-size: 0.76rem;
    font-weight: 650;
}

.sptv-feature-community li i {
    color: #7448a6;
    font-size: 0.68rem;
}

/* ==========================================================
   Tablet
========================================================== */

@media (max-width: 1050px) {
    .sptv-feature-grid {
        grid-template-columns: 1fr 1fr;
    }

    .sptv-feature-guidance {
        grid-column: 1 / -1;
    }
}

/* ==========================================================
   Mobile
========================================================== */

@media (max-width: 680px) {
    .sptv-home-feature-banner {
        padding: 25px 0 50px;
    }

    .sptv-home-feature-banner .sptv-container {
        width: min(92%, 520px);
    }

    .sptv-feature-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .sptv-feature-guidance {
        grid-column: auto;
    }

    .sptv-feature-card {
        min-height: 310px;
    }

    .sptv-feature-content {
        padding: 24px;
    }

    .sptv-feature-daily .sptv-feature-content,
    .sptv-feature-community .sptv-feature-content {
        max-width: 82%;
    }

    .sptv-feature-card h3 {
        font-size: 1.35rem;
    }

    .sptv-feature-header {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .sptv-feature-header::after {
        display: none;
    }

    .sptv-feature-header > a {
        margin-left: auto;
    }
}
/* ==========================================================
   SPtv Newsletter Strip
========================================================== */

.sptv-newsletter-strip {
    padding: 28px 0 55px;
    background: #f8f6fa;
}

.sptv-newsletter-strip .sptv-container {
    width: min(1400px, 94%);
    margin: 0 auto;
}

.sptv-newsletter-strip__panel {
    position: relative;
    min-height: 128px;
    display: grid;
    grid-template-columns: 74px minmax(260px, 1fr) auto minmax(280px, 0.8fr);
    gap: 22px;
    align-items: center;
    overflow: hidden;
    padding: 20px 26px;
    border: 1px solid #e9e3ed;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(45, 31, 58, 0.08);
}

.sptv-newsletter-strip__icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #7b4db1, #5d338f);
    color: #ffffff;
    font-size: 1.7rem;
    box-shadow: 0 10px 24px rgba(93, 51, 143, 0.24);
}

.sptv-newsletter-strip__content span {
    display: block;
    margin-bottom: 6px;
    color: #7448a6;
    font-size: 1rem;
    font-weight: 800;
}

.sptv-newsletter-strip__content p {
    max-width: 470px;
    margin: 0;
    color: #67616c;
    font-size: 0.82rem;
    line-height: 1.55;
}

.sptv-newsletter-strip__button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 11px 20px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(135deg, #7448a6, #5d338f);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 9px 20px rgba(88, 50, 127, 0.22);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.sptv-newsletter-strip__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 13px 26px rgba(88, 50, 127, 0.28);
}

.sptv-newsletter-strip__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 33%;
    background-image: url('/uploadfiles/sptv/daily-inspiration.jpg');
    background-position: center;
    background-size: cover;
}

.sptv-newsletter-strip__image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        #ffffff 0%,
        rgba(255, 255, 255, 0.72) 24%,
        rgba(255, 255, 255, 0.05) 100%
    );
}

@media (max-width: 900px) {
    .sptv-newsletter-strip__panel {
        grid-template-columns: 64px minmax(0, 1fr) auto;
    }

    .sptv-newsletter-strip__image {
        display: none;
    }
}

@media (max-width: 620px) {
    .sptv-newsletter-strip {
        padding: 22px 0 42px;
    }

    .sptv-newsletter-strip__panel {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 24px;
        text-align: center;
    }

    .sptv-newsletter-strip__icon {
        margin: 0 auto;
    }

    .sptv-newsletter-strip__content p {
        margin: 0 auto;
    }

    .sptv-newsletter-strip__button {
        width: 100%;
    }
}

/* ==========================================================
   SPtv Section Reveal
========================================================== */

.sptv-section-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 0.75s ease,
        transform 0.75s ease;
}

.sptv-section-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .sptv-section-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
/* ==========================================================
   SPtv Header
========================================================== */

.sptv-site-header {
    position: relative;
    z-index: 1000;
    background: #ffffff;
}

.sptv-site-header__container {
    width: min(1460px, 94%);
    margin: 0 auto;
}

/* ==========================================================
   Top Bar
========================================================== */

.sptv-site-header__top {
    background: #f4eff8;
    border-bottom: 1px solid #e8e0ed;
}

.sptv-site-header__top-inner {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.sptv-site-header__social,
.sptv-site-header__top-actions {
    display: flex;
    align-items: center;
}

.sptv-site-header__social {
    gap: 7px;
}

.sptv-site-header__social a {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff;
    color: #70459d;
    font-size: 0.8rem;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        color 0.2s ease;
}

.sptv-site-header__social a:hover {
    background: #70459d;
    color: #ffffff;
    transform: translateY(-2px);
}

.sptv-site-header__social img {
    width: 10px;
    height: 10px;
}

.sptv-site-header__top-actions {
    gap: 14px;
}

.sptv-site-header__search-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #5e5664;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
}

.sptv-site-header__search-button:hover {
    color: #70459d;
}

.sptv-site-header__language select {
    min-height: 28px;
    padding: 3px 25px 3px 9px;
    border: 1px solid #ddd3e4;
    border-radius: 6px;
    background: #ffffff;
    color: #514957;
    font-size: 0.7rem;
}

.sptv-site-header__login {
    color: #5e5664;
    font-size: 0.72rem;
    font-weight: 700;
    text-decoration: none;
    padding:0 8px;
}

.sptv-site-header__login:hover {
    color: #70459d;
}

.sptv-site-header__account-button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0px 18px;
    border-radius: 999px;
    background: #70459d;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 800;
    text-decoration: none;
}

.sptv-site-header__account-button:hover {
    background: #59327f;
    color: #ffffff;
}

/* ==========================================================
   Main Header
========================================================== */

.sptv-site-header__main {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 7px 22px rgba(40, 26, 51, 0.06);
}

.sptv-site-header__main-inner {
    min-height: 82px;
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
}

.sptv-site-header__logo img {
    display: block;
    width: auto;
    max-width: 145px;
    max-height: 62px;
}

.sptv-site-header__navigation > ul,
.sptv-sticky-header__navigation > ul {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    list-style: none;
}

.sptv-site-header__navigation > ul > li,
.sptv-sticky-header__navigation > ul > li {
    position: relative;
}

.sptv-site-header__navigation > ul > li > a,
.sptv-sticky-header__navigation > ul > li > a {
    min-height: 82px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 11px;
    color: #302938;
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.sptv-site-header__navigation > ul > li > a:hover,
.sptv-sticky-header__navigation > ul > li > a:hover {
    color: #70459d;
}

.sptv-site-header__navigation > ul > li > a i,
.sptv-sticky-header__navigation > ul > li > a i {
    font-size: 0.52rem;
}

.sptv-site-header__dropdown,
.sptv-sticky-header__navigation li > ul {
    position: absolute;
    top: calc(100% - 8px);
    left: 0;
    z-index: 50;
    min-width: 220px;
    margin: 0;
    padding: 9px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    border: 1px solid #e9e2ed;
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(37, 25, 48, 0.15);
    list-style: none;
    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

.sptv-site-header__navigation li:hover > .sptv-site-header__dropdown,
.sptv-sticky-header__navigation li:hover > ul {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.sptv-site-header__dropdown a,
.sptv-sticky-header__navigation li > ul a {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    color: #514957;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
}

.sptv-site-header__dropdown a:hover,
.sptv-sticky-header__navigation li > ul a:hover {
    background: #f2ecf7;
    color: #70459d;
}

.sptv-site-header__actions,
.sptv-sticky-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

.sptv-site-header__icon-button {
    position: relative;
    width: 39px;
    height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e7dfeb;
    border-radius: 50%;
    background: #ffffff;
    color: #4e4654;
    text-decoration: none;
}

.sptv-site-header__icon-button:hover {
    border-color: #cbb8da;
    color: #70459d;
}

.sptv-site-header__icon-button .cart-count,
.sptv-site-header__icon-button .wishlist-count {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: #70459d;
    color: #ffffff;
    font-size: 0.56rem;
    font-weight: 800;
}

.sptv-site-header__booking-button {
    min-height: 41px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 8px;
    background: linear-gradient(135deg, #7b4db0, #5e348c);
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(91, 51, 134, 0.2);
}

.sptv-site-header__booking-button:hover {
    color: #ffffff;
    transform: translateY(-1px);
}

.sptv-site-header__mobile-toggle {
    width: 40px;
    height: 40px;
    display: none;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: #70459d;
    color: #ffffff;
}

/* ==========================================================
   Mini Cart
========================================================== */

.sptv-site-header__cart-wrap {
    position: relative;
}

.sptv-site-header__mini-cart {
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    z-index: 80;
    width: 360px;
    padding: 18px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    border: 1px solid #e9e2ed;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(36, 23, 47, 0.17);
    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

.sptv-site-header__cart-wrap:hover .sptv-site-header__mini-cart {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.sptv-site-header__mini-cart-top,
.sptv-site-header__mini-cart-subtotal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.sptv-site-header__mini-cart-top {
    padding-bottom: 13px;
    border-bottom: 1px solid #eee8f1;
}

.sptv-site-header__mini-cart-top strong {
    color: #302838;
    font-size: 0.9rem;
}

.sptv-site-header__mini-cart-top span {
    color: #89818d;
    font-size: 0.7rem;
}

.sptv-site-header__mini-cart-items {
    max-height: 280px;
    overflow-y: auto;
}

.sptv-site-header__mini-cart-item {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #eee8f1;
}

.sptv-site-header__mini-cart-item img {
    width: 48px;
    height: 48px;
    display: block;
    object-fit: cover;
    border-radius: 8px;
}

.sptv-site-header__mini-cart-item strong,
.sptv-site-header__mini-cart-item span {
    display: block;
}

.sptv-site-header__mini-cart-item strong {
    color: #332b3a;
    font-size: 0.72rem;
}

.sptv-site-header__mini-cart-item span {
    margin-top: 3px;
    color: #8a828f;
    font-size: 0.62rem;
}

.sptv-site-header__mini-cart-item b {
    color: #70459d;
    font-size: 0.72rem;
}

.sptv-site-header__mini-cart-more,
.sptv-site-header__mini-cart-empty {
    padding: 14px 0;
    color: #7b7380;
    font-size: 0.7rem;
    text-align: center;
}

.sptv-site-header__mini-cart-subtotal {
    padding: 14px 0;
}

.sptv-site-header__mini-cart-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.sptv-site-header__mini-cart-buttons a {
    padding: 10px;
    border: 1px solid #ded4e5;
    border-radius: 8px;
    color: #5f5665;
    font-size: 0.7rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.sptv-site-header__mini-cart-buttons a.is-primary {
    border-color: #70459d;
    background: #70459d;
    color: #ffffff;
}

/* ==========================================================
   Sticky Header
========================================================== */

.sptv-sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1100;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-100%);
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 10px 28px rgba(37, 24, 48, 0.12);
    backdrop-filter: blur(14px);
    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0.25s ease;
}

.sptv-sticky-header.fixed-header,
.sptv-sticky-header.is-visible {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.sptv-sticky-header__inner {
    min-height: 64px;
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
}

.sptv-sticky-header__logo img {
    display: block;
    width: auto;
    max-width: 112px;
    max-height: 48px;
}

.sptv-sticky-header__navigation > ul > li > a {
    min-height: 64px;
    padding: 0 10px;
    font-size: 0.72rem;
}

/* ==========================================================
   Search
========================================================== */

.sptv-header-search {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 90px 20px 20px;
}

.sptv-header-search.is-open {
    display: flex;
}

.sptv-header-search__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(25, 16, 32, 0.67);
}

.sptv-header-search__panel {
    position: relative;
    z-index: 2;
    width: min(650px, 100%);
    padding: 32px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 22px 60px rgba(20, 13, 27, 0.3);
}

.sptv-header-search__panel > span {
    display: block;
    margin-bottom: 16px;
    color: #302838;
    font-size: 1.15rem;
    font-weight: 800;
}

.sptv-header-search__panel form {
    display: grid;
    grid-template-columns: 1fr 48px;
}

.sptv-header-search__panel input {
    min-width: 0;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #ddd3e3;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    outline: none;
}

.sptv-header-search__panel form button {
    border: 0;
    border-radius: 0 8px 8px 0;
    background: #70459d;
    color: #ffffff;
}

.sptv-header-search__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #f0eaf4;
    color: #70459d;
}

/* ==========================================================
   Mobile Menu
========================================================== */

.sptv-mobile-menu {
    width: min(390px, 92vw) !important;
}

.sptv-mobile-menu__logo img {
    width: auto;
    max-width: 135px;
    max-height: 60px;
}

.sptv-mobile-menu__booking {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-bottom: 20px;
    padding: 12px 16px;
    border-radius: 8px;
    background: #70459d;
    color: #ffffff;
    font-weight: 800;
    text-decoration: none;
}

.sptv-mobile-menu__navigation {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sptv-mobile-menu__navigation > li {
    border-bottom: 1px solid #ece6ef;
}

.sptv-mobile-menu__link-row {
    display: grid;
    grid-template-columns: 1fr 42px;
    align-items: center;
}

.sptv-mobile-menu__link-row > a {
    padding: 13px 0;
    color: #332b3a;
    font-size: 0.85rem;
    font-weight: 800;
    text-decoration: none;
}

.sptv-mobile-menu__link-row > button {
    height: 38px;
    border: 0;
    background: transparent;
    color: #70459d;
}

.sptv-mobile-menu__subnav {
    margin: 0 0 10px;
    padding: 0 0 0 16px;
    list-style: none;
}

.sptv-mobile-menu__subnav a {
    display: block;
    padding: 8px 0;
    color: #6e6673;
    font-size: 0.78rem;
    text-decoration: none;
}

.sptv-mobile-menu__account {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 22px;
}

.sptv-mobile-menu__account a {
    padding: 11px;
    border: 1px solid #ddd3e3;
    border-radius: 8px;
    color: #5c5361;
    font-size: 0.75rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.sptv-mobile-menu__account a.is-primary {
    border-color: #70459d;
    background: #70459d;
    color: #ffffff;
}

.sptv-mobile-menu__quick-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    width: 100%;
    margin-top: 15px;
}

.sptv-mobile-menu__social {
    width: 100%;
    clear: both;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #ece6ef;
}

.sptv-mobile-menu .offcanvas-body {
    display: block;
}

.sptv-mobile-menu__quick-links,
.sptv-mobile-menu__social {
    float: none;
}

.sptv-mobile-menu__quick-links a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px;
    border-radius: 8px;
    background: #f3eef6;
    color: #554c5b;
    font-size: 0.72rem;
    font-weight: 700;
    text-decoration: none;
}

.sptv-mobile-menu__quick-links b {
    margin-left: auto;
}

/* ==========================================================
   Responsive
========================================================== */

@media (max-width: 1250px) {
    .sptv-site-header__main-inner {
        grid-template-columns: 135px minmax(0, 1fr) auto;
        gap: 14px;
    }

    .sptv-site-header__navigation > ul > li > a {
        padding: 0 7px;
        font-size: 0.7rem;
    }
}

@media (max-width: 1050px) {
    .sptv-site-header__navigation,
    .sptv-sticky-header__navigation {
        display: none;
    }

    .sptv-site-header__main-inner,
    .sptv-sticky-header__inner {
        grid-template-columns: 1fr auto;
    }

    .sptv-site-header__mobile-toggle {
        display: inline-flex;
    }

    .sptv-site-header__booking-button {
        display: none;
    }
}

@media (max-width: 650px) {
    .sptv-site-header__top {
        display: none;
    }

    .sptv-site-header__container {
        width: min(94%, 560px);
    }

    .sptv-site-header__main-inner {
        min-height: 68px;
    }

    .sptv-site-header__logo img {
        max-width: 118px;
        max-height: 52px;
    }

    .sptv-site-header__actions {
        gap: 6px;
    }

    .sptv-site-header__icon-button {
        width: 36px;
        height: 36px;
    }

    .sptv-sticky-header__inner {
        min-height: 58px;
    }

    .sptv-sticky-header__logo img {
        max-width: 100px;
        max-height: 42px;
    }
}
.sptv-mobile-menu__social {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #ece6ef;
}

.sptv-mobile-menu__social-title {
    display: block;
    margin-bottom: 13px;
    color: #332b3a;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sptv-mobile-menu__social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.sptv-mobile-menu__social-links a {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f1eaf5;
    color: #70459d;
    font-size: 0.82rem;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        color 0.2s ease;
}

.sptv-mobile-menu__social-links a:hover {
    background: #70459d;
    color: #ffffff;
    transform: translateY(-2px);
}

.sptv-mobile-menu__social-links img {
    width: 11px;
    height: 11px;
}

/* ==========================================================
   SPtv Footer
========================================================== */

.sptv-footer {
    margin-top: 0;
    background: #21172c;
    color: #ffffff;
}

.sptv-footer__container {
    width: min(1460px, 94%);
    margin: 0 auto;
}

.sptv-footer__main {
    padding: 68px 0 58px;
    background:
        radial-gradient(
            circle at top right,
            rgba(128, 80, 174, 0.22),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #24182f 0%,
            #1d1426 100%
        );
}

.sptv-footer__grid {
    display: grid;
    grid-template-columns:
        minmax(250px, 1.35fr)
        minmax(135px, 0.72fr)
        minmax(135px, 0.72fr)
        minmax(135px, 0.72fr)
        minmax(280px, 1.15fr);
    gap: 40px;
    align-items: start;
}

/* ==========================================================
   Brand
========================================================== */

.sptv-footer__brand {
    min-width: 0;
}

.sptv-footer__logo {
    display: inline-block;
    margin-bottom: 20px;
}

.sptv-footer__logo img {
    display: block;
    width: auto;
    max-width: 165px;
    max-height: 76px;
}

.sptv-footer__brand > p {
    max-width: 330px;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.82rem;
    line-height: 1.72;
}

.sptv-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.sptv-footer__social a {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    color: #ffffff;
    font-size: 0.78rem;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.sptv-footer__social a:hover {
    border-color: rgba(255, 255, 255, 0.38);
    background: #7b4db0;
    color: #ffffff;
    transform: translateY(-3px);
}

.sptv-footer__social img {
    width: 11px;
    height: 11px;
    filter: brightness(0) invert(1);
}

/* ==========================================================
   Link Columns
========================================================== */

.sptv-footer__links h3 {
    position: relative;
    margin: 0 0 14px;
    padding-bottom: 12px;
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sptv-footer__links h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: #a877d1;
}

.sptv-footer__links ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sptv-footer__links li {
    margin-bottom: 4px;
}

.sptv-footer__links a {
    display: inline-flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.74rem;
    line-height: 1.0;
    text-decoration: none;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.sptv-footer__links a::before {
    content: "";
    width: 0;
    height: 1px;
    margin-right: 0;
    background: #c6a1e1;
    transition:
        width 0.2s ease,
        margin-right 0.2s ease;
}

.sptv-footer__links a:hover {
    color: #ffffff;
    transform: translateX(3px);
}

.sptv-footer__links a:hover::before {
    width: 12px;
    margin-right: 7px;
}

.sptv-footer__empty {
    color: rgba(255, 255, 255, 0.42);
    font-size: 0.7rem;
    line-height: 1.5;
}

/* ==========================================================
   Membership Panel
========================================================== */

.sptv-footer__membership {
    position: relative;
    overflow: hidden;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(126, 77, 176, 0.34),
            rgba(255, 255, 255, 0.06)
        );
    box-shadow: 0 18px 42px rgba(8, 4, 13, 0.22);
}

.sptv-footer__membership::before {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    top: -70px;
    right: -45px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}

.sptv-footer__membership > * {
    position: relative;
    z-index: 2;
}

.sptv-footer__membership-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    font-size: 1rem;
}

.sptv-footer__membership-kicker {
    display: block;
    margin-bottom: 8px;
    color: #d5b6eb;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.sptv-footer__membership h3 {
    margin: 0;
    color: #ffffff;
    font-size: 1.38rem;
    font-weight: 800;
    line-height: 1.2;
}

.sptv-footer__membership p {
    margin: 13px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    line-height: 1.62;
}

.sptv-footer__membership-button,
.sptv-footer__newsletter-button {
    width: 100%;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 0.72rem;
    font-weight: 800;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.sptv-footer__membership-button {
    border: 0;
    background: #ffffff;
    color: #5c3584;
}

.sptv-footer__membership-button:hover {
    background: #f4ebfa;
    color: #4e2a75;
    transform: translateY(-2px);
}

.sptv-footer__newsletter-button {
    margin-top: 10px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    cursor: pointer;
}

.sptv-footer__newsletter-button:hover {
    border-color: rgba(255, 255, 255, 0.52);
    background: rgba(255, 255, 255, 0.14);
    transform: translateY(-2px);
}

/* ==========================================================
   Footer Bottom
========================================================== */

.sptv-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    background: #18101f;
}

.sptv-footer__bottom-inner {
    min-height: 66px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 24px;
    align-items: center;
}

.sptv-footer__bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.68rem;
    line-height: 1.5;
}

.sptv-footer__community-line {
    text-align: center;
    white-space: nowrap;
}

.sptv-footer__community-line i {
    margin: 0 4px;
    color: #e86b8d;
    font-size: 0.7rem;
}

.sptv-footer__legal {
    text-align: right;
}

.sptv-footer__legal a {
    color: rgba(255, 255, 255, 0.63);
    font-size: 0.68rem;
    text-decoration: none;
}

.sptv-footer__legal a:hover {
    color: #ffffff;
}

/* ==========================================================
   Responsive
========================================================== */

@media (max-width: 1200px) {
    .sptv-footer__grid {
        grid-template-columns:
            minmax(250px, 1.2fr)
            repeat(3, minmax(130px, 0.75fr));
    }

    .sptv-footer__membership {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr) auto auto;
        gap: 16px;
        align-items: center;
    }

    .sptv-footer__membership-icon {
        margin: 0;
    }

    .sptv-footer__membership-kicker,
    .sptv-footer__membership h3,
    .sptv-footer__membership p {
        grid-column: 2;
    }

    .sptv-footer__membership-button,
    .sptv-footer__newsletter-button {
        width: auto;
        margin: 0;
        white-space: nowrap;
    }
}

@media (max-width: 900px) {
    .sptv-footer__main {
        padding: 54px 0 46px;
    }

    .sptv-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 28px;
    }

    .sptv-footer__brand,
    .sptv-footer__membership {
        grid-column: 1 / -1;
    }

    .sptv-footer__membership {
        display: block;
    }

    .sptv-footer__membership-icon {
        margin-bottom: 16px;
    }

    .sptv-footer__membership-button,
    .sptv-footer__newsletter-button {
        width: 100%;
        margin-top: 14px;
    }

    .sptv-footer__bottom-inner {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 18px 0;
        text-align: center;
    }

    .sptv-footer__legal {
        text-align: center;
    }
}

@media (max-width: 560px) {
    .sptv-footer__container {
        width: min(92%, 520px);
    }

    .sptv-footer__main {
        padding: 46px 0 38px;
    }

    .sptv-footer__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .sptv-footer__brand,
    .sptv-footer__membership {
        grid-column: auto;
    }

    .sptv-footer__brand > p {
        max-width: none;
    }

    .sptv-footer__membership {
        padding: 24px;
    }

    .sptv-footer__bottom-inner {
        min-height: 0;
    }

    .sptv-footer__community-line {
        white-space: normal;
    }
}
.sptv-footer__links--information ul {
    columns: 2;
    column-gap: 28px;
}

.sptv-footer__links--information li {
    break-inside: avoid;
}

@media (max-width: 900px) {
    .sptv-footer__links--information ul {
        columns: 1;
    }
}
.sptv-footer__donation-button{
    width:100%;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:10px;
    border-radius:8px;
    background:#c58b2b;
    color:#fff;
    font-size:.72rem;
    font-weight:800;
    text-decoration:none;
    transition:.2s;
}

.sptv-footer__donation-button:hover{
    background:#b37919;
    color:#fff;
    transform:translateY(-2px);
}
.sptv-footer__donation-form {
    margin: 0;
}

.sptv-footer__donation-button {
    border: 0;
    cursor: pointer;
}