/* =====================================================
   ISHA GRAND EVENTS - PREMIUM STYLE.CSS (PART 1)
   Sections Included:
   1. Root Variables
   2. Reset & Global Styles
   3. Custom Scrollbar
   4. Loader Screen
   5. Header & Navbar
   6. Spotlight Effects
   7. Hero Section
   8. Buttons
   9. About Section
   10. Statistics Section
===================================================== */

/* ================= ROOT VARIABLES ================= */

:root {

    --royal-blue: #0A174E;
    --royal-blue-light: #132B72;
    --midnight-blue: #060F2D;

    --rose-gold: #B76E79;
    --champagne-gold: #D4AF8A;

    --cream: #FDF6EC;
    --white: #FFFFFF;

    --text-light: rgba(255, 255, 255, 0.85);
    --text-muted: rgba(255, 255, 255, 0.65);

    --shadow: 0 10px 30px rgba(0,0,0,.25);
    --shadow-hover: 0 20px 50px rgba(0,0,0,.35);

    --transition: all .4s ease;

    --radius: 20px;

    --container-width: 1200px;
}

/* ================= RESET ================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {

    font-family: 'Poppins', sans-serif;

    background:
    linear-gradient(
        180deg,
        var(--midnight-blue),
        var(--royal-blue)
    );

    color: var(--cream);

    overflow-x: hidden;
}

/* ================= GLOBAL ================= */

.container {

    width: 90%;
    max-width: var(--container-width);

    margin: auto;
}

.section-padding {

    padding: 100px 0;
}

img {

    width: 100%;

    display: block;
}

a {

    text-decoration: none;
}

ul {

    list-style: none;
}

h1,
h2,
h3,
h4 {

    font-family: 'Cinzel', serif;
}

.section-title {

    text-align: center;

    margin-bottom: 70px;
}

.section-title span {

    color: var(--rose-gold);

    letter-spacing: 2px;

    text-transform: uppercase;

    font-size: 14px;
}

.section-title h2 {

    font-size: 42px;

    margin-top: 15px;

    color: var(--cream);
}

/* ================= SCROLLBAR ================= */

::-webkit-scrollbar {

    width: 10px;
}

::-webkit-scrollbar-track {

    background: var(--midnight-blue);
}

::-webkit-scrollbar-thumb {

    background: var(--rose-gold);

    border-radius: 20px;
}

::-webkit-scrollbar-thumb:hover {

    background: var(--champagne-gold);
}

/* ================= LOADER ================= */

.loader-wrapper {

    position: fixed;

    inset: 0;

    background:
    linear-gradient(
        135deg,
        var(--midnight-blue),
        var(--royal-blue)
    );

    display: flex;

    justify-content: center;
    align-items: center;

    z-index: 9999;

    transition: 1s ease;
}

.loader-wrapper.fade-out {

    opacity: 0;
    visibility: hidden;
}

.loader-content {

    text-align: center;
}

.loader-logo {

    width: 400px;

    margin: auto auto 30px;

    animation:
    pulse 2s infinite;
}

.loader-content h2 {

    color: var(--cream);

    margin-bottom: 10px;
}

.loader-content p {

    color: var(--rose-gold);

    margin-bottom: 25px;
}

.loader {

    width: 60px;
    height: 60px;

    border: 4px solid rgba(255,255,255,.15);

    border-top-color: var(--rose-gold);

    border-radius: 50%;

    margin: auto;

    animation:
    spin 1s linear infinite;
}

/* ================= HEADER ================= */

.header {

    position: fixed;

    width: 100%;

    top: 0;
    left: 0;

    z-index: 1000;

    transition: var(--transition);
}

.header.scrolled {

    background:
    rgba(6,15,45,.95);

    backdrop-filter: blur(20px);

    box-shadow: var(--shadow);
}

/* ================= NAVBAR ================= */

.navbar {

    width: 90%;
    max-width: var(--container-width);

    margin: auto;

    height: 90px;

    display: flex;

    justify-content: space-between;
    align-items: center;
}

.logo img {

    width: 100px;

    filter:
    drop-shadow(0 0 15px rgba(183,110,121,.6));
}

.nav-links {

    display: flex;

    gap: 40px;
}

.nav-links a {

    color: var(--cream);

    font-weight: 500;

    position: relative;

    transition: var(--transition);
}

.nav-links a:hover,
.nav-links a.active {

    color: var(--rose-gold);
}

.nav-links a::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: -8px;

    width: 0;
    height: 2px;

    background: var(--rose-gold);

    transition: var(--transition);
}

.nav-links a:hover::after,
.nav-links a.active::after {

    width: 100%;
}

.menu-btn {

    display: none;

    color: var(--cream);

    font-size: 28px;

    cursor: pointer;
}

/* ================= SPOTLIGHTS ================= */

.spotlight-frame {

    position: absolute;

    width: 100%;

    top: 0;

    pointer-events: none;
}

.spotlight {

    position: absolute;

    width: 300px;
    height: 400px;

    background:
    linear-gradient(
        to bottom,
        rgba(255,255,255,.15),
        transparent
    );

    clip-path:
    polygon(50% 0%, 100% 100%, 0% 100%);

    filter: blur(30px);

    animation:
    spotlightMove 8s infinite alternate;
}

.spotlight-left {

    left: 10%;
}

.spotlight-center {

    left: 40%;
}

.spotlight-right {

    right: 10%;
}

/* ================= HERO ================= */

.hero {

    position: relative;

    height: 100vh;

    display: flex;

    justify-content: center;
    align-items: center;

    text-align: center;

    overflow: hidden;
}

.hero-video {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.hero-overlay {

    position: absolute;

    inset: 0;

    background:
    linear-gradient(
        rgba(6,15,45,.75),
        rgba(10,23,78,.85)
    );
}

.hero-content {

    position: relative;

    z-index: 2;

    max-width: 850px;

    padding: 20px;
}

.hero-subtitle {

    color: var(--rose-gold);

    letter-spacing: 4px;

    text-transform: uppercase;

    font-size: 15px;
}

.hero h1 {

    font-size: 80px;

    margin: 25px 0;

    line-height: 1.1;
}

.tagline {

    font-size: 28px;

    color: var(--champagne-gold);

    margin-bottom: 20px;
}

.hero-description {

    color: var(--text-light);

    max-width: 700px;

    margin: auto auto 40px;

    line-height: 1.8;
}

.hero-buttons {

    display: flex;

    justify-content: center;

    gap: 20px;

    flex-wrap: wrap;
}

.scroll-indicator {

    position: absolute;

    bottom: 40px;
    left: 50%;

    transform: translateX(-50%);

    color: var(--cream);

    display: flex;

    flex-direction: column;

    gap: 10px;

    animation:
    bounce 2s infinite;
}

/* ================= BUTTONS ================= */

.btn {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 15px 35px;

    border-radius: 50px;

    font-weight: 600;

    transition: var(--transition);
}

.btn-primary {

    background:
    linear-gradient(
        135deg,
        var(--rose-gold),
        var(--champagne-gold)
    );

    color: white;
}

.btn-primary:hover {

    transform: translateY(-5px);

    box-shadow:
    0 15px 35px rgba(183,110,121,.4);
}

.btn-secondary {

    border: 2px solid var(--rose-gold);

    color: var(--cream);
}

.btn-secondary:hover {

    background: var(--rose-gold);

    transform: translateY(-5px);
}
.btn-book {

    background: linear-gradient(
        135deg,
        #FF8C00,
        #FFB347
    );

    color: rgb(0, 23, 156);
}

.btn-book:hover {

    transform: translateY(-5px);

    box-shadow:
        0 15px 35px rgba(255, 140, 0, 0.4);
}
/* ================= ABOUT ================= */

.about-content {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 60px;

    align-items: center;
}

.about-text p {

    margin-bottom: 20px;

    line-height: 1.9;

    color: var(--text-light);
}

.about-image img {

    border-radius: var(--radius);

    box-shadow: var(--shadow);

    transition: var(--transition);
}

.about-image img:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadow-hover);
}

/* ================= STATISTICS ================= */

.stats {

    padding: 80px 0;

    background:
    rgba(255,255,255,.03);

    backdrop-filter: blur(10px);
}

.stats-grid {

    display: grid;

    grid-template-columns:
    repeat(4, 1fr);

    gap: 30px;
}

.stat-card {

    background:
    rgba(255,255,255,.05);

    padding: 40px 30px;

    border-radius: var(--radius);

    text-align: center;

    transition: var(--transition);

    border:
    1px solid rgba(255,255,255,.08);
}

.stat-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadow-hover);
}

.stat-card i {

    font-size: 45px;

    color: var(--rose-gold);

    margin-bottom: 20px;
}

.stat-card h3 {

    font-size: 42px;

    margin-bottom: 10px;

    color: var(--champagne-gold);
}

.stat-card p {

    color: var(--text-light);
}

/* ================= ANIMATIONS ================= */

@keyframes spin {

    to {

        transform: rotate(360deg);
    }
}

@keyframes pulse {

    50% {

        transform: scale(1.08);
    }
}

@keyframes bounce {

    50% {

        transform:
        translateX(-50%)
        translateY(-10px);
    }
}

@keyframes spotlightMove {

    from {

        transform:
        rotate(-8deg);
    }

    to {

        transform:
        rotate(8deg);
    }
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {

    .hero h1 {

        font-size: 55px;
    }

    .about-content {

        grid-template-columns: 1fr;
    }

    .stats-grid {

        grid-template-columns:
        repeat(2, 1fr);
    }

    .nav-links {

        display: none;
    }

    .menu-btn {

        display: block;
    }
}

@media (max-width: 768px) {

    .hero h1 {

        font-size: 42px;
    }

    .tagline {

        font-size: 22px;
    }

    .hero-buttons {

        flex-direction: column;
    }

    .stats-grid {

        grid-template-columns: 1fr;
    }

    .section-title h2 {

        font-size: 32px;
    }
}




/* =====================================================
   ISHA GRAND EVENTS - PREMIUM STYLE.CSS (PART 2)
   Sections Included:
   1. Services Section
   2. Featured Events Gallery
   3. Video Highlights
   4. Vision & Mission
   5. Why Choose Us
===================================================== */


/* ================= SERVICES ================= */

.services {

    position: relative;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.02),
        transparent
    );
}

.services-grid {

    display: grid;

    grid-template-columns:
    repeat(auto-fit, minmax(280px, 1fr));

    gap: 35px;
}

.service-card {

    background:
    rgba(255,255,255,.05);

    backdrop-filter: blur(15px);

    border:
    1px solid rgba(255,255,255,.08);

    border-radius: var(--radius);

    padding: 45px 35px;

    text-align: center;

    transition: var(--transition);

    position: relative;

    overflow: hidden;
}

.service-card::before {

    content: "";

    position: absolute;

    top: 0;
    left: -100%;

    width: 100%;
    height: 100%;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(183,110,121,.12),
        transparent
    );

    transition: .7s;
}

.service-card:hover::before {

    left: 100%;
}

.service-card:hover {

    transform:
    translateY(-12px);

    box-shadow:
    var(--shadow-hover);

    border-color:
    rgba(183,110,121,.25);
}

.service-card i {

    font-size: 55px;

    color: var(--rose-gold);

    margin-bottom: 25px;

    transition: var(--transition);
}

.service-card:hover i {

    color: var(--champagne-gold);

    transform: scale(1.1);
}

.service-card h3 {

    font-size: 26px;

    margin-bottom: 18px;

    color: var(--cream);
}

.service-card p {

    color: var(--text-light);

    line-height: 1.8;
}


/* ================= FEATURED EVENTS ================= */

.featured-events {

    background:
    linear-gradient(
        180deg,
        transparent,
        rgba(255,255,255,.03)
    );
}

.events-grid {

    display: grid;

    grid-template-columns:
    repeat(auto-fit, minmax(320px, 1fr));

    gap: 30px;
}

.event-card {

    position: relative;

    overflow: hidden;

    border-radius: var(--radius);

    box-shadow: var(--shadow);

    cursor: pointer;
}

.event-card img {

    width: 100%;

    height: 450px;

    object-fit: cover;

    transition: .8s ease;
}

.event-card:hover img {

    transform: scale(1.12);
}

.event-overlay {

    position: absolute;

    inset: 0;

    background:
    linear-gradient(
        to top,
        rgba(6,15,45,.92),
        transparent
    );

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    padding: 35px;

    transition: .5s;
}

.event-card:hover .event-overlay {

    background:
    linear-gradient(
        to top,
        rgba(10,23,78,.95),
        rgba(183,110,121,.25)
    );
}

.event-overlay h3 {

    font-size: 28px;

    color: var(--champagne-gold);

    margin-bottom: 12px;
}

.event-overlay p {

    color: var(--cream);

    line-height: 1.6;
}


/* ================= VIDEO HIGHLIGHTS ================= */

.video-highlights {

    position: relative;
}

.videos-grid {

    display: grid;

    grid-template-columns:
    repeat(auto-fit, minmax(320px, 1fr));

    gap: 35px;
}

.video-card {

    background:
    rgba(255,255,255,.04);

    border-radius: var(--radius);

    overflow: hidden;

    border:
    1px solid rgba(255,255,255,.08);

    box-shadow: var(--shadow);

    transition: var(--transition);
}

.video-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadow-hover);
}

.video-card video {

    width: 100%;

    display: block;

    border-radius:
    var(--radius);
}


/* ================= VISION & MISSION ================= */

.vision-mission {

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.02),
        transparent
    );
}

.vision-grid {

    display: grid;

    grid-template-columns:
    repeat(auto-fit, minmax(350px, 1fr));

    gap: 40px;
}

.vision-card {

    background:
    rgba(255,255,255,.05);

    backdrop-filter: blur(15px);

    border-radius: var(--radius);

    padding: 50px 40px;

    text-align: center;

    border:
    1px solid rgba(255,255,255,.08);

    transition: var(--transition);

    position: relative;

    overflow: hidden;
}

.vision-card::before {

    content: "";

    position: absolute;

    inset: 0;

    background:
    linear-gradient(
        135deg,
        rgba(183,110,121,.08),
        transparent
    );

    opacity: 0;

    transition: .5s;
}

.vision-card:hover::before {

    opacity: 1;
}

.vision-card:hover {

    transform: translateY(-12px);

    box-shadow: var(--shadow-hover);
}

.vision-card i {

    font-size: 65px;

    color: var(--rose-gold);

    margin-bottom: 30px;
}

.vision-card h3 {

    font-size: 32px;

    color: var(--champagne-gold);

    margin-bottom: 25px;
}

.vision-card p {

    color: var(--text-light);

    line-height: 1.9;
}


/* ================= WHY CHOOSE US ================= */

.why-us {

    position: relative;
}

.why-grid {

    display: grid;

    grid-template-columns:
    repeat(auto-fit, minmax(260px, 1fr));

    gap: 30px;
}

.why-card {

    background:
    rgba(255,255,255,.05);

    border-radius: var(--radius);

    padding: 40px 30px;

    text-align: center;

    border:
    1px solid rgba(255,255,255,.08);

    transition: var(--transition);

    position: relative;

    overflow: hidden;
}

.why-card::after {

    content: "";

    position: absolute;

    bottom: 0;
    left: 0;

    width: 0;

    height: 4px;

    background:
    linear-gradient(
        90deg,
        var(--rose-gold),
        var(--champagne-gold)
    );

    transition: .5s;
}

.why-card:hover::after {

    width: 100%;
}

.why-card:hover {

    transform:
    translateY(-12px);

    box-shadow:
    var(--shadow-hover);
}

.why-card i {

    font-size: 55px;

    color: var(--rose-gold);

    margin-bottom: 25px;

    transition: var(--transition);
}

.why-card:hover i {

    color: var(--champagne-gold);

    transform:
    rotate(10deg)
    scale(1.1);
}

.why-card h3 {

    color: var(--cream);

    margin-bottom: 18px;

    font-size: 24px;
}

.why-card p {

    color: var(--text-light);

    line-height: 1.8;
}


/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {

    .events-grid,
    .videos-grid {

        grid-template-columns:
        repeat(2, 1fr);
    }

    .vision-grid {

        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {

    .services-grid,
    .events-grid,
    .videos-grid,
    .why-grid {

        grid-template-columns: 1fr;
    }

    .service-card,
    .vision-card,
    .why-card {

        padding: 35px 25px;
    }

    .event-card img {

        height: 350px;
    }

    .vision-card h3 {

        font-size: 28px;
    }

    .section-title h2 {

        font-size: 34px;
    }
}



/* =====================================================
   ISHA GRAND EVENTS - PREMIUM STYLE.CSS (PART 3)
   Sections Included:
   1. Testimonials
   2. CTA Section
   3. Google Maps
   4. Premium Footer
   5. Music Equalizer
   6. Floating WhatsApp Button
   7. Back To Top Button
   8. Luxury Cursor Effect
   9. Mobile Navigation
   10. Final Responsive Styles
===================================================== */


/* ================= TESTIMONIALS ================= */

.testimonials {
    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.03),
        transparent
    );
}

.testimonials-grid {
    display: grid;
    grid-template-columns:
    repeat(auto-fit, minmax(320px, 1fr));
    gap: 35px;
}

.testimonial-card {

    background:
    rgba(255,255,255,.05);

    backdrop-filter: blur(15px);

    border:
    1px solid rgba(255,255,255,.08);

    border-radius: var(--radius);

    padding: 40px 35px;

    transition: var(--transition);

    position: relative;
}

.testimonial-card:hover {

    transform: translateY(-12px);

    box-shadow: var(--shadow-hover);
}

.stars {

    margin-bottom: 25px;
}

.stars i {

    color: var(--champagne-gold);

    margin-right: 4px;
}

.testimonial-card p {

    color: var(--text-light);

    line-height: 1.9;

    margin-bottom: 30px;

    font-style: italic;
}

.client-info h4 {

    color: var(--rose-gold);

    margin-bottom: 6px;
}

.client-info span {

    color: var(--text-muted);

    font-size: 14px;
}


/* ================= CTA SECTION ================= */

.cta-section {

    position: relative;

    padding: 100px 0;

    background:
    linear-gradient(
        135deg,
        rgba(183,110,121,.15),
        rgba(10,23,78,.95)
    );

    overflow: hidden;
}

.cta-section::before {

    content: "";

    position: absolute;

    top: -150px;
    right: -150px;

    width: 350px;
    height: 350px;

    background:
    radial-gradient(
        circle,
        rgba(212,175,138,.15),
        transparent
    );
}

.cta-content {

    text-align: center;

    position: relative;

    z-index: 2;
}

.cta-content h2 {

    font-size: 48px;

    margin-bottom: 25px;

    color: var(--cream);
}

.cta-content p {

    color: var(--text-light);

    max-width: 700px;

    margin: auto auto 40px;

    line-height: 1.8;
}

.cta-buttons {

    display: flex;

    justify-content: center;

    gap: 20px;

    flex-wrap: wrap;
}


/* ================= GOOGLE MAP ================= */

.map-container {

    overflow: hidden;

    border-radius: var(--radius);

    box-shadow: var(--shadow);
}

.map-container iframe {

    width: 100%;

    height: 450px;

    border: 0;
}


/* ================= FOOTER ================= */

.footer {

    position: relative;

    overflow: hidden;

    background:
    linear-gradient(
        135deg,
        var(--midnight-blue),
        var(--royal-blue)
    );

    padding-top: 100px;

    border-top:
    3px solid var(--rose-gold);
}

/* Band Background */

.footer-band-bg {

    position: absolute;

    inset: 0;

    background:
    url('../assets/images/band-silhouette.png')
    center bottom/80% no-repeat;

    opacity: .04;

    pointer-events: none;
}

.footer-container {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns:
    2fr 1fr 1fr 1fr 1.2fr;

    gap: 40px;

    width: 90%;
    max-width: 1400px;

    margin: auto;
}

.footer-logo {

    width: 80px;

    margin-bottom: 20px;
}

.footer-column h3,
.footer-column h4 {

    color: var(--champagne-gold);

    margin-bottom: 25px;
}

.footer-column p,
.footer-column li {

    color: var(--text-light);

    line-height: 1.9;

    margin-bottom: 12px;
}

.footer-column ul {

    list-style: none;
}

.footer-column a {

    color: var(--text-light);

    transition: var(--transition);
}

.footer-column a:hover {

    color: var(--rose-gold);
}

.footer-column li {

    transition: var(--transition);

    cursor: pointer;
}

.footer-column li:hover {

    color: var(--rose-gold);

    transform: translateX(6px);
}


/* ================= SOCIAL ICONS ================= */

.social-icons {

    display: flex;

    gap: 15px;

    margin-top: 25px;
}

.social-icons a {

    width: 48px;
    height: 48px;

    display: flex;

    justify-content: center;
    align-items: center;

    border-radius: 50%;

    border:
    1px solid rgba(255,255,255,.15);

    transition: var(--transition);
}

.social-icons a:hover {

    background: var(--rose-gold);

    transform: translateY(-6px);
}

.social-icons i {

    color: var(--cream);

    font-size: 18px;
}


/* ================= EQUALIZER ================= */

.equalizer {

    display: flex;

    justify-content: center;

    align-items: flex-end;

    gap: 8px;

    margin: 70px 0 40px;
}

.equalizer span {

    width: 8px;

    border-radius: 50px;

    background:
    linear-gradient(
        to top,
        var(--rose-gold),
        var(--champagne-gold)
    );

    animation:
    equalizer 1.3s infinite ease-in-out;
}

.equalizer span:nth-child(1) {

    animation-delay: .1s;
}

.equalizer span:nth-child(2) {

    animation-delay: .3s;
}

.equalizer span:nth-child(3) {

    animation-delay: .5s;
}

.equalizer span:nth-child(4) {

    animation-delay: .7s;
}

.equalizer span:nth-child(5) {

    animation-delay: .9s;
}

@keyframes equalizer {

    0%,100% {

        height: 18px;
    }

    50% {

        height: 55px;
    }
}


/* ================= FOOTER BOTTOM ================= */

.footer-bottom {

    text-align: center;

    padding: 25px 0;

    border-top:
    1px solid rgba(255,255,255,.08);

    color: var(--text-muted);

    position: relative;

    z-index: 2;
}


/* ================= FLOATING BUTTONS ================= */

.whatsapp-float {

    position: fixed;

    bottom: 30px;
    right: 30px;

    width: 65px;
    height: 65px;

    border-radius: 50%;

    background: #25D366;

    display: flex;

    justify-content: center;
    align-items: center;

    font-size: 30px;

    color: white;

    z-index: 999;

    box-shadow:
    0 10px 30px rgba(0,0,0,.3);

    transition: var(--transition);
}

.whatsapp-float:hover {

    transform: scale(1.1);
}

.back-to-top {

    position: fixed;

    bottom: 110px;
    right: 30px;

    width: 55px;
    height: 55px;

    border: none;

    border-radius: 50%;

    background:
    linear-gradient(
        135deg,
        var(--rose-gold),
        var(--champagne-gold)
    );

    color: white;

    cursor: pointer;

    opacity: 0;

    visibility: hidden;

    transition: var(--transition);

    z-index: 999;
}

.back-to-top.active {

    opacity: 1;

    visibility: visible;
}

.back-to-top:hover {

    transform: translateY(-5px);
}


/* ================= LUXURY CURSOR ================= */

.cursor {

    position: fixed;

    width: 20px;
    height: 20px;

    border:
    2px solid var(--rose-gold);

    border-radius: 50%;

    pointer-events: none;

    transform:
    translate(-50%, -50%);

    transition:
    transform .1s ease;

    z-index: 9999;
}


/* ================= MOBILE NAVIGATION ================= */

@media (max-width: 992px) {

    .nav-links {

        position: fixed;

        top: 90px;
        right: -100%;

        width: 300px;

        height: calc(100vh - 90px);

        background:
        rgba(6,15,45,.97);

        backdrop-filter: blur(20px);

        flex-direction: column;

        align-items: center;

        padding-top: 50px;

        transition: .5s;
    }

    .nav-links.active {

        right: 0;
    }

    .footer-container {

        grid-template-columns:
        repeat(2,1fr);
    }
}


/* ================= TABLET ================= */

@media (max-width: 768px) {

    .testimonials-grid {

        grid-template-columns: 1fr;
    }

    .cta-content h2 {

        font-size: 36px;
    }

    .footer-container {

        grid-template-columns: 1fr;

        text-align: center;
    }

    .social-icons {

        justify-content: center;
    }

    .footer-column li:hover {

        transform: none;
    }

    .whatsapp-float {

        width: 58px;
        height: 58px;

        font-size: 26px;
    }

    .back-to-top {

        width: 50px;
        height: 50px;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 576px) {

    .cta-content h2 {

        font-size: 30px;
    }

    .cta-buttons {

        flex-direction: column;
    }

    .map-container iframe {

        height: 300px;
    }

    .footer {

        padding-top: 70px;
    }
}
