.elementor-384 .elementor-element.elementor-element-4dbaa6d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-98c1d2d{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-384 .elementor-element.elementor-element-bee9cf4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-850521d{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-384 .elementor-element.elementor-element-e0ad699{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-fcf50b6{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-384 .elementor-element.elementor-element-847d6a5{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-bff5193{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-384 .elementor-element.elementor-element-f170930{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-15aae4e{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-384 .elementor-element.elementor-element-d27d23f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-37bfd35{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-384 .elementor-element.elementor-element-2153e92{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-1d9f9a1{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-384 .elementor-element.elementor-element-fcdc4a6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-ebcfb3d{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-384 .elementor-element.elementor-element-981a6ed{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-7812b5a{width:100%;max-width:100%;padding:0px 0px 0px 0px;}.elementor-384 .elementor-element.elementor-element-06040fc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-384 .elementor-element.elementor-element-4573945{width:100%;max-width:100%;padding:0px 0px 0px 0px;}body.elementor-page-384{padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-98c1d2d *//* =========================================
   HERO SECTION CSS (Isolated)
   ========================================= */

/* 1. Variables (Colors) */
:root { 
    --bw-dark: #4C3F3F; 
    --bw-accent: #C48C6A; 
    --bw-cream: #FFF8F4; 
    --bw-white: #ffffff; 
}

/* 2. Hero Layout & Background */
.bw-hero-section { 
    position: relative; 
    height: 90vh; 
    width: 100vw; 
    /* Force Full Width Breakout */
    left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw;
    display: flex; align-items: center; justify-content: center; 
    overflow: hidden; margin-bottom: 80px; padding-top: 0;
}

.bw-hero-bg { 
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; 
}

.bw-hero-bg img { 
    width: 100%; height: 100%; object-fit: cover; 
    /* FIX: Moves image focus lower to show the cake */
    object-position: center 60% !important; 
    transform: scale(1.1) !important; 
}

.bw-hero-gradient-overlay { 
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
    background: rgba(0,0,0,0.35); /* Darkens bg slightly for text readability */
}

.bw-hero-content { 
    position: relative; z-index: 2; width: 100%; max-width: 1100px; padding: 0 20px; 
}

/* 3. The Glass Card */
.bw-hero-glass-card { 
    background: rgba(255, 255, 255, 0.05); 
    backdrop-filter: blur(2px); 
    border: 1px solid rgba(255, 255, 255, 0.2); 
    padding: 50px; 
    border-radius: 20px; 
    max-width: 750px; 
    color: #fff; 
    box-shadow: 0 25px 50px rgba(0,0,0,0.15); 
    margin: 0 auto; 
    text-align: center; 
    display: flex; flex-direction: column; align-items: center;
}

/* 4. Typography */
.bw-hero-glass-card h1 { 
    font-family: "Playfair Display", serif; 
    font-size: 48px; color: #fff; 
    margin-bottom: 20px; 
    text-shadow: 0 4px 20px rgba(0,0,0,0.9); 
    line-height: 1.2;
}
.bw-hero-glass-card h1 i { 
    font-style: italic; color: #fff; 
    border-bottom: 2px solid #C48C6A; 
}
.bw-hero-glass-card p { 
    font-family: "Poppins", sans-serif; 
    color: #f0f0f0; 
    font-size: 18px; 
    text-shadow: 0 2px 10px rgba(0,0,0,0.95); 
    margin-bottom: 30px; 
    line-height: 1.6;
}
.bw-eyebrow-hero { 
    font-size: 11px; letter-spacing: 2px; text-transform: uppercase; 
    color: #fff; font-weight: 700; 
    text-shadow: 0 2px 5px rgba(0,0,0,0.8); 
    display: block; margin-bottom: 15px;
}
.bw-hero-rating { 
    margin-top: 25px; font-size: 12px; color: #fff; 
    font-weight: 600; text-shadow: 0 2px 5px rgba(0,0,0,0.9); 
}

/* 5. Buttons */
.bw-btn-row { 
    display: flex; justify-content: center; gap: 15px; width: 100%; flex-wrap: wrap; 
}

.bw-btn-primary { 
    background: linear-gradient(135deg, #C48C6A, #A86F4E) !important; 
    color: #fff !important; 
    padding: 16px 30px !important; 
    border-radius: 50px !important; 
    text-transform: uppercase !important; 
    font-size: 12px !important; font-weight: 700 !important; letter-spacing: 1px !important; 
    text-decoration: none !important; display: inline-block !important; border: none !important; 
    transition: all 0.3s ease !important; 
}
.bw-btn-primary:hover { 
    transform: translateY(-3px) !important; filter: brightness(1.15) !important; 
}

.bw-btn-outline-light { 
    background: transparent; color: #fff; 
    border: 1px solid rgba(255,255,255,0.7); 
    padding: 14px 32px; 
    border-radius: 50px; 
    font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; 
    text-decoration: none; display: inline-block; transition: 0.3s; 
}
.bw-btn-outline-light:hover { 
    background: #fff; color: #C48C6A; 
}

/* 6. Mobile Fixes */
@media (max-width: 900px) {
    .bw-hero-section { height: auto; padding: 120px 0 60px; min-height: 600px; }
    .bw-hero-glass-card { padding: 30px 20px; }
    .bw-hero-glass-card h1 { font-size: 36px; }
    .bw-btn-row { flex-direction: column; }
    .bw-btn-primary, .bw-btn-outline-light { width: 100%; text-align: center; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-850521d *//* =========================================
   INFO CARDS SECTION CSS (The "Force Jump" Fix)
   ========================================= */

/* 1. Container & Layout */
.bw-info-cards {
    padding: 60px 0;
    width: 100%;
}

/* 2. The 3-Column Grid */
.bw-card-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    width: 100%;
    align-items: stretch;
}

/* 3. The Card Styling */
.bw-plain-card {
    background: #fff;
    padding: 40px 30px;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,0.04);
    box-shadow: 0 5px 15px rgba(0,0,0,0.03);
    
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    
    /* ANIMATION ENGINE */
    /* "will-change" forces the browser to render this layer separately */
    will-change: transform, box-shadow; 
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                box-shadow 0.4s ease;
}

/* 4. Hover Animation (With !important to force it live) */
.bw-plain-card:hover {
    transform: translateY(-10px) !important; /* Forces the move */
    box-shadow: 0 20px 40px rgba(196,140,106,0.2) !important; /* Forces the glow */
    border-color: rgba(196,140,106,0.1);
    z-index: 2; /* Ensures it jumps ON TOP of other things */
}

/* 5. Typography */
.bw-card-header-sm {
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #C48C6A;
    font-weight: 700;
    display: block;
    margin-bottom: 20px;
}

.bw-plain-card h3 {
    font-family: "Playfair Display", serif;
    font-size: 24px;
    color: #4C3F3F;
    margin-bottom: 15px;
    line-height: 1.2;
}

.bw-plain-card p {
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    color: #6C5656;
    line-height: 1.7;
    margin-bottom: 25px;
}

.bw-card-note {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-style: italic;
    color: #8B7E7E;
    margin-top: auto;
    display: block;
    opacity: 0.8;
}

/* 6. Mobile Responsiveness */
@media (max-width: 900px) {
    .bw-card-grid-3 {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .bw-plain-card {
        padding: 30px 20px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fcf50b6 *//* =========================================
   ABOUT SECTION CSS (Image Fix + No Wobble)
   ========================================= */

/* 1. OUTER WRAPPER (The Safety Net) */
.bw-about-wrapper {
    width: 100%;
    /* Use 'clip' instead of 'hidden' to prevent layout collapse */
    overflow-x: clip !important; 
    position: relative;
    padding: 0 20px; 
    box-sizing: border-box;
}

/* 2. SPLIT LAYOUT GRID */
.bw-split-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* 3. TEXT COLUMN */
.bw-split-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center !important; 
    text-align: center !important;  
    padding: 20px 0;
}

.bw-section-label {
    display: inline-block;
    font-family: "Poppins", sans-serif;
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 2px;
    color: #C48C6A; margin-bottom: 15px;
}

.bw-split-text h2 {
    text-align: center !important;
    margin-bottom: 25px;
    font-family: "Playfair Display", serif;
    font-size: 36px; line-height: 1.2;
    color: #4C3F3F;
}
.bw-split-text h2 i {
    color: #C48C6A; font-weight: 400; font-style: italic;
}

.bw-split-text p {
    margin-bottom: 20px;
    font-family: "Poppins", sans-serif;
    font-size: 15px; color: #6C5656;
    line-height: 1.8;
    max-width: 90%; 
}

/* Link Arrow */
.bw-link-arrow {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 10px; margin-left: auto; margin-right: auto;
    transition: all 0.3s ease;
    border-bottom: 2px solid transparent; width: fit-content;
    font-family: "Poppins", sans-serif; font-weight: 700;
    text-transform: uppercase; font-size: 12px;
    text-decoration: none; color: #C48C6A !important;
}
.bw-link-arrow:hover {
    gap: 15px; border-bottom: 2px solid #C48C6A; opacity: 0.8;
}

/* 4. IMAGE COLUMN (Restored) */
.bw-split-img {
    position: relative;
    width: 100%;
    display: block !important; /* Forces it to appear */
    opacity: 1 !important;     /* Forces visibility */
    visibility: visible !important;
}

.bw-split-img img {
    width: 100%;
    height: auto;
    min-height: 450px;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(196,140,106,0.15);
    display: block !important;
}

/* Badge */
.bw-img-badge {
    position: absolute; bottom: 30px; left: 30px; 
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(5px);
    padding: 12px 25px; border-radius: 50px;
    font-family: "Poppins", sans-serif; font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px; color: #4C3F3F;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    z-index: 2;
}

/* =========================================
   5. MOBILE & TABLET FIXES
   ========================================= */
@media (max-width: 960px) {
    /* STACK VERTICALLY */
    .bw-split-layout {
        display: flex;
        flex-direction: column-reverse; 
        gap: 40px;
        width: 100%;
    }

    /* IMAGE FIXES */
    .bw-split-img {
        width: 100%;
        max-width: 100%;
        /* Ensure we don't accidentally hide the image again */
        overflow: visible !important; 
    }
    
    .bw-split-img img {
        min-height: 350px; 
        border-radius: 20px;
        /* Reduce shadow to prevent scroll wobble */
        box-shadow: 0 5px 20px rgba(196,140,106,0.15) !important;
    }

    /* TEXT FIXES */
    .bw-split-text { padding: 0; }
    .bw-split-text h2 { font-size: 30px; }
    
    .bw-img-badge {
        left: 20px; bottom: 20px; padding: 10px 20px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bff5193 *//* =========================================
   MENU / SHOP SECTION (The "Force Row" Fix)
   ========================================= */

/* ------------------------------------------------
   1. DESKTOP (Force 3 items on ONE line)
   ------------------------------------------------ */
@media (min-width: 1025px) {
    body .bw-woo-wrapper ul.products {
        display: flex !important;
        flex-wrap: nowrap !important; /* CRITICAL: Forbids a second line */
        justify-content: space-between !important;
        gap: 30px !important;
        
        /* Clear any hidden theme elements */
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .bw-woo-wrapper ul.products li.product {
        /* Force equal width */
        flex: 1 1 0px !important; 
        width: auto !important;
        min-width: 0 !important; /* Allows shrinking if needed */
        
        /* Kill margins that cause wrapping */
        margin: 0 !important; 
        float: none !important;
        clear: none !important;
    }
}

/* ------------------------------------------------
   2. CARD STYLING (Applies to all screens)
   ------------------------------------------------ */
body .bw-woo-wrapper ul.products li.product {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.04);
    border-radius: 20px;
    padding: 30px; 
    text-align: center;
    position: relative;
    overflow: hidden; 
    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box !important;

    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* Hover Effect */
body .bw-woo-wrapper ul.products li.product:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(196,140,106,0.15) !important;
    border-color: rgba(196,140,106,0.3);
    z-index: 2;
}

/* Product Image */
body .bw-woo-wrapper ul.products li.product img {
    width: calc(100% + 60px) !important; 
    max-width: none !important;
    margin: -30px -30px 20px -30px !important; 
    height: 250px !important; 
    object-fit: cover !important;
    border-radius: 0 !important; 
    box-shadow: none !important;
    display: block !important;
}

/* ------------------------------------------------
   3. BADGES & TEXT
   ------------------------------------------------ */
body .bw-woo-wrapper ul.products li.product::before {
    position: absolute; top: 15px; left: 15px; z-index: 10;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(4px);
    padding: 6px 14px;
    border-radius: 50px;
    font-family: "Poppins", sans-serif;
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    color: #4C3F3F; letter-spacing: 1px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    pointer-events: none;
}
.bw-woo-wrapper ul.products li.product:nth-child(1)::before { content: "Best Seller"; }
.bw-woo-wrapper ul.products li.product:nth-child(2)::before { content: "Customer Favorite"; }
.bw-woo-wrapper ul.products li.product:nth-child(3)::before { content: "Handcrafted"; }
.bw-woo-wrapper ul.products li.product:nth-child(n+4)::before { content: "Limited Edition"; }

body .bw-woo-wrapper ul.products li.product h2 {
    font-family: "Playfair Display", serif; font-size: 20px !important;
    color: #4C3F3F; margin-bottom: 5px; line-height: 1.3;
}
body .bw-woo-wrapper ul.products li.product .price {
    color: #C48C6A !important; font-family: "Poppins", sans-serif;
    font-weight: 700; font-size: 16px !important;
    margin-bottom: 20px !important; display: block;
}
body .bw-woo-wrapper ul.products li.product .button {
    background: linear-gradient(135deg, #C48C6A, #A86F4E) !important;
    background-color: #C48C6A; color: #fff !important;
    padding: 12px 28px !important; border-radius: 50px !important;
    border: none !important; font-family: "Poppins", sans-serif;
    font-size: 11px !important; font-weight: 700; text-transform: uppercase;
    letter-spacing: 1px; display: inline-block; margin-top: auto;
}
body .bw-woo-wrapper ul.products li.product .button:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(196,140,106,0.3);
    filter: brightness(1.1); color: #fff !important;
}

/* ------------------------------------------------
   4. RESPONSIVE (Tablets & Mobile)
   ------------------------------------------------ */

/* TABLET (1024px and below) -> Allow wrapping, 2 Columns */
@media (max-width: 1024px) {
    body .bw-woo-wrapper ul.products {
        display: flex !important;
        flex-wrap: wrap !important; /* Allow wrapping again */
        gap: 20px !important;
        justify-content: center !important;
    }
    body .bw-woo-wrapper ul.products li.product {
        flex: 0 0 calc(50% - 10px) !important;
        width: calc(50% - 10px) !important;
    }
}

/* MOBILE (600px and below) -> 1 Column */
@media (max-width: 600px) {
    body .bw-woo-wrapper ul.products {
        display: block !important;
    }
    body .bw-woo-wrapper ul.products li.product {
        width: 100% !important;
        margin-bottom: 30px !important;
    }
    body .bw-woo-wrapper ul.products li.product img {
        height: 220px !important; 
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-15aae4e *//* =========================================
   HOMEPAGE WEDDING SECTION (Mobile Fixed)
   ========================================= */

/* SECTION WRAPPER */
.bw-feature-section {
    width: 100%;
    padding: 80px 20px;
    background: transparent; /* Shows global gradient */
    position: relative;
}

/* CONTAINER (Glass Effect) */
.bw-feature-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr; /* 50/50 Split */
    gap: 80px;
    align-items: center;
    
    /* The Glass Box Look */
    background: rgba(255,255,255,0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.7);
    border-radius: 30px;
    padding: 60px;
    box-shadow: 0 20px 60px rgba(196,140,106,0.08);
}

/* IMAGE COLUMN */
.bw-feature-img-col {
    position: relative;
}

.bw-feature-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(196,140,106,0.15);
    transition: 0.5s ease;
    transform: rotate(-1deg); /* Slight luxury tilt */
}
.bw-feature-card:hover { transform: rotate(0deg) scale(1.01); }

.bw-feature-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 20px;
}

/* BADGE */
.bw-floating-badge {
    position: absolute;
    bottom: 30px;
    left: 30px;
    background: #fff;
    color: #4C3F3F;
    padding: 10px 24px;
    border-radius: 50px;
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    z-index: 10;
}

/* TEXT COLUMN */
.bw-feature-text-col {
    text-align: left;
}

.bw-section-label {
    display: inline-block;
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #C48C6A;
    margin-bottom: 15px;
}

.bw-feature-title {
    font-family: "Playfair Display", serif;
    font-size: 42px;
    line-height: 1.2;
    color: #4C3F3F;
    margin-top: 0;
    margin-bottom: 25px;
}
.bw-feature-title i {
    color: #C48C6A; /* Gold Italic */
    font-style: italic;
}

.bw-feature-desc {
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #6C5656;
    margin-bottom: 40px;
    max-width: 90%;
}

/* BUTTONS */
.bw-feature-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

/* --- MOBILE & TABLET FIXES (The "No Cut-off" Rule) --- */
@media (max-width: 960px) {
    .bw-feature-container {
        grid-template-columns: 1fr; /* Stack vertically */
        padding: 40px 25px;
        gap: 50px;
        text-align: center; /* Center align on mobile */
    }

    .bw-feature-text-col {
        text-align: center;
        order: 2; /* Text moves below image */
    }
    
    .bw-feature-img-col {
        order: 1; /* Image stays on top */
    }

    .bw-feature-card {
        transform: rotate(0deg); /* No tilt on mobile */
    }

    .bw-feature-title {
        font-size: 32px; /* Smaller font prevents wrap issues */
    }

    .bw-feature-desc {
        margin-left: auto;
        margin-right: auto;
    }

    .bw-feature-buttons {
        justify-content: center;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-37bfd35 *//* =========================================
   PORTFOLIO MOSAIC CSS (Matches Your HTML)
   ========================================= */

/* 1. The Grid Container */
/* We create 3 columns: 
   Column 1 is 2x wide (for the big image).
   Columns 2 & 3 are 1x wide (for the small images). */
.bw-gallery-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr; 
    grid-template-rows: 250px 250px; /* Two rows of fixed height */
    gap: 15px;
    width: 100%;
    margin-bottom: 40px;
}

/* 2. The Big Left Image Wrapper */
.bw-gallery-main {
    grid-column: 1 / 2; /* First column */
    grid-row: 1 / 3;    /* Spans both rows */
    height: 100%;
    width: 100%;
    overflow: hidden;
    border-radius: 20px;
}

/* 3. The Small Image Wrappers */
.bw-gallery-item {
    height: 100%;
    width: 100%;
    overflow: hidden;
    border-radius: 20px;
}

/* 4. Image Styling (Inside the wrappers) */
.bw-gallery-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures no stretching */
    display: block;
    cursor: zoom-in;
    transition: transform 0.5s ease, filter 0.3s ease;
}

/* Hover Effect */
.bw-gallery-main:hover img,
.bw-gallery-item:hover img {
    transform: scale(1.05); /* Smooth zoom */
    filter: brightness(1.05);
}

/* 5. Lightbox Styles (Matches your HTML IDs) */
.bw-lightbox-overlay {
    display: none; /* Hidden by default */
    position: fixed;
    z-index: 99999;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(76, 63, 63, 0.95); /* Dark Brown Backdrop */
    backdrop-filter: blur(5px);
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.bw-lightbox-overlay.active {
    opacity: 1;
}

.bw-lightbox-content {
    max-width: 90%;
    max-height: 85vh;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.bw-lightbox-overlay.active .bw-lightbox-content {
    transform: scale(1);
}

.bw-lightbox-close {
    position: absolute;
    top: 30px; right: 30px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    line-height: 1;
    font-family: sans-serif;
}

/* 6. Mobile Responsiveness */
@media (max-width: 900px) {
    .bw-gallery-grid {
        /* Switch to simple 2-column grid on mobile */
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        gap: 10px;
    }
    
    /* Make the big image span full width on top */
    .bw-gallery-main {
        grid-column: span 2;
        height: 300px; /* Fixed height for mobile hero */
    }

    .bw-gallery-item {
        height: 200px; /* Fixed height for small items */
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1d9f9a1 *//* =========================================
   BLOG SECTION CSS (Final Polish)
   ========================================= */

/* 1. Section Header (Centered) */
.bw-section-header {
    text-align: center !important;
    align-items: center !important;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 40px;
}

/* Force Description Text to Center */
.bw-section-header p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 600px; /* Good readable width */
    color: #6C5656;
}

/* Force Heading to Center */
.bw-section-header h2 {
    text-align: center !important;
}

/* 2. The Grid Layout */
#bw-home-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    width: 100%;
}

/* 3. The Blog Card (White Box) */
.bw-blog-card {
    background: #fff;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,0.04);
    box-shadow: 0 5px 15px rgba(0,0,0,0.03);
    
    /* ANIMATION 1: The Lift */
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Keeps the zoomed image inside corners */
    padding: 0 !important; /* Forces image to touch edges */
}

/* Hover State: Lift */
.bw-blog-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(196,140,106,0.15); /* Copper Shadow */
}

/* 4. Image Wrapper (The "Lens" for Zooming) */
.bw-blog-img-wrap {
    width: 100%;
    height: 220px; /* Fixed height */
    overflow: hidden; /* CRITICAL: Crops the zooming image */
    position: relative;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

/* 5. The Image Itself */
.bw-blog-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
    
    /* ANIMATION 2: The Zoom */
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Zoom Trigger */
.bw-blog-card:hover .bw-blog-img {
    transform: scale(1.1);
}

/* 6. Content Area */
.bw-blog-content {
    padding: 30px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    text-align: left; /* Post content stays left-aligned */
}

/* 7. Typography */
.bw-blog-meta {
    font-family: "Poppins", sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #C48C6A; /* Copper */
    font-weight: 700;
    margin-bottom: 10px;
    display: block;
}

.bw-blog-card h3 {
    font-family: "Playfair Display", serif;
    font-size: 20px;
    color: #4C3F3F;
    margin-bottom: 12px;
    line-height: 1.3;
    text-align: left; /* Override global center */
}

.bw-blog-card p {
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    color: #8B7E7E;
    line-height: 1.6;
    margin-bottom: 20px;
    text-align: left;
    
    /* Clamp text to 3 lines */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 8. "Read More" Arrow Link */
.bw-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    text-decoration: none;
    letter-spacing: 1px;
    color: #4C3F3F;
    transition: all 0.3s ease;
}

.bw-link-arrow:hover {
    color: #C48C6A;
    gap: 15px; /* Slide effect */
}

/* 9. Mobile Responsiveness */
@media (max-width: 900px) {
    #bw-home-blog-grid {
        grid-template-columns: 1fr; /* Stack 1 per row */
        gap: 40px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ebcfb3d *//* =========================================
   REVIEWS / TESTIMONIALS CSS
   ========================================= */

/* 1. The Container */
.bw-reviews {
    padding: 60px 20px;
    width: 100%;
}

/* 2. The "Glass" Card */
.bw-glass-card {
    background: #fff;
    padding: 60px 40px;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(196,140,106,0.1); /* Soft Copper Shadow */
    border: 1px solid rgba(0,0,0,0.03);
    position: relative;
    overflow: hidden;
}

/* Optional: Add a subtle quote mark in background */
.bw-glass-card::before {
    content: "“";
    position: absolute;
    top: -20px;
    left: 20px;
    font-family: "Playfair Display", serif;
    font-size: 200px;
    color: rgba(196,140,106,0.05); /* Very faint copper */
    line-height: 1;
    pointer-events: none;
}

/* 3. Section Header */
.bw-review-header {
    margin-bottom: 40px;
}

.bw-review-header h2 {
    font-size: 32px;
    margin-top: 10px;
}

/* 4. The Carousel Slide */
.bw-carousel {
    min-height: 200px; /* Reserves space so page doesn't jump */
}

.bw-slide {
    display: none; /* Hidden by default */
    animation: fadeIn 1s ease; /* Smooth fade in */
}

.bw-slide.active {
    display: block; /* Show only the active one */
}

/* 5. Typography (The Quote) */
.bw-slide p {
    font-family: "Playfair Display", serif; /* Elegant serif for quotes */
    font-size: 24px !important;
    font-style: italic;
    color: #4C3F3F;
    line-height: 1.6;
    margin-bottom: 25px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* 6. Typography (The Name/Citation) */
.bw-slide cite {
    font-family: "Poppins", sans-serif;
    font-size: 12px !important;
    font-weight: 700;
    color: #C48C6A; /* Copper Brand Color */
    text-transform: uppercase;
    letter-spacing: 2px;
    font-style: normal;
    display: block;
}

/* 7. Navigation Dots */
.bw-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
}

.dot {
    width: 10px;
    height: 10px;
    background-color: #E5D5CD; /* Light beige (inactive) */
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.dot.active {
    background-color: #C48C6A; /* Copper (active) */
    transform: scale(1.3);
}

.dot:hover {
    background-color: #C48C6A;
    opacity: 0.7;
}

/* 8. Fade Animation Keyframes */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 9. Mobile Responsiveness */
@media (max-width: 600px) {
    .bw-glass-card {
        padding: 40px 20px;
    }
    .bw-slide p {
        font-size: 18px !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7812b5a *//* =========================================
   CONTACT SECTION CSS (The "Nuclear" Fix)
   ========================================= */

/* 1. Layout Grid */
.bw-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 60px;
    align-items: start;
    width: 100%;
    margin-bottom: 40px;
}

/* 2. Left Column: Text & Headers (Centered) */
.bw-contact-info {
    text-align: center !important;
    padding-right: 20px;
}

.bw-contact-info h2,
.bw-contact-info .bw-section-label,
.bw-contact-info p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.bw-contact-info h2 {
    font-size: 36px;
    margin-bottom: 20px;
    line-height: 1.2;
}

.bw-contact-info p {
    font-size: 16px;
    margin-bottom: 40px;
    max-width: 90%;
}

/* 3. The Icon List (Centered) */
.bw-contact-list {
    list-style: none;
    padding: 0;
    margin: 40px auto 0 auto !important;
    max-width: 400px;
    text-align: left !important;
}

.bw-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 30px;
}

.bw-icon {
    width: 40px;
    height: 40px;
    background: #FFF8F4;
    border-radius: 50%;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    flex-shrink: 0;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px; 
    line-height: 1;
    margin-top: 2px;
}

.bw-contact-list strong {
    color: #C48C6A;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 2px;
}

.bw-contact-list span {
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    color: #4C3F3F;
    line-height: 1.5;
    display: block;
}

/* 4. Form Wrapper & Card */
.bw-contact-form-wrap { width: 100%; }

.form-card {
    background: #fff;
    padding: 50px;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(196,140,106,0.1);
    border: 1px solid rgba(0,0,0,0.03);
}

/* =========================================
   5. METFORM FIXES (High Priority)
   ========================================= */

/* --- ALL INPUTS & SELECTS (The Event Box Fix) --- */
/* This forces the Event Type box to be exactly the same size/shape as the others */
.elementor-widget-metform input:not([type="submit"]),
.elementor-widget-metform select,
.elementor-widget-metform .mf-input {
    background-color: #FFF8F4 !important;
    border: 1px solid rgba(196,140,106,0.15) !important;
    border-radius: 50px !important; /* Pill Shape */
    height: 50px !important; /* Exact fixed height */
    line-height: normal !important; 
    padding: 0 20px !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    color: #4C3F3F !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* --- DATE PICKER FIX (Prevents Cutoff) --- */
/* We force the date input to act like a text block so the year fits */
.elementor-widget-metform input[type="date"] {
    display: block !important;
    min-width: 100% !important;
    padding-right: 10px !important; /* Reduces right padding so text has room */
    appearance: none !important; /* Removes default browser styling that clips text */
}

/* --- DETAILS FIELD RESTORATION --- */
/* Restores the Textarea to the previous look (slightly rounded, not huge) */
.elementor-widget-metform textarea {
    background-color: #FFF8F4 !important;
    border: 1px solid rgba(196,140,106,0.15) !important;
    border-radius: 24px !important; /* Standard rounded box, not a pill */
    padding: 15px 20px !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    color: #4C3F3F !important;
    width: 100% !important;
    min-height: 120px !important; /* Height needed for typing */
}

/* --- SELECT BOX ARROW FIX --- */
.elementor-widget-metform select {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23C48C6A%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    background-size: 10px auto !important;
    cursor: pointer;
}

/* --- LABELS --- */
.elementor-widget-metform label {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #4C3F3F !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* --- SUBMIT BUTTON FIX (Targeting Every Possible Button Class) --- */
.elementor-widget-metform .metform-btn-wrap .metform-btn,
.elementor-widget-metform button[type="submit"],
.elementor-widget-metform input[type="submit"],
.metform-btn.metform-submit-btn {
    background: linear-gradient(135deg, #C48C6A, #A86F4E) !important;
    background-color: #C48C6A !important; /* Fallback */
    color: #ffffff !important;
    
    /* Force Shape */
    border-radius: 50px !important;
    border: 0 !important;
    padding: 0 40px !important;
    height: 50px !important;
    width: 100% !important;
    
    /* Typography */
    font-family: "Poppins", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    
    box-shadow: 0 10px 20px rgba(196,140,106,0.25) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 15px !important;
}

.elementor-widget-metform button[type="submit"]:hover,
.metform-btn.metform-submit-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 30px rgba(196,140,106,0.35) !important;
    filter: brightness(1.1) !important;
}

/* Mobile Fixes */
@media (max-width: 900px) {
    .bw-contact-grid { grid-template-columns: 1fr; gap: 50px; }
    .bw-contact-info { padding-right: 0; }
    .bw-contact-list { display: inline-block; text-align: left; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4573945 *//* =========================================
   POPUP SECTION CSS (With Luxury Button)
   ========================================= */

/* 1. Animation for appearing */
@keyframes bwPopupIn {
    from { opacity: 0; transform: translateY(20px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* 2. The Modal Container */
#bw-popup-final {
    transition: opacity 0.3s ease;
}

/* Target the Inner Card for Animation */
#bw-popup-final > div {
    animation: bwPopupIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

/* 3. The Button Styling (Luxury Gradient Fix) */
.bw-popup-btn-final {
    /* Background & Color */
    background: linear-gradient(135deg, #C48C6A, #A86F4E) !important;
    background-color: #C48C6A !important; /* Fallback */
    color: #fff !important;
    
    /* Typography */
    font-family: "Poppins", sans-serif !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    text-decoration: none !important;
    
    /* Shape & Size */
    border-radius: 50px !important; /* Pill Shape */
    padding: 15px 40px !important;   /* Larger click area */
    border: none !important;
    display: inline-block !important;
    
    /* Shadow & Transition */
    box-shadow: 0 10px 20px rgba(196,140,106,0.3) !important;
    transition: all 0.3s ease !important;
}

/* Button Hover Effect */
.bw-popup-btn-final:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 30px rgba(196,140,106,0.4) !important;
    filter: brightness(1.1) !important;
}

/* 4. Close Button Hover */
#bw-popup-final button:hover {
    transform: rotate(90deg);
    transition: transform 0.3s ease;
    color: #4C3F3F !important;
}

/* 5. Countdown Numbers */
#bw-countdown-row div[id^="cd-"] {
    font-variant-numeric: tabular-nums; /* Prevents numbers from jumping width */
}

/* 6. MOBILE RESPONSIVENESS */
@media (max-width: 768px) {
    /* Hide the image column on mobile */
    .bw-hide-mobile {
        display: none !important;
    }
    
    /* Make the content column full width */
    #bw-popup-final > div > div:last-child {
        width: 100% !important;
        padding: 40px 20px !important;
    }
    
    /* Adjust the main container width for mobile */
    #bw-popup-final > div {
        width: 95% !important;
        max-width: 400px !important;
        flex-direction: column !important; /* Stack content */
    }
    
    /* Adjust text sizes */
    #bw-popup-final h3 {
        font-size: 28px !important;
    }
}/* End custom CSS */