/* --- Import Fonts (Example: Lato & a Display Font) --- */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Pacifico&display=swap'); /* Example */

/* --- Custom Variables & Theme Colors --- */
:root {
    --primary-color: #6c5ce7; /* Main Purple */
    --secondary-color: #e84393; /* Accent Pink */
    --light-purple: #f8f0fc;
    --heading-font: 'Pacifico', cursive; /* Example display font */
    --body-font: 'Lato', sans-serif;
    --gradient-primary: linear-gradient(90deg, var(--secondary-color), #d63031); /* Pink/Red */
    --gradient-secondary: linear-gradient(90deg, var(--primary-color), #a29bfe); /* Purple */
}

/* --- Body & General Overrides --- */
body {
    font-family: var(--body-font);
    color: #333;
    background-color: #fff; /* Default white */
}

h1, h2, h3, h4, h5, h6 {
    /* Optional: Use display font for main headings */
    /* font-family: var(--heading-font); */
    color: var(--primary-color);
}

.section-title {
     font-family: var(--heading-font); /* Apply display font here */
     color: var(--primary-color);
     font-weight: normal; /* Pacifico is bold already */
}
.section-subtitle {
    color: var(--primary-color);
    font-weight: bold;
}

.highlight {
    color: var(--secondary-color);
    font-weight: bold; /* Ensure highlight stands out */
}

/* --- Header & Navigation --- */
header .navbar { /* Target the navbar within your header */
    padding-top: 10px; /* Increase top padding */
    padding-bottom: 10px; /* Increase bottom padding */
    /* Adjust these padding values until the navbar height looks right for your 90px logo */
    min-height: 100px; /* Ensure navbar has enough minimum height */
}

.navbar-brand.logo {
    padding-top: 0; /* Remove default padding if needed */
    padding-bottom: 0;
    margin-right: 1rem; /* Ensure some space after logo */
    display: flex; /* Helps vertical alignment */
    align-items: center; /* Vertically center logo within the taller navbar */
}

.navbar-brand.logo img {
    height: 90px; /* SET THE EXPLICIT HEIGHT HERE - Try slightly less than 90 for padding */
    width: auto; /* Maintain aspect ratio */
    max-height: none; /* REMOVE or override previous max-height */
    object-fit: contain; /* Ensure image scales nicely within its bounds */
}

/* Adjust navbar toggle alignment if needed for taller navbar */
.navbar-toggler {
    align-self: center; /* Helps align the toggle button vertically */
}

/* Adjust nav links alignment if needed */
.navbar-nav {
    align-items: center; /* Vertically align nav links */
}

.navbar .nav-link {
    font-weight: bold;
    color: #555 !important; /* Slightly darker links */
    transition: color 0.3s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: var(--secondary-color) !important; /* Use accent color for hover/active */
}

/* --- Responsive adjustment for potentially tall navbar --- */
@media (max-width: 991.98px) {
    header .navbar {
        min-height: 80px; /* Adjust min-height for mobile if needed */
        padding-top: 5px;
        padding-bottom: 5px;
    }
    .navbar-brand.logo img {
        height: 60px; /* Maybe slightly smaller logo on mobile */
    }
    .navbar-collapse {
        background-color: #f8f9fa;
        padding: 15px;
        margin-top: 10px;
        border-radius: .25rem;
    }
}

/* --- Buttons --- */
.btn-primary.cta-gradient {
    background-image: var(--gradient-primary);
    border: none;
    color: white;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-primary.cta-gradient:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    color: white; /* Ensure text stays white */
}

.btn-secondary.cta-gradient-secondary {
    background-image: var(--gradient-secondary);
    border: none;
    color: white;
     transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-secondary.cta-gradient-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    color: white;
}

/* --- Hero Section --- */
.hero-section {
    background-color: #f8f0fc; /* Light purple tint */
}
.hero-title {
     font-family: var(--heading-font);
     font-weight: normal;
     font-size: 2.8rem; /* Adjust size */
     color: var(--primary-color);
}
.hero-subtitle { color: #444; }
.hero-carousel-img {
    height: 400px; /* Fixed height for carousel images */
    object-fit: cover;
}

/* --- Facts Section --- */
.fact-icon { height: 35px; }
.fact-item span { font-size: 0.95em; color: #555;}

/* --- How It Works --- */
.step-icon { height: 50px; }
.step-title { color: var(--secondary-color); font-weight: bold;}

/* --- Why Gift Section --- */
.bg-light-purple { background-color: var(--light-purple); }
.benefit-icon { height: 45px; }
.benefit-title { color: var(--primary-color); font-weight: bold;}
.gift-benefits .card { border: none; }

/* --- Occasions Teaser --- */
.occasion-card-img { height: 180px; object-fit: cover; }
.occasion-cards .card h3 { color: var(--primary-color); }

/* --- Testimonials --- */
#testimonialCarousel .blockquote {
    font-size: 1.1rem;
    font-style: italic;
    color: #444;
}
#testimonialCarousel .blockquote-footer {
    color: var(--secondary-color);
    font-weight: bold;
    font-style: normal;
    margin-top: 10px;
}
#testimonialCarousel .testimonial-control {
    filter: brightness(0.5); /* Make default controls darker */
}

/* --- Samples Teaser --- */
/* Styles inherited */

/* --- Lead Magnet Section --- */
.lead-magnet-section {
    background-image: var(--gradient-secondary);
}
.lead-magnet-section h2 { color: white; }
.lead-magnet-section p { color: rgba(255,255,255,0.9); }
.lead-magnet-section .btn-light { color: var(--primary-color); }
.lead-magnet-section .btn-light:hover { background-color: #eee; }

/* --- Blog Preview --- */
.blog-posts-container { min-height: 50px; /* Prevent collapse */ }
.blog-post-item { /* Style for dynamically added items */
    background-color: #f8f9fa;
    padding: 10px 15px;
    border-radius: .25rem;
    width: 100%;
    max-width: 600px; /* Limit width */
    text-align: left;
    margin: 0 auto; /* Center the items */
}
.blog-post-item a {
    text-decoration: none;
    color: var(--primary-color);
    font-weight: bold;
    font-size: 1.05em;
}
.blog-post-item a:hover {
    color: var(--secondary-color);
}
.blog-post-item .post-date { /* Optional date */
    font-size: 0.8em;
    color: #6c757d;
    display: block;
    margin-top: 3px;
}

/* --- Pricing Page --- */
.pricing-intro .discount-info { color: var(--secondary-color); }
.pricing-tier { border: 1px solid #eee;}
.pricing-tier .card-header { border-bottom: none;}
.pricing-tier ul li i { vertical-align: middle; }
.pricing-tier .price .standard-price { font-size: 0.9rem;}
.pricing-tier .price .offer-price { color: var(--secondary-color); }
.pricing-tier.border-primary .card-header { background-color: var(--primary-color) !important; }
.pricing-tier.border-primary .price .offer-price { color: var(--primary-color); }

/* --- Occasions Page --- */
.occasion-detail h2 i { font-size: 0.9em; }
.occasion-detail ul li i { font-size: 0.9em; }
.occasion-list { font-size: 0.95em; }
.cta-section-alt { background-color: var(--light-purple); }

/* --- FAQ Page --- */
.accordion-button:not(.collapsed) {
    color: white;
    background-color: var(--primary-color);
}
.accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(108, 92, 231, 0.25); /* Purple focus */
}
.accordion-button::after { /* Optional: Style default arrow */
   /* background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' d='M8 0a1 1 0 0 1 1 1v6h6a1 1 0 1 1 0 2H9v6a1 1 0 1 1-2 0V9H1a1 1 0 0 1 0-2h6V1a1 1 0 0 1 1-1z'/%3e%3c/svg%3e"); */
}

/* --- Contact Page --- */
.contact-details .card-title { color: var(--primary-color); }

/* --- Footer --- */
footer { background-color: #343a40; } /* Slightly lighter dark */
footer .footer-nav a:hover { color: #ddd; }


/* --- Responsive Adjustments --- */
@media (max-width: 991.98px) {
    .navbar-collapse {
        background-color: #f8f9fa; /* Add bg to collapsed menu */
        padding: 15px;
        margin-top: 10px;
        border-radius: .25rem;
    }
}

@media (max-width: 767.98px) {
    .hero-title { font-size: 2.2rem; }
    .section-title { font-size: 1.8rem; }
    .fact-item { justify-content: flex-start; text-align: left; } /* Align left on smaller screens */
}