:root {
    --primary: #FF2D75;
    /* Vibrant Pink */
    --primary-dark: #D81B60;
    --secondary: #F8F9FA;
    /* Light UI */
    --light: #FFFFFF;
    --dark: #1F1116;
    /* Inverted for text */
    --body-bg: #FFFFFF;
    --text-color: #2D1B24;
}

body {
    background-color: var(--body-bg) !important;
    color: var(--text-color) !important;
    font-family: 'Playfair Display', serif;
}

/* Override Bootstrap Backgrounds */
.bg-white,
.bg-light {
    background-color: var(--light) !important;
    color: var(--text-color) !important;
}

.navbar-light .navbar-nav .nav-link {
    color: var(--text-color);
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--primary);
}

.navbar-brand h1 {
    color: var(--primary) !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}

/* Buttons */
.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-primary:hover {
    background-color: #FF5E99;
    border-color: #FF5E99;
    color: #fff;
    box-shadow: 0 4px 15px rgba(255, 45, 117, 0.3);
}

.btn-outline-primary {
    color: var(--primary);
    border-color: var(--primary);
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    color: #fff;
}

/* Sections */
.hero-header {
    background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url('../images/hero/hero-red.png') center center no-repeat !important;
    background-size: cover !important;
}

.text-primary {
    color: var(--primary) !important;
}

.text-dark {
    color: var(--dark) !important;
}

/* Form Styles */
.form-control,
.form-select {
    background-color: #FFFFFF;
    border: 1px solid #E0E0E0;
    color: #333;
}

.form-control:focus,
.form-select:focus {
    background-color: #FFFFFF;
    border-color: var(--primary);
    box-shadow: 0 0 5px rgba(255, 45, 117, 0.2);
    color: #333;
}

.form-floating label {
    color: #888;
}

/* RSVP Form Container */
.rsvp-form-container {
    border: 1px solid #FFD1DC;
    /* Soft Pink Border */
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(255, 45, 117, 0.05);
}


/* Cards/Items */
.service-item,
.project-item,
.team-item,
.testimonial-item {
    background-color: #FFFFFF !important;
    border: 1px solid #F0F0F0;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.bg-dark {
    background-color: #1F1116 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--dark) !important;
}

.text-primary,
.display-4,
.display-6 {
    color: var(--primary) !important;
}

p {
    color: #555;
}

/* Footer */
.footer {
    background-color: #FFFDF5 !important;
    /* Soft Cream */
    border-top: 1px solid #F5EEDC;
}

.footer,
.footer p {
    color: #6D5B4D !important;
    /* Warm Mocha for readability */
}

.footer a {
    color: #8D7B6D;
    text-decoration: none;
    transition: 0.3s;
}

.footer a:hover {
    color: var(--primary);
}

.footer .btn-outline-primary {
    border-color: #E5DCC3;
    background-color: #FFFFFF;
}

.footer .btn-outline-primary:hover {
    background-color: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

/* Copyright Section Cream */
.copyright-section {
    background-color: #F5EEDC !important;
    /* Warm Beige */
    color: #6D5B4D !important;
}

.copyright-section a {
    color: #8D7B6D !important;
}


/* Spinner */
#spinner.bg-white {
    background-color: #FFFFFF !important;
}

/* Narrower borders for images */
.img-fluid.bg-white,
.img-fluid.bg-light {
    padding: 0.25rem !important;
    background-color: #fff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}