/* ============================================
   AVNI BHUVA - Site-wide Style Override
   Ensures consistent fonts, colors, and spacing
   Last loaded CSS - overrides all other stylesheets
   ============================================ */

/* ---- CSS Variables ---- */
:root {
    --brand-primary: #F0B27A;
    --brand-secondary: #19b395;
    --text-dark: #333333;
    --text-body: #666666;
    --text-light: #999999;
    --bg-white: #ffffff;
    --bg-light: #f9f9f9;
    --border-color: #ebebeb;
    --font-primary: 'Poppins', sans-serif;
}

/* ---- Force Poppins everywhere ---- */
body,
html,
p,
span,
div,
a,
li,
td,
th,
input,
textarea,
select,
button,
label,
h1, h2, h3, h4, h5, h6,
.headline h2,
.headline h3,
.product .text h3,
.g-font-size-20,
.g-font-size-16,
.g-font-size-14 {
    font-family: var(--font-primary) !important;
}

/* ---- Body base ---- */
body {
    color: var(--text-body);
    background-color: var(--bg-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ---- Consistent Heading Sizes ---- */
h1, .h1 {
    font-size: 2.6rem;
    font-weight: 600;
    color: var(--text-dark);
    line-height: 1.3;
}

h2, .h2 {
    font-size: 2.2rem;
    font-weight: 600;
    color: var(--text-dark);
    line-height: 1.3;
}

h3, .h3 {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--text-dark);
    line-height: 1.4;
}

h4, .h4 {
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--text-dark);
}

h5, .h5 {
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--text-dark);
}

h6, .h6 {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--text-dark);
}

/* ---- Links ---- */
a {
    color: var(--text-dark);
    transition: color 0.3s ease;
}

a:hover,
a:focus {
    color: var(--brand-primary);
    text-decoration: none;
}

/* ---- Page Headers (Policy pages, etc.) ---- */
.page-header {
    padding: 3rem 0;
    margin-bottom: 0;
}

.page-header .page-title {
    font-size: 2.4rem;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0;
}

/* ---- Page Content (Policy pages) ---- */
.page-content {
    padding: 3rem 0;
}

.page-content p {
    font-size: 1.4rem;
    line-height: 1.86;
    color: var(--text-body);
    margin-bottom: 1.5rem;
}

.page-content ul {
    margin-bottom: 1.5rem;
}

.page-content li {
    font-size: 1.4rem;
    line-height: 1.86;
    color: var(--text-body);
}

.page-content strong {
    font-weight: 600;
    color: var(--text-dark);
}

.page-content h6 {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-top: 2rem;
    margin-bottom: 1rem;
}

/* ---- Product Cards ---- */
.product-title a {
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--text-dark);
}

.product-title a:hover,
.product-title a:focus {
    color: var(--brand-primary);
}

.product-price {
    font-size: 1.6rem;
    font-weight: 600;
}

.old-price {
    color: var(--text-light);
    text-decoration: line-through;
}

/* ---- Cart Page ---- */
.table.table-cart th {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--text-dark);
}

.table.table-cart td {
    font-size: 1.4rem;
    color: var(--text-body);
    vertical-align: middle;
}

.table.table-cart .product-col .product-title {
    font-size: 1.4rem;
}

/* ---- Checkout ---- */
.checkout h2 {
    font-size: 2rem;
    font-weight: 600;
}

/* ---- Forms ---- */
.form-control {
    font-family: var(--font-primary) !important;
    font-size: 1.4rem;
    color: var(--text-dark);
}

.form-control:focus {
    border-color: var(--brand-primary);
    box-shadow: none;
}

/* ---- Buttons consistency ---- */
.btn {
    font-family: var(--font-primary) !important;
    font-weight: 500;
    transition: all 0.3s ease;
}

/* ---- Footer consistency ---- */
.footer {
    font-size: 1.4rem;
}

.footer h4,
.footer .widget-title {
    font-size: 1.6rem;
    font-weight: 600;
    color: #fff;
}

/* ---- Order History ---- */
.table th {
    font-weight: 600;
    color: var(--text-dark);
}

/* ---- Out of Stock label ---- */
.out-of-stock {
    color: #dc3545;
    font-weight: 500;
}

/* ---- Breadcrumb consistency ---- */
.breadcrumb-item,
.breadcrumb-item a {
    font-size: 1.3rem;
    color: var(--text-light);
}

.breadcrumb-item.active {
    color: var(--text-dark);
}

/* ---- Category filter tabs ---- */
.nav-filter a {
    font-size: 1.4rem;
    font-weight: 500;
}

/* ---- Contact page ---- */
.contact-box h3,
address strong {
    font-weight: 600;
    color: var(--text-dark);
}

/* ---- Override old Unify font conflicts ---- */
[class*="g-font-"] {
    font-family: var(--font-primary) !important;
}

[class*="g-color-"] {
    font-family: var(--font-primary) !important;
}

/* ---- Fix Open Sans override in old CSS ---- */
.videos,
.videos * {
    font-family: var(--font-primary) !important;
}

/* ---- Invoice/PDF consistency ---- */
.invoice-title {
    font-family: var(--font-primary) !important;
}

/* ---- Consistent table styling ---- */
.table-bordered th,
.table-bordered td {
    font-family: var(--font-primary) !important;
}

/* ---- Mobile responsiveness fixes ---- */
@media (max-width: 767px) {
    h1, .h1, .page-header .page-title {
        font-size: 2rem;
    }

    h2, .h2 {
        font-size: 1.8rem;
    }

    h3, .h3 {
        font-size: 1.6rem;
    }

    .page-content p,
    .page-content li {
        font-size: 1.3rem;
    }
}
