:root {

    --festival-primary: #1565c0;

    --festival-secondary: #2e7d32;

    --festival-accent: #ffd700;

    --festival-text: #ffffff;

    --festival-overlay: rgba(0, 0, 0, .45);

}

.hero-live-wrap {

    display: flex;

    align-items: center;

    gap: 15px;

    flex-wrap: wrap;

    margin: 25px 0;

}

.hero-live-badge {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 10px 18px;

    background:
        linear-gradient(135deg,
            #dcfce7,
            #f0fdf4);

    border: 1px solid #86efac;

    border-radius: 50px;

    color: #15803d;

    font-size: 13px;

    font-weight: 700;

    box-shadow:
        0 10px 20px rgba(34, 197, 94, .12);

}

.hero-live-dot {

    width: 9px;

    height: 9px;

    background: #22c55e;

    border-radius: 50%;

    box-shadow:

        0 0 0 rgba(34, 197, 94, .6);

    animation:

        heroPulseGreen 1.5s infinite;

}

.hero-live-message {

    min-width: 240px;

    padding: 12px 20px;

    border-radius: 50px;

    font-weight: 600;

    transition: .5s;

    box-shadow:

        0 10px 20px rgba(0, 0, 0, .06);

    opacity: 1;

    transform: translateY(0);

}

.hero-live-message.blue {

    background: #eff6ff;

    color: #1d4ed8;

    border: 1px solid #bfdbfe;

}

.hero-live-message.green {

    background: #dcfce7;

    color: #15803d;

    border: 1px solid #86efac;

}

.hero-live-message.orange {

    background: #ffedd5;

    color: #c2410c;

    border: 1px solid #fdba74;

}

.hero-live-message.purple {

    background: #f3e8ff;

    color: #7e22ce;

    border: 1px solid #d8b4fe;

}

.hero-live-message.teal {

    background: #ccfbf1;

    color: #0f766e;

    border: 1px solid #5eead4;

}

.hero-live-message.pink {

    background: #fce7f3;

    color: #be185d;

    border: 1px solid #f9a8d4;

}

.hero-live-rating {

    padding: 12px 20px;

    background:

        linear-gradient(135deg,

            #fef3c7,

            #fde68a);

    border-radius: 50px;

    font-weight: 700;

    color: #92400e;

    box-shadow:

        0 10px 20px rgba(251, 191, 36, .15);

}

@keyframes heroPulse {

    0% {

        opacity: .4;

    }

    50% {

        opacity: 1;

    }

    100% {

        opacity: .4;

    }

}

@media(max-width:768px) {

    .hero-live-wrap {

        gap: 10px;

    }

    .hero-live-message {

        min-width: 180px;

        font-size: 13px;

    }

    .hero-live-rating {

        font-size: 13px;

    }

}

@keyframes heroPulseGreen {

    0% {

        transform: scale(.9);

        box-shadow:
            0 0 0 0 rgba(34, 197, 94, .5);

    }

    70% {

        transform: scale(1);

        box-shadow:
            0 0 0 10px rgba(34, 197, 94, 0);

    }

    100% {

        transform: scale(.9);

        box-shadow:
            0 0 0 0 rgba(34, 197, 94, 0);

    }

}

.hero-trust-wrap {

    margin: 18px 0;

}

.hero-trust-message {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 12px 22px;

    border-radius: 50px;

    font-size: 14px;

    font-weight: 600;

    transition: .5s;

    box-shadow:

        0 10px 25px rgba(0, 0, 0, .08);

    opacity: 1;

    transform: translateY(0);

}

.hero-trust-message.blue {

    background: #eff6ff;

    color: #1d4ed8;

    border: 1px solid #bfdbfe;

}

.hero-trust-message.green {

    background: #dcfce7;

    color: #15803d;

    border: 1px solid #86efac;

}

.hero-trust-message.orange {

    background: #ffedd5;

    color: #c2410c;

    border: 1px solid #fdba74;

}

.hero-trust-message.teal {

    background: #ccfbf1;

    color: #0f766e;

    border: 1px solid #5eead4;

}

.hero-trust-message.purple {

    background: #f3e8ff;

    color: #7e22ce;

    border: 1px solid #d8b4fe;

}

.hero-greeting-card {

    background:

        rgba(255, 255, 255, .15);

    backdrop-filter: blur(15px);

    border:

        1px solid rgba(255, 255, 255, .2);

}

.hero-greeting-card {

    display: inline-block;

    padding: 16px 24px;

    margin-bottom: 18px;

    border-radius: 18px;

    background:

        linear-gradient(135deg,

            var(--festival, #2563eb),

            rgba(255, 255, 255, .15));

    backdrop-filter: blur(14px);

    border:

        1px solid rgba(255, 255, 255, .15);

    box-shadow:

        0 12px 30px rgba(0, 0, 0, .08);

    animation:

        heroGreetingFloat 3s ease-in-out infinite;

}

.greet-top {

    font-size: 16px;

    font-weight: 700;

    color: #fff;

    margin-bottom: 6px;

}

.greet-bottom {

    font-size: 13px;

    line-height: 1.6;

    color:

        rgba(255, 255, 255, .9);

}

@keyframes heroGreetingFloat {

    0% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(-3px);

    }

    100% {

        transform: translateY(0);

    }

}

@media(max-width:768px) {

    .hero-greeting-card {

        padding: 14px 18px;

        margin-bottom: 15px;

    }

    .greet-top {

        font-size: 15px;

    }

    .greet-bottom {

        font-size: 12px;

    }

}

#badgeText {

    transition:

        opacity .3s ease,

        transform .3s ease;

}

.live-booking {

    transition: all .4s ease;

}


body[data-theme="christmas"] {

    --festival: #16a34a;

}

body[data-theme="independence"] {

    --festival: #ff9933;

}

body[data-theme="newyear"] {

    --festival: #7c3aed;

}

body[data-theme="republic"] {

    --festival: #2563eb;

}

.hero-badge {

    background:

        var(--festival-primary);

    color:

        var(--festival-text);

}

.cta-primary {

    background: var(--festival,

            #2563eb);

}

.hero-greeting-icon {

    color: var(--festival,

            #2563eb);

}

#festivalOffer {

    background:

        rgba(255, 193, 7, .18);

    backdrop-filter: blur(10px);

    color: #fff;

}



#festivalOffer {

    display: none;

    align-items: center;

    gap: 10px;

    padding: 12px 22px;

    margin: 0 0 0px;

    border-radius: 50px;

    width: fit-content;

    background:

        linear-gradient(90deg,

            var(--festival-primary),

            var(--festival-secondary));

    color:

        var(--festival-text);

    color: #fff;

    font-size: 14px;

    font-weight: 700;

    box-shadow:

        0 10px 30px rgba(0, 0, 0, .12);

    animation:

        festivalPulse 2s infinite;

}

:root {

    --festival-accent: #0d6efd;

}

.hero-special-badge {

    background: var(--festival-accent);

}

.cta-primary.festival {

    background: var(--festival-accent);

}

#festivalOffer {

    border-left: 4px solid var(--festival-accent);

}

.hero-special-badge {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 10px 20px;

    margin-bottom: 14px;

    border-radius: 50px;

    background:

        var(--festival-primary);

    color:

        var(--festival-text);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: .8px;

    text-transform: uppercase;

    color: #111;

    box-shadow:

        0 8px 25px rgba(0, 0, 0, .12);

}

.hero-offer-pill {

    display: inline-flex;

    align-items: center;

    padding: 10px 18px;

    margin-top: 14px;

    border-radius: 50px;

    background:

        linear-gradient(135deg,

            #f59e0b,

            #f97316);

    color: #fff;

    font-size: 13px;

    font-weight: 700;

    box-shadow:

        0 10px 25px rgba(249, 115, 22, .3);

    animation:

        offerPulse 2s infinite;

}

@keyframes offerPulse {

    50% {

        transform: scale(1.03);

    }

}

.hero-normal-badge {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 10px 20px;

    margin-bottom: 14px;

    border-radius: 50px;

    background:

        rgba(255, 255, 255, .18);

    backdrop-filter: blur(14px);

    border:

        1px solid rgba(255, 255, 255, .2);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: .8px;

    text-transform: uppercase;

    color: #fff;

    box-shadow:

        0 8px 25px rgba(0, 0, 0, .12);

}

#festivalOffer.active {

    display: inline-flex;

}

@media(max-width:768px) {

    #festivalOffer {

        font-size: 13px;

        padding: 10px 18px;

        margin-bottom: 15px;

    }

}

/*************************
CTA GLASS
*************************/

.cta-primary {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 8px;

    padding: 18px 30px;

    text-decoration: none;

    position: relative;

    overflow: hidden;

    transition: .35s;

}

.cta-main {

    font-size: 18px;

    font-weight: 800;

    color: #fff;

    z-index: 2;

}

.cta-sub {

    z-index: 2;

}

.cta-pill {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 7px 16px;

    border-radius: 50px;

    background:

        rgba(255, 255, 255, .18);

    backdrop-filter:

        blur(14px);

    border:

        1px solid rgba(255, 255, 255, .18);

    font-size: 11px;

    font-weight: 700;

    color: #fff;

    box-shadow:

        0 8px 20px rgba(0, 0, 0, .12);

    animation:

        ctaPulse 2.2s infinite;

    transition: .3s;

}

.cta-pill.festival {

    background:

        var(--festival-accent);

    color:

        #222;

}

.cta-primary:hover {

    transform:

        translateY(-4px) scale(1.02);

}

.cta-primary:hover .cta-pill {

    transform:

        scale(1.08);

}

@keyframes ctaPulse {

    0% {

        box-shadow:

            0 0 0 0 rgba(255, 255, 255, .25);

    }

    70% {

        box-shadow:

            0 0 0 12px rgba(255, 255, 255, 0);

    }

    100% {

        box-shadow:

            0 0 0 0 rgba(255, 255, 255, 0);

    }

}

@media(max-width:768px) {

    .cta-primary {

        padding: 16px 22px;

    }

    .cta-main {

        font-size: 16px;

    }

    .cta-pill {

        font-size: 10px;

        padding: 6px 12px;

    }

}

.cta-primary.blue {

    background:
        linear-gradient(135deg,
            #2563eb,
            #1d4ed8);

}

.cta-primary.purple {

    background:
        linear-gradient(135deg,
            #9333ea,
            #7e22ce);

}

.cta-primary.orange {

    background:
        linear-gradient(135deg,
            #f97316,
            #ea580c);

}

.cta-primary.green {

    background:
        linear-gradient(135deg,
            #16a34a,
            #15803d);

}

.cta-primary.teal {

    background:
        linear-gradient(135deg,
            #0f766e,
            #115e59);

}

.cta-primary.festival {

    background:

        linear-gradient(135deg,

            var(--festival-primary),

            var(--festival-secondary));

    color:

        var(--festival-text);

}

.cta-primary {

    transition: .35s;

}

.cta-primary:hover {

    transform:
        translateY(-3px) scale(1.02);

    box-shadow:
        0 18px 40px rgba(0, 0, 0, .2);

}

.cta-sub {

    margin-top: 4px;

    display: flex;

    justify-content: center;

}

.cta-pill {

    white-space: nowrap;

}

.cta-main {

    display: flex;

    align-items: center;

    gap: 8px;

}

#festivalCountdown {

    margin-top: 12px;

}

.festival-countdown-box {

    padding: 10px 18px;

    border-radius: 14px;

    backdrop-filter: blur(12px);

    display: inline-block;

    font-weight: 700;

}


.festival-count-time {

    font-size: 24px;

    margin-top: 4px;

    letter-spacing: 2px;

}

#festivalProgress {

    margin-top: 10px;

}

.festival-progress {

    width: 100%;

    height: 10px;

    border-radius: 20px;

    overflow: hidden;

    background:

        rgba(255, 255, 255, .2);

    margin-top: 10px;

}

#festivalProgressFill {

    width: 0;

    height: 100%;

    transition: .8s;

    border-radius: 20px;

}

#festivalProgressText {


    font-size: 13px;

    font-weight: 700;

    color: #fff;

    text-align: center;

}

.festival-progress-wrap {

    height: 8px;

    border-radius: 30px;

    overflow: hidden;

}

.festival-progress-fill {

    height: 100%;

    transition: .8s;

    border-radius: 30px;

}

.count-green {

    background: #43a047;

    color: #fff;

}

.count-yellow {

    background: #fbc02d;

    color: #111;

}

.count-orange {

    background: #fb8c00;

    color: #fff;

}

.count-red {

    background: #e53935;

    color: #fff;

}

.count-blink {

    background: #d50000;

    color: #fff;

    animation: festivalBlink .8s infinite;

}

@keyframes festivalBlink {

    0% {

        opacity: 1;

    }

    50% {

        opacity: .3;

    }

    100% {

        opacity: 1;

    }

}

.hero-special-badge{

display:inline-flex;

align-items:center;

gap:8px;

padding:8px 18px;

border-radius:30px;

font-weight:700;

font-size:14px;

color:#fff;

background:

rgba(255,255,255,.15);

backdrop-filter:blur(10px);

border:

1px solid rgba(255,255,255,.2);

margin-bottom:12px;

}

.live-dot{

width:10px;

height:10px;

border-radius:50%;

background:#00ff66;

animation:

livePulse 1.5s infinite;

}

@keyframes livePulse{

0%{

opacity:1;

transform:scale(1);

}

50%{

opacity:.5;

transform:scale(1.4);

}

100%{

opacity:1;

transform:scale(1);

}

}

.festival-zone {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    gap: 12px;

    padding: 20px;
    

    border-radius: 20px;

    background:

        rgba(255, 255, 255, .08);

    backdrop-filter: blur(20px);

    -webkit-backdrop-filter: blur(20px);

    border:

        1px solid rgba(255, 255, 255, .18);

    margin-bottom: 20px;

}

.festival-zone::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    height: 4px;

    background:

        linear-gradient(90deg,
            var(--festival-primary, #ff9800),
            var(--festival-secondary, #ff5722));

}

.festival-zone:empty {

    display: none;

}



#festivalCountdown {

    margin-bottom: 15px;

    font-size: 18px;

    font-weight: 700;

}

#festivalProgressText {


    font-size: 14px;

    font-weight: 600;

    opacity: .95;

}

.festival-progress {

    height: 10px;

    border-radius: 30px;

    overflow: hidden;

    background:

        rgba(255, 255, 255, .20);

}

#festivalProgressFill {

    height: 100%;

    width: 0;

    border-radius: 30px;

    transition: .6s;

    background:

        linear-gradient(90deg,
            #4caf50,
            #8bc34a);

}

@keyframes festivalGlow {

    0% {

        box-shadow:

            0 10px 30px rgba(255, 152, 0, .20);

    }

    50% {

        box-shadow:

            0 20px 50px rgba(255, 152, 0, .35);

    }

    100% {

        box-shadow:

            0 10px 30px rgba(255, 152, 0, .20);

    }

}

.festival-active {

    animation:

        festivalGlow 3s infinite;

}

#festivalProgressWrap {

    display: none;


}


#festivalCountdown {

    width: 100%;

    text-align: center;

    margin: 20px 20px;

    padding-bottom: 10px;

    border-radius: 22px;

}

.festival-count-title {

    font-size: 1rem;

    font-weight: 800;

    letter-spacing: .5px;

    margin-bottom: 12px;

    animation:

        festivalGlow 2s infinite;

}

@keyframes festivalGlow {

    0% {

        opacity: .8;

        transform: scale(1);

    }

    50% {

        opacity: 1;

        transform: scale(1.04);

    }

    100% {

        opacity: .8;

        transform: scale(1);

    }

}

.festival-green {

    color: #43a047;

}

.festival-yellow {

    color: #f9a825;

}

.festival-orange {

    color: #ef6c00;

}

.festival-red {

    color: #d32f2f;

    animation:

        festivalBlink 1s infinite;

}

.festival-green {

    color: #43a047;

}

.festival-yellow {

    color: #f9a825;

}

.festival-orange {

    color: #ef6c00;

}

.festival-red {

    color: #d32f2f;

    animation:

        festivalBlink 1s infinite;

}

.festival-count-grid {



    display: flex;

    justify-content: center;

    gap: 10px;

    flex-wrap: wrap;

}

.festival-pill {

    min-width: 70px;

    padding: 10px;

    border-radius: 15px;

    background:

        rgba(255, 255, 255, .12);

    backdrop-filter: blur(12px);

    border:

        1px solid rgba(255, 255, 255, .20);

    transition: .4s;

}

.festival-num {

    font-size: 1.4rem;

    font-weight: 800;

    line-height: 1;

}

.festival-label {

    margin-top: 5px;

    font-size: .72rem;

    letter-spacing: 1px;

    opacity: .9;

}

.festival-pill.day {

    background: #2e7d32;

    color: white;

}

.festival-pill.hour {

    background: #f9a825;

    color: white;

}

.festival-pill.minute {

    background: #ef6c00;

    color: white;

}

.festival-pill.second {

    background: #d32f2f;

    color: white;

    animation:

        festivalPulse 1s infinite;

}

@keyframes festivalPulse {

    0% {

        transform: scale(1);

    }

    50% {

        transform: scale(1.08);

    }

    100% {

        transform: scale(1);

    }

}

.festival-expired {

    padding: 14px;

    border-radius: 14px;

    background: #d32f2f;

    color: white;

    font-weight: 700;

}