/*
Theme Name: WeightLoss Brazil Child
Theme URI: https://weightlossbrazil.com
Description: Child theme for Mais Bela Intimates - Built on Kadence
Author: WeightLoss Brazil Team
Author URI: https://weightlossbrazil.com
Template: kadence
Version: 3.0.1
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: weightloss-brazil-child
*/

/* ============================================
   1. COLOR & VARIABLES (Enhanced)
   ============================================ */
:root {
    /* Primary Colors - Soft & Elegant */
    --wlb-primary: #2C2C2C;
    /* Softer Black */
    --wlb-primary-hover: #000000;
    --wlb-primary-light: #F8F8F8;

    /* Secondary Colors - Skin/Blush/Gold */
    --wlb-secondary: #C8A2A2;
    /* Refined Dusty Rose */
    --wlb-secondary-light: #E8D8D8;
    --wlb-secondary-hover: #B08C8C;

    /* Text Colors - Optimized for Readability */
    --wlb-text-dark: #1A1A1A;
    /* Almost Black for Headings */
    --wlb-text-body: #444444;
    /* Dark Grey for body (more readable than light grey) */
    --wlb-text-light: #767676;
    /* Meta text */

    /* UI Elements */
    --wlb-border: #E5E5E5;
    --wlb-background: #FFFFFF;
    --wlb-background-alt: #FAFAFA;
}

/* ============================================
   2. GLOBAL TYPOGRAPHY & RESET
   ============================================ */
body {
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: var(--wlb-text-body);
    line-height: 1.8;
    /* Increased line height */
    font-size: 18px;
    /* Increased base size from 16px to 18px */
    background-color: #ffffff !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Playfair Display', Georgia, serif;
    color: var(--wlb-text-dark);
    font-weight: 500;
    /* Slightly bolder (was 400) */
    line-height: 1.4;
    margin-bottom: 0.6em;
    letter-spacing: -0.01em;
}

h1 {
    font-size: 3rem;
}

/* Larger H1 */
h2 {
    font-size: 2.25rem;
}

/* Larger H2 */
h3 {
    font-size: 1.75rem;
}

/* Larger H3 */

p {
    margin-bottom: 1.6em;
    max-width: 100%;
    /* Allow text to fill the container */
}


h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.5rem;
}

p {
    margin-bottom: 1.5em;
    /* Breathing room between paragraphs */
}

a {
    color: var(--wlb-text-dark);
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

a:hover {
    color: var(--wlb-secondary);
}

/* ============================================
   3. LAYOUT & CONTAINER (85% Constraint)
   ============================================ */
/* Target specific Kadence theme wrappers to force width */
.site-content,
.content-container,
.site-footer,
.site-header-inner,
#wrapper,
#inner-wrap,
.site-container {
    max-width: 85% !important;
    width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Ensure header row layout also respects this if set to full width */
.site-header-row-layout-contained {
    max-width: 85% !important;
}

/* Mobile responsive layout reset */
@media (max-width: 768px) {

    .site-content,
    .content-container,
    .site-footer,
    .site-header-inner,
    #wrapper,
    #inner-wrap,
    .site-container,
    .site-header-row-layout-contained {
        max-width: 95% !important;
        width: 95% !important;
    }
}

/* ============================================
   4. HEADER & NAVIGATION
   ============================================ */
#masthead {
    box-shadow: none;
    border-bottom: 1px solid var(--wlb-border);
    background: #fff;
    padding-bottom: 0;
}

.site-header-inner {
    padding-top: 15px;
    padding-bottom: 15px;
}

.main-navigation a {
    color: var(--wlb-text-dark) !important;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 0.85rem;
    /* Slightly larger */
    letter-spacing: 0.05em;
}

.main-navigation a:hover {
    color: var(--wlb-secondary) !important;
}

/* ============================================
   5. PRODUCT PAGE OPTIMIZATIONS
   ============================================ */

/* Critical Gallery Fixes (Reserved) */
.single-product div.product .woocommerce-product-gallery {
    height: auto !important;
    min-height: auto !important;
    margin-bottom: 40px !important;
}

.single-product div.product {
    display: block !important;
    /* Reverting flex to fix block issue */
    overflow: hidden;
    /* Clear floats */
}

/* Typography on Product Page */
.product_title {
    font-size: 2.2rem !important;
    margin-bottom: 0.5em !important;
}

.price {
    font-size: 1.25rem !important;
    color: var(--wlb-text-dark) !important;
    font-weight: 600;
    margin-bottom: 1.5em !important;
}

.woocommerce-product-details__short-description {
    font-size: 1.05rem;
    /* Readable description */
    color: var(--wlb-text-body);
}

/* Add to Cart Button Styling */
.single_add_to_cart_button {
    background-color: var(--wlb-primary) !important;
    color: #fff !important;
    border-radius: 2px !important;
    padding: 15px 35px !important;
    /* Increased padding slightly */
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    transition: all 0.3s ease !important;

    /* Centering Fix */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    /* Reset line-height to prevent offset */
    vertical-align: middle !important;
    margin-top: 0 !important;
}

.single_add_to_cart_button:hover {
    background-color: var(--wlb-secondary) !important;
    transform: translateY(-2px);
}

/* Tabs */
.woocommerce-tabs {
    clear: both;
    margin-top: 40px !important;
    padding-top: 40px !important;
    border-top: 1px solid var(--wlb-border);
}

.woocommerce-tabs ul.tabs li a {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: var(--wlb-text-light) !important;
}

.woocommerce-tabs ul.tabs li.active a {
    color: var(--wlb-text-dark) !important;
    border-bottom-color: var(--wlb-secondary) !important;
}

/* ============================================
   6. HOMEPAGE / HERO SECTIONS
   ============================================ */
.landing-hero {
    position: relative;
    padding: 160px 20px;
    background-color: var(--wlb-background-alt) !important;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('../../uploads/2026/01/home_hero_banner.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.landing-hero h1 {
    font-size: 3.5rem;
    color: #fff !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    margin-bottom: 15px;
    line-height: 1.1;
}

.landing-hero p.subtitle {
    font-size: 1.25rem;
    color: #f0f0f0;
    margin-bottom: 35px;
}

.cta-button {
    background-color: #fff;
    color: #222;
    padding: 14px 40px;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border-radius: 2px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* ============================================
   7. WOOCOMMERCE ARCHIVE / SHOP GRID
   ============================================ */
.woocommerce ul.products li.product {
    text-align: center;
    /* Center align products */
    margin-bottom: 40px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem !important;
    font-weight: 600;
    padding-top: 10px;
}

.woocommerce ul.products li.product a img {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.woocommerce ul.products li.product a:hover img {
    opacity: 0.9 !important;
    transform: scale(1.02);
    /* Subtle zoom */
}

/* ============================================
   8. FOOTER CLEANUP & CART FIX
   ============================================ */

/* Hide default footer nav garbage */
.site-footer .footer-navigation-bar,
.footer-navigation,
.footer-menu-container {
    display: none !important;
}

.site-info-inner {
    display: block !important;
}

/* Fix "Black Square" Icon on Empty Cart Block */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    content: "" !important;
    display: block !important;
    width: 80px !important;
    height: 80px !important;
    margin: 0 auto 20px auto !important;
    background-color: transparent !important;
    mask: none !important;
    -webkit-mask: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d8c1c1' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'%3E%3C/circle%3E%3Ccircle cx='20' cy='21' r='1'%3E%3C/circle%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    opacity: 1;
}