/* ============================================================
   TENIS ARENA — HOME REBUILD V1

   Reference:
   compact premium tennis platform
   booking-first
   not full-screen landing page
   ============================================================ */


/* ============================================================
   HOME-ONLY HEADER GEOMETRY
   ============================================================ */

body:has(.ta-home-rebuild-root) {
    --ta-header-h: 70px;
}


body:has(.ta-home-rebuild-root)
.ta-topbar {
    min-height: 70px;
}


body:has(.ta-home-rebuild-root)
.ta-topbar-inner {
    min-height: 70px;
}


body:has(.ta-home-rebuild-root)
.ta-brand {
    gap: 9px;
}


body:has(.ta-home-rebuild-root)
.ta-brand-mark {
    font-size: 15px;
}


body:has(.ta-home-rebuild-root)
.ta-brand-text {
    white-space: nowrap;

    font-size: 1.20rem;
    line-height: 1;

    letter-spacing: .015em;
}


body:has(.ta-home-rebuild-root)
.ta-nav {
    gap: clamp(
        17px,
        1.65vw,
        27px
    );
}


body:has(.ta-home-rebuild-root)
.ta-nav a {
    font-size: .74rem;
}


body:has(.ta-home-rebuild-root)
.ta-header-reserve {
    min-height: 38px !important;

    padding-left: 16px !important;
    padding-right: 16px !important;

    font-size: .68rem !important;
}



/* ============================================================
   ROOT
   ============================================================ */

.ta-home-rebuild-root {
    overflow: hidden;

    background:
        var(--ta-ivory);
}



/* ============================================================
   HERO
   ============================================================ */

.ta-home-rebuild-root
.ta-home-hero {
    position: relative;

    min-height: 365px !important;
    height: 365px;

    overflow: hidden;

    background:
        var(--ta-forest-deep);

    color:
        var(--ta-ivory);
}


.ta-home-rebuild-root
.ta-home-hero-bg {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position:
        center 54%;
}


.ta-home-rebuild-root
.ta-home-hero-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(4,43,33,.95) 0%,
            rgba(4,43,33,.86) 31%,
            rgba(4,43,33,.58) 57%,
            rgba(4,43,33,.22) 100%
        ),
        linear-gradient(
            180deg,
            rgba(4,43,33,.08),
            rgba(4,43,33,.20)
        );
}


.ta-home-rebuild-root
.ta-home-hero-inner {
    position: relative;

    z-index: 2;

    width: min(
        calc(100% - 96px),
        1280px
    ) !important;

    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    min-height: 365px !important;
    height: 365px;

    display: grid;

    grid-template-columns:
        minmax(0,.82fr)
        minmax(580px,1.18fr);

    gap: 40px;

    align-items: center;

    padding-top: 20px;
    padding-bottom: 20px;
}



/* ============================================================
   HERO COPY
   ============================================================ */

.ta-home-rebuild-root
.ta-home-copy {
    max-width: 560px;
}


.ta-home-rebuild-root
.ta-home-copy
.ta-eyebrow {
    margin-bottom: 15px;

    color:
        var(--ta-gold) !important;
}


.ta-home-rebuild-root
.ta-home-title {
    max-width: 530px;

    margin: 0;

    font-size:
        clamp(
            2.85rem,
            3.05vw,
            3.65rem
        ) !important;

    line-height: .91 !important;

    letter-spacing:
        -.045em !important;

    font-weight:
        600 !important;

    color:
        var(--ta-ivory) !important;
}


.ta-home-rebuild-root
.ta-home-lead {
    max-width: 540px;

    margin:
        13px
        0
        0;

    font-size: .91rem;
    line-height: 1.48;

    color:
        rgba(246,240,228,.68);
}


.ta-home-rebuild-root
.ta-home-copy-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 16px;
}


.ta-home-rebuild-root
.ta-home-copy-actions
.ta-btn {
    min-height: 42px !important;

    padding:
        0
        17px !important;

    font-size: .72rem !important;
}



/* ============================================================
   QUICK BOOKING — DARK / INTEGRATED
   ============================================================ */

.ta-home-quick-booking {
    width: 100%;
    max-width: 700px;

    justify-self: end;

    padding:
        13px
        14px
        14px;

    border:
        1px solid
        rgba(246,240,228,.28);

    background:
        rgba(4,43,33,.74);

    backdrop-filter:
        blur(5px);

    -webkit-backdrop-filter:
        blur(5px);
}


.ta-home-quick-booking-head {
    display: flex;

    justify-content: space-between;

    align-items: baseline;

    gap: 18px;

    margin-bottom: 9px;
}


.ta-home-quick-booking-head span {
    font-size: .61rem;

    letter-spacing: .15em;

    text-transform: uppercase;

    color:
        var(--ta-gold);
}


.ta-home-quick-booking-head strong {
    font-size: 1rem;

    line-height: 1;

    font-weight: 500;

    color:
        var(--ta-ivory);
}


.ta-home-quick-form {
    display: grid;

    grid-template-columns:
        1.05fr
        1fr
        .78fr
        .78fr
        1.25fr;

    gap: 6px;

    align-items: end;
}


.ta-home-quick-field {
    min-width: 0;
}


.ta-home-quick-field > span {
    display: block;

    margin-bottom: 6px;

    font-size: .55rem;

    letter-spacing: .13em;

    text-transform: uppercase;

    font-weight: 600;

    color:
        rgba(246,240,228,.60);
}


.ta-home-quick-field input,
.ta-home-quick-field select {
    width: 100%;

    height: 36px;

    padding:
        0
        8px;

    border:
        1px solid
        rgba(246,240,228,.23);

    border-radius: 0;

    outline: none;

    background:
        rgba(4,43,33,.45);

    font-family: inherit;

    font-size: .75rem;

    color:
        var(--ta-ivory);
}


.ta-home-quick-field select option {
    color:
        var(--ta-ink);

    background:
        var(--ta-ivory);
}


.ta-home-quick-field input:focus,
.ta-home-quick-field select:focus {
    border-color:
        var(--ta-gold);
}


.ta-home-quick-submit {
    min-width: 0;

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 13px;

    padding:
        0
        13px;

    border:
        1px solid
        var(--ta-gold);

    background:
        var(--ta-gold);

    font-family: inherit;

    font-size: .65rem;

    letter-spacing: .055em;

    text-transform: uppercase;

    font-weight: 700;

    color:
        var(--ta-forest-deep);

    cursor: pointer;
}


.ta-home-quick-submit strong {
    font-size: 1rem;

    font-weight: 400;

    transition:
        transform
        180ms ease;
}


.ta-home-quick-submit:hover strong {
    transform:
        translateX(3px);
}



/* ============================================================
   COURTS — IMMEDIATELY BELOW HERO
   ============================================================ */

.ta-home-courts {
    display: grid;

    grid-template-columns:
        165px
        minmax(0,1fr);

    min-height: 178px;

    border-bottom:
        1px solid
        var(--ta-border);

    background:
        var(--ta-ivory-soft);
}


.ta-home-courts-label {
    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: flex-start;

    gap: 10px;

    padding:
        25px
        28px;

    background:
        var(--ta-forest-deep);

    color:
        var(--ta-ivory);
}


.ta-home-courts-label > span {
    font-size: .63rem;

    letter-spacing: .15em;

    text-transform: uppercase;

    font-weight: 600;

    color:
        var(--ta-gold);
}


.ta-home-courts-label i {
    display: block;

    width: 55px;
    height: 1px;

    background:
        rgba(246,240,228,.24);
}


.ta-home-courts-label a {
    text-decoration: none;

    font-size: .72rem;

    color:
        rgba(246,240,228,.72);
}


.ta-home-courts-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );
}


.ta-home-court {
    min-width: 0;

    display: grid;

    grid-template-columns:
        185px
        minmax(0,1fr);

    border-right:
        1px solid
        var(--ta-border);

    background:
        var(--ta-ivory-soft);
}


.ta-home-court:last-child {
    border-right: 0;
}


.ta-home-court-copy {
    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: flex-start;

    min-width: 0;

    padding:
        19px
        20px;
}


.ta-home-court-index {
    position: absolute;

    top: 13px;
    right: 15px;

    font-size: .57rem;

    letter-spacing: .12em;

    color:
        rgba(24,49,41,.32);
}


.ta-home-court-copy h2 {
    margin: 0;

    font-size: 2rem;

    line-height: .95;

    letter-spacing: -.025em;

    font-weight: 500;

    color:
        var(--ta-forest);
}


.ta-home-court-surface {
    margin-top: 6px;

    font-size: .74rem;

    color:
        var(--ta-muted);
}


.ta-home-court-copy p {
    margin:
        5px
        0
        0;

    font-size: .73rem;

    line-height: 1.35;

    color:
        var(--ta-muted);
}


.ta-home-court-copy > a {
    display: inline-flex;

    gap: 6px;

    margin-top: 12px;

    text-decoration: none;

    font-size: .62rem;

    letter-spacing: .08em;

    text-transform: uppercase;

    font-weight: 700;

    color:
        var(--ta-forest);
}


.ta-home-court-copy > a span {
    color:
        var(--ta-clay);
}


.ta-home-court-media {
    display: block;

    min-width: 0;

    min-height: 178px;

    overflow: hidden;
}


.ta-home-court-media img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform
        650ms
        cubic-bezier(.16,1,.3,1);
}


.ta-home-court:hover
.ta-home-court-media img {
    transform:
        scale(1.025);
}


.ta-home-courts-empty {
    display: flex;

    align-items: center;

    padding: 30px;

    color:
        var(--ta-muted);
}



/* ============================================================
   AVAILABILITY — COMPACT BAND
   ============================================================ */

.ta-home-rebuild-root
.ta-availability-section {
    padding:
        0 !important;

    background:
        var(--ta-ivory) !important;

    border-bottom:
        1px solid
        var(--ta-border);
}


.ta-home-rebuild-root
.ta-home-availability-inner {
    width:
        min(
            100% - 48px,
            var(--ta-container)
        );

    display: grid;

    grid-template-columns:
        210px
        350px
        minmax(230px,1fr);

    column-gap: 20px;

    row-gap: 10px;

    align-items: center;

    padding:
        14px
        0
        10px !important;
}


.ta-home-availability-intro {
    display: flex;

    align-items: center;

    gap: 11px;
}


.ta-home-availability-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 34px;
    height: 34px;

    border:
        1px solid
        rgba(199,165,82,.55);

    border-radius: 50%;

    color:
        var(--ta-gold);
}


.ta-home-availability-intro span,
.ta-home-availability-label {
    display: block;

    font-size: .56rem;

    letter-spacing: .13em;

    text-transform: uppercase;

    font-weight: 700;

    color:
        var(--ta-clay);
}


.ta-home-availability-intro strong {
    display: block;

    margin-top: 2px;

    font-size: 1.10rem;

    line-height: 1;

    font-weight: 600;

    color:
        var(--ta-forest);
}


.ta-home-availability-controls {
    display: grid;

    grid-template-columns:
        1fr
        132px;

    gap: 10px;

    align-items: end;
}


.ta-home-availability-court,
.ta-home-availability-date {
    min-width: 0;
}


.ta-home-rebuild-root
.ta-availability-courts {
    display: flex !important;

    gap: 5px !important;

    margin-top: 4px;
}


.ta-home-rebuild-root
.ta-availability-court-label {
    min-height: 32px !important;

    display: flex !important;

    align-items: center;

    padding:
        0
        10px !important;

    border-radius: 0 !important;

    font-size: .72rem !important;
}


.ta-home-rebuild-root
.ta-availability-date {
    width: 100%;

    min-height: 32px !important;

    margin-top: 4px;

    padding:
        0
        8px !important;

    font-size: .72rem !important;
}


.ta-home-availability-status-wrap {
    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 15px;

    min-width: 0;
}


.ta-home-rebuild-root
#availabilityStatus {
    min-height: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    background: none !important;

    font-size: .78rem !important;

    color:
        var(--ta-muted) !important;
}


.ta-home-rebuild-root
#availabilityStatus::before {
    display: none !important;
}


.ta-home-rebuild-root
#availabilityPrev,
.ta-home-rebuild-root
#availabilityNext {
    width: 32px !important;
    height: 32px !important;

    min-width: 32px !important;

    border-radius: 0 !important;
}


.ta-home-rebuild-root
#availabilityCarousel {
    grid-column:
        1 / -1;

    display: flex !important;

    gap: 0 !important;

    width: 100%;

    min-height: 72px !important;

    padding: 0 !important;

    overflow-x: auto;

    border-top:
        1px solid
        var(--ta-border);
}


.ta-home-rebuild-root
#availabilityCarousel
.ta-slot-card {
    flex:
        0
        0
        126px !important;

    min-width:
        126px !important;

    min-height:
        70px !important;

    display: flex !important;

    flex-direction: column;

    justify-content: center;

    gap: 3px;

    padding:
        10px
        12px !important;

    border: 0 !important;

    border-right:
        1px solid
        var(--ta-border) !important;

    border-radius: 0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;
}


.ta-home-rebuild-root
.ta-slot-card-time {
    font-size: 1.28rem !important;

    line-height: 1 !important;

    color:
        var(--ta-forest) !important;
}


.ta-home-rebuild-root
.ta-slot-card-end {
    margin-top: 2px !important;

    font-size: .60rem !important;
}


.ta-home-rebuild-root
.ta-slot-card-bottom {
    display: flex !important;

    justify-content: space-between;

    gap: 5px;

    margin-top: 5px !important;
}


.ta-home-rebuild-root
.ta-slot-card-price {
    font-size: .63rem !important;
}


.ta-home-rebuild-root
.ta-slot-card-action {
    font-size: .58rem !important;

    color:
        var(--ta-clay) !important;
}



/* ============================================================
   LOWER HOME RHYTHM
   ============================================================ */

.ta-home-rebuild-root
.ta-home-forest-break {
    padding:
        40px
        0 !important;
}


.ta-home-rebuild-root
.ta-home-forest-break-inner {
    min-height: 0 !important;
}


.ta-home-rebuild-root
.ta-home-forest-break-main h2 {
    font-size:
        clamp(
            2rem,
            3.25vw,
            3.35rem
        ) !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-section {
    padding-top:
        72px !important;

    padding-bottom:
        72px !important;
}



/* ============================================================
   LAPTOP
   ============================================================ */

@media (max-width: 1250px) {

    .ta-home-rebuild-root
    .ta-home-hero-inner {
        grid-template-columns:
            minmax(0,.78fr)
            minmax(500px,1.22fr);

        gap: 34px;
    }


    .ta-home-rebuild-root
    .ta-home-title {
        font-size:
            clamp(
                3rem,
                4vw,
                3.8rem
            ) !important;
    }


    .ta-home-quick-form {
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }


    .ta-home-quick-submit {
        grid-column:
            1 / -1;
    }


    .ta-home-court {
        grid-template-columns:
            150px
            minmax(0,1fr);
    }


    .ta-home-rebuild-root
    .ta-home-availability-inner {
        grid-template-columns:
            190px
            320px
            minmax(200px,1fr);
    }

}



/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 960px) {

    .ta-home-rebuild-root
    .ta-home-hero-inner {
        width: min(
            calc(100% - 64px),
            1280px
        ) !important;
    }

    body:has(.ta-home-rebuild-root) {
        --ta-header-h: 72px;
    }


    .ta-home-rebuild-root
    .ta-home-hero {
        height: auto;

        min-height: 610px !important;
    }


    .ta-home-rebuild-root
    .ta-home-hero-inner {
        height: auto;

        min-height: 610px !important;

        grid-template-columns:
            1fr;

        gap: 30px;

        align-content: center;

        padding-top: 42px;
        padding-bottom: 42px;
    }


    .ta-home-rebuild-root
    .ta-home-copy {
        max-width: 610px;
    }


    .ta-home-quick-booking {
        max-width: 720px;
    }


    .ta-home-courts {
        grid-template-columns:
            1fr;
    }


    .ta-home-courts-label {
        min-height: 68px;

        display: grid;

        grid-template-columns:
            auto
            1fr
            auto;

        align-items: center;

        gap: 17px;

        padding:
            17px
            28px;
    }


    .ta-home-courts-label i {
        width: 100%;
    }


    .ta-home-courts-grid {
        grid-template-columns:
            1fr
            1fr;
    }


    .ta-home-court {
        grid-template-columns:
            1fr;

        grid-template-rows:
            auto
            150px;
    }


    .ta-home-court-media {
        min-height: 150px;
    }


    .ta-home-rebuild-root
    .ta-home-availability-inner {
        grid-template-columns:
            1fr
            1.4fr;

        row-gap: 14px;
    }


    .ta-home-availability-status-wrap {
        grid-column:
            1 / -1;
    }

}



/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .ta-home-rebuild-root
    .ta-home-hero-inner {
        width: min(
            calc(100% - 40px),
            1280px
        ) !important;
    }

    .ta-home-rebuild-root
    .ta-home-hero {
        min-height: 660px !important;
    }


    .ta-home-rebuild-root
    .ta-home-hero-inner {
        min-height: 660px !important;

        padding-top: 34px;
        padding-bottom: 34px;
    }


    .ta-home-rebuild-root
    .ta-home-title {
        max-width: 100%;

        font-size:
            clamp(
                2.8rem,
                13vw,
                3.65rem
            ) !important;
    }


    .ta-home-rebuild-root
    .ta-home-lead {
        font-size: .94rem;
    }


    .ta-home-copy-actions {
        gap: 8px;
    }


    .ta-home-quick-booking {
        padding:
            15px;
    }


    .ta-home-quick-booking-head {
        align-items: flex-start;

        flex-direction: column;

        gap: 4px;
    }


    .ta-home-quick-form {
        grid-template-columns:
            1fr
            1fr;
    }


    .ta-home-quick-submit {
        grid-column:
            1 / -1;
    }


    .ta-home-courts-grid {
        grid-template-columns:
            1fr;
    }


    .ta-home-court {
        min-height: 190px;

        grid-template-columns:
            145px
            minmax(0,1fr);

        grid-template-rows:
            auto;
    }


    .ta-home-court-media {
        min-height: 190px;

        order: -1;
    }


    .ta-home-court-copy {
        padding:
            17px;
    }


    .ta-home-court-copy h2 {
        font-size: 1.55rem;
    }


    .ta-home-rebuild-root
    .ta-home-availability-inner {
        width:
            min(
                100% - 32px,
                var(--ta-container)
            );

        grid-template-columns:
            1fr;

        padding-top:
            17px !important;
    }


    .ta-home-availability-controls {
        grid-template-columns:
            1fr
            132px;
    }


    .ta-home-availability-status-wrap {
        grid-column: auto;
    }


    .ta-home-rebuild-root
    #availabilityCarousel {
        grid-column: auto;
    }


    .ta-home-rebuild-root
    .ta-home-forest-break {
        padding:
            32px
            0 !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-section {
        padding-top:
            56px !important;

        padding-bottom:
            56px !important;
    }

}



/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (
    prefers-reduced-motion:
    reduce
) {

    .ta-home-court-media img,
    .ta-home-quick-submit strong {
        transition:
            none !important;
    }

}

/* ============================================================
   HOME V4 — EDITORIAL CLUB INDEX
   ============================================================ */


/*
 * Aceasta sectiune este continuarea editoriala
 * a Home-ului, nu un carousel generic.
 */

.ta-home-rebuild-root
.ta-chapter-carousel-section {
    position: relative;

    padding:
        62px
        0
        58px !important;

    margin: 0 !important;

    border-top:
        1px solid
        var(--ta-border) !important;

    border-bottom:
        0 !important;

    background:
        var(--ta-ivory-soft) !important;

    overflow:
        hidden;
}


.ta-home-rebuild-root
.ta-chapter-carousel-section
> .ta-container {
    position:
        relative;
}


/* ============================================================
   CHAPTER HEADER
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-carousel-head {
    display:
        grid !important;

    grid-template-columns:
        minmax(0,1fr)
        minmax(310px,.52fr) !important;

    gap:
        clamp(
            40px,
            6vw,
            90px
        ) !important;

    align-items:
        end !important;

    margin:
        0
        0
        27px !important;

    padding:
        0
        0
        21px !important;

    border-bottom:
        1px solid
        var(--ta-border) !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-head
.ta-eyebrow {
    display:
        flex;

    align-items:
        center;

    gap:
        11px;

    margin:
        0
        0
        9px !important;

    font-size:
        .58rem !important;

    line-height:
        1;

    letter-spacing:
        .17em !important;

    text-transform:
        uppercase;

    font-weight:
        600 !important;

    color:
        var(--ta-clay) !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-head
.ta-eyebrow::before {
    content:
        "";

    width:
        30px;

    height:
        1px;

    background:
        var(--ta-gold);
}


.ta-home-rebuild-root
.ta-chapter-carousel-heading {
    max-width:
        670px;

    margin:
        0 !important;

    font-size:
        clamp(
            2.75rem,
            3.45vw,
            4.15rem
        ) !important;

    line-height:
        .91 !important;

    letter-spacing:
        -.042em !important;

    font-weight:
        500 !important;

    color:
        var(--ta-forest) !important;
}


/* ------------------------------------------------------------
   HEADER RIGHT
   ------------------------------------------------------------ */

.ta-home-rebuild-root
.ta-chapter-carousel-head-right {
    display:
        grid !important;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap:
        27px !important;

    align-items:
        end !important;

    width:
        100%;

    max-width:
        none !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-head-right p {
    max-width:
        285px !important;

    margin:
        0 !important;

    font-size:
        .82rem !important;

    line-height:
        1.48 !important;

    color:
        var(--ta-muted) !important;
}


/* ============================================================
   COUNTER: 05 / 09
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-carousel-counter {
    display:
        flex !important;

    align-items:
        baseline !important;

    gap:
        7px !important;

    min-width:
        58px;

    white-space:
        nowrap;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:
        1rem !important;

    line-height:
        1 !important;

    letter-spacing:
        .02em !important;

    color:
        var(--ta-forest) !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-counter
[data-ta-chapter-current] {
    font-size:
        1.35rem !important;

    font-weight:
        600;
}


.ta-home-rebuild-root
.ta-chapter-carousel-counter i {
    width:
        auto !important;

    height:
        auto !important;

    background:
        transparent !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-counter i::before {
    content:
        "/";

    font-size:
        .85rem;

    font-style:
        normal;

    color:
        var(--ta-gold);
}


/* ============================================================
   CAROUSEL SHELL
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-carousel-shell {
    position:
        relative;

    margin:
        0 !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-viewport {
    position:
        relative;

    width:
        100% !important;

    overflow:
        hidden !important;

    border:
        1px solid
        var(--ta-border) !important;

    background:
        var(--ta-ivory) !important;

    box-shadow:
        none !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-track {
    display:
        flex !important;

    align-items:
        stretch !important;

    width:
        100%;
}


/* ============================================================
   CHAPTER SLIDE
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-slide {
    position:
        relative;

    flex:
        0
        0
        100% !important;

    width:
        100% !important;

    min-width:
        100% !important;

    min-height:
        365px !important;

    display:
        grid !important;

    grid-template-columns:
        minmax(350px,.74fr)
        minmax(0,1.26fr) !important;

    align-items:
        stretch !important;

    background:
        var(--ta-ivory) !important;
}


/*
 * Aceeasi geometrie pentru toate capitolele.
 * Nu alternam stanga / dreapta.
 */

.ta-home-rebuild-root
.ta-chapter-slide:nth-child(even)
.ta-chapter-slide-media {
    order:
        initial !important;
}


/* ============================================================
   COPY PANEL
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-slide-copy {
    position:
        relative;

    min-width:
        0;

    min-height:
        365px;

    display:
        flex !important;

    flex-direction:
        column;

    justify-content:
        center;

    align-items:
        flex-start;

    padding:
        37px
        42px
        38px !important;

    border-right:
        1px solid
        var(--ta-border) !important;

    background:
        var(--ta-ivory) !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-meta {
    display:
        flex !important;

    align-items:
        center !important;

    gap:
        10px !important;

    margin:
        0
        0
        17px !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-meta::after {
    content:
        "";

    width:
        32px;

    height:
        1px;

    margin-left:
        3px;

    background:
        var(--ta-border);
}


.ta-home-rebuild-root
.ta-chapter-slide-number {
    font-size:
        .62rem !important;

    line-height:
        1;

    letter-spacing:
        .17em !important;

    font-weight:
        700;

    color:
        var(--ta-clay) !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-label {
    font-size:
        .56rem !important;

    line-height:
        1;

    letter-spacing:
        .15em !important;

    text-transform:
        uppercase;

    font-weight:
        600;

    color:
        var(--ta-muted) !important;
}


/* ============================================================
   TITLE
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-slide-title {
    max-width:
        470px;

    margin:
        0 !important;

    font-size:
        clamp(
            2.55rem,
            3.05vw,
            3.55rem
        ) !important;

    line-height:
        .92 !important;

    letter-spacing:
        -.04em !important;

    font-weight:
        500 !important;

    color:
        var(--ta-forest) !important;
}


/* ============================================================
   INTRO
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-slide-intro {
    max-width:
        430px !important;

    margin:
        17px
        0
        0 !important;

    font-size:
        .88rem !important;

    line-height:
        1.52 !important;

    color:
        var(--ta-muted) !important;
}


/*
 * Topicurile tip "Teren 1 / Teren 2"
 * nu sunt necesare in indexul Home.
 */

.ta-home-rebuild-root
.ta-chapter-slide-topics {
    display:
        none !important;
}


/* ============================================================
   CHAPTER CTA
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-slide-link {
    position:
        relative;

    width:
        fit-content !important;

    min-width:
        188px;

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        space-between !important;

    gap:
        31px !important;

    margin:
        27px
        0
        0 !important;

    padding:
        0
        0
        7px !important;

    border:
        0 !important;

    border-bottom:
        1px solid
        rgba(7,60,46,.55) !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    text-decoration:
        none;

    font-size:
        .61rem !important;

    line-height:
        1;

    letter-spacing:
        .1em !important;

    text-transform:
        uppercase;

    font-weight:
        700 !important;

    color:
        var(--ta-forest) !important;

    transition:
        border-color
        180ms ease !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-link strong {
    font-size:
        1.02rem !important;

    line-height:
        1;

    font-weight:
        400 !important;

    color:
        var(--ta-clay) !important;

    transition:
        transform
        180ms ease !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-link:hover {
    border-color:
        var(--ta-clay) !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-link:hover strong {
    transform:
        translateX(4px) !important;
}


/* ============================================================
   MEDIA
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-slide-media {
    position:
        relative;

    display:
        block !important;

    min-width:
        0;

    min-height:
        365px !important;

    overflow:
        hidden !important;

    background:
        var(--ta-forest-deep) !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-media img,
.ta-home-rebuild-root
.ta-chapter-slide-placeholder {
    display:
        block !important;

    width:
        100% !important;

    height:
        100% !important;

    min-height:
        365px !important;

    object-fit:
        cover !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-media img {
    transform:
        scale(1.001);

    transition:
        transform
        800ms
        cubic-bezier(.16,1,.3,1) !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-media:hover img {
    transform:
        scale(1.025) !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-image-overlay {
    position:
        absolute !important;

    inset:
        0 !important;

    pointer-events:
        none;

    background:
        linear-gradient(
            90deg,
            rgba(4,43,33,.18) 0%,
            rgba(4,43,33,.04) 22%,
            transparent 50%
        ) !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-image-index {
    display:
        none !important;
}


/* ============================================================
   NAVIGATION ARROWS
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-carousel-arrow {
    position:
        absolute !important;

    z-index:
        12;

    top:
        50% !important;

    width:
        39px !important;

    height:
        39px !important;

    min-width:
        39px !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    padding:
        0 !important;

    border:
        1px solid
        var(--ta-border) !important;

    border-radius:
        0 !important;

    background:
        rgba(251,248,240,.97) !important;

    color:
        var(--ta-forest) !important;

    box-shadow:
        none !important;

    transform:
        translateY(-50%) !important;

    transition:
        background
        180ms ease,
        color
        180ms ease,
        border-color
        180ms ease !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-arrow span {
    display:
        block;

    font-size:
        1rem;

    line-height:
        1;
}


.ta-home-rebuild-root
.ta-chapter-carousel-arrow-prev {
    left:
        -19px !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-arrow-next {
    right:
        -19px !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-arrow:hover {
    border-color:
        var(--ta-forest) !important;

    background:
        var(--ta-forest) !important;

    color:
        var(--ta-ivory) !important;
}


/* ============================================================
   PROGRESS
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-carousel-bottom {
    display:
        block !important;

    margin:
        17px
        0
        0 !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-progress {
    position:
        relative;

    width:
        100% !important;

    height:
        1px !important;

    overflow:
        hidden;

    background:
        var(--ta-border) !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-progress-fill {
    height:
        1px !important;

    background:
        var(--ta-clay) !important;
}


/*
 * UX-ul este suficient de evident prin counter,
 * arrows si progress.
 */

.ta-home-rebuild-root
.ta-chapter-carousel-hint,
.ta-home-rebuild-root
.ta-chapter-carousel-footer {
    display:
        none !important;
}


/* ============================================================
   HOME CLOSING CTA — INTEGRATED
   ============================================================ */


/*
 * Aplicat doar atunci cand footer-ul urmeaza Home-ul.
 * Celelalte pagini pastreaza footer CTA global.
 */

body:has(.ta-home-rebuild-root)
.ta-footer-cta {
    position:
        relative;

    padding:
        0 !important;

    border-top:
        1px solid
        var(--ta-border) !important;

    border-bottom:
        0 !important;

    background:
        var(--ta-ivory) !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta::before {
    display:
        none !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-inner {
    min-height:
        150px;

    display:
        grid !important;

    grid-template-columns:
        minmax(0,1fr)
        auto !important;

    gap:
        clamp(
            40px,
            7vw,
            110px
        ) !important;

    align-items:
        center !important;

    padding-top:
        30px !important;

    padding-bottom:
        30px !important;
}


/* ------------------------------------------------------------
   CTA COPY
   ------------------------------------------------------------ */

body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy {
    display:
        grid !important;

    grid-template-columns:
        145px
        minmax(260px,.72fr)
        minmax(170px,.42fr);

    gap:
        clamp(
            24px,
            4vw,
            58px
        );

    align-items:
        center;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy::before {
    display:
        none !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-eyebrow {
    position:
        relative;

    margin:
        0 !important;

    padding-top:
        14px;

    font-size:
        .58rem !important;

    line-height:
        1;

    letter-spacing:
        .16em !important;

    text-transform:
        uppercase;

    font-weight:
        600 !important;

    color:
        var(--ta-clay) !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-eyebrow::before {
    content:
        "";

    position:
        absolute;

    top:
        0;

    left:
        0;

    width:
        35px;

    height:
        1px;

    background:
        var(--ta-gold);
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy h2 {
    margin:
        0 !important;

    font-size:
        clamp(
            2.25rem,
            2.8vw,
            3.3rem
        ) !important;

    line-height:
        .92 !important;

    letter-spacing:
        -.038em !important;

    font-weight:
        500 !important;

    color:
        var(--ta-forest) !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy p {
    max-width:
        180px;

    margin:
        0 !important;

    font-size:
        .84rem !important;

    line-height:
        1.45 !important;

    color:
        var(--ta-muted) !important;
}


/* ------------------------------------------------------------
   CTA BUTTON
   ------------------------------------------------------------ */

body:has(.ta-home-rebuild-root)
.ta-footer-cta-button {
    min-width:
        178px;

    min-height:
        46px !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        space-between !important;

    gap:
        28px;

    padding:
        0
        0
        7px !important;

    border:
        0 !important;

    border-bottom:
        1px solid
        var(--ta-forest) !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    text-decoration:
        none;

    font-size:
        .65rem !important;

    letter-spacing:
        .09em !important;

    text-transform:
        uppercase;

    font-weight:
        700 !important;

    color:
        var(--ta-forest) !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-button strong {
    font-size:
        1.05rem !important;

    line-height:
        1;

    font-weight:
        400 !important;

    color:
        var(--ta-clay) !important;

    transition:
        transform
        180ms ease !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-button:hover {
    background:
        transparent !important;

    color:
        var(--ta-forest) !important;

    border-color:
        var(--ta-clay) !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-button:hover strong {
    transform:
        translateX(5px) !important;
}


/* ============================================================
   LAPTOP
   ============================================================ */

@media (max-width: 1180px) {

    .ta-home-rebuild-root
    .ta-chapter-slide {
        grid-template-columns:
            minmax(320px,.82fr)
            minmax(0,1.18fr) !important;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-copy {
        grid-template-columns:
            120px
            minmax(230px,.7fr)
            minmax(150px,.4fr);

        gap:
            30px;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 960px) {

    .ta-home-rebuild-root
    .ta-chapter-carousel-section {
        padding:
            50px
            0
            50px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-head {
        grid-template-columns:
            1fr !important;

        gap:
            15px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-head-right {
        grid-template-columns:
            minmax(0,1fr)
            auto;
    }


    .ta-home-rebuild-root
    .ta-chapter-slide {
        grid-template-columns:
            minmax(0,1fr)
            minmax(0,1.1fr) !important;

        min-height:
            330px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-slide-copy {
        min-height:
            330px;

        padding:
            30px
            31px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-slide-media,
    .ta-home-rebuild-root
    .ta-chapter-slide-media img,
    .ta-home-rebuild-root
    .ta-chapter-slide-placeholder {
        min-height:
            330px !important;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-inner {
        grid-template-columns:
            1fr
            auto !important;

        gap:
            30px !important;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-copy {
        grid-template-columns:
            110px
            minmax(210px,1fr);

        row-gap:
            13px;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-copy p {
        grid-column:
            2;

        max-width:
            none;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .ta-home-rebuild-root
    .ta-chapter-carousel-section {
        padding:
            40px
            0
            43px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-head {
        margin-bottom:
            17px !important;

        padding-bottom:
            16px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-heading {
        font-size:
            clamp(
                2.35rem,
                10.5vw,
                3rem
            ) !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-head-right p {
        max-width:
            225px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-slide {
        display:
            flex !important;

        flex-direction:
            column-reverse !important;

        min-height:
            0 !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-slide-copy {
        min-height:
            0;

        padding:
            25px
            22px
            29px !important;

        border-right:
            0 !important;

        border-top:
            1px solid
            var(--ta-border) !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-slide-title {
        font-size:
            clamp(
                2.15rem,
                9.7vw,
                2.8rem
            ) !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-slide-media,
    .ta-home-rebuild-root
    .ta-chapter-slide-media img,
    .ta-home-rebuild-root
    .ta-chapter-slide-placeholder {
        height:
            220px !important;

        min-height:
            220px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-arrow {
        width:
            34px !important;

        height:
            34px !important;

        min-width:
            34px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-arrow-prev {
        left:
            5px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-arrow-next {
        right:
            5px !important;
    }


    /* CTA */

    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-inner {
        min-height:
            0;

        grid-template-columns:
            1fr !important;

        gap:
            25px !important;

        padding-top:
            31px !important;

        padding-bottom:
            34px !important;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-copy {
        grid-template-columns:
            1fr !important;

        gap:
            10px;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-copy p {
        grid-column:
            auto;

        max-width:
            none;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-eyebrow {
        margin-bottom:
            5px !important;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-copy h2 {
        font-size:
            clamp(
                2.35rem,
                11vw,
                3rem
            ) !important;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-button {
        width:
            100%;

        min-width:
            0;
    }

}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (
    prefers-reduced-motion:
    reduce
) {

    .ta-home-rebuild-root
    .ta-chapter-slide-media img,

    .ta-home-rebuild-root
    .ta-chapter-slide-link strong,

    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-button strong {
        transition:
            none !important;
    }

}

/* ============================================================
   HOME V5 — WIDE GEOMETRY + TITLE HIERARCHY
   ============================================================ */


/* ============================================================
   ONE COMMON HOME WIDTH
   Hero / Chapters / Closing CTA
   ============================================================ */

.ta-home-rebuild-root
.ta-home-hero-inner,

.ta-home-rebuild-root
.ta-chapter-carousel-section
> .ta-container,

body:has(.ta-home-rebuild-root)
.ta-footer-cta-inner {
    width:
        min(
            calc(100% - 96px),
            1280px
        ) !important;

    max-width:
        1280px !important;

    margin-left:
        auto !important;

    margin-right:
        auto !important;
}


/*
 * Carousel-ul trebuie sa foloseasca efectiv
 * toata latimea containerului.
 */

.ta-home-rebuild-root
.ta-chapter-carousel-shell,

.ta-home-rebuild-root
.ta-chapter-carousel-viewport,

.ta-home-rebuild-root
.ta-chapter-carousel-track {
    width:
        100% !important;

    max-width:
        none !important;
}


/* ============================================================
   HOME HEADING HIERARCHY
   ============================================================ */


/*
 * NIVEL 1
 * Hero / page statement
 */

.ta-home-rebuild-root
.ta-home-title {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;

    font-style:
        normal !important;

    font-weight:
        500 !important;
}


/*
 * NIVEL 2
 * Capitole / closing CTA
 */

.ta-home-rebuild-root
.ta-chapter-carousel-heading,

body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy h2 {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;

    font-style:
        normal !important;

    font-weight:
        500 !important;

    letter-spacing:
        -.038em !important;
}


/*
 * NIVEL 3
 * Titlul capitolului activ / courts
 */

.ta-home-rebuild-root
.ta-chapter-slide-title,

.ta-home-rebuild-root
.ta-home-court-copy h2 {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;

    font-style:
        normal !important;

    font-weight:
        500 !important;
}


/*
 * Counter-ul capitolelor foloseste aceeasi
 * voce editoriala, dar ramane functional.
 */

.ta-home-rebuild-root
.ta-chapter-carousel-counter {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;

    font-style:
        normal !important;

    font-weight:
        500 !important;
}


/* ============================================================
   CHAPTER HEADER — WIDE DESKTOP BALANCE
   ============================================================ */

@media (min-width: 1280px) {

    .ta-home-rebuild-root
    .ta-chapter-carousel-head {
        grid-template-columns:
            minmax(0,1fr)
            minmax(360px,.46fr) !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-slide {
        grid-template-columns:
            minmax(390px,.72fr)
            minmax(0,1.28fr) !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-slide-copy {
        padding-left:
            48px !important;

        padding-right:
            48px !important;
    }

}


/* ============================================================
   CLOSING CTA — SAME HOME GRID LANGUAGE
   ============================================================ */

body:has(.ta-home-rebuild-root)
.ta-footer-cta {
    width:
        100%;

    overflow:
        hidden;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-inner {
    min-height:
        148px;

    grid-template-columns:
        minmax(0,1fr)
        auto !important;
}


/*
 * Eyebrow + H2 + supporting copy
 * se citesc ca trei niveluri,
 * nu ca trei elemente fara relatie.
 */

body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy {
    width:
        100%;

    grid-template-columns:
        145px
        minmax(280px,.72fr)
        minmax(180px,.38fr) !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy h2 {
    font-size:
        clamp(
            2.45rem,
            2.8vw,
            3.35rem
        ) !important;

    line-height:
        .92 !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy p {
    font-size:
        .86rem !important;

    line-height:
        1.45 !important;
}


/* ============================================================
   TABLET WIDTH
   ============================================================ */

@media (max-width: 960px) {

    .ta-home-rebuild-root
    .ta-home-hero-inner,

    .ta-home-rebuild-root
    .ta-chapter-carousel-section
    > .ta-container,

    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-inner {
        width:
            min(
                calc(100% - 64px),
                1280px
            ) !important;
    }

}


/* ============================================================
   MOBILE WIDTH
   ============================================================ */

@media (max-width: 640px) {

    .ta-home-rebuild-root
    .ta-home-hero-inner,

    .ta-home-rebuild-root
    .ta-chapter-carousel-section
    > .ta-container,

    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-inner {
        width:
            min(
                calc(100% - 40px),
                1280px
            ) !important;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-copy {
        grid-template-columns:
            1fr !important;
    }

}


/* END HOME V5 — WIDE GEOMETRY + TITLE HIERARCHY */

/* ============================================================
   HOME V6 — WIDE POLISH
   ============================================================ */


/* ============================================================
   HOME V6 — WIDE POLISH
   ============================================================ */


/* ============================================================
   COURT TITLES
   Sunt component titles, nu section H2.
   ============================================================ */

.ta-home-rebuild-root
.ta-home-court-copy h2 {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;

    font-size:
        clamp(
            1.75rem,
            1.75vw,
            2.15rem
        ) !important;

    line-height:
        .98 !important;

    letter-spacing:
        -.025em !important;

    font-weight:
        500 !important;

    font-style:
        normal !important;

    color:
        var(--ta-forest) !important;
}


@media (min-width: 961px) {

    .ta-home-rebuild-root
    .ta-home-court {
        grid-template-columns:
            210px
            minmax(0,1fr) !important;
    }


    .ta-home-rebuild-root
    .ta-home-court-copy h2 {
        white-space:
            nowrap;
    }

}


/* ============================================================
   AVAILABILITY
   Compact when empty / loading / error
   ============================================================ */

.ta-home-rebuild-root
#availabilityCarousel
.ta-carousel-empty,

.ta-home-rebuild-root
#availabilityCarousel
.ta-carousel-loading,

.ta-home-rebuild-root
#availabilityCarousel
.ta-carousel-error {
    width:
        100% !important;

    min-height:
        88px !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    padding:
        22px
        28px !important;

    text-align:
        center;

    font-size:
        .86rem !important;

    line-height:
        1.45 !important;

    color:
        var(--ta-muted) !important;

    background:
        transparent !important;
}


/*
 * Nu lasam carousel-ul gol sa creeze
 * o zona mare inutila.
 */

.ta-home-rebuild-root
#availabilityCarousel {
    min-height:
        88px !important;
}


/* ============================================================
   AVAILABILITY -> CHAPTERS TRANSITION
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-carousel-section {
    padding-top:
        43px !important;

    padding-bottom:
        48px !important;
}


.ta-home-rebuild-root
.ta-chapter-carousel-head {
    margin-bottom:
        21px !important;

    padding-bottom:
        18px !important;
}


/* ============================================================
   CHAPTER TYPOGRAPHY FINAL NORMALISATION
   ============================================================ */

.ta-home-rebuild-root
.ta-chapter-carousel-heading {
    font-style:
        normal !important;

    font-weight:
        500 !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-title {
    font-style:
        normal !important;

    font-weight:
        500 !important;
}


.ta-home-rebuild-root
.ta-chapter-slide-intro {
    font-style:
        normal !important;

    font-weight:
        400 !important;
}


/* ============================================================
   CLOSING CTA
   ============================================================ */

body:has(.ta-home-rebuild-root)
.ta-footer-cta-inner {
    min-height:
        132px !important;

    padding-top:
        24px !important;

    padding-bottom:
        24px !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy h2 {
    font-size:
        clamp(
            2.35rem,
            2.65vw,
            3.15rem
        ) !important;

    font-style:
        normal !important;

    font-weight:
        500 !important;
}


body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy p {
    font-style:
        normal !important;

    font-weight:
        400 !important;
}


/* ============================================================
   VERY WIDE MONITORS
   ============================================================ */

@media (min-width: 1600px) {

    .ta-home-rebuild-root
    .ta-home-court {
        grid-template-columns:
            220px
            minmax(0,1fr) !important;
    }


    .ta-home-rebuild-root
    .ta-home-court-copy {
        padding-left:
            20px !important;

        padding-right:
            20px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-section {
        padding-top:
            46px !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .ta-home-rebuild-root
    .ta-home-court-copy h2 {
        white-space:
            normal;

        font-size:
            clamp(
                1.55rem,
                7.5vw,
                1.9rem
            ) !important;
    }


    .ta-home-rebuild-root
    #availabilityCarousel,
    .ta-home-rebuild-root
    #availabilityCarousel
    .ta-carousel-empty,
    .ta-home-rebuild-root
    #availabilityCarousel
    .ta-carousel-loading,
    .ta-home-rebuild-root
    #availabilityCarousel
    .ta-carousel-error {
        min-height:
            74px !important;
    }


    .ta-home-rebuild-root
    .ta-chapter-carousel-section {
        padding-top:
            36px !important;

        padding-bottom:
            40px !important;
    }


    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-inner {
        padding-top:
            28px !important;

        padding-bottom:
            30px !important;
    }

}


/* ============================================================
   HOME V7 — SINGLE FONT SYSTEM
   ============================================================ */


/* ============================================================
   HOME V7 — SINGLE FONT SYSTEM
   ============================================================ */


/*
 * HOME-ul foloseste o singura familie tipografica:
 *
 * Cormorant Garamond
 *
 * Diferentierea vizuala se face exclusiv prin:
 * - font-size
 * - font-weight
 * - letter-spacing
 * - line-height
 * - uppercase
 *
 * Nu prin schimbarea familiei de font.
 */


/* ============================================================
   PAGE CONTENT
   ============================================================ */

.ta-home-rebuild-root,
.ta-home-rebuild-root *,
.ta-home-rebuild-root *::before,
.ta-home-rebuild-root *::after {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;
}


/* ============================================================
   GLOBAL HEADER WHEN HOME IS OPEN
   ============================================================ */

body:has(.ta-home-rebuild-root)
.ta-topbar,

body:has(.ta-home-rebuild-root)
.ta-topbar *,

body:has(.ta-home-rebuild-root)
.ta-mobile-panel,

body:has(.ta-home-rebuild-root)
.ta-mobile-panel * {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;
}


/* ============================================================
   GLOBAL FOOTER WHEN HOME IS OPEN
   ============================================================ */

body:has(.ta-home-rebuild-root)
.ta-site-footer,

body:has(.ta-home-rebuild-root)
.ta-site-footer * {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;
}


/* ============================================================
   FORM CONTROLS
   Browserele pot aplica fontul sistemului pe inputs/selects.
   Il fortam explicit.
   ============================================================ */

body:has(.ta-home-rebuild-root)
button,

body:has(.ta-home-rebuild-root)
input,

body:has(.ta-home-rebuild-root)
select,

body:has(.ta-home-rebuild-root)
textarea,

body:has(.ta-home-rebuild-root)
option {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;
}


/* placeholders */

body:has(.ta-home-rebuild-root)
input::placeholder,

body:has(.ta-home-rebuild-root)
textarea::placeholder {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;
}


/* ============================================================
   LINKS / BUTTONS
   ============================================================ */

body:has(.ta-home-rebuild-root)
a,

body:has(.ta-home-rebuild-root)
button {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;
}


/* ============================================================
   HEADINGS
   ============================================================ */

body:has(.ta-home-rebuild-root)
h1,

body:has(.ta-home-rebuild-root)
h2,

body:has(.ta-home-rebuild-root)
h3,

body:has(.ta-home-rebuild-root)
h4,

body:has(.ta-home-rebuild-root)
h5,

body:has(.ta-home-rebuild-root)
h6 {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;

    font-style:
        normal !important;
}


/* ============================================================
   BODY / META / LABEL TEXT
   ============================================================ */

body:has(.ta-home-rebuild-root)
p,

body:has(.ta-home-rebuild-root)
span,

body:has(.ta-home-rebuild-root)
label,

body:has(.ta-home-rebuild-root)
small,

body:has(.ta-home-rebuild-root)
strong,

body:has(.ta-home-rebuild-root)
em,

body:has(.ta-home-rebuild-root)
li {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;
}


/*
 * Nu folosim italic accidental.
 * Daca ulterior vrem un accent editorial italic,
 * il facem intentionat printr-o clasa dedicata.
 */

body:has(.ta-home-rebuild-root)
em {
    font-style:
        normal;
}


/* ============================================================
   KEEP FUNCTIONAL DIFFERENTIATION
   ============================================================ */


/*
 * Microcopy / navigation / labels raman compacte,
 * dar folosesc acelasi font.
 */

body:has(.ta-home-rebuild-root)
.ta-nav a,

body:has(.ta-home-rebuild-root)
.ta-eyebrow,

body:has(.ta-home-rebuild-root)
.ta-field-label,

body:has(.ta-home-rebuild-root)
.ta-home-quick-field > span,

body:has(.ta-home-rebuild-root)
.ta-home-availability-label,

body:has(.ta-home-rebuild-root)
.ta-chapter-slide-label,

body:has(.ta-home-rebuild-root)
.ta-footer-column-title,

body:has(.ta-home-rebuild-root)
.ta-footer-cta-eyebrow {
    font-weight:
        600 !important;
}


/*
 * Corpul de text ramane mai usor.
 */

body:has(.ta-home-rebuild-root)
.ta-home-lead,

body:has(.ta-home-rebuild-root)
.ta-chapter-slide-intro,

body:has(.ta-home-rebuild-root)
.ta-footer-brand-copy,

body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy p {
    font-weight:
        400 !important;
}


/*
 * Titlurile editoriale folosesc aceeasi familie,
 * cu weight 500.
 */

body:has(.ta-home-rebuild-root)
.ta-home-title,

body:has(.ta-home-rebuild-root)
.ta-home-court-copy h2,

body:has(.ta-home-rebuild-root)
.ta-chapter-carousel-heading,

body:has(.ta-home-rebuild-root)
.ta-chapter-slide-title,

body:has(.ta-home-rebuild-root)
.ta-footer-cta-copy h2 {
    font-weight:
        500 !important;
}


/* ============================================================
   PREVENT LEGACY SANS OVERRIDES
   ============================================================ */

body:has(.ta-home-rebuild-root)
[class*="ta-"] {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;
}

/* ============================================================
   HOME V8 — FLUID WIDTH + DUAL COURT MATRIX
   ============================================================ */


/* ============================================================
   DUAL COURT AVAILABILITY
   ============================================================ */

.ta-home-availability {
    overflow:
        hidden;
}


.ta-home-availability-inner {
    position:
        relative;
}


.ta-home-availability-head {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        38px;

    margin-bottom:
        18px;
}


.ta-home-availability-intro {
    display:
        flex;

    align-items:
        flex-start;

    gap:
        14px;
}


.ta-home-availability-intro h2 {
    margin:
        3px
        0
        0;

    font-size:
        clamp(
            1.55rem,
            1.9vw,
            2.15rem
        ) !important;

    line-height:
        .95 !important;

    font-weight:
        500 !important;

    letter-spacing:
        -.025em !important;

    color:
        var(--ta-forest);
}


.ta-home-availability-intro p {
    margin:
        6px
        0
        0;

    max-width:
        440px;

    font-size:
        .76rem;

    line-height:
        1.42;

    color:
        var(--ta-muted);
}


.ta-home-availability-date {
    min-width:
        180px;

    display:
        grid;

    gap:
        6px;
}


.ta-home-availability-date
.ta-availability-date {
    width:
        100%;

    min-height:
        42px;
}


.ta-home-availability-toolbar {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;

    padding:
        13px
        0;

    border-top:
        1px solid
        var(--ta-border);

    border-bottom:
        1px solid
        var(--ta-border);
}


.ta-home-availability-status {
    font-size:
        .79rem;

    line-height:
        1.4;

    color:
        var(--ta-muted);
}


.ta-home-availability-status strong {
    color:
        var(--ta-forest);

    font-weight:
        600;
}


.ta-home-availability-legend {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        15px;

    margin-top:
        6px;
}


.ta-home-availability-legend span {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    font-size:
        .62rem;

    color:
        var(--ta-muted);
}


.ta-home-availability-legend i {
    width:
        8px;

    height:
        8px;

    border:
        1px solid
        var(--ta-border);
}


.ta-home-availability-legend i.is-free {
    background:
        var(--ta-forest);
}


.ta-home-availability-legend i.is-busy {
    background:
        rgba(182,82,40,.28);
}


.ta-home-availability-legend i.is-closed {
    background:
        rgba(116,109,98,.18);
}


.ta-home-availability-arrows {
    display:
        flex;

    flex:
        0
        0
        auto;

    gap:
        7px;
}


.ta-home-availability-arrows button {
    width:
        38px;

    height:
        38px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0;

    border:
        1px solid
        var(--ta-border);

    border-radius:
        0;

    background:
        transparent;

    color:
        var(--ta-forest);

    cursor:
        pointer;

    transition:
        background-color
        240ms
        ease,
        color
        240ms
        ease,
        border-color
        240ms
        ease,
        opacity
        240ms
        ease;
}


.ta-home-availability-arrows button:hover:not(:disabled) {
    border-color:
        var(--ta-forest);

    background:
        var(--ta-forest);

    color:
        var(--ta-ivory);
}


.ta-home-availability-arrows button:disabled {
    opacity:
        .28;

    cursor:
        default;
}


/* ============================================================
   MATRIX SHELL
   ============================================================ */

#availabilityCarousel.ta-home-availability-matrix-shell {
    display:
        block !important;

    width:
        100% !important;

    min-height:
        0 !important;

    margin:
        0 !important;

    padding:
        0 !important;

    overflow:
        visible !important;

    background:
        transparent !important;

    border:
        0 !important;
}


.ta-home-availability-matrix-viewport {
    width:
        100%;

    overflow-x:
        auto;

    overflow-y:
        hidden;

    scroll-behavior:
        smooth;

    overscroll-behavior-inline:
        contain;

    scrollbar-width:
        thin;

    scrollbar-color:
        var(--ta-border)
        transparent;
}


.ta-home-availability-matrix-viewport::-webkit-scrollbar {
    height:
        5px;
}


.ta-home-availability-matrix-viewport::-webkit-scrollbar-thumb {
    background:
        var(--ta-border);
}


.ta-home-availability-matrix {
    display:
        grid;

    grid-template-columns:
        170px
        repeat(
            var(--ta-time-columns),
            minmax(
                118px,
                1fr
            )
        );

    min-width:
        max(
            100%,
            var(--ta-matrix-min-width)
        );

    border-left:
        1px solid
        var(--ta-border);

    border-bottom:
        1px solid
        var(--ta-border);
}


/* ============================================================
   MATRIX HEADER
   ============================================================ */

.ta-home-availability-corner,
.ta-home-availability-time-head {
    min-height:
        44px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        8px;

    border-top:
        1px solid
        var(--ta-border);

    border-right:
        1px solid
        var(--ta-border);

    background:
        var(--ta-ivory-soft);
}


.ta-home-availability-corner {
    justify-content:
        flex-start;

    padding-left:
        17px;

    font-size:
        .58rem;

    letter-spacing:
        .13em;

    text-transform:
        uppercase;

    font-weight:
        600;

    color:
        var(--ta-clay);
}


.ta-home-availability-time-head {
    font-size:
        .92rem;

    font-weight:
        600;

    color:
        var(--ta-forest);
}


/* ============================================================
   STICKY COURT LABEL
   ============================================================ */

.ta-home-availability-sticky {
    position:
        sticky;

    left:
        0;

    z-index:
        5;
}


.ta-home-availability-court-row-label {
    min-height:
        112px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

    align-items:
        flex-start;

    padding:
        16px
        17px;

    border-top:
        1px solid
        var(--ta-border);

    border-right:
        1px solid
        var(--ta-border);

    background:
        var(--ta-forest-deep);

    color:
        var(--ta-ivory);
}


.ta-home-availability-court-row-label span {
    font-size:
        1.25rem;

    line-height:
        1;

    font-weight:
        500;
}


.ta-home-availability-court-row-label small {
    margin-top:
        6px;

    font-size:
        .61rem;

    line-height:
        1.2;

    letter-spacing:
        .04em;

    color:
        rgba(246,240,228,.65);
}


/* ============================================================
   SLOT CELLS
   ============================================================ */

.ta-home-availability-cell {
    min-height:
        112px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    justify-content:
        center;

    padding:
        13px
        14px;

    border-top:
        1px solid
        var(--ta-border);

    border-right:
        1px solid
        var(--ta-border);

    text-decoration:
        none;

    transition:
        background-color
        260ms
        ease,
        color
        260ms
        ease,
        border-color
        260ms
        ease;
}


.ta-home-availability-cell-state {
    font-size:
        .82rem;

    font-weight:
        600;
}


.ta-home-availability-cell small {
    display:
        block;

    margin-top:
        3px;

    font-size:
        .61rem;

    font-weight:
        400;
}


.ta-home-availability-cell em {
    display:
        block;

    margin-top:
        9px;

    font-size:
        .62rem;

    font-style:
        normal;

    color:
        var(--ta-muted);
}


.ta-home-availability-cell strong {
    display:
        block;

    margin-top:
        7px;

    font-size:
        .58rem;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;

    font-weight:
        600;
}


/* FREE */

.ta-home-availability-cell.is-free {
    background:
        var(--ta-ivory);

    color:
        var(--ta-forest);
}


.ta-home-availability-cell.is-free strong {
    color:
        var(--ta-clay);
}


.ta-home-availability-cell.is-free:hover {
    background:
        var(--ta-forest);

    border-color:
        var(--ta-forest);

    color:
        var(--ta-ivory);
}


.ta-home-availability-cell.is-free:hover em,
.ta-home-availability-cell.is-free:hover strong {
    color:
        var(--ta-gold);
}


/* BUSY */

.ta-home-availability-cell.is-busy {
    background:
        rgba(
            182,
            82,
            40,
            .045
        );

    color:
        var(--ta-clay);
}


.ta-home-availability-cell.is-busy small {
    color:
        var(--ta-muted);
}


/* CLOSED */

.ta-home-availability-cell.is-closed {
    background:
        rgba(
            116,
            109,
            98,
            .055
        );

    color:
        rgba(
            116,
            109,
            98,
            .68
        );
}


/* ============================================================
   LOADING / ERROR
   ============================================================ */

#availabilityCarousel
.ta-carousel-loading,

#availabilityCarousel
.ta-carousel-empty,

#availabilityCarousel
.ta-carousel-error {
    min-height:
        110px !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    padding:
        25px !important;

    border:
        1px solid
        var(--ta-border) !important;

    background:
        var(--ta-ivory) !important;

    text-align:
        center;

    font-size:
        .82rem;

    color:
        var(--ta-muted);
}


/* ============================================================
   LARGE DESKTOP — HOME FLUID WIDTH
   ============================================================ */

@media (min-width: 1280px) {

    /*
     * Aceeasi regula folosita acum pe
     * Terenuri si Rezervari:
     *
     * ~48px gutter pe fiecare parte.
     */

    .ta-home-rebuild-root
    .ta-container {
        width:
            calc(100% - 96px) !important;

        max-width:
            none !important;
    }


    .ta-home-rebuild-root
    .ta-home-hero-inner {
        width:
            calc(100% - 96px) !important;

        max-width:
            none !important;

        margin-left:
            auto !important;

        margin-right:
            auto !important;

        column-gap:
            clamp(
                58px,
                5vw,
                130px
            ) !important;
    }


    /*
     * Capitolele clubului trebuie sa ramana
     * aliniate cu restul Home-ului.
     */

    .ta-home-rebuild-root
    .ta-chapter-carousel-section
    > .ta-container {
        width:
            calc(100% - 96px) !important;

        max-width:
            none !important;
    }


    /*
     * Closing CTA Home.
     */

    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-inner {
        width:
            calc(100% - 96px) !important;

        max-width:
            none !important;

        margin-left:
            auto !important;

        margin-right:
            auto !important;
    }


    /*
     * Availability now benefits strongly from
     * the extra horizontal space.
     */

    .ta-home-availability-matrix {
        grid-template-columns:
            clamp(
                170px,
                10vw,
                220px
            )
            repeat(
                var(--ta-time-columns),
                minmax(
                    126px,
                    1fr
                )
            );
    }

}


@media (min-width: 1800px) {

    .ta-home-rebuild-root
    .ta-container,

    .ta-home-rebuild-root
    .ta-home-hero-inner,

    .ta-home-rebuild-root
    .ta-chapter-carousel-section
    > .ta-container,

    body:has(.ta-home-rebuild-root)
    .ta-footer-cta-inner {
        width:
            calc(100% - 128px) !important;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1023px) {

    .ta-home-availability-head {
        align-items:
            flex-start;
    }


    .ta-home-availability-intro {
        flex:
            1
            1
            auto;
    }


    .ta-home-availability-matrix {
        grid-template-columns:
            145px
            repeat(
                var(--ta-time-columns),
                112px
            );
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .ta-home-availability-head {
        display:
            grid;

        grid-template-columns:
            1fr;

        gap:
            17px;
    }


    .ta-home-availability-date {
        width:
            100%;

        min-width:
            0;
    }


    .ta-home-availability-toolbar {
        align-items:
            flex-end;
    }


    .ta-home-availability-legend {
        gap:
            9px
            12px;
    }


    .ta-home-availability-matrix {
        grid-template-columns:
            104px
            repeat(
                var(--ta-time-columns),
                104px
            );
    }


    .ta-home-availability-court-row-label {
        min-height:
            100px;

        padding:
            12px;
    }


    .ta-home-availability-court-row-label span {
        font-size:
            1rem;
    }


    .ta-home-availability-cell {
        min-height:
            100px;

        padding:
            10px;
    }


    .ta-home-availability-cell em {
        display:
            none;
    }


    .ta-home-availability-cell strong {
        margin-top:
            6px;

        font-size:
            .54rem;
    }


    .ta-home-availability-time-head {
        font-size:
            .82rem;
    }

}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .ta-home-availability-matrix-viewport {
        scroll-behavior:
            auto;
    }


    .ta-home-availability-cell,
    .ta-home-availability-arrows button {
        transition:
            none !important;
    }

}

/* END HOME V8 — FLUID WIDTH + DUAL COURT MATRIX */

/* ============================================================
   HOME V9 — RESPONSIVE AVAILABILITY FIX
   ============================================================ */


/*
 * REGULA PRINCIPALA:
 *
 * pagina nu trebuie sa primeasca niciodata latimea matricei.
 * doar viewport-ul matricei poate face scroll orizontal.
 */

.ta-home-availability {
    width:
        100%;

    max-width:
        100%;

    overflow-x:
        clip;
}


.ta-home-availability-inner {
    width:
        100%;

    max-width:
        100%;

    min-width:
        0;

    box-sizing:
        border-box;
}


.ta-home-availability-head,
.ta-home-availability-toolbar,
.ta-home-availability-intro,
.ta-home-availability-head > *,
.ta-home-availability-toolbar > * {
    min-width:
        0;
}


/*
 * Shell-ul nu are voie sa depaseasca pagina.
 */

#availabilityCarousel.ta-home-availability-matrix-shell {
    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0 !important;

    overflow:
        hidden !important;
}


/*
 * DOAR acesta face scroll.
 */

.ta-home-availability-matrix-viewport {
    display:
        block;

    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0 !important;

    overflow-x:
        auto !important;

    overflow-y:
        hidden !important;

    overscroll-behavior-x:
        contain;

    touch-action:
        pan-x;

    -webkit-overflow-scrolling:
        touch;

    scrollbar-gutter:
        stable;
}


/* ============================================================
   DATE INPUT
   ============================================================ */

.ta-home-availability-date {
    max-width:
        100%;

    min-width:
        0;
}


.ta-home-availability-date
.ta-availability-date {
    display:
        block !important;

    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0 !important;

    box-sizing:
        border-box !important;

    overflow:
        visible !important;

    cursor:
        pointer;

    -webkit-appearance:
        auto !important;

    appearance:
        auto !important;

    -webkit-min-logical-width:
        0 !important;
}


/*
 * Refacem explicit indicatorul calendarului.
 * Unele reguli mai vechi il puteau impinge sau stiliza.
 */

.ta-home-availability-date
.ta-availability-date::-webkit-calendar-picker-indicator {
    display:
        block !important;

    position:
        static !important;

    width:
        18px !important;

    height:
        18px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    opacity:
        1 !important;

    visibility:
        visible !important;

    cursor:
        pointer !important;

    transform:
        none !important;
}


/* ============================================================
   ARROWS — ALWAYS ACCESSIBLE
   ============================================================ */

.ta-home-availability-toolbar {
    position:
        relative;

    z-index:
        12;
}


.ta-home-availability-toolbar
> div:first-child {
    min-width:
        0;
}


.ta-home-availability-status {
    max-width:
        100%;

    overflow-wrap:
        anywhere;
}


.ta-home-availability-arrows {
    position:
        static !important;

    z-index:
        20 !important;

    display:
        flex !important;

    flex:
        0 0 auto !important;

    visibility:
        visible !important;

    transform:
        none !important;
}


#availabilityPrev,
#availabilityNext {
    position:
        static !important;

    display:
        flex !important;

    width:
        42px !important;

    min-width:
        42px !important;

    height:
        42px !important;

    min-height:
        42px !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    transform:
        none !important;

    visibility:
        visible !important;
}


#availabilityPrev:not(:disabled),
#availabilityNext:not(:disabled) {
    opacity:
        1 !important;
}


#availabilityPrev:disabled,
#availabilityNext:disabled {
    opacity:
        .28 !important;
}


/* ============================================================
   TABLET + SMALL LAPTOP
   Includes iPad landscape 1180px etc.
   ============================================================ */

@media (max-width: 1279px) {

    /*
     * Availability content is contained inside device viewport.
     */

    .ta-home-availability-inner {
        padding-left:
            clamp(
                20px,
                3vw,
                34px
            ) !important;

        padding-right:
            clamp(
                20px,
                3vw,
                34px
            ) !important;
    }


    /*
     * Head:
     * description + date stay accessible.
     */

    .ta-home-availability-head {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(
                180px,
                250px
            ) !important;

        align-items:
            end !important;

        gap:
            24px !important;
    }


    .ta-home-availability-date {
        width:
            100%;
    }


    /*
     * Toolbar:
     * status cannot push arrows off-screen.
     */

    .ta-home-availability-toolbar {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            auto !important;

        align-items:
            end !important;

        gap:
            18px !important;
    }


    .ta-home-availability-arrows {
        justify-self:
            end;
    }


    /*
     * IMPORTANT:
     *
     * Remove desktop JS min-width influence.
     * Matrix width now comes from real column widths.
     */

    .ta-home-availability-matrix {
        width:
            max-content !important;

        min-width:
            0 !important;

        max-width:
            none !important;

        grid-template-columns:
            142px
            repeat(
                var(--ta-time-columns),
                112px
            ) !important;
    }


    .ta-home-availability-corner {
        min-width:
            0;
    }


    .ta-home-availability-court-row-label {
        min-height:
            96px !important;

        padding:
            14px !important;
    }


    .ta-home-availability-cell {
        min-height:
            96px !important;

        padding:
            11px !important;
    }


    .ta-home-availability-cell-state {
        font-size:
            .76rem;
    }


    .ta-home-availability-cell em {
        margin-top:
            6px;
    }


    /*
     * Native horizontal scrollbar stays usable.
     */

    .ta-home-availability-matrix-viewport::-webkit-scrollbar {
        height:
            5px !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767px) {

    .ta-home-availability-inner {
        padding-left:
            16px !important;

        padding-right:
            16px !important;
    }


    /*
     * Everything becomes one vertical flow.
     */

    .ta-home-availability-head {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            18px !important;
    }


    .ta-home-availability-intro {
        width:
            100% !important;

        min-width:
            0 !important;

        gap:
            11px !important;
    }


    .ta-home-availability-intro
    > div:last-child {
        min-width:
            0;

        flex:
            1 1 auto;
    }


    .ta-home-availability-intro h2 {
        max-width:
            none !important;

        font-size:
            clamp(
                1.65rem,
                8vw,
                2.15rem
            ) !important;

        line-height:
            .98 !important;
    }


    .ta-home-availability-intro p {
        max-width:
            100% !important;
    }


    /*
     * Date input now has its own full row.
     * Calendar icon remains inside viewport.
     */

    .ta-home-availability-date {
        width:
            100% !important;

        max-width:
            none !important;
    }


    .ta-home-availability-date
    .ta-availability-date {
        height:
            46px !important;

        min-height:
            46px !important;

        padding-left:
            12px !important;

        padding-right:
            12px !important;
    }


    /*
     * Status on first row,
     * arrows always visible underneath/right.
     */

    .ta-home-availability-toolbar {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            auto !important;

        align-items:
            end !important;

        gap:
            12px !important;

        padding-top:
            13px !important;

        padding-bottom:
            13px !important;
    }


    .ta-home-availability-status {
        font-size:
            .69rem !important;

        line-height:
            1.35 !important;
    }


    .ta-home-availability-legend {
        gap:
            7px 10px !important;

        margin-top:
            7px !important;
    }


    .ta-home-availability-legend span {
        font-size:
            .56rem !important;
    }


    #availabilityPrev,
    #availabilityNext {
        width:
            44px !important;

        min-width:
            44px !important;

        height:
            44px !important;

        min-height:
            44px !important;
    }


    /*
     * PHONE MATRIX
     *
     * 88px sticky terrain label
     * + roughly two 96px time columns visible.
     */

    .ta-home-availability-matrix {
        width:
            max-content !important;

        min-width:
            0 !important;

        max-width:
            none !important;

        grid-template-columns:
            88px
            repeat(
                var(--ta-time-columns),
                96px
            ) !important;
    }


    .ta-home-availability-corner {
        padding:
            8px !important;

        font-size:
            .5rem !important;
    }


    .ta-home-availability-time-head {
        min-height:
            40px !important;

        padding:
            6px !important;

        font-size:
            .75rem !important;
    }


    .ta-home-availability-court-row-label {
        min-height:
            88px !important;

        padding:
            9px !important;
    }


    .ta-home-availability-court-row-label span {
        font-size:
            .92rem !important;
    }


    .ta-home-availability-court-row-label small {
        margin-top:
            5px !important;

        font-size:
            .49rem !important;

        line-height:
            1.2 !important;
    }


    .ta-home-availability-cell {
        min-height:
            88px !important;

        padding:
            8px !important;
    }


    .ta-home-availability-cell-state {
        font-size:
            .68rem !important;
    }


    .ta-home-availability-cell small {
        font-size:
            .51rem !important;
    }


    /*
     * Price is secondary on phone.
     * Keep the core decision info visible.
     */

    .ta-home-availability-cell em {
        display:
            none !important;
    }


    .ta-home-availability-cell strong {
        margin-top:
            5px !important;

        font-size:
            .49rem !important;
    }


    /*
     * Sticky terrain labels stay readable
     * while hours move underneath.
     */

    .ta-home-availability-sticky {
        position:
            sticky !important;

        left:
            0 !important;

        z-index:
            8 !important;
    }

}


/* ============================================================
   VERY SMALL PHONE
   ============================================================ */

@media (max-width: 390px) {

    .ta-home-availability-inner {
        padding-left:
            14px !important;

        padding-right:
            14px !important;
    }


    .ta-home-availability-matrix {
        grid-template-columns:
            82px
            repeat(
                var(--ta-time-columns),
                90px
            ) !important;
    }


    .ta-home-availability-toolbar {
        grid-template-columns:
            minmax(0, 1fr)
            auto !important;

        gap:
            8px !important;
    }


    #availabilityPrev,
    #availabilityNext {
        width:
            40px !important;

        min-width:
            40px !important;

        height:
            40px !important;

        min-height:
            40px !important;
    }

}


/* ============================================================
   LARGE DESKTOP — REAL FLUID HOME WIDTH
   ============================================================ */

@media (min-width: 1280px) {

    /*
     * Use real Home selectors instead of depending
     * on an optional wrapper.
     */

    .ta-home-hero-inner,
    .ta-home-availability-inner,
    .ta-chapter-carousel-section
    > .ta-container {
        width:
            calc(100% - 96px) !important;

        max-width:
            none !important;

        margin-left:
            auto !important;

        margin-right:
            auto !important;
    }


    body:has(.ta-home-hero)
    .ta-footer-cta-inner {
        width:
            calc(100% - 96px) !important;

        max-width:
            none !important;
    }

}


@media (min-width: 1800px) {

    .ta-home-hero-inner,
    .ta-home-availability-inner,
    .ta-chapter-carousel-section
    > .ta-container,

    body:has(.ta-home-hero)
    .ta-footer-cta-inner {
        width:
            calc(100% - 128px) !important;
    }

}


/* ============================================================
   ACCESSIBILITY
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .ta-home-availability-matrix-viewport {
        scroll-behavior:
            auto !important;
    }

}

/* END HOME V9 — RESPONSIVE AVAILABILITY FIX */
