:root {
    --primary-teal: #1d9ba5; /* Generic teal */
    --search-teal: #00c3c3; /* Exact search button teal */
    --nav-bg: #000000;
    --body-bg: #f2f2f2;
    --text-color: #333333;
    --title-blue: #1a3266;
    --link-blue: #1e73be;
    --container-width: 1140px; /* Standard Vantage/Elementor width */
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: Arial, sans-serif; /* Per audit */
    background-color: var(--body-bg);
    color: var(--text-color);
    font-size: 14px;
    line-height: 1.6;
}

.layout-boxed .boxed-container {
    max-width: var(--container-width);
    margin: 0 auto;
    background: white;
    box-shadow: 0 0 20px rgba(0,0,0,0.05); /* Soft shadow per audit */
}

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 40px;
}

.text-center { text-align: center; }

/* Header */
.masthead {
    background-color: white;
    padding: 50px 0 0;
}

.main-navigation {
    background-color: var(--nav-bg);
    color: white;
    height: 52px;
}

.nav-container {
    max-width: var(--container-width);
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
    height: 100%;
}

.menu-main {
    display: flex;
    list-style: none;
    height: 100%;
}

.menu-main li a {
    color: white;
    text-decoration: none;
    padding: 0 15px;
    display: flex;
    align-items: center;
    font-weight: 700; /* Per audit */
    font-size: 14px;
    height: 100%;
    text-transform: none;
}

.menu-main li a:hover {
    background-color: var(--search-teal);
}

.search-icon-block {
    background-color: var(--search-teal);
    width: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px;
    color: white;
}

/* Page Spacing */
.site-main {
    padding-top: 100px; /* Big gap per audit */
    background: white;
}

/* Product Grid System */
.products-layout {
    padding: 0 60px 80px;
}

.product-row-full {
    display: flex;
    justify-content: center;
    margin-bottom: 50px;
}

.product-row-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 40px 15px;
    margin-bottom: 40px;
}

@media (max-width: 1024px) {
    .product-row-grid { grid-template-columns: repeat(2, 1fr); }
}

.product-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center; /* Ensures text below is centered */
}

.product-btn {
    width: 100%;
    padding: 20px 15px;
    border-radius: 15px;
    color: white;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center; /* Horizontal center */
    min-height: 85px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

.product-btn:hover {
    transform: translateY(-3px);
    opacity: 0.95;
}

.product-btn h3 {
    font-size: 19px;
    font-weight: 700;
    text-align: center; /* Crucial fix for the issue seen in screenshot */
    margin: 0;
    width: 100%;
}

.product-item p {
    font-size: 12px;
    color: #444;
    margin-top: 15px;
    line-height: 1.4;
    max-width: 180px; /* Constrain width to match multi-line style of original */
    text-align: center; /* Centered description */
}

/* Final Audit Colors */
.bg-810081 { background-color: #810081; }
.bg-1e3d59 { background-color: #1e3d59; }
.bg-2e5190 { background-color: #2e5190; }
.bg-2d5a27 { background-color: #2d5a27; }
.bg-a11b3d { background-color: #a11b3d; }
.bg-e91e63 { background-color: #e91e63; }
.bg-cccccc { background-color: #cccccc; color: #333 !important; }
.bg-444444 { background-color: #444444; }
.bg-ff57f0 { background-color: #ff57f0; }
.bg-bf76da { background-color: #bf76da; }
.bg-f46b28 { background-color: #f46b28; }
.bg-6057bb { background-color: #6057bb; }
.bg-482791 { background-color: #482791; }

/* Home Page Styles */
.home-intro-section {
    padding: 80px 40px 40px;
    background: white;
    text-align: center;
}

.home-intro-section h2 {
    font-size: 22px;
    color: #444;
    font-weight: 700;
    margin-bottom: 20px;
}

.home-intro-section p {
    font-size: 14px;
    margin-bottom: 20px;
    color: #666;
}

.blocks-grid-2x2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    padding: 40px 80px;
    background: white;
}

.teal-block {
    background-color: var(--primary-teal);
    border-radius: 25px;
    padding: 45px 30px;
    text-align: center;
    color: white;
    text-decoration: none;
    transition: transform 0.2s, opacity 0.2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.teal-block:hover {
    transform: translateY(-5px);
    opacity: 0.95;
}

.teal-block h3 {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 5px;
    text-align: center;
    width: 100%;
}

.teal-block p {
    font-size: 13px;
    opacity: 0.95;
    text-align: center;
    margin: 0;
}

/* Bottom Footer Grid */
.marketing-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    padding: 60px 80px;
    background: white;
}

.marketing-col h3 {
    font-size: 22px;
    color: #444;
    margin-bottom: 15px;
}

.marketing-col p {
    font-size: 14px;
    color: #666;
}
