body {
    font-family: 'Roboto', sans-serif;
    color: #333;
    line-height: 1.6;
    box-sizing: border-box;
    overflow-x: hidden;
}

*, *::before, *::after {
    box-sizing: inherit;
}

:root {
    --smeg-primary: #f06292; /* Rose Smeg-like */
    --smeg-secondary: #424242; /* Gris foncé */
    --smeg-light: #f5f5f5;
    --smeg-dark-overlay: rgba(0, 0, 0, 0.6);
}

/* Global Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
    color: var(--smeg-secondary);
}

.site-title {
    font-size: 1.8rem;
}

.hero-title {
    font-size: 3rem;
    color: #fff;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 2rem;
}

.card-title {
    font-size: 1.5rem;
    font-weight: 700;
}

.footer-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
}

/* Responsive Typography */
@media (min-width: 1024px) {
    .site-title { font-size: 2.2rem; }
    .hero-title { font-size: 4.5rem; }
    .section-title { font-size: 3rem; }
    .card-title { font-size: 1.7rem; }
    .footer-title { font-size: 1.6rem; }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .site-title { font-size: 1.9rem; }
    .hero-title { font-size: 3.5rem; }
    .section-title { font-size: 2.8rem; }
    .card-title { font-size: 1.6rem; }
    .footer-title { font-size: 1.5rem; }
}

@media (max-width: 767px) {
    .site-title { font-size: 1rem; }
    .hero-title { font-size: 2.2rem; }
    .section-title { font-size: 2rem; }
    .card-title { font-size: 1.4rem; }
    .footer-title { font-size: 1.3rem; }
    .navbar-brand .site-title {
        max-width: 150px; /* Adjust as needed for long name */
        white-space: normal;
        word-break: break-word;
        line-height: 1.2;
    }
}

/* Header & Navigation */
.navbar-brand {
    color: var(--smeg-secondary) !important;
}

.navbar-nav .nav-link {
    color: var(--smeg-secondary) !important;
    font-weight: 500;
    padding: 0.5rem 1rem;
    white-space: nowrap;
}

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

.offcanvas-header {
    background-color: var(--smeg-light);
}

.offcanvas-title {
    color: var(--smeg-secondary);
}

.offcanvas-body {
    background-color: #fff;
}

/* Hero Section */
.hero-section {
    min-height: 100vh;
    background-image: url('pictures/pics/smeg-kitchen-hero.webp');
    background-size: cover;
    background-position: center;
    position: relative;
    padding-top: 100px; /* Adjust for fixed header */
    padding-bottom: 50px;
}

.hero-section .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--smeg-dark-overlay);
}

.hero-section .btn-primary {
    background-color: var(--smeg-primary);
    border-color: var(--smeg-primary);
    font-size: 1.2rem;
    padding: 1rem 2.5rem;
    text-decoration: none;
}

.hero-section .btn-primary:hover {
    background-color: #d8436c; /* Slightly darker pink */
    border-color: #d8436c;
}

/* About Section */
.about-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

/* Categories Section */
.categories-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
    background-color: #fff;
}

.category-card {
    border: none;
    border-radius: 0.75rem;
    overflow: hidden;
    transition: none; /* No animations */
}

.category-card img {
    height: 350px;
    object-fit: cover;
    width: 100%;
}

.category-card .card-body {
    padding: 1.5rem;
}

.category-card .btn-outline-dark {
    border-color: var(--smeg-secondary);
    color: var(--smeg-secondary);
    text-decoration: none;
    white-space: normal;
    word-break: break-word;
    text-align: center;
}

.category-card .btn-outline-dark:hover {
    background-color: var(--smeg-secondary);
    color: #fff;
}

/* Modals */
.modal-content {
    border-radius: 0.75rem;
}

.modal-body img {
    max-height: 400px;
    object-fit: contain;
    width: auto;
}

/* Product Showcase Section */
.product-showcase-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.product-card {
    border: 1px solid #e0e0e0;
    border-radius: 0.75rem;
    overflow: hidden;
    transition: none; /* No animations */
}

.product-card img {
    height: 350px;
    object-fit: cover;
    width: 100%;
}

.product-card .card-body {
    padding: 1.25rem;
}

.product-price {
    font-size: 1.4rem;
    color: var(--smeg-primary);
}

/* Footer */
.footer-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-color: #212529;
    color: #adb5bd;
}

.footer-section a {
    color: #adb5bd;
    text-decoration: none;
}

.footer-section a:hover {
    color: #fff;
}

.footer-section .email-break-all {
    word-break: break-all;
}

/* Adjust main content padding for fixed header */
main {
    padding-top: 76px; /* Height of header */
}

@media (max-width: 991.98px) {
    main {
        padding-top: 72px; /* Adjust for smaller header on mobile */
    }
    .navbar-toggler {
        padding: 0.25rem 0.75rem;
        font-size: 1.25rem;
        line-height: 1;
        background-color: transparent;
        border: 1px solid rgba(0,0,0,.1);
        border-radius: 0.25rem;
    }
}
/* Wrapper styles for spacing */
.rightsCloudWrap {
    margin-top: 40px; /* Top margin for the wrapper */
    padding-left: 20px; /* Left padding for content inside wrapper */
    padding-right: 20px; /* Right padding for content inside wrapper */
    /* You might want to add max-width and margin: 0 auto; for centering the content */
    /* max-width: 1200px; */
    /* margin-left: auto; */
    /* margin-right: auto; */
}

/* Heading styles */
.rightsCloudWrap h1 {
    font-size: 2.5rem; /* Moderate font size for H1 */
    margin-top: 2rem; /* Top margin for H1 */
    margin-bottom: 1rem; /* Bottom margin for H1 */
    line-height: 1.2; /* Line height for H1 */
    font-weight: 700; /* Bold font weight for H1 */
}

.rightsCloudWrap h2 {
    font-size: 2rem; /* Moderate font size for H2 */
    margin-top: 1.8rem; /* Top margin for H2 */
    margin-bottom: 0.9rem; /* Bottom margin for H2 */
    line-height: 1.25; /* Line height for H2 */
    font-weight: 700; /* Bold font weight for H2 */
}

.rightsCloudWrap h3 {
    font-size: 1.75rem; /* Moderate font size for H3 */
    margin-top: 1.6rem; /* Top margin for H3 */
    margin-bottom: 0.8rem; /* Bottom margin for H3 */
    line-height: 1.3; /* Line height for H3 */
    font-weight: 700; /* Bold font weight for H3 */
}

.rightsCloudWrap h4 {
    font-size: 1.5rem; /* Moderate font size for H4 */
    margin-top: 1.4rem; /* Top margin for H4 */
    margin-bottom: 0.7rem; /* Bottom margin for H4 */
    line-height: 1.35; /* Line height for H4 */
    font-weight: 600; /* Slightly less bold for H4 */
}

.rightsCloudWrap h5 {
    font-size: 1.25rem; /* Moderate font size for H5 */
    margin-top: 1.2rem; /* Top margin for H5 */
    margin-bottom: 0.6rem; /* Bottom margin for H5 */
    line-height: 1.4; /* Line height for H5 */
    font-weight: 600; /* Slightly less bold for H5 */
}

/* Paragraph styles */
.rightsCloudWrap p {
    font-size: 1rem; /* Base font size for paragraphs */
    margin-bottom: 1em; /* Bottom margin for paragraphs */
    line-height: 1.6; /* Line height for readability */
}

/* Unordered list styles */
.rightsCloudWrap ul {
    margin-top: 1em; /* Top margin for unordered lists */
    margin-bottom: 1em; /* Bottom margin for unordered lists */
    padding-left: 25px; /* Left padding for list bullets */
    list-style-type: disc; /* Default bullet style */
}

/* List item styles */
.rightsCloudWrap li {
    margin-bottom: 0.5em; /* Bottom margin for list items */
    line-height: 1.6; /* Line height for list items */
}
