* {
    box-sizing: border-box;
    mso-line-height-rule: exactly;
}

:root {

    /* Brand Colors - Authentic Amrit */

    --bs-primary: #F1860D;

    /* Amrit Orange */

    --bs-secondary: #781235;

    /* Amrit Red */

    --bs-dark: #333333;

    --bs-light: #F9F5F0;



    /* Typography */

    --bs-body-font-family: 'Source Sans 3', sans-serif;

    --bs-heading-font-family: 'Playfair Display', serif;



    /* Effects */

    --glass-bg: rgba(255, 255, 255, 0.9);

    --shadow-premium: 0 10px 30px rgba(0, 0, 0, 0.1);

    --gradient-gold: linear-gradient(135deg, #F1860D 0%, #D97300 100%);

    /* Orange Gradient */



    /* Layout */

    --bs-gutter-x: 3rem;

    --bs-gutter-y: 0;

}



*,

::after,

::before {

    box-sizing: border-box;

}



body {
    margin: 0;
    padding: 0;
    width: 100%;


    font-family: var(--bs-body-font-family);

    color: var(--bs-gray-dark);

    background-color: var(--bs-light);

    /* Indian-style Background Pattern */
    background-image: url('../assets/mandala-pattern.svg');
    background-repeat: repeat;
    background-position: center top;
    background-size: 600px;
    background-attachment: fixed;

    line-height: 1.6;

    overflow-x: hidden;

    /* Prevent horizontal scroll */

}



h1,

h2,

h3,

h4,

h5,

h6,

.h1,

.h2,

.h3 {

    font-family: var(--bs-heading-font-family);

    font-weight: 700;

    color: var(--bs-primary);

    /* Default headings to Brand Red */

    margin-top: 0;

    margin-bottom: 0.5rem;

    line-height: 1.2;

}



h1,

.h1 {

    font-size: calc(1.375rem + 1.5vw);

}



a {

    text-decoration: none;

    color: inherit;

    transition: 0.3s ease;

}



/* Utilities */

.container {

    width: 100%;

    padding-right: calc(var(--bs-gutter-x) * .5);

    padding-left: calc(var(--bs-gutter-x) * .5);

    margin-right: auto;

    margin-left: auto;

    max-width: 1320px;

    /* XXL standard */

}



.btn {

    display: inline-block;

    font-weight: 400;

    line-height: 1.5;

    color: #212529;

    text-align: center;

    text-decoration: none;

    vertical-align: middle;

    cursor: pointer;

    user-select: none;

    background-color: transparent;

    border: 1px solid transparent;

    padding: .375rem .75rem;

    font-size: 1rem;

    border-radius: 0.25rem;

    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;

}



.btn-primary {

    color: #fff;

    background-color: var(--bs-primary);

    border-color: var(--bs-primary);

}



.btn-outline-light {

    color: #f8f9fa;

    border-color: #f8f9fa;

}



.text-center {

    text-align: center;

}



.d-flex {

    display: flex;

}



.align-items-center {

    align-items: center;

}



.justify-content-between {

    justify-content: space-between;

}



.justify-content-center {

    justify-content: center;

}



.fs-1 {

    font-size: 2.5rem;

}



.fw-bold {

    font-weight: 700;

}



.py-5 {

    padding-top: 3rem;

    padding-bottom: 3rem;

}



.my-5 {

    margin-top: 3rem;

    margin-bottom: 3rem;

}



/* Header / Navigation */

.site-header {

    background: var(--bs-secondary);

    /* Permanent Red Background */

    padding: 1.5rem 0;

    position: fixed;

    top: 0;

    width: 100%;

    z-index: 1000;

    transition: all 0.4s ease;

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);

}



.site-header.scrolled {

    padding: 0.5rem 0;
    /* Shrink padding on scroll only */

}



/* Removed .site-header.scrolled .navbar-brand rule to keep consistent logo color */



/* Removed .site-header.scrolled .nav-link rule as links are now dark by default */



.navbar-brand {
    font-family: 'Cinzel Decorative', cursive;
    font-size: 2.2rem;
    /* Slightly larger for the decorative font */
    color: var(--bs-primary);
    text-transform: none;
    /* Allow Title Case */
    font-weight: 700;
    letter-spacing: 0.5px;
    /* Reduced spacing for better readability */
}



.nav-link {

    color: var(--bs-light);

    margin-left: 1.5rem;

    font-size: 0.9rem;

    text-transform: uppercase;

    letter-spacing: 1px;

    position: relative;

    padding: 0.5rem 0;

}



.nav-link::after {

    content: '';

    position: absolute;

    width: 0;

    height: 2px;

    bottom: 0;

    left: 0;

    background-color: var(--bs-secondary);

    transition: width 0.3s ease;

}



.nav-link:hover::after {

    width: 100%;

}



.header-cta {

    background: var(--gradient-gold);

    border: none;

    color: white;

    padding: 0.5rem 1.5rem;

    border-radius: 50px;

    font-size: 0.8rem;

    text-transform: uppercase;

    letter-spacing: 1px;

    transition: all 0.3s ease;

    box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);

}



.header-cta:hover {

    transform: translateY(-2px);

    box-shadow: 0 10px 20px rgba(212, 175, 55, 0.4);

    color: white;

}



/* Hero Section */

.hero-section-one {

    min-height: 80vh;

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    color: white;

    background-color: #ffffff;

    padding-top: 100px;

    overflow: hidden;

}

/* Hero Background Image – separate element for Ken Burns + mouse parallax */
.hero-section-one::after {
    content: '';
    position: absolute;
    top: -5%;
    left: -5%;
    width: 110%;
    height: 110%;
    background-image: url('../assets/Web_Quality/indisches-restaurant-sanjha-tadka-erfurt-speisen-20.webp');
    background-size: cover;
    background-position: center 60%;
    z-index: 0;
    animation: heroKenBurns 25s ease-in-out infinite alternate, baseFadeIn 1.5s ease-in-out forwards;
    opacity: 0;
    will-change: transform;
    /* Mouse parallax + scroll offset via CSS custom properties */
    transform: translate(calc(var(--mouse-x, 0px) * -1),
            calc(var(--mouse-y, 0px) * -1 + var(--scroll-y, 0px)));
}

@keyframes heroKenBurns {
    0% {
        transform: scale(1) translate(calc(var(--mouse-x, 0px) * -1),
                calc(var(--mouse-y, 0px) * -1 + var(--scroll-y, 0px)));
    }

    100% {
        transform: scale(1.08) translate(calc(-1.5% + var(--mouse-x, 0px) * -1),
                calc(1% + var(--mouse-y, 0px) * -1 + var(--scroll-y, 0px)));
    }
}



.hero-section-one::before {

    content: '';

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.55) 100%);
    z-index: 1;
    /* Subtle pulsing glow on the overlay */
    animation: heroPulse 6s ease-in-out infinite alternate, baseFadeIn 1.5s ease-in-out forwards;
    opacity: 0;

}

@keyframes baseFadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes heroPulse {
    0% {
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.55) 100%);
    }

    100% {
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.20) 60%, rgba(0, 0, 0, 0.50) 100%);
    }
}



.hero-section-one .container {

    position: relative;

    z-index: 2;

    max-width: 1000px;

    padding-top: 0;

    /* Fade-in + slide-up on load */
    animation: heroContentReveal 1.5s cubic-bezier(0.23, 1, 0.32, 1) forwards;
    opacity: 0;

}

@keyframes heroContentReveal {
    0% {
        opacity: 0;
        transform: translateY(40px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hero Particles Canvas */
.hero-particles-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

/* Scroll Down Indicator */
.hero-scroll-indicator {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    transition: color 0.3s ease;
    animation: heroScrollBounce 2s ease-in-out infinite, heroScrollFadeIn 2s ease forwards;
    animation-delay: 2s, 1.5s;
    opacity: 0;
}

.hero-scroll-indicator span {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.hero-scroll-indicator:hover {
    color: rgba(241, 134, 13, 1);
}

@keyframes heroScrollBounce {

    0%,
    100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(8px);
    }
}

@keyframes heroScrollFadeIn {
    to {
        opacity: 1;
    }
}

/* Hero H1 shimmer accent */
.hero-section-one h1 {
    background: linear-gradient(90deg,
            #ffffff 0%,
            #ffffff 40%,
            #F1860D 50%,
            #ffffff 60%,
            #ffffff 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: heroTextShimmer 6s ease-in-out infinite;
}

@keyframes heroTextShimmer {
    0% {
        background-position: 200% center;
    }

    100% {
        background-position: -200% center;
    }
}

/* ============================================
   AMBIENTE PHOTO MOSAIC GALLERY
   ============================================ */

.ambiente-gallery-section {
    padding: 6rem 0;
    background-color: var(--bs-light);
    position: relative;
    overflow: hidden;
    content-visibility: auto;
    contain-intrinsic-size: 0 700px;
}

.ambiente-gallery-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(120, 18, 53, 0.05) 0%, rgba(0, 0, 0, 0) 60%, rgba(241, 134, 13, 0.04) 100%);
    pointer-events: none;
    z-index: 0;
}

.ambiente-gallery-header {
    text-align: center;
    margin-bottom: 3.5rem;
    position: relative;
    z-index: 2;
}

.ambiente-gallery-header .sub-label {
    display: block;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: #F1860D;
    margin-bottom: 1rem;
}

.ambiente-gallery-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    color: var(--bs-dark);
    margin: 0;
    line-height: 1.15;
}

.ambiente-gallery-header h2 em {
    color: #F1860D;
    font-style: italic;
}

.ambiente-gallery-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 280px 280px;
    gap: 6px;
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 1rem;
}

.ag-item {
    overflow: hidden;
    position: relative;
    cursor: pointer;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.ag-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
}

.ag-item:hover img {
    transform: scale(1.05);
    will-change: transform;
}

.ag-item .ag-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, transparent 55%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.ag-item:hover .ag-overlay {
    opacity: 1;
}

/* Grid Placement - Asymmetric Mosaic */
.ag-item:nth-child(1) {
    grid-column: 1 / 6;
    grid-row: 1 / 2;
}

.ag-item:nth-child(2) {
    grid-column: 6 / 9;
    grid-row: 1 / 2;
}

.ag-item:nth-child(3) {
    grid-column: 9 / 13;
    grid-row: 1 / 3;
}

.ag-item:nth-child(4) {
    grid-column: 1 / 4;
    grid-row: 2 / 3;
}

.ag-item:nth-child(5) {
    grid-column: 4 / 7;
    grid-row: 2 / 3;
}

.ag-item:nth-child(6) {
    grid-column: 7 / 9;
    grid-row: 2 / 3;
}

.ag-item:nth-child(6) img {
    object-position: center 75%;
}

.ambiente-gallery-cta {
    text-align: center;
    margin-top: 3rem;
    position: relative;
    z-index: 2;
}

.ambiente-gallery-cta .btn-gallery {
    display: inline-block;
    padding: 0.9rem 2.8rem;
    border: 1.5px solid rgba(241, 134, 13, 0.6);
    color: #F1860D;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 3px;
    border-radius: 50px;
    transition: all 0.3s ease;
    background: transparent;
    text-decoration: none;
}

.ambiente-gallery-cta .btn-gallery:hover {
    background: #F1860D;
    color: #fff;
    border-color: #F1860D;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(241, 134, 13, 0.3);
}

@media (max-width: 1024px) {
    .ambiente-gallery-grid {
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: 220px 220px;
    }

    .ag-item:nth-child(1) {
        grid-column: 1 / 4;
        grid-row: 1;
    }

    .ag-item:nth-child(2) {
        grid-column: 4 / 7;
        grid-row: 1;
    }

    .ag-item:nth-child(3) {
        grid-column: 1 / 3;
        grid-row: 2;
    }

    .ag-item:nth-child(4) {
        grid-column: 3 / 5;
        grid-row: 2;
    }

    .ag-item:nth-child(5) {
        grid-column: 5 / 7;
        grid-row: 2;
    }

    .ag-item:nth-child(6) {
        display: none;
    }
}

@media (max-width: 640px) {
    .ambiente-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(3, 200px);
        gap: 4px;
    }

    .ag-item:nth-child(1) {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .ag-item:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .ag-item:nth-child(3) {
        grid-column: 2;
        grid-row: 2;
    }

    .ag-item:nth-child(4) {
        grid-column: 1;
        grid-row: 3;
    }

    .ag-item:nth-child(5) {
        grid-column: 2;
        grid-row: 3;
    }

    .ag-item:nth-child(6) {
        display: none;
    }
}



.hero-section-one h1 {

    font-size: clamp(2.5rem, 5vw, 4.5rem);

    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);

    margin-bottom: 2rem;

    font-weight: 700;

    line-height: 1.2;

    max-width: 900px;

    margin-left: auto;

    margin-right: auto;

}



/* Section: Intro */

.section-intro {

    background-color: var(--bs-light);

    padding: 8rem 0;

    position: relative;

    overflow: hidden;

}

.section-intro::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('../assets/mandala-pattern.svg');
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center center;
    filter: invert(1);
    opacity: 0.06;
    pointer-events: none;
    z-index: 0;
}

.section-intro .container {
    position: relative;
    z-index: 1;
}



.intro-text p {

    max-width: 800px;

    margin: 0 auto;

    font-size: 1.3rem;

    /* Larger body text */

    color: var(--bs-gray-dark);

    font-weight: 400;

    line-height: 1.9;

}



/* News Grid */

.news-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

    gap: 2rem;

}



.news-card {

    height: 400px;

    background-size: cover;

    background-position: center;

    position: relative;

    display: flex;

    align-items: flex-end;

    border-radius: 4px;

    /* Slight rounding */

    overflow: hidden;

    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);

}



.news-card::before {

    content: '';

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    height: 60%;

    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);

}



.news-card-content {

    position: relative;

    z-index: 2;

    padding: 2rem;

    color: white;

}



.news-badge {

    background-color: var(--bs-secondary);

    color: white;

    padding: 0.3rem 0.8rem;

    text-transform: uppercase;

    font-size: 0.75rem;

    letter-spacing: 1px;

    margin-bottom: 0.5rem;

    display: inline-block;

}



.news-card h3 {

    color: white;

    font-size: 1.8rem;

    margin-bottom: 0.5rem;

}



/* Restaurants Teaser with Floating Bowls */

.restaurants-teaser {

    position: relative;

    padding: 6rem 0;

    overflow: hidden;

}



.bowl-img {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 300px;

    /* Adjust based on image quality */

    max-width: 30%;

    z-index: 1;

    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2));

}



.bowl-left {

    left: -50px;

}



.bowl-right {

    right: -50px;

}



.restaurant-content {

    position: relative;

    z-index: 2;

    background-color: rgba(255, 255, 255, 0.9);

    /* Check readability */

    padding: 2rem;

    border-radius: 50%;

    /* Optional styling choice */

}



/* Groups and Events */

.groups-section {

    background-color: #e3dccd;

    position: relative;

}



.groups-content {

    padding: 5rem 0;

    display: flex;

    align-items: center;

    justify-content: center;

}



.groups-text {

    text-align: center;

    max-width: 500px;

    padding: 2rem;

}



.groups-icon {

    width: 80px;

    height: 80px;

    margin: 0 auto 1rem;

    color: var(--bs-secondary);

}



/* Testimonial */

.testimonial-section {

    background-color: var(--bs-secondary);

    color: #f1860d;

    /* Gold/Orange text */

    padding: 6rem 0;

    text-align: center;

}



.testimonial-text {

    font-family: var(--bs-heading-font-family);

    font-size: 2.2rem;

    line-height: 1.4;

    max-width: 900px;

    margin: 0 auto;

}



/* Menu Page (Speisekarte) */

.menu-header {

    background-color: var(--bs-secondary);

    color: white;

    padding: 4rem 0;

    text-align: center;

    background-image: url('../mandala-bg.webp');

    background-size: cover;

    background-blend-mode: soft-light;

}



.menu-category {

    margin-bottom: 2rem;

}



.menu-category h2 {

    color: var(--bs-secondary);

    border-bottom: 2px solid var(--bs-primary);

    display: inline-block;

    padding-bottom: 0.5rem;

    margin-bottom: 1.5rem;

}



.menu-item {

    display: flex;

    justify-content: space-between;

    align-items: baseline;

    /* Align text baselines */

    margin-bottom: 1rem;

    border-bottom: 1px dotted #ccc;

    padding-bottom: 0.5rem;

}



.menu-item-name {

    font-weight: 600;

    font-size: 1.1rem;

    color: var(--bs-gray-dark);

}



.menu-item-price {

    font-weight: 700;

    color: var(--bs-primary);

    white-space: nowrap;

    /* Prevent price wrapping */

}



.menu-item-desc {

    font-size: 0.9rem;

    color: var(--bs-gray-600);

    margin-top: -0.5rem;

    /* Pull up closer to title */

    margin-bottom: 1rem;

    font-style: italic;

}



/* Restaurants Page */

.locations-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

    gap: 2rem;

    padding: 4rem 0;

}



.location-card {

    background: white;

    border: 1px solid #eee;

    transition: transform 0.3s ease;

}



.location-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);

}



.location-img {

    height: 250px;

    background-color: #ddd;

    background-size: cover;

    background-position: center;

}



.location-details {

    padding: 2rem;

    text-align: center;

}



.location-details h3 {

    color: var(--bs-secondary);

    margin-bottom: 1rem;

}



.location-details p {

    color: var(--bs-gray-600);

    margin-bottom: 1.5rem;

}



/* Interactive & Dynamic Styles */



/* 1. Sticky Header Transistion */

.site-header {

    transition: padding 0.3s ease, background-color 0.3s ease;

}



.site-header.scrolled {

    padding: 0.5rem 0;

    /* Shrink */

    background-color: rgba(120, 18, 53, 0.95);

    /* Slight transparency */

    backdrop-filter: blur(5px);

}



/* 2. Mobile Menu Overlay */

.mobile-menu-overlay {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background-color: var(--bs-secondary);

    z-index: 2000;

    transform: translateX(-100%);

    transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);

    display: flex;

    /* Centered menu */

    align-items: center;

    justify-content: center;

    flex-direction: column;

}



.mobile-menu-overlay.active {

    transform: translateX(0);

}



.mobile-menu-content {

    text-align: center;

    width: 100%;

}



.mobile-menu-content nav {

    display: flex;

    flex-direction: column;

    align-items: center;

}



.mobile-menu-content nav a {

    display: block;

    font-family: var(--bs-heading-font-family);

    font-size: 2.5rem;

    color: white;

    margin: 1rem 0;

    text-decoration: none;

    transition: color 0.3s;

}



.mobile-menu-content nav a:hover {

    color: var(--bs-primary);

}



.close-menu {

    position: absolute;

    top: 2rem;

    right: 2rem;

    background: none;

    border: none;

    color: white;

    font-size: 3rem;

    cursor: pointer;

}



body.no-scroll {

    overflow: hidden;

}



/* Hero Buttons */

.hero-section-one .btn-primary {

    background-color: var(--bs-primary);

    border-color: var(--bs-primary);

    font-family: var(--bs-body-font-family);

    text-transform: uppercase;

    transition: transform 0.2s;

}



.hero-section-one .btn-primary:hover {

    background-color: #d97300;

    transform: translateY(-2px);

}



.hero-section-one .btn-light {

    background-color: white;

    border: none;

    font-family: var(--bs-body-font-family);

    text-transform: uppercase;

    transition: transform 0.2s;

}



.hero-section-one .btn-light:hover {

    background-color: #f8f9fa;

    transform: translateY(-2px);

}



/* News Card Authentic */

.news-card {

    background: white;

    border: 1px solid #eee;

    border-radius: 4px;

    /* Less rounded */

    overflow: hidden;

    height: 400px;

    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);

    /* Subtle shadow */

    transition: all 0.3s ease;

}



.location-card:hover {

    transform: translateY(-10px);

    box-shadow: 0 25px 50px rgba(120, 18, 53, 0.15);

    /* Hint of red shadow */

}



/* Testimonial Slider */

.testimonial-slide {

    display: none;

    animation: fade 1.5s;

}



.testimonial-slide.active {

    display: block;

}



@keyframes fade {

    from {

        opacity: .4
    }



    to {

        opacity: 1
    }

}



.dot {

    cursor: pointer;

    transition: opacity 0.3s ease;

}



.dot:hover {

    opacity: 0.8 !important;

}

/* News/Blog Section */

.news-section {

    background-color: #E8DCC0;

    /* Approximated warm beige/dark yellow */

    padding: 5rem 0;

}



.news-card {

    background: transparent;

    border: none;

    margin-bottom: 2rem;

    transition: transform 0.3s ease;

}



/* Card hover effect if desired */

.news-card:hover {

    transform: translateY(-5px);

}



.news-card-img-wrapper {

    position: relative;

    overflow: hidden;

    margin-bottom: 1.5rem;

}



.news-card-img {

    width: 100%;

    height: auto;

    display: block;

    border-radius: 4px;

    /* Slight rounding if needed */

}



/* The dark red "NEWS" badge */

.news-badge {

    position: absolute;

    bottom: -15px;

    /* Overlap the bottom edge slightly */

    left: 20px;

    background-color: #7A1A37;

    /* Dark red branded color */

    color: #fff;

    padding: 8px 25px;

    font-size: 0.9rem;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 1px;

}



.news-content {

    padding: 1rem 0.5rem;

}



.news-title {

    font-size: 1.75rem;

    line-height: 1.3;

    color: var(--bs-secondary);

    /* Dark text */

    margin-bottom: 1rem;

    font-family: 'Playfair Display', serif;

    /* Assuming serif for headings */

    font-weight: 400;

}



.news-text {

    font-size: 1rem;

    line-height: 1.6;

    color: #555;

    margin-bottom: 1.5rem;

}



.news-link {

    color: #7A1A37;

    text-decoration: none;

    font-weight: 500;

    text-transform: uppercase;

    font-size: 0.9rem;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    transition: color 0.3s ease;

}



.news-link:hover {

    color: var(--bs-primary);

}



.news-link::after {

    content: '   ';

    /* Arrow icon */

    font-size: 1.2em;

    transition: transform 0.3s ease;

}



.news-link:hover::after {

    transform: translateX(5px);

}

/* News/Blog Section - Overlay Style */

.news-section {

    background-color: var(--bs-light);

    /* Or keep beige: #E8DCC0 if preferred, but overlay style usually goes with clean bg */

    padding: 5rem 0;

}



.news-card {

    position: relative;

    border-radius: 8px;

    overflow: hidden;

    height: 450px;

    /* Taller to show image */

    background-color: #000;

}



.news-card-img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.6s ease;

}



.news-card:hover .news-card-img {

    transform: scale(1.05);

}



.news-overlay {

    position: absolute;

    inset: 0;

    /* Gradient from transparent at top to dark at bottom */

    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.9) 100%);

    pointer-events: none;

}



.news-content {

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    padding: 2rem;

    z-index: 2;

    color: #fff;

    transform: translateY(0);

    transition: transform 0.3s ease;

}



.news-badge {

    display: inline-block;

    background-color: #7A1A37;

    color: #fff;

    padding: 4px 12px;

    font-size: 0.75rem;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1px;

    margin-bottom: 0.75rem;

    border-radius: 2px;

}



.news-title {

    font-size: 1.5rem;

    line-height: 1.2;

    color: #fff;

    margin-bottom: 0.75rem;

    font-family: 'Playfair Display', serif;

    font-weight: 700;

}



.news-title a {

    color: #fff;

    transition: color 0.3s ease;

}



.news-title a:hover {

    color: #ddd;

}



.news-text {

    font-size: 0.95rem;

    line-height: 1.5;

    color: rgba(255, 255, 255, 0.9);

    margin-bottom: 1rem;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

}



.news-link {

    color: #fff;

    text-decoration: none;

    font-weight: 500;

    text-transform: uppercase;

    font-size: 0.85rem;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    opacity: 0.9;

    transition: opacity 0.3s ease, gap 0.3s ease;

}



.news-link:hover {

    opacity: 1;

    gap: 12px;

    color: #fff;

}



.news-link::after {

    content: '   ';

    font-size: 1.1em;

}



/* Optional: Slight lift of content on hover */

.news-card:hover .news-content {

    /* transform: translateY(-5px); */

}


html,
body {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}
